{"version":3,"sources":["F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\metro-runtime\\src\\polyfills\\require.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\js-polyfills\\console.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\js-polyfills\\error-guard.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\index.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\cpuxIndex.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\i18n.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\interopRequireDefault.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\asyncToGenerator.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\i18next-http-backend\\esm\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\i18next-http-backend\\esm\\request.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\i18next-http-backend\\esm\\getFetch.cjs","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\cross-fetch\\dist\\react-native-ponyfill.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\i18next-http-backend\\esm\\utils.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\i18next\\dist\\esm\\i18next.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\readOnlyError.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\defineProperty.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\toPropertyKey.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\toPrimitive.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\typeof.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\toArray.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\arrayWithHoles.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\iterableToArray.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\unsupportedIterableToArray.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\arrayLikeToArray.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\nonIterableRest.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\toConsumableArray.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\arrayWithoutHoles.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\nonIterableSpread.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\possibleConstructorReturn.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\assertThisInitialized.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\getPrototypeOf.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\inherits.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\setPrototypeOf.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\slicedToArray.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\iterableToArrayLimit.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\classCallCheck.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\createClass.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\dataHandler\\NativeDataHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\index.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\registerCallableModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\BatchedBridge\\BatchedBridge.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\BatchedBridge\\MessageQueue.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Performance\\Systrace.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\vendor\\core\\ErrorUtils.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\stringifySafe.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\invariant\\browser.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\AccessibilityInfo\\AccessibilityInfo.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\EventEmitter\\RCTDeviceEventEmitter.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\get.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\superPropBase.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\vendor\\emitter\\EventEmitter.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\classPrivateFieldLooseBase.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\classPrivateFieldLooseKey.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\Platform.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\NativePlatformConstantsWin.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativePlatformConstantsWindows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\TurboModule\\TurboModuleRegistry.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\BatchedBridge\\NativeModules.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\defineLazyObjectProperty.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\AccessibilityInfo\\legacySendAccessibilityEvent.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\UIManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\nullthrows\\nullthrows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\BridgelessUIManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\FabricUIManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\NativeComponent\\NativeComponentRegistryUnstable.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\PaperUIManager.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\NativeUIManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeUIManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\UIManagerProperties.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\AccessibilityInfo\\NativeAccessibilityInfo.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeAccessibilityInfo.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\AccessibilityInfo\\NativeAccessibilityManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeAccessibilityManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\RendererProxy.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\RendererImplementation.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Renderer\\shims\\ReactFabric.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Renderer\\implementations\\ReactFabric-prod.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactPrivate\\ReactNativePrivateInitializeCore.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\InitializeCore.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\setUpGlobals.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\setup\\setUpDOM.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\PolyfillFunctions.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\geometry\\DOMRect.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\geometry\\DOMRectReadOnly.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\geometry\\DOMRectList.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\utils\\ArrayLikeUtils.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\oldstylecollections\\HTMLCollection.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\oldstylecollections\\NodeList.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\nodes\\ReadOnlyNode.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\featureflags\\ReactNativeFeatureFlags.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\featureflags\\ReactNativeFeatureFlagsBase.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\featureflags\\specs\\NativeReactNativeFeatureFlags.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\nodes\\specs\\NativeDOM.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\nodes\\internals\\NodeInternals.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\nodes\\internals\\ReactNativeDocumentInstanceHandle.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\nodes\\internals\\ReactNativeDocumentElementInstanceHandle.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\nodes\\ReadOnlyElement.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\nodes\\internals\\Traversal.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\nodes\\ReactNativeDocument.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\nodes\\ReactNativeElement.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\TextInput\\TextInputState.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\TextInput\\WindowsTextInputNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\NativeComponent\\NativeComponentRegistry.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\getNativeComponentAttributes.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\processBoxShadow.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\processColor.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\normalizeColor.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\normalize-colors\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\PlatformColorValueTypes.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\View\\ReactNativeStyleAttributes.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\processAspectRatio.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\processBackgroundImage.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\processFilter.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\processFontVariant.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\processTransform.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\processTransformOrigin.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\differ\\sizesDiffer.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\differ\\matricesDiffer.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\differ\\pointsDiffer.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\differ\\insetsDiffer.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\processColorArray.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Image\\resolveAssetSource.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\NativeModules\\specs\\NativeSourceCode.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeSourceCode.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\assets-registry\\registry.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Image\\AssetSourceResolver.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Image\\assetPaths.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Image\\AssetUtils.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\PixelRatio.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\Dimensions.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\NativeDeviceInfo.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeDeviceInfo.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\assets-registry\\path-support.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Renderer\\shims\\ReactNativeViewConfigRegistry.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\NativeComponent\\StaticViewConfigValidator.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react\\cjs\\react.production.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\NativeComponent\\ViewConfig.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\NativeComponent\\PlatformBaseViewConfig.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\NativeComponent\\BaseViewConfig.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\NativeComponent\\ViewConfigIgnore.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\codegenNativeCommands.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\ReactFabricPublicInstance\\warnForStyleProps.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\ReactFabricPublicInstance\\ReactNativeAttributePayload.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\flattenStyle.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\differ\\deepDiffer.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\nodes\\ReadOnlyCharacterData.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\nodes\\ReadOnlyText.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\setUpPerformance.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\performance\\Performance.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\performance\\MemoryInfo.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\performance\\ReactNativeStartupTiming.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\performance\\specs\\NativePerformance.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\performance\\EventTiming.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\performance\\PerformanceEntry.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\performance\\internals\\Utilities.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\warnOnce.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\performance\\UserTiming.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\performance\\internals\\RawPerformanceEntry.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\performance\\LongTasks.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\polyfillPromise.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Promise.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\promise\\setimmediate\\es6-extensions.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\promise\\setimmediate\\core.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\promise\\setimmediate\\finally.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\setUpTimers.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\microtasks\\specs\\NativeMicrotasks.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\Timers\\immediateShim.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\idlecallbacks\\specs\\NativeIdleCallbacks.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\Timers\\JSTimers.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\Timers\\NativeTiming.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeTiming.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\Timers\\queueMicrotask.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\setUpErrorHandling.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\ExceptionsManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\wrapNativeSuper.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\isNativeFunction.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\construct.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\isNativeReflectConstruct.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\Devtools\\parseErrorStack.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\stacktrace-parser\\dist\\stack-trace-parser.cjs.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\Devtools\\parseHermesStack.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\NativeExceptionsManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeExceptionsManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\setUpRegeneratorRuntime.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\FeatureDetection.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\regenerator-runtime\\runtime.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\setUpXHR.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Network\\XMLHttpRequest.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Network\\XMLHttpRequest_new.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\events\\Event.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\events\\internals\\EventInternals.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\events\\EventTarget.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\events\\internals\\EventTargetInternals.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\xhr\\events\\ProgressEvent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Blob\\BlobManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Blob\\NativeBlobModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeBlobModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Blob\\Blob.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Blob\\BlobRegistry.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\dom\\events\\EventHandlerAttributes.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\GlobalPerformanceLogger.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\createPerformanceLogger.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\infoLog.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\base64-js\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Network\\RCTNetworking.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Network\\convertRequestBody.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Network\\FormData.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\binaryToBase64.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Network\\NativeNetworkingIOS.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeNetworkingIOS.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Network\\XMLHttpRequest_old.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\event-target-shim\\dist\\event-target-shim.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Network\\fetch.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\whatwg-fetch\\dist\\fetch.umd.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\WebSocket\\WebSocket.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\WebSocket\\WebSocket_new.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\objectWithoutProperties.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\objectWithoutPropertiesLoose.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\html\\events\\MessageEvent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\webapis\\websockets\\events\\CloseEvent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\EventEmitter\\NativeEventEmitter.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\WebSocket\\NativeWebSocketModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeWebSocketModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\WebSocket\\WebSocket_old.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\WebSocket\\WebSocketEvent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Blob\\File.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Blob\\FileReader.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Blob\\FileReader_new.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Blob\\NativeFileReaderModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeFileReaderModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Blob\\FileReader_old.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Blob\\URL.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Blob\\URLSearchParams.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\abort-controller\\dist\\abort-controller.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\setUpAlert.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Alert\\Alert.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\NativeModules\\specs\\NativeDialogManagerWindows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeDialogManagerWindows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\setUpNavigator.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\setUpBatchedBridge.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\RCTLog.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\EventEmitter\\RCTNativeAppEventEmitter.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\HMRClientProdShim.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\setUpSegmentFetcher.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\SegmentFetcher\\NativeSegmentFetcher.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeSegmentFetcher.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\AppRegistry.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\BugReporting\\BugReporting.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\NativeModules\\specs\\NativeRedBox.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeRedBox.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\BugReporting\\NativeBugReporting.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeBugReporting.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\BugReporting\\dumpReactTree.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\SceneTracker.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\HeadlessJsTaskError.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\NativeHeadlessJsTaskSupport.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeHeadlessJsTaskSupport.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\renderApplication.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\PerformanceLoggerContext.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\AppContainer.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\AppContainer-prod.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\View\\View.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Text\\TextAncestor.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\View\\ViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react\\jsx-runtime.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react\\cjs\\react-jsx-runtime.production.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\StyleSheet.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\styles\\composeStyles.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\RootTag.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\DisplayMode.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\getCachedComponentWithDebugName.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\BackHandler.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\NativeModules\\specs\\NativeDeviceEventManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeDeviceEventManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactPrivate\\ReactNativePrivateInterface.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\EventEmitter\\RCTEventEmitter.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\deepFreezeAndThrowOnMutationInDev.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\ReactFiberErrorDialog.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Core\\RawEventEmitter.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Events\\CustomEvent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Events\\EventPolyfill.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\ReactFabricPublicInstance\\ReactFabricPublicInstance.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\ReactFabricPublicInstance\\ReactFabricHostComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\scheduler\\index.native.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\scheduler\\cjs\\scheduler.native.production.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\renderer\\errorhandling\\ErrorHandlers.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Renderer\\shims\\ReactNative.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Renderer\\implementations\\ReactNativeRenderer-prod.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\ActivityIndicator\\ActivityIndicator.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\ProgressBarAndroid\\ProgressBarAndroid.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\UnimplementedViews\\UnimplementedView.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\ActivityIndicator\\ActivityIndicatorViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\components\\ActivityIndicatorViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\codegenNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\requireNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Renderer\\shims\\createReactNativeComponentClass.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Button.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Text\\Text.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Pressability\\PressabilityDebug.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Pressability\\usePressability.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Pressability\\Pressability.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Sound\\SoundManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Sound\\NativeSoundManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeSoundManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\ReactNativeFeatureFlags.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Pressability\\PressabilityPerformanceEventEmitter.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Pressability\\HoverState.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\Rect.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Text\\TextNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Touchable\\TouchableHighlight.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\objectDestructuringEmpty.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\DrawerAndroid\\DrawerLayoutAndroid.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Lists\\FlatList.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Lists\\VirtualizeUtils.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Lists\\VirtualizedList.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Utilities\\clamp.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Utilities\\infoLog.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Lists\\ChildListCollection.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Lists\\FillRateHelper.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Lists\\ListMetricsAggregator.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Lists\\StateSafePureComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Lists\\ViewabilityHelper.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Lists\\VirtualizedListCellRenderer.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Lists\\VirtualizedListContext.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Lists\\VirtualizedListProps.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Lists\\CellRenderMask.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native\\virtualized-lists\\Lists\\VirtualizedSectionList.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\memoize-one\\dist\\memoize-one.cjs.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Image\\Image.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Image\\ImageAnalyticsTagContext.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Image\\ImageViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Image\\NativeImageLoaderIOS.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeImageLoaderIOS.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Image\\ImageSourceUtils.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Image\\ImageUtils.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Image\\ImageInjection.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\useMergeRefs.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\useRefEffect.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Image\\ImageBackground.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\TextInput\\InputAccessoryView.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\SafeAreaView\\SafeAreaView.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\SafeAreaView\\RCTSafeAreaViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\components\\RCTSafeAreaViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\useWindowDimensions.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\TextInput\\RCTInputAccessoryViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\components\\RCTInputAccessoryViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\LayoutConformance\\LayoutConformance.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\LayoutConformance\\LayoutConformanceNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Keyboard\\KeyboardAvoidingView.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\LayoutAnimation\\LayoutAnimation.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Keyboard\\Keyboard.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\dismissKeyboard.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Keyboard\\NativeKeyboardObserver.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeKeyboardObserver.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Modal\\Modal.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Modal\\ModalInjection.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Modal\\NativeModalManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeModalManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Modal\\RCTModalHostViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\components\\RCTModalHostViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\ScrollView\\ScrollView.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\AnimatedImplementation.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\animations\\DecayAnimation.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\animations\\Animation.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\animated\\NativeAnimatedHelper.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\NativeAnimatedModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeAnimatedModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\shouldUseTurboAnimatedModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\NativeAnimatedTurboModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeAnimatedTurboModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedProps.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedNode.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedObject.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedWithChildren.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedStyle.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedTransform.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\AnimatedEvent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedValue.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Interaction\\InteractionManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Interaction\\TaskQueue.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Interaction\\InteractionManagerStub.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedInterpolation.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\Easing.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\bezier.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedValueXY.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\animations\\SpringAnimation.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedColor.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\SpringConfig.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\animations\\TimingAnimation.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\createAnimatedComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\animated\\createAnimatedPropsHook.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\animated\\createAnimatedPropsMemoHook.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\ReactFabricPublicInstance\\ReactFabricPublicInstanceUtils.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedAddition.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedDiffClamp.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedDivision.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedModulo.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedMultiplication.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedSubtraction.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\nodes\\AnimatedTracking.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Interaction\\FrameRateLogger.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Interaction\\NativeFrameRateLogger.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeFrameRateLogger.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\splitLayoutProps.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\ScrollView\\processDecelerationRate.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\ScrollView\\ScrollViewCommands.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\ScrollView\\ScrollViewContext.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\ScrollView\\ScrollViewStickyHeader.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\AnimatedExports.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\AnimatedMock.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\components\\AnimatedFlatList.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\components\\AnimatedImage.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\components\\AnimatedScrollView.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\RefreshControl\\RefreshControl.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\RefreshControl\\AndroidSwipeRefreshLayoutNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\components\\AndroidSwipeRefreshLayoutNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\RefreshControl\\PullToRefreshViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\components\\PullToRefreshViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\useAnimatedProps.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\components\\AnimatedSectionList.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Lists\\SectionList.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\components\\AnimatedText.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\components\\AnimatedView.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\components\\HScrollViewNativeComponents.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\ScrollView\\AndroidHorizontalScrollViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\ScrollView\\ScrollContentViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\ScrollView\\ScrollViewNativeComponent.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\components\\AndroidHorizontalScrollContentViewNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\components\\VScrollViewNativeComponents.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\I18nManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ReactNative\\NativeI18nManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeI18nManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Pressable\\Pressable.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Pressable\\useAndroidRippleForView.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\StatusBar\\StatusBar.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\StatusBar\\NativeStatusBarManagerAndroid.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeStatusBarManagerAndroid.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\StatusBar\\NativeStatusBarManagerIOS.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeStatusBarManagerIOS.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Switch\\Switch.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Switch\\AndroidSwitchNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\components\\AndroidSwitchNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Switch\\SwitchNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\components\\SwitchNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\TextInput\\TextInput.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\TextInput\\AndroidTextInputNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\TextInput\\RCTSingelineTextInputNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\TextInput\\RCTTextInputViewConfig.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\TextInput\\RCTMultilineTextInputNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Touchable\\Touchable.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Touchable\\BoundingDimensions.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Touchable\\PooledClass.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Touchable\\Position.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Touchable\\TouchableNativeFeedback.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Touchable\\TouchableOpacity.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Touchable\\TouchableWithoutFeedback.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Lists\\VirtualizedList.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Lists\\VirtualizedSectionList.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ActionSheetIOS\\ActionSheetIOS.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\ActionSheetIOS\\NativeActionSheetManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeActionSheetManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\Appearance.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\NativeAppearance.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeAppearance.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\AppState\\AppState.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\logError.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\AppState\\NativeAppState.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeAppState.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Clipboard\\Clipboard.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Clipboard\\NativeClipboard.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeClipboard.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\DeviceInfo.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\devmenu\\DevMenu.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeDevMenu.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\DevSettings.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\NativeModules\\specs\\NativeDevSettings.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeDevSettings.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Linking\\Linking.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Linking\\NativeIntentAndroid.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeIntentAndroid.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Linking\\NativeLinkingManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeLinkingManager.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\LogBox\\LogBox.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\NativeModules\\specs\\NativeDialogManagerAndroid.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeDialogManagerAndroid.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Interaction\\PanResponder.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Interaction\\TouchHistoryMath.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\PermissionsAndroid\\PermissionsAndroid.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\PermissionsAndroid\\NativePermissionsAndroid.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativePermissionsAndroid.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\PushNotificationIOS\\PushNotificationIOS.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\PushNotificationIOS\\NativePushNotificationManagerIOS.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativePushNotificationManagerIOS.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Settings\\Settings.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Share\\Share.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Share\\NativeShareModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeShareModule.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\ToastAndroid\\ToastAndroid.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Animated\\useAnimatedValue.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Utilities\\useColorScheme.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\UTFSequence.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Vibration\\Vibration.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Vibration\\NativeVibration.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeVibration.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\StyleSheet\\PlatformColorValueTypesIOS.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Flyout\\Flyout.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Flyout\\FlyoutNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Glyph\\Glyph.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Glyph\\GlyphNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Popup\\Popup.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Popup\\PopupNativeComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\Keyboard\\KeyboardExt.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Components\\View\\ViewPropTypes.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\AppTheme\\AppTheme.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\AppTheme\\NativeAppTheme.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\src\\private\\specs_DEPRECATED\\modules\\NativeAppTheme.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\redux\\commonSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\loader\\dataHandler\\CommonContextDataModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\helpers\\helpers.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\context.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\defaults.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\unescape.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\i18nInstance.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\initReactI18next.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\I18nextProvider.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\Trans.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\TransWithoutContext.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\esm\\extends.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\html-parse-stringify\\dist\\html-parse-stringify.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\void-elements\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\utils.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\Translation.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\useTranslation.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\useSSR.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\withSSR.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-i18next\\dist\\es\\withTranslation.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\constants.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@reduxjs\\toolkit\\dist\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@reduxjs\\toolkit\\dist\\redux-toolkit.cjs.production.min.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\immer\\dist\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\immer\\dist\\immer.cjs.production.min.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\redux\\lib\\redux.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\objectSpread2.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\reselect\\lib\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\reselect\\lib\\defaultMemoize.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\redux-thunk\\lib\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\redux\\selectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\viewRegistration.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\utils\\reactBatchedUpdates.native.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\exports.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\components\\Context.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\hooks\\useDispatch.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\hooks\\useStore.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\hooks\\useReduxContext.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\hooks\\useSelector.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\utils\\useSyncExternalStore.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\components\\Provider.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\utils\\Subscription.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\utils\\batch.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\utils\\useIsomorphicLayoutEffect.native.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\components\\connect.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@babel\\runtime\\helpers\\extends.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\hoist-non-react-statics\\dist\\hoist-non-react-statics.cjs.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-is\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-is\\cjs\\react-is.production.min.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\connect\\selectorFactory.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\connect\\verifySubselectors.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\utils\\warning.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\utils\\shallowEqual.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\connect\\mapStateToProps.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\connect\\wrapMapToProps.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\utils\\verifyPlainObject.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\utils\\isPlainObject.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\connect\\invalidArgFactory.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\connect\\mapDispatchToProps.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\utils\\bindActionCreators.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\connect\\mergeProps.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\node_modules\\react-is\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\node_modules\\react-is\\cjs\\react-is.production.min.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-redux\\lib\\types.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\use-sync-external-store\\shim\\with-selector.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\use-sync-external-store\\cjs\\use-sync-external-store-shim\\with-selector.production.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\use-sync-external-store\\shim\\index.native.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\use-sync-external-store\\cjs\\use-sync-external-store-shim.native.production.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\store.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\redux\\activityCenterSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\dataHandler\\ActivityCenterDataModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\types\\index.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\types\\index.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\types\\updateRingSettingsTypes.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\types\\activityCenterMessageTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\utils\\CopilotActionHelpers.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\chinaTypeApprovalSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\ChinaTypeApprovalPageModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\chooseRootFolderSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\ChooseRootFolderPageModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\exitDialogView\\redux\\ExitDialogSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\exitDialogView\\dataHandler\\ExitDialogDataModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\floodgateSurveyView\\redux\\floodgateSurveySlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\floodgateSurveyView\\dataHandler\\FloodgateSurveyDataModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\floodgateSurveyView\\types\\floodgateSurveyTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\folderColorView\\redux\\folderColorSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\folderColorView\\dataHandler\\FolderColorDataModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\folderColorView\\types\\folderColorTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\freSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\FREModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\types\\freTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\kfmDoneView\\redux\\kfmDoneSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\kfmDoneView\\dataHandler\\kfmDoneDataModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\kfmErrorView\\redux\\kfmErrorSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\kfmErrorView\\dataHandler\\KFMErrorPageDataModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOptOutSurveyView\\redux\\kfmOptOutSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOptOutSurveyView\\dataHandler\\KFMOptOutSurveyDataModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\macboxConsentSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\MacboxConsentModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\redux\\odignoreSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\dataHandler\\NativeSettingsDataModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\models\\AppContext.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\buffer\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\ieee754\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\types\\odignoreTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\optionalDiagnosticDataSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\OptionalDiagnosticDataPageModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\types\\optionalDiagnosticDataTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\premiumSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\PremiumPageModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\purchaseView\\redux\\purchaseSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\purchaseView\\dataHandler\\PurchaseDataModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\purchaseView\\types\\purchaseViewTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\requiredDiagnosticDataSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\RequiredDiagnosticPageModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\selectiveSyncSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\types\\selectiveSyncTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\SelectiveSyncPageModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\helpers\\helpers.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\models\\AppContext.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\types\\wizardWindowTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\redux\\sendFeedbackSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\dataHandler\\SendFeedbackDataModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\types\\sendFeedbackViewTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\redux\\settingsSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\types\\settingsTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\taskDialogView\\redux\\TaskDialogSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\taskDialogView\\dataHandler\\TaskDialogDataModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\taskDialogView\\types\\TaskDialogTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\tutorialSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\TutorialPagesModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\welcomeSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\types\\welcomeTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\WelcomePageModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\wizardWindowSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\WizardWindow.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\Spinner.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\themes\\themes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\themes\\HighContrastAppThemeHook\\index.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\themes\\HighContrastAppThemeHook\\HighContrastAppThemeHook.windows.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\themes\\themeUtils.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\hooks.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\themes\\ICommonTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\themes\\CommonLightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\colors\\index.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\themes\\MacOverrides.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\themes\\macTokens.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\themes\\CommonDarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\themes\\CommonHighContrastTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\CommonText.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\loader\\models\\CommonContext.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\redux\\logHooks.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\wizardWindowSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\components\\useWizardConfirmDialog.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\wizardErrorSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\WizardErrorPageModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\kfmCheckFullDiskAccessSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\KFMCheckFullDiskAccessModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\shareLoadingView\\redux\\shareLoadingSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\shareLoadingView\\dataHandler\\ShareLoadingModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\shareLoadingView\\types\\index.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\copilotDialogView\\redux\\copilotDialogSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\copilotDialogView\\dataHandler\\CopilotDialogDataModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\redux\\kfmOnboardingSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\dataHandler\\KFMOnboardingModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\redux\\versionHistorySlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\dataHandler\\VersionHistoryDataModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\types\\versionHistoryTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\vaultWizard\\redux\\vaultSlice.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\vaultWizard\\dataHandler\\VaultDataModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\loader\\CommonLoader.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\Error.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\loader\\themes\\LoadingTheme.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\CommonModal.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\CommonButton.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\CommonPressable.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\redux\\activityCenterSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\SvgIcon.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\IconsList.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\accountDetection.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\index.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\ReactNativeSVG.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\deprecated.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\index.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\CircleNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\ClipPathNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\DefsNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\EllipseNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\ForeignObjectNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\GroupNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\ImageNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\LinearGradientNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\LineNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\MarkerNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\MaskNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\PathNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\PatternNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\RadialGradientNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\RectNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\AndroidSvgViewNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\IOSSvgViewNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\SymbolNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\TextNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\TextPathNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\TSpanNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\UseNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\FilterNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\FeBlendNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\FeColorMatrixNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\FeCompositeNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\FeFloodNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\FeGaussianBlurNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\FeMergeNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\FeOffsetNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\xml.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\xmlTags.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeComponentTransferFunction.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FilterPrimitive.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\util.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\warn-once\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Circle.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Shape.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\SvgTouchableMixin.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\extractBrush.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\utils\\convertPercentageColor.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\colors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\NativeSvgRenderableModule.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\extractProps.windows.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\extractFill.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\extractOpacity.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\extractStroke.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\extractLengthList.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\extractTransform.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\Matrix2D.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\transform.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\transformToRn.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\extractResponder.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\ClipPath.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Defs.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Ellipse.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\ForeignObject.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\G.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\extractText.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Image.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\extractViewBox.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Line.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\LinearGradient.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\extractGradient.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\units.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Marker.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Mask.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\maskType.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Path.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Pattern.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Polygon.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\extractPolyPoints.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Polyline.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\RadialGradient.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Rect.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Stop.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Svg.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\fabric\\NativeSvgViewModule.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Symbol.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\TSpan.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Text.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\TextPath.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\Use.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeBlend.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\lib\\extract\\extractFilter.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeColorMatrix.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeComponentTransfer.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeComposite.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeConvolveMatrix.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeDiffuseLighting.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeDisplacementMap.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeDistantLight.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeDropShadow.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeFlood.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeGaussianBlur.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeMerge.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeMergeNode.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeOffset.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeImage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeMorphology.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FePointLight.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeSpecularLighting.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeSpotLight.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeTile.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\FeTurbulence.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\elements\\filters\\Filter.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-svg\\src\\utils\\fetchData.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\accountDetection.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\acm_cloud_import.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\acm_cloud_import.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\acm_confetti.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\acm_confetti.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\acm_low_disk_space_online_only.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\acm_low_disk_space_online_only.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\acmDismissIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\acmDismissIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\ACMegaImageForQuotaErrors.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\ACMegaImageForQuotaErrors.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\animation_Pause.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\animation_Pause.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\animation_Play.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\animation_Play.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\backArrow.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\backArrow.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\blue_cloud.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\blue_cloud.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\BlueCloudCritical_default.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\BlueCloudCritical_default.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\BlueCloudCritical_Win11.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\BlueCloudCritical_Win11.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\blue_cloud48x48.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\blue_cloud48x48.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\BlueCloudFull_default.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\BlueCloudFull_default.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\BlueCloudFull_Win11.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\BlueCloudFull_Win11.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\BlueCloudOverLimit.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\BlueCloudOverLimit.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\bugIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\bugIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\CameraRollBackup.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\CameraRollBackup.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\cancelIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\cancelIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\checkboxComposite.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\checkboxComposite.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\checkmark_hovered.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\checkmark_hovered.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\checkmark_in_progress.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\checkmark_in_progress.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\checkmark_selected.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\checkmark_selected.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\chevron.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\chevron.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\chevronUp.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\chevronUp.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\Clipchamp.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\Clipchamp.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\clock_icon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\clock_icon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\cloud.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\cloud.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\CloudIconError.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\CloudIconError.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\CloudIconOffline.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\CloudIconOffline.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\CloudIconPaused.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\CloudIconPaused.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\CloudIconSynced.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\CloudIconSynced.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\CloudIconSyncing.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\CloudIconSyncing.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\CloudIconWarning.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\CloudIconWarning.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\completed_icon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\completed_icon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\copilot.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\copilot.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\copyLink.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\copyLink.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\ColoredFolders.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\ColoredFolders.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\Defender.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\Defender.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\Designer.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\Designer.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\dialog_dismiss.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\dialog_dismiss.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\done_graphic.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\done_graphic.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\errorIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\errorIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\errorIcon2.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\errorIcon2.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\errorInfoCircle.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\errorInfoCircle.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\InfoBlue.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\InfoBlue.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\excel.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\excel.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\exclamation.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\exclamation.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\exitIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\exitIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\eyelash.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\eyelash.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\FamilySafety.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\FamilySafety.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\feedbackIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\feedbackIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\file.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\search.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\search.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\file.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\fileProviderIconsACM.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\fileProviderIconsACM.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\filesNotSyncing.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\filesNotSyncing.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\filesNotSyncingDisabled.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\filesNotSyncingDisabled.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\fre_choose_folder_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\fre_choose_folder_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\fre_enable_finder.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\fre_enable_finder.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\freeUpSpace.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\freeUpSpace.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\fileLockIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\fileLockIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\finderExtensionPrompt.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\finderExtensionPrompt.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\folder_image_desktop_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\folder_image_desktop_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\folder_image_desktop.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\folder_image_desktop.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\folder_image_documents_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\folder_image_documents_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\folder_image_documents.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\folder_image_documents.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\folder_image_pictures_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\folder_image_pictures_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\folder_image_pictures.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\folder_image_pictures.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\folderIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\folderIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\folderIcon2.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\folderIcon2.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\folderIcon20x20.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\folderIcon20x20.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\forwardArrow.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\forwardArrow.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\fre_choose_folder.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\fre_choose_folder.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\fre_done.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\fre_done.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\fre_email_hrd.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\fre_email_hrd.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\FRE_Tutorial_FilesOnDemand_Important.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\FRE_Tutorial_FilesOnDemand_Important.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\FRE_Tutorial_FilesOnDemand_OnlineOnly.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\FRE_Tutorial_FilesOnDemand_OnlineOnly.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\FRE_Tutorial_FilesOnDemand_Placeholder.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\FRE_Tutorial_FilesOnDemand_Placeholder.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\FRE_Tutorial_Intro.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\FRE_Tutorial_Intro.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\FRE_Tutorial_Mobile.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\FRE_Tutorial_Mobile.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\FRE_Tutorial_Share.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\FRE_Tutorial_Share.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\FRE_Tutorial_FilesOnDemand_Important_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\FRE_Tutorial_FilesOnDemand_Important_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\FRE_Tutorial_FilesOnDemand_Macbox.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\FRE_Tutorial_FilesOnDemand_Macbox.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\FRE_Tutorial_FilesOnDemand_OnlineOnly_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\FRE_Tutorial_FilesOnDemand_OnlineOnly_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\FRE_Tutorial_FilesOnDemand_Placeholder_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\FRE_Tutorial_FilesOnDemand_Placeholder_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\FRE_Tutorial_Intro_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\FRE_Tutorial_Intro_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\FRE_Tutorial_Share_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\FRE_Tutorial_Share_mac.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\Frown_Light.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\Frown_Dark.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\globe.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\globe.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\globeIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\globeIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\globeIcon2.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\globeIcon2.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\globeIcon20x20.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\globeIcon20x20.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\helpIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\helpIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\helpSubIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\helpSubIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\HeroImage_FolderBackupACM.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\HeroImage_FolderBackupACM.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\houseIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\houseIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\iceBucket.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\iceBucket.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\infoIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\infoIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\infoIconYellow.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\infoIconYellow.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\kfm_acm_gpo.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\kfm_acm_gpo.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\kfm_mega_gpo.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\kfm_mega_gpo.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\kfmAllBackedUp.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\kfmAllBackedUp.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\kfmCloseFileToBackup.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\kfmCloseFileToBackup.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\kfmOnboardingACM.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\kfmOnboardingACM.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\layerIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\layerIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\lightBulb.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\lightBulb.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\light-bulb.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\light-bulb.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\lightBulbBlue.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\lightBulbBlue.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\list_checkbox.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\list_checkbox.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\loading_spinner_arrow.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\loading_spinner_arrow.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\loading_spinner.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\loading_spinner.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\loading.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\loading.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\lock_graphic.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\lock_graphic.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\lock_icon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\lock_icon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\lockIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\lockIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\MB_ConsentDialog_Denied.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\MB_ConsentDialog_Denied.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\macFolder.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\macFolder.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\manageStorage.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\manageStorage.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\MediaControls.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\MediaControls.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\moreInfo.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\moreInfo.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\monoline_copilot.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\monoline_copilot.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\onDemandFiles.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\onDemandFiles.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\onDemandFilesDehydrate.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\onDemandFilesDehydrate.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\onDemandSelectiveSync.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\onDemandSelectiveSync.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\onenote.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\onenote.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\openFileIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\openFileIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\openFolder.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\openFolder.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\optionalDiagnosticData.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\optionalDiagnosticData.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\outlook.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\outlook.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\overflowIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\overflowIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\partiallyFreezing.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\partiallyFreezing.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\paused.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\paused.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\Pause.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\Pause.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\pauseIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\pauseIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\powerpoint.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\powerpoint.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\Play.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\Play.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\VideoBadgePlay.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\premium_gem.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\premium_gem.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\premiumIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\premiumIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\premiumIcon2.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\premiumIcon2.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\premiumIcon20x20.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\premiumIcon20x20.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\photoIcon20x20.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\photoIcon20x20.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\purchase_success_bg.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\purchase_success_bg.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\recycleBin.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\recycleBin.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\recycleBinIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\recycleBinIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\recycleBinIcon20x20.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\recycleBinIcon20x20.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\reportProblemIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\reportProblemIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\requiredDiagnosticData.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\requiredDiagnosticData.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\reSignIn.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\reSignIn.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\resumeIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\resumeIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\resumeSyncing.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\resumeSyncing.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\startOneDrive.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\startOneDrive.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\scrollbarChevronDown.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\scrollbarChevronDown.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\scrollbarChevronUp.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\scrollbarChevronUp.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\sendFeedbackIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\sendFeedbackIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\settingsIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\settingsIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\settingsIcon2.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\settingsIcon2.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\settingsIcon3.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\settingsIcon3.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\share.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\share.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\shareIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\shareIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\shield_icon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\shield_icon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\ShieldTask.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\ShieldTask.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\shieldSuccess.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\shieldSuccess.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\signIn.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\signIn.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\signInExclamation.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\signInExclamation.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\Smile_Light.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\Smile_Dark.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\stack.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\stack.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\stackedIceCubes.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\stackedIceCubes.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\stackIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\stackIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SyncStatusError.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\SyncStatusError.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SyncStatusOffline.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\SyncStatusOffline.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SyncStatusPaused.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\SyncStatusPaused.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SyncStatusSynced.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\SyncStatusSynced.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SyncStatusSyncing.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\SyncStatusSyncing.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SyncStatusWarning.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\SyncStatusWarning.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SyncStatusBadgeCloud.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\SyncStatusBadgeCloud.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SyncStatusBadgeError.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\SyncStatusBadgeError.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SyncStatusBadgeInfo.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\SyncStatusBadgeInfo.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SyncStatusBadgeOffline.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\SyncStatusBadgeOffline.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SyncStatusBadgePaused.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\SyncStatusBadgePaused.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SyncStatusBadgeSyncing.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\SyncStatusBadgeSyncing.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SyncStatusBadgeWarning.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\SyncStatusBadgeWarning.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\Teams.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\Teams.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\ThumbUp.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\ThumbUp.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\ThumbDown.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\ThumbDown.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SearchFeedbackThumbUp.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SearchFeedbackThumbDown.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SearchFeedbackThumbUpFilled.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\SearchFeedbackThumbDownFilled.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\ThumbLikeActive.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\ThumbLikeActive.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\ThumbLikeHover.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\ThumbLikeHover.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\timelineLong.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\timelineLong.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\timelineShort.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\timelineShort.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\treeChevronDown.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\treeChevronDown.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\treeChevronLeft.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\treeChevronLeft.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\treeChevronRight.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\treeChevronRight.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\unlinkIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\unlinkIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\unlockIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\unlockIcon.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\upgrade.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\upgrade.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\vaultFull.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\vaultIntro.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\vaultUnlocked.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\warning-symbol_grey.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\warning-symbol_grey.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\warning-symbol_yellow.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\warning-symbol_yellow.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\waterGlass.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\waterGlass.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\WiFiWarning.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\WiFiWarning.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\win7_kfm_done.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\win7_kfm_done.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\win7_unlink-1.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\win7_unlink-1.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\win7_unlink-2.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\win7_unlink-2.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\word.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\word.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\yellowFolder.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\yellowFolder.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\light\\YellowStar.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\svgs\\dark\\YellowStar.svg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\redux\\updateRingSettingsHooks.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\Icon.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\aboutIcon.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-windows\\Libraries\\Image\\AssetRegistry.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\accountIcon.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\acmDismiss.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\add-to-onedrive.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\addedFolderIcon_win.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\addedFolderIcon_mac.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\blue_cloud.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\blue_cloud48x48.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\BlueCloudCritical_Win11.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\bugIcon22x22.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\cancel.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\chevronDown.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\chevronRight.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\chevronUp.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\coloredFolders.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\cloud.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\desktop.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\diamond.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\documents.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\downloads.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\error.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\errorDark.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\exitIcon22x22.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\feedbackIcon22x22.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\file.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\folder20x20.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\fond_download_all.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\fond_free_up_space.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\getHelp_light.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\giveFeedback_light.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\globeIcon.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\help.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\helpIcon22x22.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\house.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\ic_fluent_add_24_filled.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\info.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\infoDanger.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\infoDark.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\infoOutline.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\infoWarning.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\infoWarningDark.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\layerIcon22x22.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\music.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\notificationsIcon.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\OD4HeroACM.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\office_apps.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\open-folder.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\open-folder_original.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\openFolder20x20.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\overflow.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\pauseIcon22x22.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\phone.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\pictures.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\profile.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\reactivate.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\recycle-bin.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\recycle-bin20x20.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\reportProblemIcon22x22.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\settingsIcon.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\settingsIcon22x22.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\share20x20.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\stack20x20.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\prioritize_sync_light.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\prioritize_sync_dark.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\syncIcon.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\syncStatusError.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\syncStatusOffline.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\syncStatusSynced.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\syncStatusSyncing.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\syncStatusWarning.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\unlockIcon22x22.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\videos.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\view-online.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\view-online20x20.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\warning.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\welcome.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\assets\\light\\optionalDiagnosticData.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\assets\\dark\\optionalDiagnosticData.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\AISearch.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\AISearchDark.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\people.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\peopleDark.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\loader\\models\\useCommonContextData.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\loader\\dataHandler\\CommonMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\ActivityCenterView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\PausedView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\themes\\ITheme.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\Tooltip.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\dataHandler\\SearchEventHandler.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\accessibilityUtils.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\ActivityCenterItemsHistory.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\SearchResultItem.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\HtmlText.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\Link.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\SpaceSizeCalculator.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\ProgressItem.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\utils\\helpers.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\components\\StorageSetting.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\themes\\ITheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\themes\\settingsStyles.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\ItemHistory.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\SearchPhotoGrid.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\ActivityCenterCoAuthLockedItems.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\CoAuthLockedItem.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\ProgressBar.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\SyncStatus.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\experimentation\\ActivityCenterRestStateStringsExperiment.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\experimentation\\applyExperiments.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\SearchInput.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\CommonTextInput.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\SearchFilterTabs.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\ItemError.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\CheckBox.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native-community\\checkbox\\dist\\CheckBox.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native-community\\checkbox\\dist\\WindowsCheckBoxComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native-community\\checkbox\\dist\\setAndForwardRef.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\checkbox\\lib\\deprecated\\Checkbox.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@uifabricshared\\foundation-compose\\lib\\compose.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\lib\\immutable-merge\\Merge.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\lib\\memo-cache\\getMemoCache.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\lib\\memo-cache\\getCacheEntry.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\lib\\jsx-runtime.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\node_modules\\react\\jsx-runtime.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\node_modules\\react\\cjs\\react-jsx-runtime.production.min.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\node_modules\\react\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\node_modules\\react\\cjs\\react.production.min.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\lib\\component-patterns\\render.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\lib\\memo-cache\\memoize.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\lib\\merge-props\\mergeProps.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\lib\\merge-props\\mergeStyles.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\lib\\component-patterns\\stagedComponent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework-base\\lib\\component-patterns\\withSlots.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@uifabricshared\\foundation-compose\\lib\\useStyling.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\theme-types\\lib\\context.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@uifabricshared\\theming-ramp\\lib\\SettingsWorker.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@uifabricshared\\theming-ramp\\lib\\Theme.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@uifabricshared\\foundation-settings\\lib\\Settings.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\default-theme\\lib\\createAliasTokens.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\theme-tokens\\lib\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\theme-tokens\\lib\\getTokens.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\theme-tokens\\lib\\highContrast\\tokens-alias.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\assert-never\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\theme-tokens\\lib\\tokens-global.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\theming-utils\\lib\\getCurrentAppearance.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\theming-utils\\lib\\isHighContrast.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\theming-utils\\lib\\mapPipelineToTheme.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\theming-utils\\lib\\mapPipelineToShadow.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\default-theme\\lib\\createDefaultTheme.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\theme\\lib\\ThemeProvider.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\theme\\lib\\themeReference.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\theme\\lib\\mergeTheme.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\default-theme\\lib\\defaultTheme.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\default-theme\\lib\\stockWebPalette.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\default-theme\\lib\\defaultColors.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@uifabricshared\\themed-settings\\lib\\CustomSettings.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@uifabricshared\\foundation-tokens\\lib\\Token.function.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@uifabricshared\\foundation-tokens\\lib\\Token.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\tokens\\lib\\color-tokens.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\tokens\\lib\\border-tokens.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\tokens\\lib\\tokenBuilder.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\tokens\\lib\\text-tokens.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\tokens\\lib\\token.function.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\tokens\\lib\\layout-tokens.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\tokens\\lib\\shadow-tokens.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@uifabricshared\\foundation-composable\\lib\\Composable.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@uifabricshared\\foundation-composable\\lib\\Composable.slots.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\checkbox\\lib\\deprecated\\Checkbox.types.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\getAccessibilityState.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\events.types.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\Pressability\\InternalTypes.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\useKeyProps.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\useAsPressable.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\usePressability.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\Pressability\\Pressability.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\Pressability\\HoverState.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\useAsToggle.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\useAsToggleWithEvent.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\useControllableValue.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\useConst.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\useOnPressWithFocus.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\usePressableState.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\useSelectedKey.hooks.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\useViewCommandFocus.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\interactive-hooks\\lib\\setAndForwardRef.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\checkbox\\lib\\deprecated\\Checkbox.settings.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\adapters\\lib\\adapters.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\text\\lib\\Variants.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\text\\lib\\Text.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework\\lib\\useTokens.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\use-tokens\\lib\\applyPropsToTokens.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\use-tokens\\lib\\applyTokenLayers.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\use-tokens\\lib\\buildUseTokens.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\use-tokens\\lib\\customizable.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\use-tokens\\lib\\patchTokens.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework\\lib\\themeHelper.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework\\lib\\useFluentTheme.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework\\lib\\useStyling.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\use-styling\\lib\\buildProps.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\use-styling\\lib\\buildUseStyling.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\use-slots\\lib\\buildUseSlots.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\use-slot\\lib\\useSlot.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework\\lib\\compose.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\composition\\lib\\composeFactory.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\framework\\lib\\compressible.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\text\\lib\\TextTokens.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\text\\lib\\Text.types.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\text\\lib\\deprecated\\Text.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\text\\lib\\deprecated\\Text.types.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\text\\lib\\deprecated\\Text.settings.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\checkbox\\lib\\Checkbox.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\checkbox\\lib\\Checkbox.types.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\checkbox\\lib\\Checkbox.styling.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\checkbox\\lib\\CheckboxTokens.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\styling-utils\\lib\\getMarginAdjustment.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@fluentui-react-native\\checkbox\\lib\\useCheckbox.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\ErrorHeader.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\utils\\constants.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\ActivityCenterMessage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\SearchHistoryEmptyState.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\ActivityCenterErrors.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\ActivityCenterHeader.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\ActivityCenterFooter.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\redux\\settingsHooks.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\redux\\selectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\ActivityCenterContextMenu.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\dataHandler\\ActivityCenterMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\activityCenterView\\components\\SearchFooter.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\ChooseRootFolderPage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\themes\\useFreStyles.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\themes\\ITheme.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\themes\\MacFreOverrides.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\ChooseRootFolderSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\components\\FREImage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\components\\AnimationPlayPauseButton.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\ChooseRootFolderMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\WizardWindowMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\CTAPage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\debugView\\DebugView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\debugView\\DebugViewMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\debugInfoView\\DebugInfoView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\debugInfoView\\DebugInfoViewMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\WizardErrorPage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\wizardErrorSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\WizardErrorPageMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\floodgateSurveyView\\FloodgateSurveyView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\floodgateSurveyView\\themes\\ITheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\floodgateSurveyView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\floodgateSurveyView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\floodgateSurveyView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\floodgateSurveyView\\redux\\floodgateSurveySelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\RadioPicker.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\RadioButton.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\kfmDoneView\\kfmDoneView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\themes\\IKFMTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\kfmDoneView\\redux\\kfmDoneSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\kfmDoneView\\dataHandler\\kfmDoneMessageHandler.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\kfmErrorView\\MigrationErrorView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\kfmErrorView\\redux\\kfmErrorSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\kfmErrorView\\dataHandler\\KFMErrorPageMessageHandler.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\floodgateSurveyView\\NPSToastView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\notificationToastView\\NotificationToastView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\notificationToastView\\types\\toastTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\notificationToastView\\components\\SurveyToast.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\notificationToastView\\styles\\toastStyles.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\notificationToastView\\themes\\ITheme.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\notificationToastView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\notificationToastView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\notificationToastView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\experimentation\\NPSUXExperiment.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\notificationToastView\\components\\BaseToast.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\OptionalDiagnosticDataPage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\OptionalDiagnosticDataSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\KFMMoveView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\dataHandler\\KFMDialogDataModel.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\themes\\globalStyles.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\models\\useAppContextData.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\models\\reducer.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\models\\helpers.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\dataHandler\\KFMDialogMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\components\\Header.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\components\\KFMPendingBanner.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\components\\KFMFolderList.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\components\\LossAversionModalBody.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\components\\OptOutResultModal.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\components\\KFMListItem.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\ToggleSetting.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\components\\QuotaDetails.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\components\\DialogError.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmMoveView\\components\\UserActionArea.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\PremiumPage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\premiumSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\components\\PremiumCard.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\PremiumPageMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\ReportABugView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\dataHandler\\ReportABugDataModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\themes\\ITheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\models\\useAppContextData.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\models\\AppContext.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\views\\InProgressView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\components\\Header.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\views\\SuccessView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\views\\FailureView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\views\\ReportABugInputView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\components\\FilePicker.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\models\\helper.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\components\\ImagePicker.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\components\\ScreenshotViewer.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\Dropdown.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native-picker\\picker\\js\\index.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native-picker\\picker\\js\\Picker.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native-picker\\picker\\js\\PickerAndroid.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native-picker\\picker\\js\\UnimplementedView.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native-picker\\picker\\js\\PickerIOS.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native-picker\\picker\\js\\PickerWindows.windows.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\@react-native-picker\\picker\\js\\PickerMacOS.js","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\Hover.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\reportABugView\\dataHandler\\ReportABugMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\RequiredDiagnosticDataPage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\SelectiveSyncPage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\selectiveSyncSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\SelectiveSyncMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\SendFeedbackView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\themes\\ITheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\redux\\sendFeedbackSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\views\\SendFrownOrSmileView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\views\\InProgressView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\views\\SuccessView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\views\\FailureView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\views\\SendFeedbackOptionsView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\components\\FeedbackOptionView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\sendFeedbackView\\dataHandler\\SendFeedbackMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\taskDialogView\\TaskDialogView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\taskDialogView\\themes\\ITheme.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\taskDialogView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\taskDialogView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\taskDialogView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\taskDialogView\\redux\\TaskDialogSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\TutorialPage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\tutorialSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\types\\tutorialTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\TutorialPages\\BasicOverview.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\TutorialPages\\ShareFiles.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\TutorialPages\\FilesOnDemandMac.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\TutorialPages\\FilesOnDemand.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\TutorialPages\\MobileApp.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\TutorialPages\\Done.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\WelcomePage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\redux\\welcomeSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\components\\WelcomePageButtons.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\KoreanCela.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\components\\WelcomeFlyoutOverlay.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\dataHandler\\WelcomePageMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\VersionHistoryView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\redux\\versionHistorySelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\components\\VersionHistoryHeader.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\components\\VersionHistoryErrorBar.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\components\\VersionHistoryRestoreInfoBar.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\components\\VersionHistoryList.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\components\\VersionHistoryListItem.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\components\\VersionHistoryProcessing.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\components\\VersionHistoryError.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\components\\VersionHistoryContextMenu.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\versionHistoryView\\dataHandler\\VersionHistoryMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\exitDialogView\\ExitDialogView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\exitDialogView\\themes\\ITheme.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\exitDialogView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\exitDialogView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\exitDialogView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\exitDialogView\\experiments\\standardExperience.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\exitDialogView\\experiments\\exitSurveyExperience.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\exitDialogView\\redux\\ExitDialogSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\exitDialogView\\experiments\\AutoStartToggleExperience.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\folderColorView\\FolderColorView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\folderColorView\\themes\\ITheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\folderColorView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\folderColorView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\folderColorView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\folderColorView\\redux\\folderColorSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\folderColorView\\dataHandler\\FolderColorMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\hiddenRootView\\HiddenRootView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmExpressOptInView\\kfmExpressOptInView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmExpressOptInView\\dataHandler\\KFMExpressOptInModel.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmExpressOptInView\\themes\\ITheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmExpressOptInView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmExpressOptInView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmExpressOptInView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOptOutSurveyView\\KFMOptOutSurveyView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOptOutSurveyView\\themes\\IKFMOptOutSurveyTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOptOutSurveyView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOptOutSurveyView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOptOutSurveyView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\CheckBoxPicker.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\SettingsView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\models\\useAppContextData.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\models\\SettingIDs.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\dataHandler\\SettingsMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\components\\TabContextManagement.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\components\\LeftNav.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\components\\Tab.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\components\\RightPane.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\views\\SyncView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\components\\ToggleAdapter.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\components\\GenericSettingWrapper.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\Expander.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\components\\NetworkSetting.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\components\\ODIgnoreView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\components\\Footer.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\views\\AccountView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\components\\AccountSetting.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\components\\MountedFolderList.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\views\\NotificationsView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\components\\NotificationPermissionBanner.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\views\\AboutView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\settingsView\\views\\SettingsDebugView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\freView\\pages\\SyncReadyPage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\vaultWizard\\VaultAdminPage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\vaultWizard\\redux\\vaultSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\vaultWizard\\dataHandler\\VaultMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\vaultWizard\\VaultIntroPage.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\shareLoadingView\\ShareLoadingView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\shareLoadingView\\themes\\ITheme.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\shareLoadingView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\shareLoadingView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\shareLoadingView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\shareLoadingView\\utils\\formatAggregateBytes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\fileMultiple32x32.png","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\shareLoadingView\\redux\\shareLoadingSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\shareLoadingView\\dataHandler\\ShareLoadingMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\copilotDialogView\\CopilotDialogView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\copilotDialogView\\themes\\ITheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\copilotDialogView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\copilotDialogView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\copilotDialogView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\copilotDialogView\\dataHandler\\CopilotDialogMessageHandler.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\KFMOnboardingView.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\cloud.jpg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\security.jpg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\easyAccess.jpg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\control.jpg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\assets\\images\\crb.jpg","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\resources\\styles.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\themes\\ITheme.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\themes\\LightTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\themes\\DarkTheme.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\themes\\HighContrast.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\redux\\kfmOnboardingSelectors.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\types\\kfmOnboardingViewTypes.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\components\\VideoPlayer.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\index.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\VideoDecoderProperties.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\specs\\NativeVideoDecoderInfoModule.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\Video.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\specs\\VideoNativeComponent.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\specs\\NativeVideoManager.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\utils.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\types\\index.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\types\\Ads.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\types\\FilterType.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\types\\Orientation.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\types\\ResizeMode.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\types\\TextTrackType.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\types\\ViewType.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\node_modules\\react-native-video\\src\\types\\video.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\components\\SupportLink.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\components\\CalloutCard.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\components\\DIMEUpsellCards.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\resources\\dimeUpsellStyles.ts","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\kfmOnboardingView\\components\\BenefitItem.tsx","F:\\dbs\\el\\odct\\client\\onedrive\\RNViews\\src\\common\\components\\Toast.tsx"],"names":["window","global","globalThis","__METRO_GLOBAL_PREFIX__","Map","Object","console","originalConsole","registerViewWithCommonLoader","ExitDialogView","FolderColorsView","HiddenRootView","KFMExpressOptInView","KFMOptOutSurveyView","SettingsView","SettingsMessageHandler","SyncReadyPage","VaultAdminPage","VaultMessageHandler","VaultIntroPage","ShareLoadingView","ShareLoadingMessageHandler","CopilotDialogView","KFMOnboardingView","ActivityCenterView","ChooseRootFolderPage","ChooseRootFolderPageMessageHandler","CTAPage","WizardWindowMessageHandler","DebugView","DebugViewMessageHandler","DebugInfoView","DebugInfoViewMessageHandler","WizardErrorPage","WizardErrorPageMessageHandler","FloodgateSurveyView","KFMDoneView","KFMDoneMessageHandler","KFMErrorView","KFMErrorMessageHandler","NPSToastView","OptionalDiagnosticDataPage","KFMMoveView","PremiumPage","PremiumPageMessageHandler","ReportABugView","RequiredDiagnosticDataPage","SelectiveSyncPage","SelectiveSyncMessageHandler","SendFeedbackView","SendFrownOrSmileView","SendFeedbackMessageHandler","TaskDialogView","TutorialPage","WelcomePage","WelcomePageMessageHandler","VersionHistoryView","VersionHistoryMessageHandler","WizardWindow","NativeDataHandler","i18n","Backend","initReactI18next","t","o","_typeof","Symbol","String","TypeError","_interopRequireWildcard","fetch","hasXMLHttpRequest","fetchNode","fetchApi","NativeEventEmitter","NativeModules","Platform","EventEmitter","NativePlatformConstantsWin","bridgeConfig","wasCalledOnce","nullthrows","result","Set","NativeUIManager","NativeAccessibilityInfo","NativeAccessibilityManager","BatchedBridge","Array","Error","pluginName$jscomp$inline_283","isOrderingDirty$jscomp$inline_282","Math","WeakMap","reportError","AbortController","WeakSet","nativeFabricUIManager","registerEventHandler","setTimeout","clearTimeout","RN$enableMicrotasksInReact","queueMicrotask","__REACT_DEVTOOLS_GLOBAL_HOOK__","Date","_$$_REQUIRE","DOMRectReadOnly","createJavaScriptFlagGetter","createNativeFlagGetter","setOverrides","ReadOnlyNode","ReadOnlyElement","codegenNativeCommands","processColor","processAspectRatio","sizesDiffer","processTransform","processTransformOrigin","NativeReactNativeFeatureFlags","processFilter","processBoxShadow","processBackgroundImage","processFontVariant","NativeSourceCode","RCTDeviceEventEmitter","NativeDeviceInfo","BaseViewConfig","DynamicallyInjectedByGestureHandler","ReactNativeStyleAttributes","ReadOnlyCharacterData","NativePerformance","Performance","PerformanceEntry","Promise","NativeTiming","NativeExceptionsManager","Function","useBuiltInEventTarget","EventTarget","EVENT_TARGET_GET_THE_PARENT_KEY","INTERNAL_DISPATCH_METHOD_KEY","Event","NativeBlobModule","NativeModule","createPerformanceLogger","Uint8Array","i","NativeNetworkingIOS","define","NativeWebSocketModule","Blob","NativeFileReaderModule","constants","NativeDialogManagerWindows","registerModule","NativeSegmentFetcher","registerCallableModule","NativeRedBox","NativeBugReporting","NativeHeadlessJsTaskSupport","GlobalPerformanceLogger","StyleSheet","composeStyles","flatten","NativeDeviceEventManager","EventPolyfill","getFabricUIManager","performance","setImmediate","MessageChannel","nativeRuntimeScheduler","pluginName$jscomp$inline_290","isOrderingDirty$jscomp$inline_289","isomorphicReactPackageVersion","ActivityIndicatorViewNativeComponent","ReactNativeViewConfigRegistry","PlatformColor","NativeSoundManager","Boolean","document","createReactNativeComponentClass","UIManager","VirtualizedLists","React","keyExtractor","StateSafePureComponent","VirtualizedListContext","Number","unstable_getImageComponentDecorator","resolveAssetSource","ConditionallyIgnoredEventHandlers","NativeImageLoaderIOS","View","RCTSafeAreaViewNativeComponent","RCTInputAccessoryViewNativeComponent","isFabricUIManagerInstalled","NativeKeyboardObserver","NativeModalManager","ModalInjection","RCTModalHostViewNativeComponent","ScrollViewContext","AnimatedValue","AnimatedValueXY","AnimatedColor","AnimatedInterpolation","AnimatedNode","createAnimatedComponent","attachNativeEvent","AnimatedEvent","Animation","NativeAnimatedNonTurboModule","NativeAnimatedTurboModule","NativeAnimatedModule","ii","isSingleOpBatching","shouldUseTurboAnimatedModule","AnimatedWithChildren","NativeAnimatedHelper","ReactNativeFeatureFlags","NativeFrameRateLogger","AnimatedImplementation","AnimatedMock","FlatList","Image","ScrollView","AndroidSwipeRefreshLayoutNativeComponent","PullToRefreshViewNativeComponent","createAnimatedPropsHook","SectionList","Text","ScrollViewNativeComponent","AndroidHorizontalScrollViewNativeComponent","ScrollContentViewNativeComponent","AndroidHorizontalScrollContentViewNativeComponent","NativeI18nManager","NativeStatusBarManagerAndroid","props","NativeStatusBarManagerIOS","AndroidSwitchNativeComponent","SwitchNativeComponent","TextInputState","RCTTextInputViewConfig","PooledClass","NativeActionSheetManager","NativeAppearance","NativeAppState","NativeClipboard","NativeDevSettings","NativeIntentAndroid","NativeLinkingManager","NativeDialogManagerAndroid","NativePermissionsAndroid","NativePushNotificationManagerIOS","NativeShareModule","NativeVibration","NativeAppTheme","CommonContextDataModel","createAsyncThunk","createSelector","selectMetadata","createSlice","createContext","unescape","e","d","Proxy","undefined","J","Reflect","_getRequireWildcardCache","hasPropertyDescriptor","b","combineReducers","commonReducer","odignoreReducer","kfmOptOutSurveyReducer","taskDialogReducer","settingsReducer","activityCenterReducer","freReducer","welcomePageReducer","chinaTypeApprovalReducer","exitDialogReducer","sendFeedbackReducer","floodgateSurveyReducer","tutorialPageReducer","requiredDiagnosticDataReducer","optionalDiagnosticDataReducer","premiumReducer","purchaseReducer","chooseRootFolderReducer","folderColorReducer","wizardWindowReducer","selectiveSyncReducer","wizardErrorReducer","kfmDoneReducer","vaultReducer","macboxConsentReducer","kfmErrorReducer","kfmCheckFullDiskAccessReducer","shareLoadingReducer","copilotReducer","kfmOnboardingReducer","versionHistoryReducer","configureStore","ActivityCenterDataModel","ActivityCenterPageOpenType","SyncUIState","PauseInvoker","DataFetchState","ActivityCenterUIAction","NotificationSource","ChinaTypeApprovalPageModel","ChooseRootFolderPageModel","ExitDialogModel","FloodgateSurveyDataModel","SurveyReasonValue","FolderColorDataModel","FolderStatus","VisualStates","FREModel","FREPage","KFMDonePageModel","KFMErrorPageModel","KFMOptOutSurveyDataModel","MacboxConsentModel","NativeSettingsDataModel","RangeError","alphabet","OptionalDiagnosticDataPageModel","OptionalDiagnosticDataSelection","PremiumPageModel","PurchaseDataModel","PurchaseViewState","RequiredDiagnosticPageModel","SelectiveSyncPageType","InfoBarType","SelectiveSyncUncheckWarningType","SelectiveSyncPageModel","SendFeedbackDataModel","Status","TabLabel","TaskDialogDataModel","TaskDialogIcon","TutorialPageModel","EmailHrdResult","EmailHrdDialogState","WelcomePageModel","defaultAnimationState","defaultWizardConfirmDialogStrings","WIZARD_WINDOW_VIEW_NAME","createThemedStylesHook","commonThemeManager","useHighContrastAppTheme","useDispatch","useSelector","ThemeManager","CommonLightTheme","CommonDarkTheme","createCommonHighContrastTheme","Basic","ThemeName","ColorsWithTransparency","Fabric","Neutrals","isMacOS","Shared","QuotaLight","Comm","OneOff","macCommonOverrides","parseInt","macOSMajorVersion","isMacOSTahoeOrLater","QuotaDark","DarkThemeBlue","WizardErrorPageModel","KFMCheckFullDiskAccessModel","ShareLoadingModel","ShareLoadingMode","CopilotDialogDataModel","KFMOnboardingModel","VersionHistoryDataModel","ViewState","ErrorState","VaultDataModel","themeManager","MAC_SHAPE","AccountDetectionLight","AccountDetectionDark","AcmCloudImportLight","AcmCloudImportDark","AcmConfettiLight","AcmConfettiDark","AcmLowDiskSpaceOnlineOnlyLight","AcmLowDiskSpaceOnlineOnlyDark","AcmDismissIconLight","AcmDismissIconDark","ACMegaImageForQuotaErrorsLight","ACMegaImageForQuotaErrorsDark","AnimationPauseLight","AnimationPauseDark","AnimationPlayLight","AnimationPlayDark","BackArrowLight","BackArrowDark","BlueCloudLight","BlueCloudDark","BlueCloudCriticalDefaultLight","BlueCloudCriticalDefaultDark","BlueCloudFullDefaultLight","BlueCloudFullDefaultDark","BlueCloud48x48Light","BlueCloud48x48Dark","BlueCloudCriticalWin11Light","BlueCloudCriticalWin11Dark","BlueCloudFullWin11Light","BlueCloudFullWin11Dark","BlueCloudOverLimitLight","BlueCloudOverLimitDark","BugIconLight","BugIconDark","CameraRollBackupLight","CameraRollBackupDark","CancelIconLight","CancelIconDark","CheckboxCompositeLight","CheckboxCompositeDark","CheckmarkHoveredLight","CheckmarkHoveredDark","CheckmarkInProgressLight","CheckmarkInProgressDark","CheckmarkSelectedLight","CheckmarkSelectedDark","ChevronLight","ChevronDark","ChevronUpLight","ChevronUpDark","ClipchampLight","ClipchampDark","ClockIconLight","ClockIconDark","CloudLight","CloudDark","CloudIconErrorLight","CloudIconErrorDark","CloudIconOfflineLight","CloudIconOfflineDark","CloudIconPausedLight","CloudIconPausedDark","CloudIconSyncedLight","CloudIconSyncedDark","CloudIconSyncingLight","CloudIconSyncingDark","CloudIconWarningLight","CloudIconWarningDark","CompletedIconLight","CompletedIconDark","ColoredFoldersLight","ColoredFoldersDark","Copilot","CopilotDark","DefenderLight","DefenderDark","DesignerLight","DesignerDark","DialogDismissLight","DialogDismissDark","DoneGraphicLight","DoneGraphicDark","ErrorIconLight","ErrorIconDark","ErrorIcon2Light","ErrorIcon2Dark","ExcelLight","ExcelDark","ExclamationLight","ExclamationDark","ExitIconLight","ExitIconDark","EyelashLight","EyelashDark","ErrorInfoCircleLight","ErrorInfoCircleDark","InfoBlueLight","InfoBlueDark","FamilySafetyLight","FamilySafetyDark","FeedbackIconLight","FeedbackIconDark","FileLight","FileDark","SearchLight","SearchDark","FileLockIconLight","FileLockIconDark","FinderExtensionPromptLight","FinderExtensionPromptDark","FolderImageDesktopMacLight","FolderImageDesktopMacDark","FolderImageDesktopLight","FolderImageDesktopDark","FolderImageDocumentsMacLight","FolderImageDocumentsMacDark","FolderImageDocumentsLight","FolderImageDocumentsDark","FolderImagePicturesMacLight","FolderImagePicturesMacDark","FolderImagePicturesLight","FolderImagePicturesDark","FolderIconLight","FolderIconDark","FolderIcon2Light","FolderIcon2Dark","FolderIcon20x20Light","FolderIcon20x20Dark","ForwardArrowLight","ForwardArrowDark","FreChooseFolderLight","FreChooseFolderDark","FreDoneLight","FreDoneDark","FreEmailHrdLight","FreEmailHrdDark","FRETutorialFilesOnDemandImportantLight","FRETutorialFilesOnDemandImportantDark","FRETutorialFilesOnDemandOnlineOnlyLight","FRETutorialFilesOnDemandOnlineOnlyDark","FRETutorialFilesOnDemandPlaceholderLight","FRETutorialFilesOnDemandPlaceholderDark","FRETutorialIntroLight","FRETutorialIntroDark","FRETutorialMobileLight","FRETutorialMobileDark","FRETutorialShareLight","FRETutorialShareDark","FrownLight","FrownDark","GlobeLight","GlobeDark","GlobeIconLight","GlobeIconDark","GlobeIcon2Light","GlobeIcon2Dark","GlobeIcon20x20Light","GlobeIcon20x20Dark","HelpIconLight","HelpIconDark","HelpSubIconLight","HelpSubIconDark","HeroImageFolderBackupACMLight","HeroImageFolderBackupACMDark","HouseIconLight","HouseIconDark","IceBucketLight","IceBucketDark","InfoIconLight","InfoIconDark","InfoIconYellowLight","InfoIconYellowDark","KfmAcmGpoLight","KfmAcmGpoDark","KfmMegaGpoLight","KfmMegaGpoDark","KfmAllBackedUpLight","KfmAllBackedUpDark","KfmCloseFileToBackupLight","KfmCloseFileToBackupDark","kfmOnboardingACMLight","kfmOnboardingACMDark","LayerIconLight","LayerIconDark","LightBulbLight","LightBulbDark","LightBulbMonoLight","LightBulbMonoDark","LightBulbBlueLight","LightBulbBlueDark","ListCheckboxLight","ListCheckboxDark","LoadingSpinnerArrowLight","LoadingSpinnerArrowDark","LoadingSpinnerLight","LoadingSpinnerDark","LoadingLight","LoadingDark","LockGraphicLight","LockGraphicDark","Lock_IconLight","Lock_IconDark","LockIconLight","LockIconDark","OnDemandFilesLight","OnDemandFilesDark","MediaControlLight","MediaControlDark","OnDemandFilesDehydrateLight","OnDemandFilesDehydrateDark","OnDemandSelectiveSyncLight","OnDemandSelectiveSyncDark","OnenoteLight","OnenoteDark","OpenFileIconLight","OpenFileIconDark","OpenFolderLight","OpenFolderDark","OptionalDiagnosticDataLight","OptionalDiagnosticDataDark","OutlookLight","OutlookDark","OverflowIconLight","OverflowIconDark","PartiallyFreezingLight","PartiallyFreezingDark","PausedLight","PausedDark","PauseLight","PauseDark","PauseIconLight","PauseIconDark","PowerpointLight","PowerpointDark","PlayLight","PlayDark","VideoBadgePlay","PremiumGemLight","PremiumGemDark","PremiumIconLight","PremiumIconDark","PremiumIcon2Light","PremiumIcon2Dark","PremiumIcon20x20Light","PremiumIcon20x20Dark","RecycleBinLight","RecycleBinDark","RecycleBinIconLight","RecycleBinIconDark","RecycleBinIcon20x20Light","RecycleBinIcon20x20Dark","ReportProblemIconLight","ReportProblemIconDark","RequiredDiagnosticDataLight","RequiredDiagnosticDataDark","ReSignInLight","ReSignInDark","ResumeIconLight","ResumeIconDark","ScrollbarChevronDownLight","ScrollbarChevronDownDark","ScrollbarChevronUpLight","ScrollbarChevronUpDark","SendFeedbackIconLight","SendFeedbackIconDark","SettingsIconLight","SettingsIconDark","SettingsIcon2Light","SettingsIcon2Dark","SettingsIcon3Light","SettingsIcon3Dark","ShareLight","ShareDark","CopyLinkLight","CopyLinkDark","ShareIconLight","ShareIconDark","ShieldIconLight","ShieldIconDark","ShieldTaskLight","ShieldTaskDark","ShieldSuccessLight","ShieldSuccessDark","SignInLight","SignInDark","SignInExclamationLight","SignInExclamationDark","SmileLight","SmileDark","StackLight","StackDark","StackedIceCubesLight","StackedIceCubesDark","StackIconLight","StackIconDark","SyncStatusErrorLight","SyncStatusErrorDark","SyncStatusOfflineLight","SyncStatusOfflineDark","SyncStatusPausedLight","SyncStatusPausedDark","SyncStatusSyncedLight","SyncStatusSyncedDark","SyncStatusSyncingLight","SyncStatusSyncingDark","SyncStatusWarningLight","SyncStatusWarningDark","TeamsLight","TeamsDark","ThumbsUpLight","ThumbsUpDark","ThumbsDownLight","ThumbsDownDark","SearchFeedbackThumbUp","SearchFeedbackThumbDown","SearchFeedbackThumbUpFilled","SearchFeedbackThumbDownFilled","ThumbLikeActiveLight","ThumbLikeActiveDark","ThumbLikeHoverLight","ThumbLikeHoverDark","TimelineLongLight","TimelineLongDark","TimelineShortLight","TimelineShortDark","TreeChevronDownLight","TreeChevronDownDark","TreeChevronLeftLight","TreeChevronLeftDark","TreeChevronRightLight","TreeChevronRightDark","UnlinkIconLight","UnlinkIconDark","UnlockIconLight","UnlockIconDark","VaultFull","VaultIntro","VaultUnlocked","WarningSymbolGreyLight","WarningSymbolGreyDark","WarningSymbolYellowLight","WarningSymbolYellowDark","WaterGlassLight","WaterGlassDark","WiFiWarningLight","WiFiWarningDark","Win7KfmDoneLight","Win7KfmDoneDark","Win7Unlink1Light","Win7Unlink1Dark","Win7Unlink2Light","Win7Unlink2Dark","WordLight","WordDark","YellowFolderLight","YellowFolderDark","FileProviderIconsACMLight","FileProviderIconsACMDark","FilesNotSyncingLight","FilesNotSyncingDark","FilesNotSyncingDisabledLight","FilesNotSyncingDisabledDark","FREChooseFolderMacLight","FREChooseFolderMacDark","FREEnableFinderLight","FREEnableFinderDark","FreeUpSpaceLight","FreeUpSpaceDark","FRETutorialFilesOnDemandImportantMacLight","FRETutorialFilesOnDemandImportantMacDark","FRETutorialFilesOnDemandMacboxLight","FRETutorialFilesOnDemandMacboxDark","FRETutorialFilesOnDemandOnlineOnlyMacLight","FRETutorialFilesOnDemandOnlineOnlyMacDark","FRETutorialFilesOnDemandPlaceholderMacLight","FRETutorialFilesOnDemandPlaceholderMacDark","FRETutorialIntroMacLight","FRETutorialIntroMacDark","FRETutorialShareMacLight","FRETutorialShareMacDark","MBConsentDialogDeniedLight","MBConsentDialogDeniedDark","MacFolderLight","MacFolderDark","ManageStorageLight","ManageStorageDark","MoreInfoLight","MoreInfoDark","PurchaseSuccessBgLight","PurchaseSuccessBgDark","ResumeSyncingLight","ResumeSyncingDark","StartOneDriveLight","StartOneDriveDark","SyncStatusBadgeCloudLight","SyncStatusBadgeCloudDark","SyncStatusBadgeErrorLight","SyncStatusBadgeErrorDark","SyncStatusBadgeInfoLight","SyncStatusBadgeInfoDark","SyncStatusBadgeOfflineLight","SyncStatusBadgeOfflineDark","SyncStatusBadgePausedLight","SyncStatusBadgePausedDark","SyncStatusBadgeSyncingLight","SyncStatusBadgeSyncingDark","SyncStatusBadgeWarningLight","SyncStatusBadgeWarningDark","UpgradeLight","UpgradeDark","PhotoIcon20x20Light","PhotoIcon20x20Dark","MonolineCopilotLight","MonolineCopilotDark","YellowStarLight","YellowStarDark","Component","Circle","ClipPath","Defs","Ellipse","Filter","FeBlend","FeColorMatrix","FeComponentTransfer","FeComposite","FeConvolveMatrix","FeDiffuseLighting","FeDisplacementMap","FeDistantLight","FeDropShadow","FeFlood","FeGaussianBlur","FeImage","FeMerge","FeMergeNode","FeMorphology","FeOffset","FePointLight","FeSpecularLighting","FeSpotLight","FeTile","FeTurbulence","ForeignObject","G","Line","LinearGradient","Marker","Mask","Path","Pattern","Polygon","Polyline","RadialGradient","Rect","Stop","Svg","TextPath","TSpan","Use","FilterPrimitive","Shape","Touchable","TurboModuleRegistry","PanResponder","setTSpan","HistoryItemMenuAction","LightTheme","DarkTheme","createHighContrastTheme","compose","checkboxName","settings","filterViewProps","backgroundColorTokens","borderTokens","getPaletteFromTheme","foregroundColorTokens","textTokens","mergeStyles","getMemoCache","mergeProps","memoize","aliasTokens","entry","globalTokens","getStockWebPalette","createShadowAliasTokens","getStockWebDarkPalette","getStockWebHCPalette","tokenBuilder","styleFunction","preferKeyDownForKeyEvents","compressible","useTextTokens","textName","buildUseTokens","RNText","filterTextProps","stylingSettings","Pressable","defaultCheckboxTokens","buildProps","borderStyles","fontStyles","macFreOverrides","macKfmOverrides","KFMDialogDataModel","ReportABugDataModel","UnimplementedView","requireNativeComponent","selectIsAppReady","KFMExpressOptInModel","Video","forwardRef","modules","EMPTY","module","guardedLoadModule","exports","hasOwnProperty","inGuard","loadModuleImplementation","ID_MASK_SHIFT","moduleId","LOCAL_ID_MASK","value","moduleDefinersBySegmentID","definingSegmentByModuleID","unpackModuleId","unknownModuleError","metroRequire","metroImportDefault","metroImportAll","INDEX_COLUMN_NAME","LOG_LEVELS","GROUP_OPEN","groupStack","msg","GROUP_PAD","GROUP_CLOSE","_key","originalConsoleError","log","_globalHandler","_inGuard","ErrorUtils","name","r","encodeURIComponent","url","altResponse","addQueryString","_objectSpread","payload","omitFetchOptions","options","fetchIt","XmlHttpRequestApi","ActiveXObjectApi","callback","requestWithXmlHttpRequest","requestWithFetch","each","slice","XMLHttpRequest","isString","stack","canNotTraverseDeeper","cleanKey","key","lastOfPathSeparatorRegExp","getLastOfPath","path","p","prop","target","source","deepExtend","arguments","j","tokens","code","string","n","getPathWithDefaults","getPath","deepFind","_dependencyMap","a","ReferenceError","_getPrototypeOf","_setPrototypeOf","require","TRACE_TAG_REACT_APPS","_asyncCookie","_limits$maxDepth","_limits$maxStringLimi","_limits$maxArrayLimit","_limits$maxObjectKeys","EventNames","deviceEventName","legacySendAccessibilityEvent","sendAccessibilityEvent","NativeAccessibilityManagerIOS","_get","id","_exportNames","_NativePlatformConstantsWindows","turboModuleProxy","legacyModule","invariant","_slicedToArray2","methods","genModule","defineLazyObjectProperty","descriptor","reactTag","UIManagerImpl","message","getConstantsForViewManager","getDefaultEventTypes","getDefaultEventTypesCached","getUIManagerConstants","details","getUIManagerConstantsCached","UIManagerJS","unstable_hasComponent","nativeFabricUIManagerProxy","createProxyWithCachedProperties","CACHED_PROPERTIES","componentNameToExists","isNativeUIManagerConstantsSet","NativeUIManagerConstants","viewManagerConfigs","triedLoadingConfig","getConstants","lazifyViewManagerConfig","getViewManagerConfig","_NativeUIManager","_NativeAccessibilityInfo","_NativeAccessibilityManager","onCaughtError","onUncaughtError","onRecoverableError","prefix","match","suffix","reentry","namePropDescriptor","sampleLines","controlLines","fn","describeBuiltInComponentFrame","describeNativeComponentFrame","describeFiber","REACT_FRAGMENT_TYPE","REACT_PORTAL_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","getComponentNameFromType","type","innerType","REACT_CLIENT_REFERENCE","getNodeFromInstance$1","hasError","isArrayImpl","dispatchListener","dispatchConfig","functionThatReturnsFalse","functionThatReturnsTrue","event","createOrGetPooledEvent","releasePooledEvent","touch","touchBank","touchRecord","timestampForTouch","touchHistory","getFiberCurrentPropsFromNode$1","listener","targetInst","inst","accumulateDirectionalDispatches$1","eventPluginOrder","namesToPlugins","plugins","pluginName","eventNameDispatchConfigs","registrationNameModules","registrationName","phasedRegistrationNames","eventName","accumulateDirectionalDispatches","removedKeyCount","removedKeys","restoreDeletedValuesInNestedArray","nextProp","prevProp","diffProperties","emptyObject","clearNestedProperty","addNestedProperty","diffNestedProperty","deepDifferOptions","updatePayload","defaultDiffer","fastAddProperties","isInsideEventHandler","batchedUpdatesImpl","dispatchListeners","executeDispatch","batchedUpdates$1","injectedHook","rendererID","root","LN2","pendingLanes","lanes","nonIdlePendingLanes","wipLanes","nextLanes","warmLanes","findCurrentHostFiberImpl","x","y","getStackByFiberInDevAndProd","CapturedStacks","rootInstanceStackCursor","index","valueStack","contextFiberStackCursor","contextStackCursor","PROD_HOST_CONTEXT","hostTransitionProviderCursor","HostTransitionContext","concurrentQueuesIndex","concurrentQueues","markUpdateLaneFromFiberToRoot","concurrentlyUpdatedLanes","nestedUpdateCount","sourceFiber","isHidden","clz32","lane","isFlushingWork","mightHavePendingSyncWork","firstScheduledRoot","workInProgressRootRenderLanes","getNextLanes","workInProgressRoot","JSCompiler_inline_result","flushPassiveEffects","performWorkOnRoot","suspendedLanes","currentEventTransitionLane","scheduleTaskForRootDuringMicrotask","flushSyncWorkAcrossRoots_impl","expirationTime","currentTime","workInProgressSuspendedReason","performWorkOnRootViaSchedulerTask","currentEntangledPendingCount","currentEntangledListeners","currentEntangledActionThenable","executionContext","pendingQueue","updateLane","isHiddenUpdate","renderLanes","currentEntangledLane","workInProgress","assign","workInProgressRootSkippedLanes","updateQueue","objectIs","keysB","noop","SuspenseException","suspenseStackCursor","suspenseHandlerStackCursor","shellBoundary","node","ReactSharedInternals","HooksDispatcherOnUpdate","HooksDispatcherOnMount","didScheduleRenderPhaseUpdateDuringThisPass","HooksDispatcherOnRerender","finishRenderingHooks","ContextOnlyDispatcher","currentHook","didReceiveUpdate","thenableIndexCounter","thenableState","trackUsedThenable","currentlyRenderingFiber$1","workInProgressHook","didScheduleRenderPhaseUpdate","currentlyRenderingFiber","lastContextDependency","createFunctionComponentUpdateQueue","current","REACT_MEMO_CACHE_SENTINEL","updateWorkInProgressHook","updateReducerImpl","update","revertLane","shouldDoubleInvokeUserFnsInHooksDEV","snapshotChanged","subscribeToStore","updateEffectImpl","updateStoreInstance","checkIfSnapshotChanged","enqueueConcurrentRenderForLane","scheduleUpdateOnFiber","mountWorkInProgressHook","setIsStrictModeForDevtools","basicStateReducer","fiber","alternate","runActionStateAction","handleActionReturnValue","onActionError","nextState","actionStateReducer","dispatchSetState","mountStateImpl","dispatchOptimisticSetState","dispatchActionState","updateActionStateImpl","action","actionStateActionEffect","mountEffectImpl","imperativeHandleEffect","areHookInputsEqual","currentTreeHiddenStackCursor","workInProgressDeferredLane","nextTransitionLane","currentUpdatePriority","dispatchSetStateInternal","requestUpdateLane","chainThenableValue","enqueueUpdate","AbortControllerLocal","isRenderPhaseUpdate","enqueueConcurrentHookUpdate","enqueueUpdate$1","finishQueueingConcurrentUpdates","entangleTransitionUpdate","enqueueRenderPhaseUpdate","ctor","emptyContextObject","classComponentUpdater","processUpdateQueue","didReadFromEntangledAsyncAction","newProps","reportGlobalError","propagateParentContextChanges","workInProgressRootConcurrentErrors","workInProgressRootExitStatus","returnFiber","legacyErrorBoundariesThatAlreadyFailed","rootRenderLanes","PossiblyWeakMap","threadIDs","pingSuspendedRoot","workInProgressRootDidSkipSuspendedSiblings","workInProgressRootInterleavedUpdatedLanes","markRootSuspended","currentSourceFiber","noopSuspenseyCommitThenable","renderWithHooks","bailoutOnAlreadyFinishedWork","reconcileChildFibers","mountChildFibers","shallowEqual","createWorkInProgress","updateSimpleMemoComponent","createFiberFromTypeAndProps","resumedCache","prevEntangledRenderLanesCursor","entangledRenderLanes","deferHiddenOffscreenComponent","prevState","pushOffscreenSuspenseHandler","nextIsDetached","CacheContext","nextContext","oldState","instance","hasForceUpdate","checkShouldComponentUpdate","oldContext","contextType","unresolvedOldProps","constructClassInstance","mountClassInstance","finishClassComponent","hasContext","JSCompiler_temp","showFallback","didSuspend","FiberNode","primaryTreeDidDefer","SUSPENDED_MARKER","REACT_OFFSCREEN_TYPE","nextProps","parent","findFirstSuspended","valueCursor","updateOffscreenComponent","state","updateSuspenseListComponent","updateSuspenseComponent","pushHostContainer","context","init","elementType","propagateContextChanges","updateMemoComponent","updateForwardRef","TransitionAwareHostComponent","nextCache","updateClassComponent","shouldConstruct","forcePropagateEntireTree","currentParent","appendAllChildren","appendChildNode","needsVisibilityToggle","cloneNodeWithNewProps","appendAllChildrenToContainer","appendChildNodeToSet","completedWork","child$93","popHostContainer","popHostContext","captureCommitPhaseError","commitCallbacks","resolveClassComponentProps","getPublicInstance","nextEffect","firstChild","shouldFireAfterActiveInstanceBlur","finishedWork","recursivelyTraverseLayoutEffects","offscreenSubtreeIsHidden","offscreenSubtreeWasHidden","recursivelyTraverseReappearLayoutEffects","flags","safelyDetachRef","safelyAttachRef","commitHostMount","commitClassCallbacks","commitHookEffectListMount","detachFiberAfterEffects","commitDeletionEffectsOnFiber","deletedFiber","recursivelyTraverseDeletionEffects","safelyCallComponentWillUnmount","commitHookEffectListUnmount","createChildNodeSet","parentFiber","commitMutationEffectsOnFiber","PossiblyWeakSet","prevOffscreenSubtreeIsHidden","prevOffscreenSubtreeWasHidden","recursivelyTraverseDisappearLayoutEffects","commitLayoutEffectOnFiber","includeWorkInProgressEffects","callCallback","commitPassiveMountOnFiber","recursivelyTraversePassiveMountEffects","commitCachePassiveMountEffect","_finishedWork$memoize2","recursivelyTraverseReconnectPassiveEffects","recursivelyTraverseAtomicPassiveEffects","commitOffscreenPassiveMountEffects","releaseCache","suspenseyCommitFlag","accumulateSuspenseyCommitOnFiber","commitPassiveUnmountEffectsInsideOfDeletedTree_begin","commitPassiveUnmountOnFiber","recursivelyTraverseDisconnectPassiveEffects","fabricGetCurrentEventPriority","FabricDiscretePriority","prepareFreshStack","lastScheduledRoot","didScheduleMicrotask","processRootScheduleInMicrotask","supportsMicrotasks","scheduleMicrotask","shouldTimeSlice","renderRootSync","renderRootConcurrent","isRenderConsistentWithExternalStores","root$jscomp$0","workInProgressRootDidAttachPingListener","workInProgressRootRecoverableErrors","globalMostRecentFallbackTime","commitRootWhenReady","workInProgressTransitions","workInProgressRootDidIncludeRecursiveRenderUpdate","workInProgressSuspendedRetryLanes","scheduleTimeout","workInProgressRootIsPrerendering","commitRootImpl","workInProgressRootPingedLanes","didAttemptEntireTree","entangledLanes","unwindInterruptedWork","cancelTimeout","resetWorkInProgressStack","thrownValue","SuspenseyCommitException","SelectiveHydrationException","suspendedThenable","logUncaughtError","DefaultAsyncDispatcher","pushDispatcher","pushAsyncDispatcher","workInProgressThrownValue","throwAndUnwindWorkLoop","workLoopSync","handleThrow","beginWork","completeUnitOfWork","checkIfRootIsPrerendering","resource","shim","isThenableResolved","replaySuspendedUnitOfWork","workLoopConcurrent","replayFunctionComponent","resetHooksOnUnwind","throwException","unitOfWork","unwindUnitOfWork","createCapturedValueAtFiber","bubbleProperties","nextRetryLane","workInProgressRootRenderTargetTime","hasRenderedATailFallback","oldProps","completeRoot","hydrationErrors","nextReactTag","createNode","getViewConfigForType","cloneNodeWithNewChildren","cloneNodeWithNewChildrenAndProps","rootWithPendingPassiveEffects","previouslyPendingLanes","index$10","suspendedRetryLanes","rootDoesHavePassiveEffects","commitBeforeMutationEffects","onCommitRoot","pendingPassiveEffectsLanes","didIncludeRenderPhaseUpdate","remainingLanes","rootWithNestedUpdates","pendingPassiveEffectsRemainingLanes","lanesToEventPriority","pendingPassiveTransitions","releaseRootPooledCache","captureCommitPhaseErrorOnRoot","boundaryFiber","REACT_PROVIDER_TYPE","mode","instrumentationCallback","recordTouchEnd","topLevelType","recordTouchStart","recordTouchMove","responderInst","trackedTouchCount","ResponderTouchHistoryStore","isStartish","isMoveish","eventTypes","ResponderSyntheticEvent","accumulateTwoPhaseDispatchesSingle$1","arr","accumulateTwoPhaseDispatchesSingleSkipTarget","depthA","shouldSetEventType","accumulateDirectDispatchesSingle$1","executeDirectDispatch","ResponderEventPlugin","getInstanceFromNode$1","customBubblingEventTypes","customDirectEventTypes","SyntheticEvent","bubbleDispatchConfig","accumulateDirectDispatchesSingle","accumulateTwoPhaseDispatchesSingle","dispatchReducerAction","startTransition","globalClientIdCounter","refreshCache","updateDeferredValueImpl","getNearestMountedFiber","process","pingEngtangledActionScope","prevOnStartTransitionFinish","from","blockNativeResponder","to","createPortal$1","componentOrHandle","findHostInstance","internalInstanceHandle","roots","nativeOnUncaughtError","nativeOnCaughtError","defaultOnRecoverableError","concurrentRoot","FiberRootNode","updateContainer","initialized","polyfillGlobal","_ref$configurable","enumerable","writable","DOMRectList","HTMLCollection","NodeList","getNativeNodeReference","NativeDOM","overrides","accessedFeatureFlags","RawNativeDOM","INSTANCE_HANDLE_KEY","OWNER_DOCUMENT_KEY","isReactNativeDocumentInstanceHandle","isReactNativeDocumentElementInstanceHandle","RendererProxy","getPublicInstanceFromReactNativeDocumentElementInstanceHandle","getPublicInstanceFromReactNativeDocumentInstanceHandle","getNativeElementReferenceFromReactNativeDocumentElementInstanceHandle","getNativeNodeReferenceFromReactNativeDocumentInstanceHandle","instanceHandle","ReactNativeDocumentElementInstanceHandleImpl","_classCallCheck2","getNativeElementReference","DOMRect","getChildNodes","direction","startPosition","ReadOnlyElementClass","childNodes","position","createReactNativeDocumentInstanceHandle","ReactNativeDocument","currentlyFocusedInputRef","WindowsTextInputCommands","inputs","__INTERNAL_VIEW_CONFIG","getRuntimeConfig","bubblingEventTypes","directEventTypes","diff","merge","parseBoxShadowString","parseLength","normalizedColor","_normalizeColor","cachedMatchers","RegExp","call","commaSeparatedCall","callWithSlashSeparator","callModern","parseFloat","int","gray","hwbToRgb","hslToRgb","num","parse255","l","_key2","_key3","args","_key4","DEFAULT_DIRECTION","bgImage","ANGLE_UNIT_REGEX","DIRECTION_KEYWORD_REGEX","getDirectionForKeyword","getAngleInDegrees","parseCSSLinearGradient","angle","numericValue","stops","_getFilterAmount","parseDropShadow","filterName","isNaN","unit","parseDropShadowString","_getKeyAndValueFromCSSTransform","_defineProperty2","INDEX_X","INDEX_Z","INDEX_Y","valueLower","one","dummySize","two","defaultedOne","dummyPoint","dummyInsets","colors","processColorElement","TRANSPARENT","_serverURL","_sourceCodeScriptURL","SourceCode","sourceCodeScriptURL","_scriptURL","_customSourceTransformers","getDevServerURL","getScriptURL","_NativeSourceCode","assets","assetId","hash","assetsPrefix","deviceScale","PixelRatio","scales","cacheBreaker","Dimensions","_NativeDeviceInfo","drawableFileTypes","androidScaleSuffix","scale","ANDROID_BASE_DENSITY","JSON","basePath","getBasePath","viewConfigCallbacks","viewConfigs","accumulateDifferences","_toConsumableArray2","updater","ReactNoopUpdateQueue","REACT_ELEMENT_TYPE","object","mapIntoArray","MAYBE_ITERATOR_SYMBOL","noop$1","nextNamePrefix","isValidElement","userProvidedKeyEscapeRegex","invokeCallback","mapChildren","lazyInitializer","PlatformBaseViewConfig","maybeA","ignoredViewConfigProps","flattenStyle","prevArray","deepDiffer","maxDepth","logListeners","warnOnce","warnedKeys","RawPerformanceEntryTypeValues","PerformanceMeasure","PerformanceMark","PerformanceLongTaskTiming","PerformanceEventTiming","item","onSettledFulfill","onSettledReject","valuePromise","EMPTYSTRING","ZERO","FALSE","TRUE","UNDEFINED","NULL","iterableToArray","mapAllSettled","IS_ERROR","tryCallTwo","done","LAST_ERROR","finale","getThen","newValue","Handler","_len","GUIID","clearedImmediates","GUID","timerIDs","types","callbacks","_clearIndex","errors","freeIdxs","duration","_len2","_len3","reactNativeMicrotasks","requestIdleCallbacks","timeout","JSTimers","requestIdleCallbackTimeouts","timersToCall","_callTimer","FRAME_DURATION","IDLE_CALLBACK_FRAME_DEADLINE","hasEmittedTimeDriftWarning","_NativeTiming","resolvedPromise","ExceptionsManager","userExceptionDecorator","inUserExceptionDecorator","exceptionID","namePrefix","decoratedExtraDataKey","preprocessException","SyntheticError","reportException","inExceptionHandler","reactConsoleErrorHandler","_wrapNativeSuper","location","convertHermesStack","RE_FRAME","RE_SKIPPED","asFrame","isInternalBytecodeSourceUrl","RE_COMPONENT_NO_STACK","_NativeExceptionsManager","f","con","$Symbol","getProto","CURRENT_TARGET_KEY","COMPOSED_PATH_KEY","EVENT_PHASE_KEY","IN_PASSIVE_LISTENER_FLAG_KEY","IS_TRUSTED_KEY","STOP_IMMEDIATE_PROPAGATION_FLAG_KEY","STOP_PROPAGATION_FLAG_KEY","TARGET_KEY","setEventDispatchFlag","getEventPath","setComposedPath","setTarget","eventPath","getStopPropagationFlag","setEventPhase","invoke","setCurrentTarget","setStopImmediatePropagationFlag","setStopPropagationFlag","getListenersForPhase","eventPhase","listenersByType","setInPassiveListenerFlag","getStopImmediatePropagationFlag","isCapture","BUBBLING_LISTENERS_KEY","CAPTURING_LISTENERS_KEY","EVENT_DISPATCH_FLAG","setIsTrusted","_NativeBlobModule","registry","used","EVENT_HANDLER_CONTENT_ATTRIBUTE_MAP_KEY","getEventHandlerAttributeMap","setEventHandlerAttributeMap","PerformanceLogger","len","validLen","Arr","placeHoldersLen","revLookup","tmp","uint8","lookup","convertRequestBody","body","ArrayBuffer","data","_NativeNetworkingIOS","privateData","wrappers","getWrapper","isFunc","retv","listenersMap","optionsIsObj","capture","BUBBLE","CAPTURE","isObject","getListeners","wrapEvent","setPassiveListener","ATTRIBUTE","isStopped","self","_NativeWebSocketModule","WebSocketEvent","_NativeFileReaderModule","_NativeDialogManagerWindows","warningHandler","RCTLog","levelsMap","_NativeSegmentFetcher","runnables","sections","AppRegistry","infoLog","BugReporting","runCount","SceneTracker","coerceDisplayMode","unmountComponentAtNodeAndRemoveContainer","taskProviders","taskCancelProviders","_NativeRedBox","_NativeBugReporting","getReactTree","_listeners","_activeScene","_NativeHeadlessJsTaskSupport","scopedPerformanceLogger","_jsxRuntime","_PerformanceLoggerContext","_AppContainer","initialProps","DisplayMode","displayMode","useConcurrentRoot","fabric","Renderer","useContext","PerformanceLoggerContext","createRootTag","_View","rootViewStyle","styles","_objectWithoutProperties2","_excluded","TextAncestor","ariaLabelledBy","ariaRequired","ariaBusy","accessibilityState","ariaChecked","ariaDisabled","ariaExpanded","ariaSelected","ariaReadOnly","ariaMultiselectable","ariaValueText","ariaValueMax","accessibilityValue","ariaValueMin","ariaValueNow","otherProps","tabIndex","importantForAccessibility","_ViewNativeComponent","ariaLive","ariaLabel","ariaLevel","ariaPosinset","ariaSetsize","ariaHidden","childrenWithImportantForAccessibility","cache","_backPressSubscriptions","BackHandler","_NativeDeviceEventManager","errorValue","ReactNativeDocumentModuleObject","ReactFabricHostComponentClass","ReactNativeElementClass","ReadOnlyTextClass","length","rightIndex","timerQueue","pop","taskQueue","advanceTimers","isHostCallbackScheduled","handleTimeout","firstTimer","localSetTimeout","isMessageLoopRunning","schedulePerformWorkUntilDeadline","getCurrentTime","taskIdCounter","isPerformingWork","priorityLevel","isHostTimeoutScheduled","localClearTimeout","taskTimeoutID","currentPriorityLevel","startTime","peek","shouldYieldToHost","currentTask","requestHostTimeout","hasMoreWork","localPerformance","localDate","initialTime","localSetImmediate","performWorkUntilDeadline","port","getExtendedError","getNodeFromInstance","instanceProps","instanceCache","recursivelyUncacheFiberNode","pushHostContext","insertOrAppendPlacementNodeIntoContainer","insertOrAppendPlacementNode","tag","hostParent","hostParentIsContainer","shim$1","recursivelyTraverseMutationEffects","commitReconciliationEffects","attachSuspenseRetryListeners","isHostParent","getHostSibling","ReactNativeFiberHostComponent","index$12","getInstanceFromNode","nativeEventParam","EMPTY_NATIVE_EVENT","changedIndices","_ref$animating","_ref$color","GRAY","_ref$hidesWhenStopped","_ref$size","PlatformActivityIndicator","_ActivityIndicatorViewNativeComponent","register","disabled","TouchableHighlight","_Text","color","pressed","hover","useState","useMemo","usePressability","onPress","onLongPress","onStartShouldSetResponder","_disabled","selectionColor","userSelectToSelectableMap","verticalAlignToTextAlignVerticalMap","accessible","allowFontScaling","ellipsizeMode","NativePressableText","_TextAncestor","NativePressableVirtualText","useTextPressability","useRef","Pressability","useEffect","pressability","delay","_NativeSoundManager","isEnabled","lastTouchTimestamp","HOVER_THRESHOLD_MS","createViewConfig","textViewConfig","virtualTextViewConfig","TouchableHighlightImpl","offsetIndex","itemCount","right","left","frame","mid","next","_scrollMetrics$zoomSc","visibleBegin","windowSize","velocity","visibleEnd","listMetrics","elementsThatOverlapOffsets","overscanFirst","first","overscanLast","last","newCellCount","Info","horizontal","initialNumToRender","maxToRenderPerBatch","onStartReachedThreshold","onEndReachedThreshold","LeadingSeparatorComponent","SeparatorComponent","leadingSeparator","inverted","RenderSeparator","safeIsNaN","areInputsEqual","failure","rootTag","_queryCache","_asyncToGenerator2","getImageSourcesFromImageProps","convertObjectFitToResizeMode","flattenedStyle","objectFit","useWrapRefWithImageAttachedCallbacks","_ImageAnalyticsTagContext","_NativeImageLoaderIOS","shouldUseSrcForDefaultScale","objectFitMap","injectedImageComponentDecorator","imageAttachedCallbacks","useMergeRefs","useCallback","useRefEffect","useWindowDimensions","_RCTInputAccessoryViewNativeComponent","_SafeAreaView","_RCTSafeAreaViewNativeComponent","_LayoutConformanceNativeComponent","isLayoutAnimationEnabled","onAnimationDidFail","_NativeKeyboardObserver","_NativeModalManager","_RCTModalHostViewNativeComponent","ref","AnimatedAddition","AnimatedSubtraction","AnimatedDivision","AnimatedMultiplication","AnimatedModulo","AnimatedDiffClamp","parallel","config","maybeVectorAnim","spring","timing","decay","_ref$iterations","_ref$resetBeforeItera","__nativeAnimatedNodeTagCount","__nativeAnimationIdCount","_warnedMissingNativeAnimated","degrees","eventListenerGetValueCallbacks","NativeOperations","waitingForQueuedOperations","flushQueueImmediate","clearImmediate","API","singleOpQueue","globalEventEmitterGetValueListener","globalEventEmitterAnimationFinishedListener","queue","q","eventListenerAnimationFinishedCallbacks","nativeEventEmitter","_NativeAnimatedModule","_NativeAnimatedTurboModule","_hasOwnProp","MAX_DEPTH","flatAnimatedNodes","depth","mapAnimatedNodes","argMapping","findNodeHandle","_classPrivateFieldLooseBase2","_updateSubscription","NativeAnimatedAPI","_nextUpdateHandle","_deadline","_processUpdate","_interactionSet","_addInteractionSet","_deleteInteractionSet","_emitter","InteractionManager","_taskQueue","_inc","normalizeColor","numericComponentRegex","components","ease","Easing","bounciness","float32ArraySupported","kSplineTableSize","Float32Array","kSampleStepSize","processColorObject","oValue","speed","createAnimatedPropsMemoHook","propValue","addAnimatedValuesListenersToProps","addListenersToPropsValue","useInsertionEffect","hasOwn","isPlainObject","allowlist","createCompositeKeyForObject","createCompositeKeyForArray","flatStyle","prevComponent","areCompositeKeyComponentsEqual","prev","maybeInstance","_NativeFrameRateLogger","isFabric","translateY","_Animated","emptyAnimation","mockCompositeAnimation","AnimatedScrollViewWithoutInvertedRefreshControl","AnimatedScrollViewWithInvertedRefreshControl","useAnimatedProps","_ScrollView","_AndroidSwipeRefreshLayoutNativeComponent","_PullToRefreshViewNativeComponent","i18nConstants","_NativeI18nManager","useAndroidRippleForView","testOnly_pressed","android_rippleConfig","focusable","rippleConfig","StatusBar","_NativeStatusBarManagerAndroid","_NativeStatusBarManagerIOS","trackColor","ios_backgroundColor","_SwitchNativeComponent","returnsFalse","returnsTrue","_excluded2","_AndroidSwitchNativeComponent","useLayoutEffect","propsSelection","AndroidTextInputCommands","RCTSinglelineTextInputNativeCommands","RCTMultilineTextInputNativeCommands","useTextInputStateSynchronization_STATE","useTextInputStateSynchronization_REFS","WindowsTextInput","emptyFunctionThatReturnsTrue","selectionHandleColor","cursorColor","AndroidTextInput","RCTSinglelineTextInputView","RCTMultilineTextInputView","useMultilineDefaultStyle","_ref3$allowFontScalin","_ref3$rejectResponder","_ref3$underlineColorA","_excluded3","InternalTextInput","readOnly","enterKeyHint","enterKeyHintToReturnTypeMap","inputMode","inputModeToKeyboardTypeMap","autoCompleteWebToAutoCompleteAndroidMap","textContentType","autoCompleteWebToTextContentTypeMap","autoComplete","States","Signals","HIGHLIGHT_DELAY_MS","LONG_PRESS_DELAY_MS","longDelayMS","PRESS_EXPAND_PX","hitSlop","extractSingleTouch","touches","changedTouches","hasTouches","LONG_PRESS_ALLOWED_MOVEMENT","positionOnActivate","pageX","pageY","Position","BoundingDimensions","Transitions","aX","aY","deltaX","deltaY","signal","curState","IsActive","IsPressingIn","IsLongPressingIn","SoundManager","pooler","DEFAULT_POOLER","DEFAULT_POOL_SIZE","standardReleaser","processedColor","useForeground","TouchableNativeFeedback","TouchableOpacity","PASSTHROUGH_PROPS","RCTActionSheetManager","processedTintColor","processedCancelButtonTintColor","processedDisabledButtonTintColor","_NativeActionSheetManager","lazyState","colorScheme","_NativeAppState","_NativeClipboard","_NativeDevSettings","_NativeIntentAndroid","_NativeLinkingManager","_NativeDialogManagerAndroid","currentCentroidXOfTouchesChangedAfter","currentCentroidYOfTouchesChangedAfter","previousCentroidXOfTouchesChangedAfter","previousCentroidYOfTouchesChangedAfter","gestureState","nextDX","nextDY","oneTouchData","ofCurrent","count","TouchHistoryMath","total","_NativePermissionsAndroid","_NativePushNotificationManagerIOS","_NativeShareModule","Animated","useSyncExternalStore","subscribe","getColorScheme","addChangeListener","_vibrating","_default_vibration_length","vibrateByPattern","_NativeVibration","_GlyphNativeComponent","mod","react_1","_inherits","_createClass","eventEmitter","_isHighContrast","_highContrastColors","_notifyHandlers","_NativeAppTheme","dataModel","metadata","getDebugInfoAsync","fetchUpdateRingRampAsync","fetchUpdateRingKillSwitchAsync","fetchUpdateRingSettingAsync","fetchECSRampAsync","fetchAllMetadataAsync","handleOnActionAsync","handleOnLogAsync","handleOnLogErrorAsync","handleOnRecordNezhaTelemetryAsync","handleOnRecordQosTelemetryAsync","handleOnRecordFunnelTelemetryAsync","viewSizeChangedAsync","announcements","accessibilityInfo","delim","stripHtmlForAccessibility","useTranslation","ROUTE_URL_BASE","getRouteUrl","chars","folders","BYTES_PER_KB","BYTES_PER_MB","BYTES_PER_GB","BYTES_PER_TB","bytes","date","padZero","HOURS_PER_HALF_DAY","hours","MS_PER_SECOND","SECONDS_PER_HOUR","SECONDS_PER_MINUTE","MIN_ELAPSED_SECONDS","seconds","diffSeconds","minutes","HOURS_PER_DAY","formatAbsoluteTimestamp","getI18n","defaultOptions","htmlEntities","matchHtmlEntity","unescapeHtmlEntity","i18nInstance","setDefaults","setI18n","createElement","I18nContext","_ref$tOptions","i18nFromProps","tFromProps","TransWithoutContext","ns","i18nOptions","stringNode","getDefaults","namespaces","defaults","i18nKey","hashTransKey","nodeAsString","values","targetString","HTML","children","useAsParent","_extends","c","alreadyWarned","warn","loadedClb","loadState","oldI18nextHasLoadedNamespace","ReportNamespaces","usePrevious","M","I","C","R","H","B","k","_","F","V","ae","we","Oe","je","Ae","Ee","Se","Xe","Pe","v","Je","ke","Fe","$e","Ue","Y","T","N","ve","P","ce","X","Ge","ee","A","K","ne","Q","z","D","be","ge","L","W","pe","fe","Ke","We","ye","S","le","He","U","u","h","w","E","Z","$","ActionTypes","$$observable","createStore","assertReducerShape","randomString","_providedOptions$equa","defaultEqualityCheck","_providedOptions$maxS","maxSize","updateRingRampTable","updateRingKillSwitchesTable","updateRingSettingsTable","ecsRampsTable","_reactNative","_Provider","_connect","_shallowEqual","nodeInterop","_ref$stabilityCheck","_ref$noopCheck","nullListeners","batch","_ref$areStatesEqual","strictEqual","_ref$areOwnPropsEqual","_ref$areStatePropsEqu","_ref$areMergedPropsEq","_ref$forwardRef","_ref$context","TYPE_STATICS","REACT_STATICS","MEMO_STATICS","objectPrototype","getPrototypeOf","hoistNonReactStatics","getOwnPropertyNames","getOwnPropertySymbols","getStatics","KNOWN_STATICS","getOwnPropertyDescriptor","defineProperty","m","g","_objectWithoutPropertiesLoose2","_warning","mapToProps","_isPlainObject","proto","mapDispatchToProps","_extends2","useDebugValue","rootReducer","MAX_PENDING_ITEM_THUMBNAILS","selectedItem","ActivityItemType","activityCenterActions","defaultStartupParams","defaultMoreOptionsTooltip","defaultSelectedItem","stashSearchSession","search","clearLiveSearch","cachePendingItemThumbnail","isCopilotActionEnabledForFileExtension","restoreSearchSession","pushRecentSearch","MAX_RECENT_SEARCHES","getActivityCenterErrorsAsync","getItemsHistoryAsync","fetchSyncStatusAsync","fetchVisualStateAsync","fetchActivityCenterMessageDataAsync","handleHistoryItemActionAsync","getProgressItemsAsync","handleErrorActionAsync","fetchContextMenuItemsAsync","handleContextMenuActionAsync","getPausedReaonAsync","getStartupParamsAsync","hideActivityCenterAsync","getAllowOD4Entry","getCopilotActionEligibility","getPrioritizeSyncEligibility","getUnarchiveContextMenuEligibility","launchKFMOnboardingAsync","getIsKFMOnboardingEnabledAsync","performSearchAsync","getSearchTooltipSeenAsync","markSearchTooltipSeenAsync","fileType","odcExtensions","ImageExtensions","allExtensions","getInitialAutoStartStateAsync","getFloodgateSurveyStringsAsync","getSelectedReason","expandNotificationToast","handleSubmitFolderColorAsync","getVisualStateAsync","freDataModel","getInitialStateAsync","kfmDonePageModel","kfmErrorPageModel","displaySurveyAsync","isKFMOptOutSurveyEnabled","addPrefix","RuleType","updateODIgnoreRules","joinEntries","odIgnoreDataModel","addNewEntryAsync","removeEntryAsync","getOdIgnoreRulesAsync","Buffer","allocUnsafe","obj","SharedArrayBuffer","fromArrayLike","K_MAX_LENGTH","byteOffset","byteLength","size","array","INVALID_BASE64_RE","str","utf8ToBytes","mustMatch","buf","utf8Slice","hexSliceLookupTable","dir","buffer","val","arrayIndexOf","arrLength","foundIndex","firstByte","secondByte","thirdByte","fourthByte","codePoint","MAX_ARGUMENTS_LENGTH","offset","BigInt","units","leadSurrogate","pos","slowToString","bidirectionalIndexOf","isFinite","strLen","end","checkIntBI","lo","hi","limit","nBytes","isLE","s","eMax","mLen","rt","getInfoAsync","handleSubmitAsync","handleRestorePurchaseAsync","commonDataModel","QOS_API_INVALID_FOLDER_SIZE","SizeValidationResult","sizeError","QoSTelemetryResultType","SELECTIVE_SYNC_VIEW_NAME","ItemState","markKnownChildNodesUpdated","updateAllParentNodes","parentItem","getSizeValidationResult","isRootFolder","createFilesItemInfo","finalSizeValidationResult","createInitialSelectiveSyncState","createFilesNode","parentToItemsMap","sortItemsAlphabetically","checkIfDisabledNodeExists","isRootFolderRequest","getInfoBarText","reportInvalidFolderSize","updateAllChildrenNodes","getConfirmDialogStrings","JumpLinkType","getNodeFromCache","VaultItemType","FolderType","getFolderNameFromJumpLinkType","defaultSelectiveSyncConfirmDialogStrings","initialState","submitFeedbackAsync","isReportABugEnabledAsync","getMetadataFromCopilotFeedback","getInitialTabAsync","getResourceStringsAsync","getSettingsAsync","getContentAsync","handleTaskDialogButtonClickAsync","tutorialPageModel","getTutorialPagesInfoAsync","welcomePageModel","getAnimationStateAsync","onConfirmDialogClosedAsync","toggleAnimationVisibleAsync","useAppSelector","selectSpinningText","selectSpinningSubText","selectCurrentWizardPage","text","useAccessibleAnnouncement","subText","currentWizardPage","useBasicOnChildDataLoaded","useWizardConfirmDialog","isActive","_Spinner","useSpinnerStyles","subText2","fullSpinner","useColorScheme","AppTheme","CommonContext","deps","defaultFontFamily","inaccessibleWhenModalActive","useLogBvtInfoEffect","useAppDispatch","AppKeyContext","appKeyOverride","selectBvtRenderRequest","bvtRenderRequest","_ref$count","bvtRenderViewName","bvtRenderTestId","selectBvtPressRequest","bvtPressRequest","selectShowConfirmDialog","selectConfirmDialogStrings","useCommonStyles","getReadyAsync","getProgressItemInfo","c_shareLoadingApiRoot","openSubmitFeedbackDialog","isKFMEnabledAsync","getEnrolledFoldersAsync","mapStateToViewState","VersionHistoryState","vaultDataModel","useRecordFunnelTelemetryCallback","selectViewActivated","useLoadingStyles","useCommonContextData","isReduxBasedComponent","useKillSwitchSafe","ForceRNViewReactivation","_Error","RenderSpinnerWithDetection","DetectSpinnerRemoved","isRTL","CommonModalWrapper","useErrorStyles","useModalStyles","primary","DialogButtons","Variants","accessibilityAnnouncements","isVisible","buttonOneText","buttonWidth","accessibilityHint","buttonTwoText","theme","isHighContrast","isDark","MAC_FILLED_PRESS_OVERLAY_LIGHT","MAC_FILLED_PRESS_OVERLAY_DARK","MAC_SECONDARY_IDLE_OVERLAY_LIGHT","MAC_SECONDARY_IDLE_OVERLAY_DARK","MAC_SECONDARY_PRESS_OVERLAY_LIGHT","MAC_SECONDARY_PRESS_OVERLAY_DARK","useButtonStyles","useDefaultStyles","usePrimaryButtonStyles","useTransparentButtonStyles","useSuccessButtonStyles","useErrorButtonStyles","useFooterButtonStyles","useMacOverlayColors","useRecordNezhaCallback","_props$focusable","customCommonTextButtonStyle","macAutoSizeText","width","MIN_BUTTON_WIDTH","flexDirection","height","accessibilityLabel","accessibilityRole","_props$disabled","_props$isFocusable","_props$unfocusableWhe","selectIsAnyContextMenuOpen","commonContext","calculateIsFocusable","testID","useBvtPressEffect","visualState","VisibleErrorState","isContextMenuOpen","query","isGalleryFileType","filterResultsByType","filterToFileType","results","filter","allResults","filteredResults","_props$width","useCurrentThemeName","useIconStyles","DpiScaleContext","removeExtensionFromFileName","iconsList","SvgIconAutoSize","RefreshSVGIconsOnViewActivateV2","SvgIconLoadViaUri","refreshSvg","isUri","iconWidth","iconHeight","isDarkThemeIcon","isSvgIconAutoSizeSafe","_reactNativeSvg","_ReactNativeSVG","_elements","tags","_props$onError","err","SvgAst","override","fallback","_props$onError2","SvgXml","camelCase","upperCase","astToReact","middleware","al","cl","bl","dl","SVGPoint","SVGMatrix","touchableHandleStartShouldSetResponder","touchableHandleResponderTerminationRequest","touchableHandleResponderGrant","touchableHandleResponderMove","touchableHandleResponderRelease","touchableHandleResponderTerminate","onPressIn","onPressOut","pressRetentionOffset","PRESS_RETENTION_OFFSET","delayPressIn","delayLongPress","delayPressOut","SvgTouchableMixin","numTouchKeys","touchKeys","touchVals","touchableGetInitialState","urlIdPattern","convertPercentageColor","contextStrokeBrush","contextFillBrush","currentColorBrush","RGB_RGBA_PATTERN","isPercentageRgb","percentTo255","alpha","parseAlpha","_props$markerStart","_props$markerMid","_props$markerEnd","extractResponder","extractFill","extractStroke","extractTransform","extractOpacity","display","idPattern","matched","clipRules","extractProps","defaultFill","extractBrush","fillRule","fillRules","extractLengthList","strokeDash","strokeDasharray","strokeLinecap","caps","strokeLinejoin","joins","strokeMiterlimit","vectorEffect","vectorEffects","commaReg","spaceReg","appendTransform","universal2axis","translateX","rotation","reset","appendTransformProps","props2transform","transformProps","parse","append","stringifyTransformArrayProps","toArray","transformToMatrix","identity","parseTransformSvgToRnStyle","hasInitialState","tx","ty","a2","b2","c2","d2","tx2","ty2","a1","c1","b1","d1","DEG_TO_RAD","cos","sin","skewY","skewX","regX","regY","peg$SyntaxError","peg$result","peg$currPos","peg$maxFailPos","peg$maxFailExpected","descriptions","found","line","numResponderKeys","responderKeys","pickNotNil","fontFamilyString","fontFamilyPrefix","fontFamilySuffix","cachedFontObjectsFromString","fontRegExp","isBold","isItalic","Children","getChild","container","textChildren","extractFont","spacesRegExp","preserveAspectRatio","alignEnum","meetOrSliceTypes","_childArray$i$props$o","style","_childArray$i$props$s","_childArray$i$props$s2","percentReg","stopColor","offsetComparator","gradientUnits","gradientTransform","in1","_fetchText","decodeURIComponent","_fetchUriData","themedImageList","themedImageSource","imageList","defaultCommonModalProps","selectFailedFetch","useRecordQoSTelemetryCallback","RootTagContext","selectTrapFocus","useActivityCenterViewStyles","selectACPage","selectActivityCenterErrors","selectItemsHistory","selectCoAuthLockedItems","selectShouldShowContextMenu","selectIsActiveVisualState","selectIsVisualStatePaused","selectVisualState","selectPausedReason","useSearchEventHandler","selectIsSingleErrorReady","selectIsSettingsTooltipVisible","selectIsHomeTooltipVisible","selectIsReportABugTooltipVisible","selectIsKFMOnboardingTooltipVisible","selectIsSearchToggleTooltipVisible","selectIsSearchOnboardingTooltipVisible","selectHasSeenSearchTooltip","selectMoreOptionsTooltip","selectShouldShowItemMenu","selectCurrentItem","useArrowKeys","itemHistoryButtons","selectRootContextMenuItem","selectIsCopilotActionEnabled","selectIsCopilotImageActionEnabled","selectIsPrioritizeSyncEnabled","selectIsUnarchiveContextMenuEnabled","selectUpgradeProgress","selectUpgradeScope","useECSRampEnabled","selectIsSearchBarVisible","selectSearchQuery","selectSearchState","selectSearchFilter","selectIsSearchActive","selectIsFilteredEmpty","selectShouldShowSearchFeedbackFooter","selectAvailableSearchFilters","ActivityCenterCopyLinkCommand","isCopilotActionEnabled","useRecordCopilotFunnelTelemetryCallback","isSafeToShowStatus","isUnarchiveContextMenuEnabled","isSearchResultItem","isCopilotAction","computeCopilotAction","isCopyLinkSafe","buttonProps","isPaused","isCopilotAutoSelectedItem","FocusTrap","_Tooltip","showMoreOptionsTooltip","shouldShowContextMenu","rootMenuItem","isSearchToggleTooltipVisible","_props$hasItems","usePausedViewStyles","useTooltipStyles","customStyles","selectDisplayItems","SearchPhotoGrid","useSearchResultItemStyles","DEFAULT_SPACE_SIZE","exactTestID","linkStyle","onLinkPress","useHtmlTextStyles","selectIsSpacelessLanguage","isSpacelessLanguage","useLinkStyles","formatAccessibilityInfo","useProgressItemStyles","GetItemProcessingString","CalculateProgressBarWidth","waitingToSync","completedSizeBytes","_props$isDiamondIconI","_props$compactView","_props$greyBarWidth","useStorageSettingStyles","useSettingsStyles","calculateBarWidth","bytesPerGigabyte","storageUsed","storageTotal","QuotaState","compactView","ProgressBar","isODB","buttonName","buttonAccessibilityLabel","isDiamondIconInGMSButtonEnabled","useItemHistoryStyles","HORIZONTAL_PADDING","TILE_SPACING","TILE_RADIUS","TILE_BORDER_WIDTH","useSearchPhotoGridStyles","selectSearchGalleryItems","selectShouldShowAllGallery","isPhotosFilterActive","COLLAPSED_TILE_LIMIT","galleryItems","showShowMoreTile","visiblePhotos","COLUMNS","ShowMorePhotoTile","PhotoTile","useProgressBarStyles","greyBarWidth","globalSyncStatus","fileCount","multipleFiles","useSyncStatusStyles","selectSyncStatus","visualStateText","syncStatus","selectIsOffline","getSyncStatusIconName","getRestStateExperimentSyncStatusIconName","getSyncStatusText","BRAND_NAME","isOffline","isACRestStateExperimentEnabled","applyExperience","displayIcon","classEnabled","useRampEnabled","isRampEnabled","useSearchInputStyles","useSearchPlaceholderColor","isFocused","placeholder","localValue","prevProps","_props$multiline","_props$keyboardType","useCommonTextInputStyles","useCommonTextInputPlaceholderColors","initialValue","selectBvtSetTextRequest","Location","labelLocation","useSearchFilterTabsStyles","FILTER_TABS","useItemErrorStyles","isSingleError","onKeyDown","useCheckBoxStyles","small","WinCheckBoxItem","MacCheckBoxItem","CheckBox","__assign","_userProps$componentR","useAsToggle","useOnPressWithFocus","useAsPressable","useViewCommandFocus","useKeyProps","boxSide","mergeSettings","checkboxSelectActionLabel","withSlots","renderData","base","getOptionsFromObj","inputComponent","immutableMerge","initializeStyling","composable","singleMode","setToMerge","processSingle","assignToNewObject","_builtinHandlers","option","immutableMergeWorker","_len4","_len5","_key5","globalKey","getCacheEntry","_baseEntry","renderForJsxRuntime","ReactJSX","O","immutableMergeCore","mergePropsOptions","filterToObjects","_styleCache","memo","renderForClassicRuntime","objType","getSettings","buildComponentTokens","ThemeContext","mergeSettingsCollection","_themeMergeOptions","_mergeSettingsOptions","_mergeCollectionOptions","getActiveOverrides","getAliasTokens","mapPipelineToTheme","getShadowTokens","mapPipelineToShadow","assertNever","lightAliasTokens","hcAliasTokens","darkAliasTokens","hcShadowTokens","darkShadowTokens","lightShadowTokens","Appearance","ThemeReference","paletteFromFabricColors","createColorAliasTokens","isInverted","customSettings","_lookupOrCopyToken","_copyToken","slotProps","tokenPropInfo","fontLineHeight","fontLetterSpacing","fontDynamicTypeRamp","renderSlot","atomicRender","atomicUsePrepareProps","usePrepareProps","info","keyPressCallback","defaultChecked","checked","useControllableValue","useConst","controlledValue","isControlled","setAndForwardRef","_viewMask","_textMask","_imageMask","emptyProps","_props$align","_props$truncate","_props$wrap","useFluentTheme","I18nManager","align","patchTokens","font","italic","underline","strikethrough","tokenStyle","isWinPlatform","buildUseTokensCore","themeHelper","useTheme","defaultFluentTheme","buildPropsBase","buildUseStylingBase","keys","refinePropsFunctions","_options$filters","stagedComponent","composeFactory","baseOptions","mergeOptions","buildUseStyling","buildUseSlots","useCheckbox","contentStyling","getTextMarginAdjustment","textAdjustment","hasPresetRententionForA11y","margins","_props$componentRef","useAsToggleWithEvent","usePressableState","accessibilityActions","defaultAccessibilityActions","labelPosition","getAccessibilityState","enableFocusRing","useActivityCenterErrorHeaderStyles","isTransparent","EMPTY_STRING","selectActivityCenterMessageData","isMessageDataEmpty","MessageColorTheme","activityCenterMessageData","useActivityCenterMessageStyles","useActivityCenterMessageMegaStyles","isImageAURL","useCoreImage","megaImageVerticalOverlap","HISTORY_ROW_HEIGHT","useSearchHistoryEmptyStateStyles","selectRecentSearches","useActivityCenterErrorStyles","useActivityCenterHeaderStyles","selectIsSyncingBlocked","selectIsReportABugEnabled","selectIsKFMOnboardingEnabled","selectHasClickedLightbulb","isReportABugEnabled","isKFMOnboardingEnabled","isSemanticSearchEnabled","isSearchBarVisible","useActivityCenterFooterStyles","useResourceStrings","selectAllowOD4Entry","selectAllowOD4EntryState","FixOD4ButtonFlickerOnACFooter","isUpsellEnabledByDefault","isSignedIn","allowOD4EntryState","odbButtons","odcButtons","showUpgrade","OD4EntryButtons","resourceStrings","isFooterRendered","selectResourceStrings","selectSettingsData","selectinitialTab","MIN_CONTEXT_MENU_WIDTH","useActivityCenterContextMenuStyles","selectItemHistoryStatus","selectItemProgressStatus","selectErrorItemsStatus","selectSyncStatusState","selectVisualStatusState","useSearchFooterStyles","SearchFeedbackSentiment","submittedSentiment","thumbsDisabled","useFREStyles","selectFullPath","selectDidAdminLockLocation","selectAnimationState","didAdminLockLocation","animationEnabled","useAnimationButtonStyles","isPlaying","selectDebugInfo","useDebugInfoViewStyles","debugInfo","selectErrorPageData","wizardData","useFloodgateSurveyViewStyles","selectFloodgateSurveyState","selectReasonValue","survey","selected","_props$horizontal","_props$scrollDisabled","_props$labelAbove","_props$childrenInHori","useRadioButtonStyles","isSelected","mainAccessibleString","useKFMDoneViewStyles","selectInfoAreaText","infoAreaText","selectShowNextButton","selectHasMultipleFolders","hasMultipleFolders","showNextButton","ToastType","_ref$type","useNotificationToastStyles","selectFloodgateSurveyStrings","selectToastExpanded","isNPSUXCraftEnabled","NPSCraftECSRampID","selectOptInAllowed","selectSelection","selectOptionalDiagnosticDataState","currentSelection","useGlobalStyles","useAppContextData","dialogDataModel","useKFMViewStyles","useReducer","reducer","FolderState","AppContext","useKFMHeaderStyles","LINEHEIGHT","linkText","useKFMPendingBannerStyles","isCancelButtonVisible","_Icon","useKFMFolderListStyles","appContext","optOutDialogState","KFMOptOutMainRadioButtons","KFMOptOutRestoreOptions","getFolderNameFromFolderType","optOutResultDialogState","folderListHeight","dialogState","useKFMItemViewStyles","getFolderStateString","kfmPendingBannerState","DialogStateEnum","folderState","images","toggleTestID","useToggleStyles","createKeyUpActivation","useQuotaDetailsViewStyles","isError","isWarning","isLoading","quotaString","upsellString","isBlocking","useQuotaUpsellClickedCallback","dialogInfoState","QuotaUsage","linkOne","useDialogErrorViewStyles","isCritical","useSyncKFMViewStyles","hasBlockingError","showTryAgain","isOperationInProgress","isNewFolderSelected","usePremiumPageStyles","selectPremiumPageData","BUTTON_HEIGHT","usePremiumCardStyles","isPersonal","isProdigiMessagingEnabled","useReportABugViewStyles","reportABugDataModel","isClientRectFixSafe","ImageRetrieval","useInProgressViewStyles","useIHeaderViewStyles","useReportABugInputViewStyles","extractFileNameFromPath","formatCategories","cancelButtonText","submitButtonText","useIFilePickerViewStyles","selectedFile","removeLinkText","buttonText","title","useIImagePickerStyles","useIScreenshotViewerStyles","currentImageStatus","useDropdownStyles","unfocusableWhenModalActive","finalUnfocusableWhenModalActive","_UnimplementedView","useRequiredDiagnosticDataPageStyles","selectSelectiveSyncData","selectItemDetailsMap","selectSelectedItem","rootNode","selectTotalSelectedItemsSize","syncData","syncState","formatBytes","mappedRootNode","showLearnMoreLink","totalSelectedSize","useSendFeedbackViewStyles","selectSendFeedbackCurrentView","selectSendFeedbackIsRequestSuccessful","selectSendFeedbackStatus","selectSendFeedbackState","selectSendFeedbackIsSmile","isSmile","privacyStatementLink","useSuccessViewStyles","closeButtonText","useFailureViewStyles","tryAgainBtnText","sendFeedbackState","ICON_SIZE","useFeedbackOptionStyles","useTaskDialogViewStyles","selectIsLoading","selectDialogContent","dialogContent","dialog","selectTutorialCurrentView","selectTutorialPageList","selectStartAtLogin","TutorialPageID","useFODStyles","iconSize","_props$onSecondaryPre","_props$enableOpenAtLo","currentTutorialPageId","selectShouldShowStartSyncAtLoginCheckbox","shouldShowBackButton","MAIN_CONTENT_HEIGHT","IMAGE_HEIGHT","useWelcomePageStyles","selectDialogState","selectEmailList","selectSelectedEmail","selectDisableEmailInput","selectHideEmailInput","selectDisablePersonalAccountButton","selectEmailHRDResult","selectIsError","selectIsDropdownVisible","selectShowCreateAccountButton","infoText","errorText","selectShouldShowKoreanCela","isKorean","emailList","dropdownVisible","NORMAL_FRAME_HEIGHT","frameHeight","frameClamped","IMAGE_WIDTH","useFlyoutOverlayStyles","content","bottomOffset","FALLBACK_BOTTOM_OFFSET","visible","dataHandler","buttonPageY","ESTIMATED_MENU_HEIGHT","relativeY","selectViewState","selectIsErrorBarVisible","selectIsRestoreInfoVisible","selectItems","selectIsContextMenuOpen","selectIsDeleteVersionVisible","useVersionHistoryViewStyles","openMenuIndex","isDeleteVersionVisible","showRestore","showDelete","viewState","showErrorBar","showRestoreInfo","showList","showProcessing","showError","openMenuItem","selectFileName","useHeaderStyles","selectErrorHeaderState","useErrorBarStyles","useRestoreInfoBarStyles","useListStyles","ItemSeparator","useListItemStyles","isWithin24Hours","formatTimestamp","isNew","useProcessingStyles","selectUseDefaultTryAgainString","useDefaultTryAgainString","useContextMenuStyles","MenuItem","useExitDialogStyles","StandardExperience","ODBExitExperience","ExitSurveyExperience","AutoStartToggleExperience","selectFetchState","experience","selectSurveySelection","selection","option1","useAutoStartToggleExperienceStyles","selectAutoStartEnabledState","selectAutoStartEnabledInitialState","useFolderColorViewStyles","isApplyButtonDisabled","selectSelectedFolderColor","isLoadingFolderColor","isDisconnectedFromNetwork","selectFolderColorFailed","selectPreviousFolderColor","selectIsReadOnlyError","colorsMap","isDisconnected","isReadOnlyError","previouslyAppliedColor","status","useKFMExpressOptInStyles","loadingMode","useKFMOptOutSurveyViewStyles","KFMOptOutSurveyReason","useSettingsViewStyles","nativeSettingsDataModel","useLogErrorCallback","useLogCallback","TabContext","useLeftNavStyles","useInitialTab","selectedTab","NotificationPermissionCheckKillSwitch","settingIDs","isNotificationPermissionCheckSafe","tabEnum","useTabStyles","useSyncViewStyles","autoRate","fondToggleState","networkState","translate","showAdvanced","customOnToggle","useGenericSettingStyles","renderDescription","customInnerContainerStyles","customContainerStyles","hasExpander","isExpanded","expanderContent","icon","link","linkAccessibilityLabel","useExpanderStyles","useNetworkSettingStyles","radioButtonDisabled","showButtons","showGroupPolicyDescription","radioButtonHint","showAutoOption","useODIgnoreViewStyles","selectEntryText","selectEntries","selectMergedEntries","selectGPOEntries","selectSaving","selectHasError","selectIsEditableExtensionsEnabled","selectIsChangesDisabledByGPO","isEditableExtensionsEnabled","showAddRemoveUI","mergedEntries","GPOEntries","useFooterStyles","useAccountViewStyles","VaultLockTimeout","useAccountStyles","isProfile","CIRCLE_SIZE","useMountedFolderViewStyles","StopSyncButtonState","stopSyncButtonState","isUnlinkConfirm","mountedFolderInfoList","osNotificationsDisabled","isActivitySubscriptionEnabled","useBannerStyles","useAboutViewStyles","OneDriveInfo","CatfoodDescription","isTextInputShown","highContrastColors","useVaultAdminPageStyles","selectShouldDisableButton","useVaultIntroPageStyles","syncedCount","AGGREGATE_ICON_SIZE_PX","AGGREGATE_ICON_GAP_PX","AGGREGATE_BAR_WIDTH_PX","formatAggregateBytes","calculateCurrentFileNumber","totalCount","aggregate","useShareLoadingStyles","selectFilePaths","selectProgressItems","selectItemsSynced","selectAllSynced","selectFailed","selectFailureVariant","selectMode","selectAggregateProgress","filePaths","isMultiFile","isSyncOnly","failureVariant","isErrorVariant","failed","allSynced","AggregateProgressRow","isSyncOnlyDone","pickUnitIndex","totalBytes","c_scaleSwitchThreshold","UNITS","formatScaled","c_decimalCutoff","itemsSynced","completedBytes","useCopilotDialogViewStyles","useKFMOnboardingViewStyles","selectIsKFMEnabled","selectEnrolledFolders","isMigrationEnabled","enrolledFolders","formatFolderList","selectIsKFMStarted","isSingleFolderEnrolled","isKFMStarted","isKFMEnabled","KFMOnboardingPage","isUpgradeAvailable","StepVideos","StepPosterImages","FilesOnDemandLink","currentStep","copy","isThumbsDownHovered","activeStep","showToast","ToastPosition","ToastVariant","isThumbsDownActive","posterImage","_reactNativeVideo","isBuffering","showPoster","selectedDrm","useImperativeHandle","_VideoNativeComponent","usingExternalGetLicense","onLoad","onLoadStart","onError","onProgress","onSeek","onBuffer","onPlaybackStateChanged","onBandwidthUpdate","onTimedMetadata","onAudioTracks","onTextTracks","onTextTrackDataChanged","onVideoTracks","onExternalPlaybackChange","onAudioFocusChanged","onReadyForDisplay","onPlaybackRateChange","onVolumeChange","onPictureInPictureStatusChanged","onAspectRatio","onReceiveAdEvent","onControlsVisibilityChange","buttonVariant","useDIMEUpsellStyles","FEATURE_KEYS","UPSELL_APPS","_ref$variant","_ref$testID","_ref$position","useToastStyles","getPositionStyles","iconName","getVariantIconName","themeName","segmentId","level","element","columnWidths","rows","formatCellValue","cellValue","stringRows","arg","objectToString","formatProperty","braces","formatValue","recurseTimes","stringifySafe","inspect","stylizeNoColor","fun","guardName","_request","_defineProperty","fallbackValue","request","setInterval","makePromise","response","fetchOptions","_entityMap","RegExpCache","nsSeparator","keySeparator","Logger","concreteLogger","consoleLogger","ResourceStore","setPath","_this6","translator","Translator","baseLogger","resolved","looksLikeObjectPath","looksLikeObjectPathRegExpCache","resTypeIsArray","needsPluralHandling","needsZeroSuffixLookup","missingKeyNoValueFallbackToKey","hasDefaultValue","defaultValue","updateMissing","usedDefault","nb","na","postProcessor","usedKey","exactUsedKey","usedLng","usedNS","res","useOptionsReplaceForData","LanguageUtil","getCleanedCode","Intl","capitalize","fallbacks","fallbackCode","PluralResolver","intlVersions","createRules","sets","cacheKey","rule","_this11","nonIntlVersions","Interpolator","escape$1","escape","escapeValue","useRawValueToEscape","prefixEscaped","regexEscape","suffixEscaped","formatSeparator","unescapeSuffix","unescapePrefix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","clonedOptions","makeString","_toArray2","formatOptions","lng","Formatter","createCachedFormatter","Connector","I18n","transformOptions","bindMemberFunctions","get","defer","rej","li","rtlLngs","appKey","MESSAGE_EVENT_TYPE","DataHandlerEventEmitter","commonActions","MessageQueue","getValue","onFail","onSucc","MODULE_IDS","METHOD_IDS","PARAMS","now","MIN_TIME_BETWEEN_FLUSHES_MS","TO_NATIVE","DebuggerInternal","TO_JS","cbID","isSuccess","maxObjectKeysLimit","maxArrayLimit","maxStringLimit","replacer","argIndex","NativeAccessibilityInfoAndroid","originalTimeout","RCTDeviceEventEmitterImpl","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","beginEvent","_get2","endEvent","_registry","registrations","promiseMethods","syncMethods","isPromise","isSync","moduleID","hasErrorCallback","hasSuccessCallback","methodID","loadModule","valueSet","FabricUIManager","viewManagerName","proxy","viewConfig","viewManager","construct","nativeEvent","eventTarget","possiblePlugin","eventQueue","executeDispatchesAndReleaseTopLevel","caughtError","cb","entangledListeners","listeners","thenableWithOverride","error","thenable","portal","REACT_LEGACY_ELEMENT_TYPE","createChild","thenableIndexCounter$1","thenableState$1","createFiberFromText","updateSlot","newChild","updatePortal","updateElement","updateFromMap","existingChildren","shouldTrackSideEffects","reconcileChildFibersImpl","oldFiber","newIndex","newIdx","createFiberImplClass","actionNode","actionQueue","onActionSuccess","errorInfo","getDerivedStateFromError","logCaughtError","resolveRetryWakeable","retryCache","primaryChildInstance","Super","containerTag","_x","_y","_width","_height","_length","createValueIterator","arrayLike","createEntriesIterator","createKeyIterator","getPublicInstanceFromInstanceHandle","setOwnerDocument","setInstanceHandle","createNodeList","siblings","getOwnerDocument","parentNode","cachedValue","customValueGetter","configName","maybeLogUnavailableNativeModuleError","reportedConfigNames","childNode","createHTMLCollection","getInstanceHandle","childElements","getElementSibling","createReactNativeDocumentElementInstanceHandle","ReactNativeElement","setNativeElementReferenceForReactNativeDocumentElementInstanceHandle","setPublicInstanceForReactNativeDocumentElementInstanceHandle","getBoundingClientRect","relativeToNativeNode","onSuccess","createAttributePayload","viewConfigProvider","getNativeComponentAttributes","native","StaticViewConfigValidator","bS","AssetSourceResolver","asset","assetDir","drawableFolder","layoutSize","dimensions","windowPhysicalPixels","screenPhysicalPixels","dimensionsInitialized","escaperLookup","func","forEachFunc","commandObj","getNativeTextReference","ReadOnlyText","EventCounts","MemoryInfo","ReactNativeStartupTiming","warnNoNativePerformance","markOptions","computedDuration","getCurrentTimeStamp","rawToPerformanceEntry","ENTRY_TYPES_AVAILABLE_FROM_TIMELINE","performanceEntryTypeToRaw","entryType","_jsHeapSizeLimit","_totalJSHeapSize","_usedJSHeapSize","_startTime","_endTime","_initializeRuntimeStart","_initializeRuntimeEnd","_executeJavaScriptBundleEntryPointStart","_executeJavaScriptBundleEntryPointEnd","_processingStart","_processingEnd","_interactionId","_superPropGet","cachedEventCounts","_name","_entryType","_duration","_detail","_detail2","TaskAttributionTiming","EMPTY_ATTRIBUTION","ex","AggregateError","onFulfilled","onRejected","deferred","tryCallOne","resolve","reject","promise","frameTime","chromeRe","parts","chromeEvalRe","UNKNOWN_FUNCTION","isNative","parseChrome","winjsRe","geckoRe","geckoEvalRe","nodeRe","javaScriptCoreRe","outerFn","Generator","Context","tryLocsList","pushTryEntry","GenStateSuspendedStart","tryCatch","ContinueSentinel","maybeInvokeDelegate","iteratorSymbol","doneResult","GeneratorFunction","GeneratorFunctionPrototype","toStringTagSymbol","Gp","AsyncIterator","resetTryEntry","finallyEntry","XMLHttpRequestEventTarget","getEventHandlerAttribute","setEventHandlerAttribute","UNSENT","OPENED","HEADERS_RECEIVED","LOADING","DONE","SUPPORTED_RESPONSE_TYPES","responseType","dispatchTrustedEvent","ProgressEvent","responseURL","responseHeaders","sortedHeaders","LABEL_FOR_MISSING_URL_FOR_PROFILING","getCurrentTarget","getEventPhase","getIsTrusted","getTarget","getComposedPath","getInPassiveListenerFlag","optionsOrUseCapture","AbortSignal","dispatch","BlobManager","endTime","getCurrentTimestamp","timespan","FormData","pd","BaseEvent","Headers","headers","FileReader","support","Request","input","reQueryString","Response","viewClasses","oldValue","redirectStatuses","WebSocket","CONNECTING","OPEN","CLOSING","CLOSED","_ref$headers","nextWebSocketId","binaryToBase64","CLOSE_NORMAL","MessageEvent","CloseEvent","nativeModule","eventType","_ref2$headers","File","URL","baseUrl","URLSearchParams","BLOB_URL_PREFIX","_classCallCheck","_possibleConstructorReturn","abortedFlags","signals","controller","Alert","buttons","defaultIndex","buttonNeutral","buttonNegative","buttonPositive","appConfig","renderApplication","componentProviderInstrumentationHook","componentProvider","wrapperComponentProvider","rootViewStyleProvider","taskId","HeadlessJsTaskError","reason","accessibilityLiveRegion","accessibilityLevel","accessibilityPosInSet","accessibilitySetSize","_focusable","_accessibilityState","accessibilityElementsHidden","_accessibilityLabelledBy","_accessibilityValue","nativeID","forwardedRef","_keyDown","_keyDownCapture","_keyUp","_keyUpCapture","_accessible","handler","CustomEvent","eventInitDict","ReactFabricHostComponent","getNodeFromInternalInstanceHandle","fabricMeasure","fabricMeasureInWindow","fabricMeasureLayout","fabricGetBoundingClientRect","create","setNativeProps","uiViewClassName","setPressed","setHover","eventHandlers","onResponderTerminationRequest","isHighlighted","eventHandlersForText","PressabilityPerformanceEventEmitter","isTerminalSignal","isActivationSignal","isPressInSignal","getTouchFromPressEvent","isActiveSignal","normalizeDelay","DEFAULT_MIN_PRESS_DURATION","minPressDuration","normalizeRect","pressRectOffset","DEFAULT_PRESS_RECT_OFFSETS","_this","_objectDestructuringEmpty2","DrawerLayoutAndroid","memoizeOne","numColumns","onViewableItemsChanged","defaultKeyExtractor","_this$props2$strictMo","strictMode","VirtualizedList","removeClippedSubviews","ListMetricsAggregator","ChildListCollection","FillRateHelper","ViewabilityHelper","params","getItemCount","viewPosition","viewOffset","windowSizeOrDefault","onEndReachedThresholdOrDefault","contentLength","computeWindowedRenderLimits","maxToRenderPerBatchOrDefault","newCellsAroundViewport","cellsAroundViewport","distanceFromEnd","childIdx","ListHeaderComponent","getItemLayout","_VirtualizedListCellRenderer","shouldListenForLayout","nestedContext","horizontalOrDefault","renderRegions","lastRegion","section","isLastSpacer","constrainToMeasured","clamp","lastMetrics","_usedIndexForKey","_keylessItemComponentName","inversionStyle","frameLast","windowTop","windowLen","visTop","visLen","ON_EDGE_REACHED_EPSILON","distanceFromStart","onStartReachedThresholdOrDefault","distTop","threshold","distBottom","CellRenderMask","additionalRegions","initialNumToRenderOrDefault","firstCellIndex","cellIdx","prevFirstVisibleItemKey","newFirstVisibleItemKey","firstVisibleItemIndex","maintainVisibleContentPositionAdjustment","lastPossibleCellIndex","cellKey","_sampleRate","_minSampleCount","firstFrame","lastFrame","blankTop","pixels_blank","highestMeasuredCellIndex","highestMeasuredCellFrame","remainder","frameMetrics","referenceContentLength","viewAreaCoveragePercentThreshold","viewAreaMode","viewablePercentThreshold","itemVisiblePercentThreshold","renderRange","idx","metrics","top","bottom","pixels","percent","CellRenderer","ItemSeparatorComponent","onCellLayout","currContext","numCells","cells","newMainRegion","lastIntersectIdx","firstIdx","middleIdx","setSelfHighlightCallback","setSeparatorHighlighted","setSelfUpdatePropsCallback","setSeparatorProps","setLeadingSeparatorHighlighted","prevCellKey","updateHighlightFor","separatorProps","updatePropsFor","leadingSeparatorProps","setLeadingSeparatorProps","VirtualizedSectionList","_VirtualizedList","listItemCount","_i","calledOnce","lastThis","isEqual","lastArgs","resultFn","lastResult","success","uri","_ImageViewNativeComponent","restProps","actualRef","resizeMode","tintColor","sources","_imageSrc$split2$","sourceList","pendingCleanupCallbacks","refs","cleanupRef","effect","ImageBackground","_Image","setDimensions","KeyboardAvoidingView","Keyboard","_this$props$enabled4","enabled","animationCompletionHasRun","raceWithAnimationId","onAnimationDidEnd","dismissKeyboard","LayoutAnimation","easing","Modal","uniqueModalIdentifier","ModalEventEmitter","VirtualizedListContextResetter","newContentInsetTop","child","indexOfIndex","previousHeader","HScrollViewNativeComponent","VScrollViewNativeComponent","VScrollContentViewNativeComponent","HScrollContentViewNativeComponent","_ScrollViewContext","VERTICAL","HORIZONTAL","stickyHeaderIndices","hasStickyHeaders","processDecelerationRate","splitLayoutProps","_combineCallbacks","configuration","SpringAnimation","AnimatedTracking","TimingAnimation","DecayAnimation","animations","doneCount","sequence","time","animation","iterations","requestAnimationFrame","_nativeID","_onEnd","_useNativeDriver","AnimatedProps","startNativeAnimationNextId","_animatedView","_callback","_nodeKeys","_nodes","_props","AnimatedObject","AnimatedStyle","maybeNode","_uniqueId","_assertNativeAnimatedModule","connectAnimatedNodes","disconnectAnimatedNodes","_inputStyle","_style","flatStaticStyle","AnimatedTransform","propertyValue","mapFunction","traverse","platformConfig","eventMappings","viewTag","findAnimatedStyles","leaves","nativeTag","_this5","subscription","_ensureUpdateSubscriptionExists","_ensureUpdateSubscriptionExists2","_listenerCount","_scheduleUpdate","task","tasks","TaskQueue","immediateID","inputRange","outputRange","extrapolateLeft","extrapolateRight","inputMax","outputMax","isColor","createNumericInterpolation","numericComponents","interpolations","mapStringToNumericComponents","outputType","mX1","mY1","mX2","mY2","sampleValues","dist","NEWTON_MIN_SLOPE","intervalStart","calcBezier","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","NEWTON_ITERATIONS","valueIn","SpringConfig","previousAnimation","omega0","v0","x0","envelope","zeta","omega1","defaultColor","flushValue","shouldUpdateNodeConfig","_easeInOut","passthroughAnimatedPropExplicitValues","useAnimatedPropsMemo","useAnimatedPropsLifecycleWithPrevNodeRef","useAnimatedPropsLifecycleWithCleanupInMicrotask","isUnmountingRef","prevNodeRef","isMounted","useAnimatedPropsMemo_state","useAnimatedPropsMemo_ref","setNextHeaderLayoutY","setIsFabric","isFabricPublicInstance","hiddenOnScroll","scrollAnimatedValue","layoutY","layoutHeight","haveReceivedInitialZeroTranslateY","translateYDebounceTimer","measured","nextHeaderLayoutY","collisionPoint","scrollViewHeight","stickStartPoint","animatedValueListener","setAnimatedTranslateY","setLayoutY","setLayoutHeight","setMeasured","start","anyValue","RefreshControl","PullToRefreshCommands","listRef","_stickySectionHeadersEnabled","cancelable","android_disableSound","delayHoverIn","delayHoverOut","unstable_pressDelay","onHoverIn","onHoverOut","onBlur","onFocus","onKeyUp","borderless","radius","foreground","animated","mergedProps","onChange","onValueChange","setNative","nativeSwitchRef","SwitchCommands","AndroidSwitchCommands","lastNativeText","setLastNativeText","lastNativeSelection","setLastNativeSelection","mostRecentEventCount","inputRef","viewCommands","lastNativeSelectionRef","lastNativeTextRef","setMostRecentEventCount","rejectResponderTermination","findHostInstance_DEPRECATED","Commands","locationX","locationY","getBackgroundProp","touchSoundDisabled","_onBlur","_onFocus","onMouseEnter","onMouseLeave","toColorScheme","AppStateImpl","logError","LinkingImpl","interactionState","currentCentroidX","currentCentroidY","clearInteractionHandle","PermissionsAndroid","PERMISSIONS","PERMISSION_REQUEST_RESULT","PushNotificationIOS","PushNotificationEmitter","NOTIF_REGISTRATION_ERROR_EVENT","NOTIF_REGISTER_EVENT","DEVICE_LOCAL_NOTIF_EVENT","DEVICE_NOTIF_EVENT","_notifHandlers","Share","appearanceSubscription","vibrateScheduler","_id","pattern","repeat","nextIndex","Flyout","_FlyoutNativeComponent","Popup","_PopupNativeComponent","SupportKeyboard","paramIndex","removeSymbol","initialI18nStore","defaultNS","format","keepArray","hasValidReactChildren","translation","keyPrefix","hasLoadedNamespace","ready","useSuspense","loadLanguages","loadNamespaces","previousJoinedNS","joinedNS","setT","getT","isInitial","ignore","composeInitialProps","getDisplayName","forwardRefReact","te","xe","_e","Ne","Ve","qe","Me","isDispatching","currentState","nextListeners","currentListeners","formatProdErrorMessage","currentReducer","reducers","shapeAssertionError","finalReducerKeys","finalReducers","hasChanged","nextStateForKey","actionCreator","dep","_directlyPassedOption2","memoizeOptionsFromArgs","selectors","equals","equalityCheck","NOT_FOUND","entries","resultEqualityCheck","store","viewType","messageHandlerType","view","cacheBabelInterop","cacheNodeInterop","useStore","useReduxContext","_react","_ref$equalityFn","refEquality","useSyncExternalStoreWithSelector","getServerState","serverState","stabilityCheck","noopCheck","contextValue","previousState","subscriptionsAmount","unsubscribe","parentSub","handleChangeWrapper","createListenerCollection","selfSubscribed","effectFunc","_toConsumableArray","effectArgs","didUnsubscribe","childPropsSelector","lastWrapperProps","lastChildProps","childPropsFromStoreUpdate","renderIsScheduled","additionalSubscribeListener","notifyNestedSubs","lastThrownError","WrappedComponent","shouldHandleStateChanges","initMapStateToProps","initMapDispatchToProps","initMergeProps","areStatesEqual","areStatePropsEqual","areOwnPropsEqual","areMergedPropsEqual","_hoistNonReactStatics","hasRunAtLeastOnce","mapStateToProps","ownProps","stateProps","dispatchProps","getConstant","_bindActionCreators","defaultMergeProps","getServerSnapshot","getSnapshot","forceUpdate","lowerQuery","existing","_ref3","_ref5","_ref8","_ref9","_ref0","_ref1","messages","MAX_HISTORY_ITEMS","applyPendingItemThumbnails","SearchQueryStatus","issuedQuery","_ref","indexToDelete","_ref2","_ref4","userEntries","gpoEntries","odignoreSlice","addUpdatedItem","addedItemIds","items","_ref6","childItem","totalSize","updatedItemIdToDetailsMap","selectTextScaleFactor","cond","isAccessible","finalInaccessibleWhenModalActive","isModalVisible","setIsAccessible","isBvt","handlePress","isBvtPressValid","viewName","bvtTestId","handleSecondaryButtonClick","wizardWindowActions","WizardConfirmDialogResult","handlePrimaryButtonClick","showConfirmDialog","confirmDialogStrings","wizardConfirmDialogProps","recordFunnelTelemetry","isForceRNViewReactivationSafe","viewActivated","buttonOneClick","isErrorModal","closeModal","setCloseCalled","onDismissed","buttonTwoClick","closeCalled","handleDismissed","rotationDuration","rotateValue","recordNezhaCallback","variant","variantStyles","macOverlayColors","buttonStyle","buttonColorModifier","customButtonStyle","macOverlayColor","macStateOverlayBase","rotationStyle","customIconStyle","iconTestID","toggleIconTheme","tabbed","commonStyles","MAC_BUTTON_TEXT_STYLE","customCommonTextButtonStyles","rightIcon","setIsPressed","propsOnPress","onHover","setIsHovering","isFocusable","finalIsFocusable","setFinalIsFocusable","targetType","setRefreshSvg","lastViewActivated","xml","setXml","fetchText","locate","toSpaces","beforeExec","afterExec","validNameCharacters","commentStart","neutral","openingTag","currentElement","missingTag","whitespace","quotemarks","escaped","closingTag","doctype","cdata","comment","SvgFromXml","_this$props$onError","SvgFromUri","FeComponentTransferFunction","warnUnimplementedFilter","FeFuncR","FeFuncG","FeFuncB","FeFuncA","extract","_CircleNativeComponent","deg2rad","getAngleValueInDeg","peg$posDetailsCache","peg$parsewsp","peg$c44","peg$FAILED","peg$silentFails","peg$c45","peg$parsetransforms","peg$c0","peg$parsetransform","peg$parsecommaWsp","peg$c1","peg$c2","peg$c3","peg$c5","peg$c4","peg$parsenumber","peg$c7","peg$c6","peg$c8","peg$c9","peg$c10","peg$c26","peg$c11","peg$c12","peg$c13","peg$c14","sy","peg$c15","peg$c16","peg$c27","peg$c17","peg$c18","peg$c19","peg$c20","peg$c21","peg$c22","peg$c23","peg$c40","peg$c41","peg$parsedigitSequence","peg$c35","peg$c34","peg$c36","peg$c32","peg$c33","peg$parseexponent","peg$c31","peg$c24","peg$c30","peg$c25","s2","peg$c29","peg$c28","peg$c37","peg$c38","peg$c39","peg$c42","peg$c43","s1","expectation","classEscape","peg$source","peg$parsefunction","peg$parse_","peg$f0","peg$e1","peg$e0","peg$e4","peg$parseNUM","peg$parsespaceOrComma","peg$e5","peg$f1","s0","peg$e3","peg$e7","peg$f2","peg$e6","peg$e9","peg$f3","peg$e8","peg$e11","peg$f5","peg$e12","peg$f4","peg$e10","peg$e14","peg$f6","peg$e13","peg$e16","peg$f7","peg$e15","peg$e2","peg$r0","peg$e18","peg$e17","peg$r1","peg$e20","peg$e19","peg$r2","peg$e21","peg$r3","peg$e22","peg$e23","s6","s3","peg$e24","s7","peg$f8","peg$savedPos","DESCRIBE_EXPECTATION_FNS","_ClipPathNativeComponent","_DefsNativeComponent","_EllipseNativeComponent","_ForeignObjectNativeComponent","withoutXY","propsAndStyles","hasProps","_GroupNativeComponent","SvgImage","_props$href","_ImageNativeComponent","_LineNativeComponent","_LinearGradientNativeComponent","extractGradient","_MarkerNativeComponent","extractViewBox","maskUnits","maskContentUnits","maskType","_MaskNativeComponent","_PathNativeComponent","patternTransform","patternUnits","patternContentUnits","_PatternNativeComponent","_Path","points","extractPolyPoints","_props$fx","_props$fy","rx","ry","_RadialGradientNativeComponent","_RectNativeComponent","defaultStyle","opacity","doNotParseWidth","doNotParseHeight","rootStyles","extractTransformSvgView","RNSVGSvgIOS","RNSVGSvgAndroid","_G","_SymbolNativeComponent","extractText","_TSpanNativeComponent","_TextNativeComponent","_this$props$href","_this$props$startOffs","href","_TSpan","_TextPathNativeComponent","_UseNativeComponent","_FeBlendNativeComponent","extractFilter","extractIn","extractFeBlend","extracted","_FeColorMatrixNativeComponent","extractFeColorMatrix","_FeCompositeNativeComponent","extractFeComposite","_this$props$in","_FeGaussianBlur","_FeOffset","_FeFlood","_FeComposite","_FeMerge","_FeMergeNode","_FeFloodNativeComponent","extractFeFlood","_FeGaussianBlurNativeComponent","extractFeGaussianBlur","_FeMergeNativeComponent","extractFeMerge","_FeOffsetNativeComponent","_FilterNativeComponent","selectUpdateRingRamp","selectUpdateRingKillSwitch","selectUpdateRingSetting","settingType","selectEcsRamp","setIsChildDataLoaded","isAppFullyLoaded","isChildDataLoaded","failedFetch","setIsAppFullyLoaded","loadStartTime","UX_RN_VIEW_DATA_LOADED","recordQoSCallback","setTextScale","focusRef","trapFocus","isActiveVisualState","hasSeenSearchTooltip","isSearchOnboardingTooltipVisible","shouldShowItemMenu","tabRefs","isCopilotSelectedItem","enabledCopilotActionIds","recordCopilotFunnelTelemetry","isBusiness","setLoadingSubText","setLoadingSubText2","setLoadingText","upgradeProgress","upgradeScope","AccessibilityInfo","prevContextMenuState","setPrevContextMenuState","searchEvents","SEARCH_DEFAULT_MAX_RESULTS","coAuthLockedItems","onHoverChanged","handleButtonClick","getACBody","page","canShowSyncStatus","shouldShowSearch","searchQuery","handleSearchTextChange","handleSearchSubmit","handleSearchClear","handleExitSearch","handleSearchFocus","isSearchActive","searchFilter","availableSearchFilters","handleSearchFilterChange","_PausedView","handleResume","pausedReason","isSingleErrorReady","memoizedCoAuthLockedItems","searchState","isFilteredEmpty","memoizedItemHistory","loadingText","loadingSubText","loadingSubText2","shouldShowSearchFeedbackFooter","memoizedFooter","containerStyle","textStyles","textStyle","pausedTitle","pausedReasonText","timer","setIsDisplaying","flatListRef","totalItems","MENU_POSITION_OFFSET","MENU_TOP_BOTTOM_THRESHOLD","topPosition","createHandleArrowKeys","toggleSelectedItem","lastClickTimeRef","doubleClickDelay","itemRef","onPressRef","innerRef","setIsButtonHovering","isHovering","isButtonHovering","SearchResultThumbnail","folderLink","handleFolderPress","handleItemPress","handleItemHover","activeView","setColumnGap","bold","linesOfText","currentLine","HtmlLink","linkTestID","linkUrl","gapToRender","customRowContainerStyle","lineOfText","setIsKeyboardHovering","inlineLink","isKeyboardHovering","customContents","customTextStyles","customRightContents","aSize","spaceSize","setSpaceSize","setASize","setText","disableHover","errorFound","barWidth","actionString","isArchivedFile","ITEM_TOP_PADDING","FALLBACK_ITEM_HEIGHT","lastClickTime","autoSelected","handleLinkPress","isPressed","sourceUri","isVideo","countLabel","processingString","progress","progressBarEnd","startAnimation","statusText","handleRotation","ecsRampID","useRecordECSTelemetry","setLocalValue","lastEmittedRef","onChangeText","debounceTimerRef","DEBOUNCE_MS","onClear","onExitSearch","handleClear","setIsFocused","handleDismiss","autoSuggestValue","setValue","valRef","onEndEditing","bvtSetTextRequest","handleTextChange","onSubmitEditing","onFilterChange","availableFilters","selectedFilter","setCheckBoxValue","isCheckboxChecked","ErrorActionType","fileStyles","indexedTestID","handleSecondLinkPress","handleCheckBoxChange","primaryButtonVariant","linkStyles","propsOnClick","_checkbox","onClick","customCheckboxStyle","customContainerStyle","extendStatics","_super","setAndForwardRef_1","__rest","WindowsCheckBoxComponent_1","getForwardedRef","setLocalRef","userProps","toggleChecked","getEntityType","getMemoValueWorker","foundEntry","byObj","mergeAndFlattenStyles","staged","slots","slotTokens","useStylingCore","getMemoValue","lookupOverride","getThemedSettings","_getSettingsFromTheme","returnAsSlotProps","processTokens","hasOverride","getCurrentAppearance","defaultFluentHighConstrastTheme","defaultFluentDarkTheme","themeRef","setThemeState","mergeTheme","getFromTheme","mergeBaseSettings","resolveSettingsOverrides","tokenProps","slotName","tokenKeys","_processSlotEntries","mappings","functions","deltas","factories","operation","hasToken","handlers","resolvedSlotProps","useCompoundPrepare","removeMask","childInfo","Slots","useUpdateRenderData","createSlotRenderInfo","userCallback","isModifierKey","shouldAllowShiftCtrlKeys","setHoverState","setFocusState","setPressState","isChecked","setChecked","valueRef","currentValue","onChangeRef","setSelectedKey","onAccessibilityTap","rest","keyProps","filteredProps","maxFontSizeScaleAdjustment","numberOfLines","truncate","wrap","extra","componentRef","sourceValue","hasLayer","getComponentInfo","injectable","useTokens","customizable","patchValues","mask","refine","applyTokenLayers","applyPropsToTokens","useStyling","useSlots","Checkbox","layer","getDefaultSize","onAccessibilityAction","ACTIVITY_CENTER_PAGES","primaryAction","SurfaceClicked","buttonOne","secondaryAction","buttonTwo","HistoryRow","handleRowPress","isSyncingBlocked","setTitle","productInstanceName","sendFeedbackActions","onSettingsHover","button","isPremiumButtonVisible","lastPremiumFooterImpressionSequence","activityCenterReopenSequence","settingsActions","gpoPatterns","pauseButtonIndex","showPauseButtons","pauseSubMenuButtons","focusIndex","focusIndexCurrent","setFocusIndexCurrent","setFocusIndex","setButtonWidth","setSubmittedSentiment","submittedRef","SendFeedbackUIAction","thumbUpIcon","thumbDownIcon","chooseRootFolderActions","animationComplete","setIsPlaying","setIsTooltipVisible","isTooltipVisible","chinaTypeApprovalPageActions","wizardErrorPageActions","floodgateSurveyActions","floodgateSurveyState","setSelected","surveyKeys","setSurveyKeys","descendingOrderOfKeys","Linking","selectedKey","onSelectionChanged","RadioPickerItem","radioButtonValues","useArrowKeysRet","onSelectOption","customRadioButtonContainerStyles","radioButtonContainerCustomStyle","radioButtonOuterCircleCustomStyle","labelAbove","containerCustomStyle","outerCircleCustomStyle","childrenInHorizontalLayout","boldName","kfmDoneActions","openAppLink","kfmErrorActions","descendingKeys","setView","setSelectedReason","isNPSUXExperimentEnabled","SurveyRadioPicker","labelOneText","labelTwoText","DefaultSurveyQuestionExperience","NewSurveyQuestionExperience","SurveyQuestion","privacyStatement","onDismiss","handleSubmit","optionalDiagnosticDataPageActions","optionalDiagnosticData","userInputDialogState","loadConfirmationDialog","computeOptOutTitle","isOneNote","computeLockedFilesBodyString","computeOneNoteBodyString","computeModalHeight","arrayLength","renderOptOutModalBody","globalStyles","filesAndIconsArray","renderFilesAndIconsSection","confirmationDialogState","serializeFoldersArray","updateDependenciesOfFolders","atLeastOneFolderInError","sendReady","handleCancelButtonClicked","cancelKFMPendingModalProps","setSelectedOptOutMainRadioButton","setSelectedOptOutRestoreOptions","handleDialogClosed","isExtendedOptOutEnabled","selectedOptOutMainRadioButton","selectedOptOutRestoreOptions","lossAversionModalProps","onAction","optOutResultModalProps","setStopSyncingFolderType","folderHeight","handleFolderToggle","setRestoreOption","onOptOutRestoreOptionChanged","onRestoreOptionChanged","setRadioButtonSelection","onOptOutMainRadioButtonChanged","kfmArticleLink","setIsToggleChecked","isFolderChecked","onToggleFolder","onToggle","toggleSwitch","linkTwo","quotaUpsellClickedCallback","kfmOnboardingActions","premiumPageActions","setObfuscationKeySendEnabled","setIsRequestSuccessful","setInProgress","setSubmitted","reportBug","setCategory","setDescription","setfilePath","setImagePath","setImagePathSystem","setImageRetrievalStatus","categoryList","setIsFocusable","DROPDOWN_WIDTH","DROPDOWN_HEIGHT","itemArray","PickerItem","Picker","_PickerWindows","_PickerAndroid","_PickerMacOS","_PickerIOS","PickerWindows","RNCPicker","selectedIndex","PickerMacOS","nextRef","requiredDiagnosticDataPageActions","selectiveSyncActions","confirmChoosenFolderModalProps","learnMoreLink","selectiveSyncData","subTitle","taskDialogActions","checkBoxValue","setContentHeight","setFooterHeight","contentHeight","footerHeight","handleButtonPress","TaskDialogAction","handleBodyLinkPress","IDC_BODY_LINK","IDC_ADDITIONAL_LINK","tutorialPageActions","tutorialPagesList","isCurrentlyEnabled","disableEmailInput","hideEmailInput","emailInputRef","signInRef","setLoading","emailHrdResult","setErrorText","setInfoText","errorRef","selectedEmail","setEmailInputValue","welcomePageActions","setCreateAccountButtonVisible","setAccountTypeButtonsVisible","setFrameHeight","setInputHeight","setInputContainerBottomY","emailInputValue","accountTypeButtonsVisible","createAccountButtonVisible","createAccountButtonDisabled","loading","onSignIn","disablePersonalAccountButton","freStyles","welcomeStyles","scrollViewRef","flyoutVisible","modifiedItemStyle","modifiedTextStyle","contents","selectedEmailText","FlyoutItem","flyoutBottom","flyoutContents","containerRef","setOpenMenuIndex","versionHistoryActions","onMenuToggle","menuButtonRef","isFirst","timestampText","sizeText","authorText","onMenuPress","label","fetchState","ExitDialogActions","folderColorActions","selectedColor","selectedColorText","setLoadingMode","buttonHandler","ExpressOptInChoice","kfmExpressOptInModel","setComment","privacyStatementODCLink","isMountedRef","isIToggleState","isIDropDownState","scopeId","setMountedFolderState","fetchAllResourceStrings","auth","authFetchStartedRef","logCallback","logErrorCallback","initialTab","selectedTabFromLeftNav","actionParameter","settingsStyles","showBadge","filesOnDemandModalProps","isAutoRateLimit","fondFreeUpModalProps","fondDownloadAllModalProps","setShowAdvanced","toggleState","settingId","setIsExpanded","setShowButtons","setIsToggleEnabled","propsOnToggle","DEFAULT_RATE_LIMIT","LOWER_RATE_LIMIT","UPPER_RATE_LIMIT","onChangeInput","adjustAndPersistLimitValue","odignoreActions","handleSaveIgnoreList","handleSubmitEditing","saving","handleShowErrorModal","openODIgnoreModal","canRemove","unlinkModalProps","libraryType","handleAlertConfirmation","unlinkFolderActionParameter","mountedFolderModalProps","setLoadStartTime","mountedFolderListRendering","hasNotSyncingView","MountedFolderView","mountedFolderState","MountedFolderNotSyncingView","OS_NOTIFICATION_POLL_INTERVAL_MS","copyComplete","setCopyButtonText","setCopyComplete","setDescriptionBlock","setIsTextInputShown","setKeyPressed","textRef","isCatfoodAllowed","keyPressed","vaultActions","POLLING_INTERVAL_MS","shareLoadingActions","copilotDialogActions","onSubmitFeedback","setIsThumbsDownActive","setIsThumbsUpHovered","setIsThumbsDownHovered","isPageVisible","recordNezhaEvent","setCurrentStep","goToStep","kfmString","setShowToast","LaunchSendFeedbackWindow","setIsBuffering","setHasError","numberOfPlaysRef","MAX_NUMBER_OF_PLAYS","_getWidevineLevel","_isCodecSupported","_isHEVCSupported","renderLoader","_renderLoader","isPosterDeprecated","poster","_source","resolveAssetSourceForVideo","resolvedSource","drm","textTracks","generateHeaderForNative","localSourceEncryptionKeyScheme","CmcdMode","property","cmcd","contentStartTime","adTagUrl","adLanguage","minLoadRetryCount","bufferConfig","sourceToUnternalSource","selectedTextTrack","selectedAudioTrack","selectedVideoTrack","NativeVideoManager","getReactTag","nativeRef","setFullScreen","setRestoreUserInterfaceForPIPStopCompletionHandler","hasPoster","setShowPoster","shutterColor","seek","presentFullscreenPlayer","dismissFullscreenPlayer","save","pause","resume","restoreUserInterfaceForPictureInPictureStopCompleted","setVolume","getCurrentPosition","enterPictureInPicture","exitPictureInPicture","setSource","hasValidDrmProp","ViewType","useTextureView","useSecureView","posterResizeMode","onButtonPress","autoDismissMs","cell","columnSet","ctx","visibleKeys","output","numLinesEst","lastAppKey","asyncGeneratorStep","_this2","languages","loadUrlLanguages","loadUrlNamespaces","_this3","_this4","namespace","languageUtils","numListeners","_this8","lastKey","_this9","_this0","codes","addCode","_this1","rules","set","_rulesPluralsTypes","suffixesOrder","_this10","regexSafe","_this12","handleFormat","deepFindWithDefaults","defaultData","skipOnVariables","replaces","_this13","matchedSingleQuotes","matchedDoubleQuotes","parseFormatStr","_this14","valOptions","hasAllNamespaces","toLoadLanguages","pushPath","removePending","_this17","tried","wait","resolver","_this18","_this19","clb","ret","_this20","_this21","_this22","usedCallback","_this23","setLngProps","fixedT","_this24","_this25","preloaded","_this26","clone","_this27","_send","moduleOrFactory","method","registration","nativeViewTag","implementation","propertyName","commands","deleteChild","command","remaining","hasResolved","rejectionReasons","promises","resolveOnce","rejectionCheck","prototype","previousPromise","PromiseImpl","GenStateExecuting","GenStateCompleted","innerFn","GenStateSuspendedYield","iterable","iter","header","nonNullListeners","part","acc","encodeURI","iterator","reader","DataView","isArrayBufferView","readBlobAsArrayBuffer","decode","form","base64","CLOSE_ABNORMAL","toByteArray","setHighlighted","suppressHighlighting","onResponderGrant","onResponderMove","onResponderRelease","onResponderTerminate","DEFAULT_LONG_PRESS_DELAY_MS","longPressDeactivationDistance","convertPointerEventToMouseEvent","isHoverEnabled","kk","ListItemComponent","isVertical","timestamp","dOffset","heightOfCellsBeforeFocused","heightOfCellsAfterFocused","normalize","partialState","that","viewableIndices","handle","createViewToken","select","other","region","viewable","keyExtractorWithNullableIndex","cleanups","cleanup","_relativeKeyboardHeight2","nativeInstance","mutator","additionalOffset","keyboardScreenY","FrameRateLogger","IS_ANIMATING_TOUCH_START_THRESHOLD_MS","timeSinceLastMomentumScrollEnd","keyboardShouldPersistTaps","currentlyFocusedInput","hasFocusedTextInput","ScrollViewStickyHeader","onComplete","isLooping","hasEnded","stopTogether","isFinished","iterationsSoFar","resetBeforeIteration","restart","animatedValue","operationID","methodName","queueOperations","nodes","stackItem","passthroughStyle","onUpdateRef","createCompositeKeyForProps","prevRef","compositeKey","setTranslateY","animatedListenerId","newAnimatedTranslateY","inAnimationCallback","shouldUpdatePressed","viewRef","inputRefValue","editable","eventUpdated","emitter","changeHandler","focusOrBlurHandler","_requestPermission","nativeNotif","notification","_objectWithoutProperties","_onMessageHandlerRendering","_fetchAllMetadata","_fetchUpdateRingRamp","_fetchUpdateRingKillSwitch","_fetchUpdateRingSetting","_fetchECSRamp","_handleAction","_log","_logError","_logBvtInfo","_recordQoSTelemetry","_recordFunnelTelemetry","_recordCopilotFunnelTelemetry","_onQuotaUpsellClicked","_recordECSExperimentTelemetry","_recordNezhaTelemetry","_getDebugInfo","_viewSizeChanged","getInitialProps","ForComponent","isVoid","inner","opts","shouldUnescape","reactNodes","rootReactNode","isElement","emptyChildrenButNeedsHandling","cloneElement","renderInner","comp","bindI18n","bindI18nStore","mem","useSSR","I18nextWithTranslation","he","Ie","Ye","Ze","Qe","isSubscribed","middlewares","_objectSpread__default","_recomputations","resultFunc","dependencies","memoizedResultFunc","_lastResult","objectKeys","selector","removed","cleanupListener","tryUnsubscribe","_slicedToArray","didStoreComeFromProps","didStoreComeFromContext","useIsomorphicLayoutEffectWithArgs","captureWrapperProps","Connect","constant","hasRunOnce","hasMemo","memoizedSelection","memoizedSnapshot","maybeGetServerSnapshot","getUIActionTelemetryData","startupParams","_getErrors","_getItemsHistory","_fetchSyncStatus","_fetchVisualState","_fetchContextMenuItems","_handleContextMenuAction","_handleFooterUIAction","_pauseSyncing","_reportIssue","_getActivityCenterMessageData","_handleHistoryItemAction","_handleResponseForCachedMessage","_getProgressItems","_handleErrorAction","_sendActivityCenterUIActionTelemetry","_getPausedReason","_getStartupParams","_hideActivityCenter","_getAllowOD4Entry","_getCopilotActionEligibility","_getPrioritizeSyncEligibility","_getUnarchiveContextMenuEligibility","_launchKFMOnboardingUX","_getIsKFMOnboardingEnabled","_performSearch","_getSearchTooltipSeen","_markSearchTooltipSeen","_recordSearchActivity","_recordSearchFeedback","_accept","_onNextClick","_changeRootLocationClicked","_handleSubmitSurveyAndExit","_handleExit","_handleClose","_handleChangeAutoStart","_getInitialAutoStartState","_handleSurveySubmit","_getSurveyStrings","_setSelectedReason","_getSelectedReason","_closeNotificationToast","_expandNotificationToast","_handleSubmit","_getVisualState","_getInitialState","_getAnimationState","_toggleAnimationPlaying","_toggleAnimationVisible","_onConfirmDialogClosed","_viewProgress","_openFolders","_skipErrors","_errorsLearnMore","_displayKFMOptOutSurvey","_isKFMOptOutSurveyEnabled","_enableDomain","addNewEntryThunk","removeEntryThunk","req","_fetchAllResourceStrings","_fetchAllSettings","_fetchProfilePicture","_patchSetting","_patchCatfood","_beginGetMountedFolders","_stopSyncingMountedFolder","_startSyncingDefaultMountedFolder","_chooseFolders","_getIsAutoStartHidden","_sendGetMobileAppTelemetry","_isGetMobileAppEnabled","_areOSNotificationsEnabled","_getInitialTab","_isDiamondIconInGMSButtonEnabled","_getODIgnoreRules","_updateODIgnoreRules","_removeDefaultExtension","NodeError","getMessage","sym","_getInfo","_dismiss","_upgrade","_handleRestorePurchase","_closePurchaseView","_recordTelemetry","_onComplete","getRelativePathFromNode","getSelectiveSyncItemsForSubmit","_expandNode","_submitSelectiveSyncInfo","_updateTotalSelectedItemsSize","_onCancel","_reportExpandNodeComplete","_launchReportABugDialog","_launchSendFeedbackDialog","_cancelRequest","_sendUIActionForTelemetry","_isReportABugEnabled","_getMetadataFromCopilotFeedback","_getContent","_buttonClicked","_getTutorialPagesInfo","_openOneDriveFolder","_refreshPage","_completeTutorial","_getMobileApp","_enableStartSyncAtLogin","_recordNextBtnClick","_signIn","_createAccount","_personalClicked","_businessClicked","_exit","previousThemeName","themedStyles","setHighContrastColors","highContrastChangedListener","timeoutId","_onErrorBtnClick","_openSystemPreferences","_getReady","_handleGetProgressItems","thumb","_launchKFMOnboarding","_completeKFMOnboarding","_isKFMEnabled","_launchDime","_getEnrolledFolders","_restore","_openFile","_viewOnline","_deleteVersion","_tryAgain","_close","_onNextButtonClicked","_onAllowButtonClicked","primaryButtonRef","isFormModal","setIsError","_fetch","BrushProperties","_ref2$fill","_ref2$stroke","_ref2$markers","_ref2$clipped","fetchUriData","decodeBase64Image","dataUriToXml","dpiContext","SearchActivityStage","uiAction","refIndex","childRef","handleKeyDown","itemTopPadding","subElement","columnGap","boldStyle","oneDriveManageStorageLink","expectedMenuHeight","sanitized","onSearchSubmit","handleFilterPress","tab","TAB_ICON_SIZE","nullthrows_1","onInvalidate","slotKeys","_getCachedPropsForSlot","childRenderInfo","_mergeAndFilterProps","slotType","DEFAULT_PRESS_DELAY_MS","previous","builtSlots","useSlot","filters","resultHolder","propsToRemove","component","menuItem","removeMultipleSymbols","symbolsToRemove","MESSAGE_TYPES","isAnyMenuOpen","errorItemStatus","itemHistoryState","itemProgressState","visualStatus","clearInterval","intervalId","confirmDialogClosed","_sendReady","_onToggleFolder","_onStartMove","_onSkipBackup","_onTryAgain","_onCancelPendingBackup","_onStopFolderBackup","_confirmDialogClosed","folder","_ref7","updatedFolders","initialFolders","_fetchAllCategories","_getAllEnabledFeatures","_reportBug","_closeDialog","_launchChooseFolderDialog","_launchChooseImageDialog","category","itemsMap","isFolderSizeInvalid","isRootFileNode","truncateString","MAX_FOLDER_NAME_LENGTH","mappedItem","PartialSelection","renderItems","supportLink","scrollToBottom","onPressFlyoutItem","setTextInput","dismiss","containerLayoutRef","setMenuTop","computeMenuTop","timerId","handleArrowKeys","onMenuDismiss","btnHovering","handleColorChange","_fetchExpandedFolderSet","_sendUserChoice","setAreOSNotificationsEnabled","osNotificationsEnabled","mergedEntry","removeIgnoreRule","cancelled","poll","interval","ShareLoadingRow","progressItems","videoRef","NativeVideoDecoderInfoModule","errMsgGen","_next","_throw","errorMessage","finished","dataArray","resArray","toLoad","backendConnector","send","language","resForMissing","checkedLoadedFor","lngOnly","formatter","opt","_this16","pending","toLoadNamespaces","loaded","fcName","jsonResponse","statusCode","finalResponse","enqueueingFrameError","errorData","generator","xhr","parseHeaders","names","abortXhr","cols","render","renderItem","columnWrapperStyle","viewableItems","changed","ItemWithSeparator","infoIndex","renderSectionFooter","renderSectionHeader","_this$props$enabled2","keyboardFrame","_this$props$keyboardV","keyboardY","scrollTextInputIntoVisibleRect","recMapping","tasksToCancel","drivenAnimationEndedListener","isFabricInstance","_instance$getScrollRe","useNativePropsInFabric","scheduleUpdate","timerRef","events","animatedValueListeners","_dataHandler","getDataHandlerSendOptions","ROUTE_RNCOMMON_FREE","ROUTE_RNCOMMON","i18nInitialProps","boundReset","ie","Be","Le","De","Ce","Re","observer","getState","_dispatch","middlewareAPI","extraArgument","propsContext","_selectorFactory","selectorFactoryOptions","NO_SUBSCRIPTION_ARRAY","wrapperProps","latestSubscriptionCallbackError","actualChildProps","reactReduxForwardedRef","renderedWrappedComponent","ContextToUse","overriddenContextValue","FRE_ROUTE","KFM_DONE_ROUTE","KFM_ROUTE","MACBOX_CONSENT_ROUTE","arrayBufferToBase64","resp","getArrayBuffer","isINetworkState","errorRespone","IN_APP_PURCHASE_ROUTE","TASK_DIALOG_ROUTE","TUTORIAL_ROUTE","KFM_CHECK_FULL_DISK_ACCESS","COPILOT_DIALOG_ROUTE","VERSION_HISTORY_ROUTE","isPauseSubMenuButton","setShowPauseButtons","viewMessageDataHandler","setResponse","helloWorldResponse","formattedCategory","description","filePath","obfuscationKeySendEnabled","imagePathSystem","expandNode","formattedItemName","kfmOptOutDataModel","commentInput","setSettings","updateCheckedState","errorResponse","originalCheckedState","updateNetworkState","originalNetworkState","updateDropdownState","originalDropdownValue","isJsonNLLibrarySafe","handleStopSyncingMountedFolder","setResourceStrings","resources","setFailedFetch","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","accountTransfer","localizedResourcesFromSyncClient","chooseFolders","license","logger","needsContextHandling","contextKey","pauseSubMenuItem","categoriesObj","setCategories","setObfuscationKeyFeatureEnabled","rampsEnabledObj","setFilePickerEnabled","setImagePickerEnabled","setBodyText","expandedFolderSet","setInitialAutoStartState","isAutoStartEnabled","setGetMobileAppEnabled","getMobileAppEnabled","setDiamondIconInGMSButtonEnabled","setAuth","isStillMounted","fetchedToken","tolerance","se","de","Te"],"mappings":"A,K,K,K,O,M,M,G,M,K,I,E,Q,I,Q,M,M,K,G,E,U,M,K,K,M,G,E,M,K,M,K,M,M,O,E,MA+UC,MAAA,QAAA,MAAA,QAAA,SAAA,QAAAA,MAAA,EAAAC,MAAA,EAAAC,M,G,I,K,I,K,I,K,I,K,I,K,I,K,M,K,IA7US,MACAC,MAAH,MAAA,SAAA,M,KAAgC,I,KAC7B,M,KACc,MAURC,MAAG,OAAA,IAAA,IATR,IACG,EAAH,IAEgB,EAAL,KAAA,IAuHI,MA6BJ,MACC,KAAH,MAUO,KAAH,MAQb,OAgBQ,UACA,IASQ,M,KAIF,MACS,IAAH,IACOA,MAAG,OAAA,IAAA,IAAV,IC6e9B,MAAA,QAAA,MAAA,QAAA,SAAA,QAAAJ,MAAA,EAAAC,MAAA,EAAAC,M,G,IA1qBgB,GAAA,KAAA,IAAA,KAAA,IAAA,KAAA,IAAA,KAAJ,QA2WU,IACJ,MAAH,QA2JD,QACC,QACC,IAEE,IAAH,IA4BN,MACsB,KADhC,MAoGO,MACL,KACkB,MAAND,MAAH,IAEQ,MAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAOT,KAPS,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAH,MAuBdI,MAAqB,KAACC,UAA0B,MAA3B,OA3BhB,KA1FSD,MAAA,OACRE,IAAmB,E,K,K,K,K,KADX,EACa,MACa,KAhM1C,OAAA,IACS,KA8LoB,IAEY,MAjMzC,OAAA,IACS,KA8LoB,IAGW,MAlMxC,OAAA,IACS,KA8LoB,IAIY,KAnMzC,OAAA,IACS,KA8LoB,IAKa,MApM1C,OAAA,IACS,KA8LoB,IAMa,MArM1C,OAAA,IACS,KA8LoB,IAAA,IAAA,IAAA,IAAA,IAAA,IADb,OAAA,MAiBJ,QAAV,IAGE,KAAsB,IAFKD,MAAO,KAAV,IACxBA,MAAgC,MAIhCA,MAAgB,KAAH,MAkCfD,MAAqB,KAACC,UAA0B,MAA3B,OCrgBQ,MAAA,QAAA,MAAA,QAAA,MAAA,QAAAN,MAAA,EAAAC,MAAA,EAAAC,M,KA7GnB,IAWJ,QAAND,IAEI,KAFJA,EACU,M,GAFoB,IAeb,MACD,KADC,IAID,KAJC,IAON,KAPM,IAUD,KAVC,IAcH,KAdG,IAqCK,KArCL,IAqDV,KArDU,IAwDZ,KAxDY,IAAH,IAoFC,M,M,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,M,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,I,K,O,S,I,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,S,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,I,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,I,K,O,Y,I,K,O,Y,I,K,O,Y,I,K,O,Y,I,K,O,Y,I,K,O,Y,I,K,O,Y,I,K,O,Y,I,K,O,Y,I,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,Y,Q,K,O,M,K,M,K,E,G,GCvHjB,MAAA,KAoBAO,IAAAA,KAAAA,MAA2CC,IAAAA,KAAAA,UAAf,MAC5BD,IAAAA,KAAAA,MAA4CE,IAAAA,KAAAA,UAAhB,MAC5BF,IAAAA,KAAAA,MAA2CG,IAAAA,KAAAA,UAAf,MAC5BH,IAAAA,KAAAA,MAAgDI,IAAAA,KAAAA,UAApB,MAC5BJ,IAAAA,KAAAA,MAAgDK,IAAAA,KAAAA,UAApB,MAC5BL,IAAAA,KAAAA,MAAyCM,IAAAA,KAAAA,MAAcC,IAAAA,KAAAA,UAA3B,OAC5BP,IAAAA,KAAAA,MAA0CQ,IAAAA,KAAAA,UAAd,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b,KAAwB,KAAC,KAAD,KAiBpC,MAEyB,E,G,G,I,K,M,M,S,M,O,E,M,MCvM1BgE,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEe+E,KAF4D,MAE7C,E,G,G,K,M,M,S,M,S,MCC9Bf,I,GAAA,I,GAAA,KAAA,KA0KgD,UAAA,KA1K6C,MA0K1B,E,KC7KtDhE,MAAA,SAAA,MAAA,SAAA,MAkBuC,QAgClD,MAEgC,E,G,G,I,K,M,M,S,M,O,E,M,MCpDlCgE,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEegF,KAFuE,MAEhD,E,G,G,K,M,M,S,M,S,MCAtChB,I,GAAA,I,GAAA,KAAA,KA6BuC,SAAA,KA7BsD,MA6B3B,E,G,G,I,K,M,M,S,M,O,E,M,MC/BlEA,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEeiF,KAF0E,MAEhD,E,G,G,K,M,M,S,M,S,MCAzCjB,I,GAAA,I,GAAA,KAAA,KAyDuC,SAAA,KAzDsD,MAyDxB,E,G,G,I,G,I,G,M,M,S,M,OC5CrEhE,MAAA,KAAA,MAAA,KAAA,KAAA,KAAA,KAAA,KAAyC,E,G,G,I,G,I,G,G,M,M,S,M,O,K,M,K,M,K,M,K,M,K,M,K,M,K,Q,K,M,K,M,K,M,K,M,K,MCiJxC,E,G,G,G,KC9JYA,MAAA,SAAA,MAAA,SAAA,MAWU,IAAA,KAGY,MAAd,MAEX,QAAV,IACEkF,IAAAA,KAAAA,MAAoC,UAAA,MACrC,MAEyB,E,M,G,I,G,I,K,I,K,I,K,I,K,I,K,I,K,I,K,M,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,KCjBnB,IAAA,KAEU,IAAA,OAEDC,MAAK,KAAR,IAEJ,MADa,IAEQtB,MAAU,SAAA,KAAb,IACJA,MAAU,SAAA,KAAb,IACEA,MAAU,SAAA,KAAb,IACKA,MAAU,SAAA,KAAb,IACMA,MAAU,SAAA,KAAb,IACAA,MAAU,SAAA,KAAb,IACGA,MAAU,SAAA,KAAb,IACGA,MAAU,SAAA,KAAb,IACEA,MAAU,SAAA,KAAb,IACOA,MAAU,SAAA,KAAb,IACAA,MAAU,SAAA,KAAb,IACQA,MAAU,SAAA,KAAb,IACNA,MAAU,SAAA,KAAb,IACGA,MAAU,SAAA,KAAb,IACjBA,MAAU,SAAA,KACVA,MAAU,SAAA,KACiBA,MAAU,SAAA,KAAb,IACxBA,MAAU,SAAA,KACVA,MAAU,SAAA,KACsBA,MAAU,SAAA,KAAb,IACHA,MAAM,MAAT,IAQV7D,MAAM,KAAT,MAmBC,IA2KkB6D,MAAU,SAAA,KAAb,IAmDd,MACC,IACmB,IACT,IACA,IAyDF,KAAY,MACf,KADe,IAUd,KAVc,IAkBtB,KAlBsB,IAAA,IAsBnB,KAtBmB,IAA3B,MAgCqB,MAGV,KAHU,IASd,KATc,IAAH,MAeA,KAAH,Q,KAgBJ,KA2BkC,MAAC,MACpC,KADoC,IAAD,KAAxB,IAWH,QACH,QACD,QACN,IAAH,IACM,MAAA,IAAH,IAoEiB,MACf,KADe,IAIT,KAJS,IA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,M,S,M,O,K,M,K,M,K,M,K,M,K,M,K,M,K,M,K,MCjhBIH,YAAM,KAAT,IACEA,UAAM,KAAT,IA6FvB,E,G,G,K,M,M,S,M,S,K,M,K,M,K,M,K,MCjIDG,I,GAAA,I,GAAA,KAAA,KAAA,IA6BC,E,G,G,G,G,M,O,M,S,M,O,K,M,K,M,K,M,K,M,K,M,K,M,I,K,K,I,K,K,IC9BiD,KAAA,KAAA,IAAA,KAAA,IAyCjD,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,K,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCxCD,IAAA,KAAA,KAAA,IAOAA,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAE6CyC,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAClC,KADkC,IAAA,IAAA,IAGjC,MAED,KAFC,IAHiC,IAOjC,MAED,KAFC,IAPiC,IAkBjC,MAED,KAFC,IAlBiC,IA6BjC,MAED,KAFC,IA7BiC,IAwCjC,MAED,KAFC,IAxCiC,IAmDjC,MAED,KAFC,IAnDiC,IA6DjC,MAED,KAFC,IA7DiC,IAqEjC,MAED,KAFC,IArEiC,IA+EjC,MAED,KAFC,IA/EiC,IAmFjC,MAED,KAFC,IAnFiC,IAuFjC,MAED,KAFC,IAvFiC,IA2FjC,MAED,KAFC,IAMD,KANC,IA3FiC,IAiGG,MAErC,KAFqC,IAjGH,IAqGjC,MAED,KAFC,IArGiC,IAgHjC,MAED,KAFC,IAhHiC,IA2HjC,MAED,KAFC,IA3HiC,IAsIjC,MAED,KAFC,IAtIiC,IAiJjC,MAED,KAFC,IAjJiC,IA2JjC,MAED,KAFC,IA3JiC,IAqKjC,MAED,KAFC,IArKiC,IAyKjC,MAKD,KALC,IAzKiC,IAoLjC,MAED,KAFC,IApLiC,IA2LjC,MAED,KAFC,IA3LiC,IAAA,MAAA,MAAA,IA8NnC,E,G,G,I,G,G,M,M,S,M,O,K,QCjMA,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,K,M,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KC5BD,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAEiDA,KAAT,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,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,S,K,I,S,K,I,S,K,ICzQ4B,OAAA,KAAA,IAW5B,KAAA,MAKD,KALC,IAAA,IAAA,IAOA,MAKD,KALC,IAPA,IAcA,MAKD,KALC,IAdA,IAAA,MAX4B,MAgC5B,E,G,G,G,G,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,S,K,I,S,K,I,S,K,I,S,K,I,S,K,I,S,K,IC5B0C,OAAA,KAAA,IAuB1C,KAAA,MAKD,KALC,IAAA,IAAA,IAOA,MAKD,KALC,IAPA,IAcA,MAKD,KALC,IAdA,IAqBA,MAKD,KALC,IArBA,IA4BA,MAKD,KALC,IA5BA,IAmCA,MAKD,KALC,IAnCA,IAAA,MAvB0C,MAiE1C,E,G,G,K,M,M,S,M,S,MC7EH7D,I,GAAA,I,GAAA,KAAA,KA+EuC,SAAA,KA/EyD,MA+E3B,E,G,G,I,G,I,G,G,I,K,I,M,O,M,S,M,O,M,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,KCxErE,IAAA,KAAA,KAAA,IAA0D,SAAA,KAAA,IAAA,SAAA,KAAA,IAAA,SAAA,KAAA,IAUd+D,IAAAA,KAAAA,MAAT,OAAA,KAAA,IAsBhC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAIA,MAED,KAFC,IAJA,IAQA,MAED,KAFC,IARA,IAYA,MAED,KAFC,IAZA,IAAA,MAtBgC,MAuFX,OAAA,KAAA,IAAA,KAAA,MACtB,KADsB,IAAA,IAAA,IAGrB,MAED,KAFC,IAHqB,IAOrB,MAED,KAFC,IAPqB,IAWrB,MAED,KAFC,IAXqB,IAerB,MAED,KAFC,IAfqB,IAmBrB,MAED,KAFC,IAnBqB,IAuBrB,MAED,KAFC,IAvBqB,IAAA,MAAA,MA2BrB,E,G,G,G,G,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,S,K,I,S,K,I,S,K,I,S,K,ICxH0B,OAAA,KAAA,IAgB1B,KAAA,MAED,KAFC,IAAA,IAAA,IAIA,MAED,KAFC,IAJA,IAQA,MAED,KAFC,IARA,IAYA,MAED,KAFC,IAZA,IAgBA,MAED,KAFC,IA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,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,KCRnB,IAAA,KAEU,IAAA,OAEDmF,MAAK,KAAR,IAEJ,MADa,IAEQtB,MAAU,SAAA,KAAb,IACJA,MAAU,SAAA,KAAb,IACEA,MAAU,SAAA,KAAb,IACKA,MAAU,SAAA,KAAb,IACMA,MAAU,SAAA,KAAb,IACAA,MAAU,SAAA,KAAb,IACGA,MAAU,SAAA,KAAb,IACGA,MAAU,SAAA,KAAb,IACEA,MAAU,SAAA,KAAb,IACOA,MAAU,SAAA,KAAb,IACAA,MAAU,SAAA,KAAb,IACQA,MAAU,SAAA,KAAb,IACNA,MAAU,SAAA,KAAb,IACGA,MAAU,SAAA,KAAb,IACjBA,MAAU,SAAA,KACVA,MAAU,SAAA,KACiBA,MAAU,SAAA,KAAb,IACxBA,MAAU,SAAA,KACVA,MAAU,SAAA,KACsBA,MAAU,SAAA,KAAb,IACHA,MAAM,MAAT,IAQV7D,MAAM,KAAT,MAmBC,IA2KkB6D,MAAU,SAAA,KAAb,IAmDd,MACC,IACmB,IACX,IACA,IAyDA,KAAY,MACf,KADe,IAUd,KAVc,IAkBtB,KAlBsB,IAAA,IAsBnB,KAtBmB,IAA3B,MAgCqB,MAGV,KAHU,IASd,KATc,IAAH,MAeA,KAAH,Q,KAgBJ,KA2BkC,MAAC,MACpC,KADoC,IAAD,KAAxB,IAWH,QACH,QACD,QACN,IAAH,IACM,MAAA,IAAH,IAoEiB,MACf,KADe,IAIT,KAJS,IAAA,IAAH,IAgEX,IACE,IAWF,MACU,MACE,MADF,IAAA,IADV,IAQW,MACC,MADD,IAKV,QALU,IARX,IAeoB,MACR,MADQ,IAKnB,QALmB,IAfpB,IAsBS,MACG,MADH,IAAA,IAtBT,IA6BC,MAAA,IA7BD,IAiCA,MAAA,IAjCA,IAqCD,MAAA,IArCC,IAyCG,MAAA,IAzCH,IA6Cc,MAEb,IAFa,IA7Cd,IAiDC,MAAsD,IAAtD,IAjDD,IAkDE,MAAuD,IAAvD,IAlDF,IAmDK,MAEJ,IAFI,IAnDL,IAAH,IAkIa,MACR,KADQ,IAAA,IAKR,KALQ,IAiRZ,MACqB,KADrB,IAjRY,IAAH,IAuRN,IACC,EAAH,IAmEF,IAAH,IACkB,EAAH,IACE,EAAH,IAiBrB,IAAA,KAAA,MAAyD,MADjC,IAIxB,IAAA,KAAA,MAAyD,MADrC,IA8DLsB,MAAK,KAAU,KAAW,KAAC,YAAD,W,KAA7B,IAIO,IACwB,MAAA,IAEb,MAChB,EADgB,IAEb,KAFa,IAFa,IAgD/C,GAAA,MAAA,cAAA,SAAA,GAE2D,KAAA,QADzD,GAM4C,IAEV,KAAA,KADhC,GAEgB,OAFhB,IAKoB,IAAlB,GAK4C,MAV9C,EAMUC,UAEDkF,YAFM,KAAX,EASRC,GAA4D,I,K,KACpCxK,MAAG,OAAA,IAAA,IAAV,IACKA,MAAG,OAAA,IAAA,IAAV,IAOS,IAUV,IAoBW,EAAH,IA+CtB,IAAA,KAAA,MAAoD,MAAC,MACrC,KADqC,IAInC,KAJmC,IAAD,KAqCnB,KAAH,IAGX,IACG,KAAH,IASC,MAAuC,MAAC,MAChD,KADgD,IAAD,KAkHzC,EAAH,IACF,IACI,IACK,MAAH,IAqOkB,KAuDlC,IAvD8B,IAmErB,IACE,IAmBFwF,MAAI,MAAJA,GAAaA,MAAI,M,K,KAApB,IACDA,MAAI,MAAP,IACGA,MAAI,MAAP,OAKiB,UACP,IA+PW,MAAA,IAEM,KAFN,IAOU,KAPV,IActB,IAAA,KAAA,MAAyD,KADvC,OAER,IAiCQO,MAAH,IACDC,MAAH,IACQ,IACG,MAAA,IAAH,IAQR,IAAH,UACL,IAakB,EAAH,IAIe/F,MAAM,MAA5B,QAAkCA,MAAM,M,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,K,KAA3C,IACWwF,MAAO,OAAA,IAAA,IAAd,IAmBqB,KAAf,IACkB,KAAf,IACe,KAAf,IACoB,KAAf,IAsCX,IACE,IAAH,IACK,IACG,IAkFJ,IACH,IACG,IACI,IACV,IACY,IAyKC,IACC,IACR,IACU,IAyDd,IA+FiB,IAwJdxF,MAAM,KAAU,KAAnB,IAuBMoF,UAAK,KAAR,IAGQA,UAAK,KAAR,IAGM,MAAQ,KAAR,IAAH,IA6DR,IAgBF,IACK,IAusBwB,KAAxB,IACkB,KAAxB,IAC2B,KAAf,IACiB,KAAf,IAgBa,KAAf,IACf,IAiCuB,KAAf,IAwBR,IACY,IACd,IACO,IACU,IACc,IACP,IACf,IACP,IACQ,IA4Kc,KAAH,IA0yBN,MAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAH,IAmBY,MACH,MACW,MACX,MACE,MACD,MACN,MAAA,IAAA,IAGd,KAHc,IAAA,IAAA,IAYN,KAZM,IAqBV,KArBU,IAwBP,KAxBO,IA2BlB,KA3BkB,IA0Cf,KA1Ce,IAuEnB,KAvEmB,IA4EjB,KA5EiB,IAAA,IAoFT,KApFS,IAwFZ,KAxFY,IAoGL,KApGK,IA6HpB,KA7HoB,IAqIV,KArIU,IAAH,IA4IS,MACW,MACX,MACE,MACE,KAAH,MAoBN,MAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAYlB,KAZkB,IAAA,IAgBV,KAhBU,IAyBb,KAzBa,IAAA,IAAA,IAAH,IAsCY,MACH,MACW,MACX,MACE,MACE,KAAH,MAIL,MAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAYpB,KAZoB,IAAA,IAgBZ,KAhBY,IA2Bf,KA3Be,IAAA,IAAA,IAAH,IAwCY,MACH,MACW,MACX,MACE,MACE,KAAH,MAuBX,MACf,KADe,IAMT,KANS,IAiBL,KAjBK,IA6BN,KA7BM,IAAH,IAsIR,MAAf,QAEI,KAFJ,EACIK,MAFe,IAqQaL,UAAK,KAAR,IAGb,IA4fK,MAAH,IA85BU,KAAf,IACU,IACF,IA8KH,MAAhB,QAEI,KAFJ,EACIM,MAFgB,IAoBP,MAAA,IAAH,IAsBwC,MAAvB,KACN,KAAH,MAQS,KAAf,KA0tBY,KACD,KACQ,MAAf,QAA0CZ,MAA1C,EAAgCa,MAAnC,KACL,KACuB,KAqMrB,KACS,WA28BA,KAmLM,MACR,KADQ,IAAH,KAUS,KAAf,QAA0C5F,MAA1C,EAAgCyF,MAAnC,KACC,KACE,KACJ,KACe,KACA,KACJ,KACiB,KACV,KACO,KACnB,KACQ,KACE,KACW,KACZ,KACH,KACO,KACC,KACC,KACc,KACrB,eACM,KACT,KACa,KACZ,KACG,KACH,KACS,KACV,KACR,KACI,KAw1CkB,UACzC,OAQS,IAAA,KAAA,MAAiD,MAF1D,QAgCqB,KAAH,IAYFzF,MAAG,OAAA,IAAA,IAAV,KACwB,MAAA,IAAA,IASa,MAC1B,MAApB,QACgCmG,MAEJ,MAD1B,GAEyB,MAFzB,GAKgD,MAAA,KAAjC,IAGI,IACjB,EAAE,E,G,KAEiB,KAAH,MAQM,KAAH,MAee,KAAH,MASV,KAAH,MAuBa,MACH,KAAH,MAGZ,KAAH,MAsDmB,KAAH,MAcA,MACqB,KAAH,MAIjB,MAAoB,EApM3Cd,UAAK,KAAX,EATMA,UAEDoF,YAFM,KAAX,E,G,G,G,G,K,ICtwUW,MAAA,OAAAxK,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAIb,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAgE,IAAA,IAAA,KAAA,KAA+B,IAAA,KAAA,IAAA,QAAA,IAG7BO,KAAQ,SAARA,IAEW,IAAA,KAA0C,KAFrDA,EACW,IAAA,KAA4C,KAF1B,QAKrB,IAsIU,MAhGM,KAgGN,SACgB,MAErBqF,KAAiB,KAAC,MACpB,MADoB,IAKpB,MALoB,IASpB,MAToB,IAAD,KAApB,IAaT,MAEoC,E,KCtK1B5J,MAAA,SAAA,MAAA,SAAA,M,GAOS,I,GAAA,KAA2C,KAPpD,MAQH,E,G,G,I,G,G,I,K,I,K,ICRG,MAAA,OAAAA,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAGb,IAAA,KAAA,KACAgE,IAAA,IAAA,KAAA,KAA+B,IAAA,KAAA,IAYM,MAAd,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MACrB,KADqB,IAAA,IAAA,IAAA,MAYR4F,KAAiB,KAAC,MAO3B,EAP2B,IAAD,KAApB,IAQT,MAE6B,E,G,G,I,K,M,M,S,M,O,E,M,MCtChC5F,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEeyK,KAFuF,MAEnD,E,G,G,G,G,M,O,M,S,M,O,M,MCGnD,IAAA,KAAA,KAmCA,MAAA,MAAA,MAEgC,IAAA,KAAA,KAFhC,IAAA,IAAA,IAEgC,MAAA,IAFhC,IAAA,KAEgC,SAFhC,KAEgC,MAAA,MAAA,E,G,G,I,G,G,G,M,O,M,S,M,O,MCtChC,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,I,KAuDC,MAEoC,E,G,G,I,G,G,MC9DxBzK,MAAA,SAAA,MAAA,SAAA,MAkBkB,KAKF,MAEQ,E,G,KCvBxBA,MAAA,SAAA,MAAA,SAAA,M,GAKM0K,I,GAAAA,KAAAA,MAA6B,MAAjC,IAUyB,KAKtC,MAE4C,E,G,G,I,G,G,I,K,ICxBjC,MAAA,OAAA1K,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAUb,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAKA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAgE,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,KAAA,IA8QX,MAAC,KAAD,SA8NF,MAEH4F,KAAiB,KAAC,MACvBrF,KAAe,MAAC,MACjB,EADiB,IAEb,MAFa,IASb,MACUoG,IAAAA,KAAAA,SAAa,KADvB,IAGMA,IAAAA,KAAAA,SAAa,KAHnB,IATa,IAAD,KADQ,IAmB3B3K,MAAA,KAGCuE,KAAe,MAAC,MACZ,MADY,IAMR,MANQ,IAWR,MACAoG,IAAAA,KAAAA,SAAa,KADb,IAXQ,IAAD,KAHhB,MAAA,MAnB2B,IAyCfpG,KAAe,MAAC,MACzB,EADyB,IAErB,MAFqB,IAMrB,MACUoG,IAAAA,KAAAA,SAAa,KADvB,IAEMA,IAAAA,KAAAA,SAAa,KAFnB,IANqB,IAAD,KAzCA,IAoDjBpG,KAAe,MAAC,MACvB,MADuB,IAInB,MAJmB,IAQnB,MACAoG,IAAAA,KAAAA,SAAa,KADb,IARmB,IAAD,KApDE,IAkElB,MACMA,IAAAA,KAAAA,SAAa,KADnB,IAEEA,IAAAA,KAAAA,SAAa,KAFf,IAlEkB,IAuEhB,MACAA,IAAAA,KAAAA,SAAa,KADb,IAvEgB,IAAD,KAApB,IA2ET,MAEkB,E,G,G,I,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,IC1kBrB3G,IAAA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAEAA,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,KAAA,IAAA,QAAA,IAoBX,MAClB,KADkB,SA+VJ,MAsJI,MAAC,KAAD,KAAnB,IAyBmB,MAAC,KAAD,KAAnB,IAgBiC,MAAH,IAQa,MAAH,IAKvC,MAEiB,E,G,G,G,G,K,I,M,O,M,S,M,O,K,M,K,M,K,MC5kBnB,IAAA,KAAA,KACA,IAAA,KAAA,KAEAA,IAAA,IAAA,KAAA,KAA+B,IAAA,KAqE9B,E,G,G,G,G,M,O,M,S,M,O,K,MC1ED,IAAA,KAAA,KAAA,IAIA,IAAA,KAAA,IA6CC,E,G,G,I,G,G,M,K,I,K,I,I,O,M,S,M,O,M,I,K,K,I,I,K,KCxCD,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAGA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IAwKoBhE,MAAa,MAAC,MACjB,MADiB,IAUH,MAVG,IAmBF,MAnBE,IA4BL,MA5BK,IAqCJ,MArCI,IA8CA,MA9CA,IAuDC,MAvDD,IAgEzB,MAhEyB,IAAD,KAAhB,IA2EM,KAAH,IAIO,KAAH,IAIA,KAAH,IAKI,KAAH,UAGW,IACE,MAAH,OAMA,OAGC,IAwGA,OAAA,KAAA,IA0B9B,KAAA,MAED,KAFC,IAAA,IAAA,IAIA,MAKD,KALC,IAJA,IAmBA,MAKD,KALC,IAnBA,IA6BA,MAMD,KANC,IA7BA,IAmUA,MAMD,KANC,IAnUA,IAyWA,MAID,KAJC,IAzWA,IA+WA,MAMD,KANC,IA/WA,IAsbA,MAED,KAFC,IAtbA,IAgcA,MAED,KAFC,IAhcA,IA4dA,MAED,KAFC,IA5dA,IAweA,MAqBD,KArBC,IAxeA,IAyiBA,MAED,KAFC,IAziBA,IAkjBA,MAED,KAFC,IAljBA,IAyjBA,MAED,KAFC,IAzjBA,IAgkBA,MAED,KAFC,IAhkBA,IAukBA,MAED,KAFC,IAvkBA,IA8kBA,MAED,KAFC,IA9kBA,IAqlBA,MAtjBD,KAsjBC,IAAA,IAAA,IArlBA,OA1B8B,MA0nBF,KAAH,IA0D3B,E,G,G,G,G,M,O,M,S,M,O,MC3jCD,IAAA,KAAA,KAAA,IAEqB,MACH,KADG,IAMnB,MAEyB,E,G,G,I,K,M,M,S,M,O,E,M,MCV3BgE,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEe4K,KAFkE,MAEhD,E,G,G,K,M,M,S,M,S,MCAjC5G,I,GAAA,I,GAAA,KAAA,KASuC,SAAA,KATsD,MAShC,E,K,M,S,M,S,MCIf,MAChB,KADgB,IAEG,KAFH,IAG5C,MAEoC,E,G,G,G,G,M,O,M,S,M,O,M,I,K,K,I,I,K,KCXG,OAAA,KAAA,IAGvB,KAAA,MAEhB,KAFgB,IAAA,IAAA,IAIf,MAED,KAFC,IAJe,IAWf,MAED,KAFC,IAXe,IAAA,MAwBuB,OAAA,IAAA,IAAG,MAEe,E,G,G,G,G,M,O,M,S,M,O,K,MCtC3D,IAAA,KAAA,OAEa,IAITO,KAAQ,SAAZ,IAuCWA,KAAQ,SAAZ,SACI,IADJ,KAtCasG,MAChB,WAAA,QACElL,MAAM,MADR,GAGEA,MAAM,MAAS,MAJM,KAOzB,SAS0B,MACF,IASD,KAOrBmL,MAAyB,YAAA,OACzBA,MAAyB,UAAA,OACzBA,MAAyB,UAhBL,KAgBK,OAU5B,E,K,M,S,M,S,K,M,K,MCrCA,E,G,G,I,G,G,I,M,O,M,S,M,O,M,MCTD,IAAA,KAAA,KACA,IAAA,KAAA,KAauB,MACJ,MADI,IAqBH,MACD,MADC,IAIK,MAJL,IArBG,IAAH,IAgCU,MACX,MADW,IAAH,IAUxBC,SAA2C,KAAZ,MADqB,M,GAM9C,MAAP,GAA0BC,KAA8B,UAAA,KAAxD,GAEKD,SAAkD,KAAnB,MAHwB,MAKhD,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCpEd,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAIA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA/G,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,KAAA,IAmKW,MAAd,OAAA,KAAA,IAWzB,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAoEA,MAED,KAFC,IApEA,IAgFA,MAED,KAFC,IAhFA,IA0FA,MAED,KAFC,IA1FA,IA0GA,MAED,KAFC,IA1GA,IAmHA,MAED,KAFC,IAnHA,IAuNA,MAED,KAFC,IAvNA,IA4NA,MAED,KAFC,IA5NA,IAgOA,MAED,KAFC,IAhOA,IAAA,MAXyB,IAyPR,MAAC,KAAD,SAIU,MAAwB,MAErB,E,K,KCnbnB,MAAoC,OAAmB,MAAe,KAA4B,KAAT,MAAkB,E,G,G,G,G,K,I,K,ICO5G,MAAA,OAAAhE,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAcb,IAAA,KAAA,KAAA,IACAgE,IAAA,IAAA,KAAA,KAA+B,IAAA,KAAA,IAQhB,MADyB,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAItC,KAJsC,IAAA,IAAA,IAMrC,MAED,KAFC,IANqC,IAUrC,MAED,KAFC,IAVqC,IAcrC,MAED,KAFC,IAdqC,IAkBrC,MAED,KAFC,IAlBqC,IAsBrC,MAED,KAFC,IAtBqC,IA0BrC,MAED,KAFC,IA1BqC,IA8BrC,MAED,KAFC,IA9BqC,IAsCrC,MAGD,KAHC,IAtCqC,IAAA,MAAA,MACf,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCdzBA,IAAA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAA0B,IAAA,KAAA,IAAA,QAAA,IAOFiH,KAAgB,MAAnB,IACOA,KAAgB,MAAnB,IAsRWC,KAAK,MAA3B,OAAA,KAAA,IAkJX,KAAA,MAAA,KAAA,MA9ID,KA8IC,IAAA,IAAA,IA1IA,MAUD,KAVC,IA0IA,IAtHA,MAQD,KARC,IAsHA,IApGA,MAOD,KAPC,IAoGA,IAzFA,MAOD,KAPC,IAyFA,IA9EA,MAOD,KAPC,IA8EA,IAnEA,MAKD,KALC,IAmEA,IA1DA,MAKD,KALC,IA0DA,IA7CA,MAED,KAFC,IA6CA,IAvCA,MAED,KAFC,IAuCA,IAjCA,MAoCD,KApCC,IAiCA,IAyBA,MAUD,KAVC,IAzBA,IAgEA,MA2DD,KA3DC,IAhEA,IAmIA,MAED,KAFC,IAnIA,IAiKA,MA4DD,KA5DC,IAjKA,IAAA,MAgQY,IAAA,KAAA,KAAiB,KAAC,MAC1B,MAD0B,IAAD,KAApB,IAET,MAEoB,E,G,G,I,G,G,MClsBVlL,MAAA,SAAA,MAAA,SAAA,MA6BE,MACbmL,IAAAA,KAAAA,MADa,QAAA,KAAA,UAAA,KAAA,UAAA,KAAA,UAAA,KAAA,UAAA,KAAA,MA7BF,MAgDZ,E,G,G,G,G,K,M,K,IChDY,IAAA,OAAAnL,MAAA,SAAA,MAAA,O,KAAA,MAAA,M,KAAA,M,KAAA,MAAA,IAAA,KAAA,KAAA,IAMbgE,IAAA,IAAA,KAAA,KAAA,IAgPC,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCtOD,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAkBA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAA,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,IAQsB,IAAA,KAAA,IAAA,QAAA,cAIO,MAET,QACiB,IAsDPoH,KAAT,OAAA,KAAA,IAuSlB,KAAA,MAAA,KAAA,MAhSD,KAgSC,IAAA,IAAA,IA/QA,MAGD,KAHC,IA+QA,IApNA,MAID,KAJC,IAoNA,IAhMA,MAYD,KAZC,IAgMA,IAtJA,MAED,KAFC,IAsJA,IAzIA,MAED,KAFC,IAyIA,IA/HA,MAED,KAFC,IA+HA,IAvHA,MAOD,KAPC,IAuHA,IA5GA,MAED,KAFC,IA4GA,IApGA,MAED,KAFC,IAoGA,IA1FA,MAED,KAFC,IA0FA,IApFA,MAED,KAFC,IAoFA,IAhFA,MAOD,KAPC,IAgFA,IAvEA,MAyED,KAzEC,IAuEA,IAgDA,MAuHD,KAvHC,IAhDA,IAiPA,MAED,KAFC,IAjPA,IAiQA,MAED,KAFC,IAjQA,IA0QA,MAED,KAFC,IA1QA,IAqRA,MAqED,KArEC,IArRA,IA0ZA,MA8BD,KA9BC,IA1ZA,IA8bA,MA2BD,KA3BC,IA9bA,IAwuBA,MAED,KAFC,IAxuBA,IAwwBA,MA+CD,KA/CC,IAxwBA,IA6zBA,MA2ED,KA3EC,IA7zBA,IA44BA,MAED,KAFC,IA54BA,IA+7BA,MAqBD,KArBC,IA/7BA,IAs9BA,MAYD,KAZC,IAt9BA,IA+hCA,MAED,KAFC,IA/hCA,IA2iCA,MAED,KAFC,IA3iCA,IA+iCA,MAED,KAFC,IA/iCA,IAsjCA,MAED,KAFC,IAtjCA,IA+oCA,MAsBD,KAtBC,IA/oCA,IA+rCA,MAyBD,KAzBC,IA/rCA,IA0tCA,MA4ED,KA5EC,IA1tCA,IAkzCA,MAED,KAFC,IAlzCA,IAm1CA,MAED,KAFC,IAn1CA,IA03CA,MAED,KAFC,IA13CA,IA83CA,MAaD,KAbC,IA93CA,IA64CA,MAcD,KAdC,IA74CA,IA65CA,MASD,KATC,IA75CA,IAw6CA,MAsDD,KAtDC,IAx6CA,IAg+CA,MA+DD,KA/DC,IAh+CA,IAmjDA,MAjgDD,KAigDC,IAAA,IAAA,IA9+CA,MAED,KAFC,IA8+CA,IAj+CA,MAED,KAFC,IAi+CA,IAr7CA,MAED,KAFC,IAq7CA,IA95CA,MAED,KAFC,IA85CA,IA94CA,MAkHD,KAlHC,IA84CA,IA3tCA,MAoED,KApEC,IA2tCA,IApoCA,MAoBD,KApBC,IAooCA,IAnjDA,OAnSmDC,IAAAA,KAAAA,MAAlC,MAy1DLzB,MAAiB,KAE5BrF,KAAQ,SAARA,IAEI,MAAY,IAAC,MAAD,IAAZ,IAFJA,EACI,MAAY,IAAC,MAAD,IAAZ,OAHyB,MAAA,IAKT,MACT,IAAC,MAAD,IADS,IALS,IAQxB,MARwB,IAWb,MAXa,IAgBjB,MAhBiB,IAsBZ,MAtBY,IA0BR,MA1BQ,IA+BT,MA/BS,IAAD,KAApB,IAoCT,MAE2B,E,KCr/DjBvE,MAAA,SAAA,MAAA,SAAA,M,KAUZ,MAEmB,E,KCZPA,MAAA,SAAA,MAAA,SAAA,M,KAOZ,MAEqB,E,G,G,G,G,M,O,M,S,M,O,M,I,K,K,I,I,K,KCTtB,IAAA,KAAA,KAAA,IAEwC,OAAA,KAAA,IAEY,KAAA,MAElD,KAFkD,IAAA,IAAA,IAajD,MAED,KAFC,IAbiD,IA2BjD,MAED,KAFC,IA3BiD,IAmCjD,MAED,KAFC,IAnCiD,IA0CjD,MAED,KAFC,IA1CiD,IAoDjD,MAED,KAFC,IApDiD,IAAA,MAFZ,MA0DrC,E,G,G,I,G,G,GC5DU,MAAA,OAAAA,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAIb,IAAA,KAAA,KAIU,KAAA,KAAA,IAAA,KAAA,IAe8B,IAAH,OAClB,MACJ,IAUK,OAAA,KAAA,IAmCjB,KAAA,MAED,KAFC,IAAA,IAAA,IAOA,MAED,KAFC,IAPA,IAmDA,MAED,KAFC,IAnDA,IAwJA,MAED,KAFC,IAxJA,IA4JA,MAED,KAFC,IA5JA,IAmKA,MA9LD,KA8LC,IAAA,IAAA,IAjLA,MAED,KAFC,IAiLA,IA7KA,MAED,KAFC,IA6KA,IAnKA,OANA,MA4K0B,E,G,G,I,G,G,I,M,O,M,S,M,O,M,I,K,K,I,I,K,KCxO7B,IAAA,KAAA,KAAA,IA4C0C,OAAA,KAAA,IAUvC,KAAA,MAOD,KAPC,IAAA,IAAA,IAiDA,MAKD,KALC,IAjDA,IA2DA,MAKD,KALC,IA3DA,IAyEA,MAKD,KALC,IAzEA,IAgFA,MAMD,KANC,IAhFA,IAwFA,MAOD,KAPC,IAxFA,IAyIA,MAKD,KALC,IAzIA,IAoKA,MAMD,KANC,IApKA,IAkLA,MAKD,KALC,IAlLA,IAyLA,MAKD,KALC,IAzLA,IAgMA,MAMD,KANC,IAhMA,IAyNA,MAKD,KALC,IAzNA,IA0OA,MAED,KAFC,IA1OA,IAyPA,MAED,KAFC,IAzPA,IAgQA,MAED,KAFC,IAhQA,IAAA,MAVuC,MA8QvC,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,K,I,I,K,KC9TH,IAAA,KAAA,KAAA,IACAgE,IAAA,IAAA,KAAA,KAce,MAH4B,OAAA,KAAA,IASxC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAsBA,MAED,KAFC,IAtBA,IAAA,MATwC,MAGd,E,G,G,I,G,G,ICfhB,MAAA,OAAAhE,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAIb,IAAA,KAAA,KAmEuB,OAAA,KAAA,IAWpB,KAAA,MAKD,KALC,IAAA,IAAA,IAUA,MAKD,KALC,IAVA,IAgFA,MAMD,KANC,IAhFA,IAgKA,MAKD,KALC,IAhKA,IAuKA,MAKD,KALC,IAvKA,IA8KA,MAED,KAFC,IA9KA,IAAA,MAiQF,MAE+B,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KC7UhC,IAAA,KAAA,KAAA,IACAgE,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,IAA8C,IAAA,KAAA,IAuCQ,MAArB,OAAA,KAAA,IA0E9B,KAAA,MAAA,KAAA,MApBD,KAoBC,IAAA,IAAA,IAhBA,MAED,KAFC,IAgBA,IAZA,MAcD,KAdC,IAYA,IAqCA,MAED,KAFC,IArCA,IAuGA,MAtKD,KAsKC,IAAA,IAAA,IAvGA,OA1E8B,MAoLlB4F,MAAiB,KAAC,MAC1B,MAD0B,IAInB,MAJmB,IAOhB,MAPgB,IAAD,KAApB,IAUT,E,G,G,G,G,K,M,M,S,M,O,K,Q,M,K,M,K,MC7OH5F,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,KAAA,IAyBV,QAAA,KADuC,MAAA,IA6E3D,E,G,G,K,M,M,S,M,S,K,M,K,M,K,M,K,M,K,M,K,MC5FDA,I,GAAA,I,GAAA,KAAA,KAuTC,E,G,G,G,G,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,I,K,KClUD,IAAA,KAAA,KAAA,IAQ2B,OAAA,KAAA,IAuBxB,KAAA,MAED,KAFC,IAAA,IAAA,IAIA,MAED,KAFC,IAJA,IA2EA,MAED,KAFC,IA3EA,IA+EA,MAED,KAFC,IA/EA,IA4FA,MAED,KAFC,IA5FA,IAAA,MAvBwB,MAuIxB,E,G,G,I,G,G,I,K,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KC7IH,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACAA,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,KAAA,IAAA,QAAA,IA2GhB,MAFa,OAAA,KAAA,IA4UzB,KAAA,MAAA,KAAA,MAzUD,KAyUC,IAAA,IAAA,IAlTA,MAED,KAFC,IAkTA,IA9SA,MAED,KAFC,IA8SA,IA1PA,MAED,KAFC,IA0PA,IA9NA,MAQD,KARC,IA8NA,IAhKA,MAmID,KAnIC,IAgKA,IAAA,MAkJF,MAEoC,E,G,K,MCtlBrBsH,MAAM,MAANA,KACZ,K,G,KADS,IAgDC,QAAc,E,G,G,I,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,IClC5B,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAOA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACAtH,IAAA,IAAA,KAAA,KAA+B,IAAA,KAAA,IAAA,QAAA,IA+EmB,MAAC,KAAD,KAsHlBuH,IAAAA,KAAAA,MAAmC,SACnE,IACqC,K,K,K,K,K,SAMpB,MAQJ,MASW,MASV,MASY,MAQV,MAQWC,KAAH,MAET5B,KAAiB,KAAC,MACzB,MADyB,IAAD,KAApB,IAIT,MAEiB,E,G,G,K,M,M,S,M,S,MC5RpB5F,I,GAAA,I,GAAA,KAAA,KAKqB,QAAA,KAAoB,MAMnB,E,G,G,G,G,K,I,M,O,M,S,M,O,M,M,MCEtBA,IAAA,IAAA,KAAA,KAEA,IAAA,KAAA,KACA,IAAA,KAAA,KA6BwC2C,KAAsC,MACzD,QADyD,IAAjB,KAAxB,MAKnCpC,KAAQ,SAARA,OAwDI,MAEsB,EAFtB,IAGoB,MACF,MADE,IAIH,MAJG,IAON,MAPM,IAUA,MAVA,IAaP,MAbO,IAgBJ,MAhBI,IAHpB,IAuBiBvE,MAAA,KAAA,MAEF,MACI,IAAA,KAAoC,KADxC,IAFE,IAKE,MACG,IAAA,KAAwB,KAD3B,IALF,IAWF,MACO,IAAA,KAA8B,KADrC,IAXE,IAcVyL,IAAAA,KAAAA,MAAkC,MAAD,KAdvB,MAvBjB,IAxDJlH,KACI,MAEsB,EAFtB,IAGoB,MACF,MADE,IAIH,MAJG,IAON,MAPM,IAUP,MAVO,IAaJ,MAbI,IAHpB,IAoBmB,MAOJ,MACO,IAAA,KAA8B,KADrC,IAPI,IAqBD,MACI,IAAA,KAA8B,KADlC,IArBC,IAwBF,MACK,IAAA,KAA8B,KADnC,IAxBE,IApBnB,OAFgD,MAAA,IA0GzB,SAEzB,KAFyB,MAGzB,MAEmC,E,G,G,I,K,M,M,S,M,O,E,M,MChKvCP,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEe0L,KAFiE,MAE7C,E,G,G,K,M,M,S,M,S,MCCnC1H,I,GAAA,I,GAAA,KAAA,KAuBgD,UAAA,KAvB6C,MAuBxB,E,G,G,G,GC1BxD,MAAA,OAAAhE,MAAA,SAAA,MAAA,O,KAAA,MAAA,IAAA,KAAA,KAAA,IAKb,IAAA,KAAA,KAAA,IAgEC,E,G,K,M,S,M,O,K,MCnEiD,MAAH,MAY9C,E,G,G,G,G,K,I,M,O,M,S,M,O,K,M,K,M,K,M,K,M,K,MCRD,IAAA,KAAA,KAAA,IACAgE,IAAA,IAAA,KAAA,KAAA,IAwBmCc,MAAG,OAAA,IAAA,IAAV,IA6C3B,E,G,G,G,G,K,I,M,O,M,S,M,O,K,MC5ED,IAAA,KAAA,KAAA,IACAd,IAAA,IAAA,KAAA,KAAA,IA+CC,E,G,K,M,S,M,O,K,M,GChDD,M,GAAA,KAAA,IAkCC,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KC/BD,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAA,IAAA,IAAA,KAAA,KAA+B,IAAA,KAAA,IAAA,QAAA,IA0BI,MAAd,OAAA,KAAA,IAalB,KAAA,MAAA,KAAA,MAZD,KAYC,IAAA,IAAA,IANA,MAQD,KARC,IAMA,IAAA,MAb0C,MA8Df,E,G,G,G,G,K,I,M,O,M,S,M,O,MC/F9B,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAIA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAA,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,KAAA,IAiGhB4F,KAAiB,KAAC,MACpB,MADoB,IAIjB,MAJiB,IAAD,KAApB,IA1B6D,KAiCtE,MAE8B,E,G,G,G,G,K,I,M,O,M,S,M,O,MChHjC,IAAA,KAAA,KACA,IAAA,KAAA,KACA5F,IAAA,IAAA,KAAA,KAcIO,KAAe,MAAC,MACN,IAAA,KAAoC,KAD9B,IAEToH,KAFS,IAAD,KAGhB,MAEoB,E,G,G,I,K,M,M,S,M,O,E,M,MCvBvB3H,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEe4L,KAFiF,MAEnD,E,G,G,G,G,M,O,M,S,M,O,M,MCC7C,IAAA,KAAA,KAQA,MAAA,EAAA,IAGgC,MAAA,IAHhC,IAAA,KAGgC,SAHhC,KAGgC,MAAA,MAAA,E,G,G,G,G,M,O,M,S,M,O,K,M,I,K,K,ICdhC,IAAA,KAAA,KAAA,IAKA,IAAA,KAAA,IA+BC,E,G,G,I,K,M,M,S,M,O,E,M,MCpCD5H,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEe6L,KAFuF,MAEnD,E,G,G,G,G,M,O,M,S,M,O,M,MCEnD,IAAA,KAAA,KAOA,MAAA,MAAA,MAIgC,IAAA,KAAA,KAJhC,IAAA,IAAA,IAIgC,MAAA,IAJhC,IAAA,KAIgC,SAJhC,KAIgC,MAAA,MAAA,E,G,G,G,G,G,K,I,M,O,M,S,M,O,MCdhC,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA7H,IAAA,IAAA,KAAA,KAA+B,IAAA,KAAA,MAgBI,MAAA,GAAA,M,KAuBnB8H,I,KAFf,MAMclC,KAAiB,KAAC,MACpB,MADoB,IAAD,KAApB,IAIT,E,G,G,K,M,M,S,M,S,MC/CH5F,I,GAAA,I,GAAA,KAAA,KAQ6B,SAA6B,KAA7B,MAKvB,MAEyC,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCV/C,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAA,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,KAAA,IAAA,QAAA,IAoCS,MAAd,OAAA,KAAA,IAevB,KAAA,MAAA,KAAA,MAAA,OAAA,IAAA,KAED,KAFC,KAAA,IAAA,KAAA,IAAA,IAAA,IAE4B,MAsG7B,KAtG6B,IAF5B,IA6GA,MAED,KAFC,IA7GA,IAsIA,MAED,KAFC,IAtIA,IA4IA,MAED,KAFC,IA5IA,IAAA,MAf+C,MA0Of,E,G,G,I,G,I,G,G,I,K,I,KC7RtB,MAAA,OAAAhE,MAAA,SAAA,MAAA,OAAA,MAQbgE,IAAA,IAAA,KAAA,KAEA,IAAA,KAAA,KAAA,IAyBkD,MAAA,IADb,IAsFrB,MARP,MAEG,MAFH,IAGG,MAHH,IAIG,MAJH,IAQO,IARP,MAEG,MAFH,IAGG,MAHH,IAIG,MAJH,IAQO,IAOL,MAEC,MAFD,IAMC,MAND,IAUC,MAVD,IAPK,IAkCQ,MAAA,I,KAAA,IAmBfhE,MAAa,MAAC,MAAD,KAnBE,IA2BVA,MAAa,MAAC,MAAD,KA3BH,IAiCX,KAjCW,IAAA,IAqCY,KAAc,QAAd,MArCZ,IAwCK,KAAc,MAAd,MAxCL,IA2CK,KAAc,MAAd,MA3CL,I,KAAA,IA+CtB,MAE4B,E,G,G,G,G,M,O,M,S,M,O,M,I,K,K,I,I,K,KCzM9B,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAyFc,OAAA,KAAA,IAiBX,KAAA,MA0BD,KA1BC,IAAA,IAAA,IAgCA,MAOD,KAPC,IAhCA,IAyCA,MAKD,KALC,IAzCA,IAgDA,MAKD,KALC,IAhDA,IAuDA,MAKD,KALC,IAvDA,IA8DA,MAMD,KANC,IA9DA,IAAA,MAkFyB,OAAA,IAAA,IAHzB,MAG2B,E,G,G,I,G,G,MChMjBA,MAAA,SAAA,MAAA,SAAA,M,KAOZ,MAE6B,E,G,G,I,K,M,M,S,M,O,E,M,MCX9BgE,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEe+L,KAFsE,MAEhD,E,G,G,K,M,M,S,M,S,MCArC/H,I,GAAA,I,GAAA,KAAA,KAOuC,SAAA,KAPsD,MAO5B,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCLjE,IAAA,KAAA,KAGA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAA0B,IAAA,KAAA,IAWxBiH,KAAgB,MADkB,IASlCe,OAAAA,MAAAA,GACQ3H,KAKE2H,KALgB,OAAA,IAAA,IAHL,MAsBE,IAmJLd,KAAK,MAAd,OAAA,KAAA,IAoBR,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAgBA,MAED,KAFC,IAhBA,IAsBA,MAED,KAFC,IAtBA,IAgCA,MAGD,KAHC,IAhCA,IA0CA,MAED,KAFC,IA1CA,IAuHA,MAGD,KAHC,IAvHA,IAAA,MAnBuE,MAArD,MAKD,IAAA,KAAA,MAAA,MA6IP,IAAA,KAAA,KAAwB,MAAA,IAAE,UAA1B9E,OACE,IAAA,KAAA,KAAiB,KAAC,MACxB,MADwB,IAItB,KAAA,KAAA,KAAA,EAAA,WAAA,cAAA,OAJsB,IAAD,KAApB,IAmBR6F,KAAc,MAAjB,OAA0C,MAEf,E,K,M,S,M,S,MC5Wb,M,MAEd,E,G,G,I,K,M,M,S,M,O,E,M,MCJDjI,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEegM,KAF+D,MAE7C,E,G,G,K,M,M,S,M,S,MCAjChI,I,GAAA,I,GAAA,KAAA,KAQuC,SAAA,KARsD,MAQhC,E,G,G,I,K,M,M,S,M,O,E,M,MCV7DA,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEekM,KAF+E,MAEhD,E,G,G,G,G,M,O,M,S,M,O,M,MCM9C,IAAA,KAAA,KAqIA,MAAA,MAAA,MAAA,IAAA,MAAA,IAAA,MAAA,IAAA,MAAA,IAAA,IAGgClM,MAAA,KAHhC,IAAA,KAAA,MAAA,MAAA,KAGgC,MAAA,MAHhC,IAGgC,MAAA,IAHhC,IAAA,KAGgC,SAHhC,KAGgC,MAAA,MAAA,E,G,G,I,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCxHhC,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAgE,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAA,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,KAAA,IAAA,QAAA,OAmmBY,IAyCb,MAAd,OAAA,KAAA,IAUb,KAAA,MAAA,KAAA,MAoCD,KApCC,IAAA,IAAA,IAqEA,MAED,KAFC,IArEA,IAmFA,MAED,KAFC,IAnFA,IAsGA,MAuLD,KAvLC,IAtGA,IA+RA,MAqDD,KArDC,IA/RA,IA2VA,MAED,KAFC,IA3VA,IA4WA,MAED,KAFC,IA5WA,IAuXA,MAED,KAFC,IAvXA,IAqZA,MAgfD,KAhfC,IArZA,IAAA,MAVa,IAC6BmI,KAA7B,MAknCDvC,KAAiB,KAAC,MACjB,MADiB,IAOf,MAPe,IAaH,MAbG,IAAD,KAApB,IAiEQ,MAAC,KAAD,SAUD,MAEDuC,KAAH,MAAqB,MAEZ,E,G,G,I,G,G,ICz3DX,MAAA,OAAAnM,MAAA,SAAA,MAAA,OAAA,MAab,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAmD0B,KAAH,IAcC,KAAH,IAkDN,KAAH,IAqDG,KAAH,IAsDE,KAAH,IA0CM,KAAH,IA+DG,KAAH,IAoEA,KAAH,IAgJI,MAONoM,KAPM,IAaJC,KAbI,IAiBNC,KAjBM,IAuBEC,KAvBF,IA8BPC,KA9BO,IAAA,IAAA,IAAA,IAhhBH,KAghBG,IAzgBE,KAygBF,IAlgBA,KAkgBA,IA3fE,KA2fF,IApfA,KAofA,IAhfG,KAgfH,IAAA,IAAA,IAAA,IAtIC,KAsID,IArHF,KAqHE,IAnCD,KAmCC,IAyJbC,KAzJa,IAiKbC,IAAAA,KAAAA,MAjKa,I,KAAA,I,KAAA,IA+KNC,IAAAA,KAAAA,MA/KM,IAzBb,MAyMD,E,G,G,I,G,G,G,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,K,I,I,K,KCnuBD,IAAA,KAAA,KAsB4CC,KAAT,OAAA,KAAA,IAgBhC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAkBA,MAED,KAFC,IAlBA,IAsCA,MAED,KAFC,IAtCA,IA4DA,MAED,KAFC,IA5DA,IAAA,MAhBgC,MAAkB,E,G,G,G,G,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,KCtBrD,IAAA,KAAA,KAAA,IACA5I,IAAA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,OAgB8B,IAAK,SAAA,KAAA,IAAA,SAAA,KAAA,IAAA,SAAA,KAAA,IAKL,OAAA,KAAA,IAqB3B,KAAA,MAED,KAFC,IAAA,IAAA,IAmBA,MAED,KAFC,IAnBA,IAmCA,MAED,KAFC,IAnCA,IA4CA,MAED,KAFC,IA5CA,IA2DA,MAED,KAFC,IA3DA,IA8GA,MAMD,KANC,IA9GA,IA0HA,MAED,KAFC,IA1HA,IAAA,MArB2B,MAsJ3B,E,G,G,G,G,K,I,M,O,M,S,M,O,MCtKH,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAA,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAIE6I,OAAAA,IAAgCC,KAAhCD,EAAAA,KAD0D,OAG5B,IACJ,IAIS/H,MAAG,OAAA,IAAA,IAAV,MACX,IACY,IAAH,IACM,IAAH,IAG7BP,KAAQ,SAARA,IAAAA,GACAwI,MAAAA,GAAoB,MAApB,IADAxI,GAEiD,MAAA,IAC5B,IAInB,EAAH,IAGG,EAAH,IACyD,IACS,IAG7C,QAyBhB,EAEmC,OAASyI,IADhD,OAYE,GADK,OAE2B,IAAd,IACe,KAAH,WAF9B,UAXA,GADsB,OAEU,QACb,IACc,KAAH,WAH9B,IAgCkB,IAOTC,GASP,KATOA,EACP,KAFM,MAAA,IAca,KAdb,IA6Be,KA7Bf,IAsCE,KAtCF,IAkDGA,GAsBT,KAtBSA,EACT,KAnDM,IAiGQ,KAjGR,IAqGc,KArGd,IAyGuB,KAzGvB,IA6GsB,KA7GtB,IAiHU,KAjHV,IAqHa,KArHb,IAyHWA,GASjB,KATiBA,EACjB,K,K,K,K,K,KA1HM,IA2IG,KA3IH,IA+IU,KA/IV,IAmJW,KAnJX,IAuJe,KAvJf,IA2Je,KA3Jf,IA+Je,KA/Jf,IAmKoB,KAnKpB,IAuKU,KAvKV,IA2KM,KA3KN,IA+KY,KA/KZ,IAuLiB,KAvLjB,IAAH,IAqPuB,IAiDjB,MAAA,IAAA,IAAA,IAAA,IAAA,IAAA,QAAA,KAAA,MAFd,MAsBA,E,G,G,I,K,M,M,S,M,O,E,M,MC7aDjJ,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEe+M,KAFiE,MAE7C,E,G,G,G,G,K,I,M,O,M,S,M,O,MCAnC,IAAA,KAAA,KACA/I,IAAA,IAAA,KAAA,KA4D6BkJ,KAA4B,MAA7B,GACD,SAAA,KAClB,MACkB,E,G,G,I,G,G,G,M,O,M,S,M,O,MClE3B,IAAA,KAAA,KAAA,I,KAIC,MAE0C,E,G,G,I,K,M,M,S,M,O,E,M,MCN3ClJ,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEe8M,KAFsE,MAE7C,E,G,G,G,G,K,I,M,O,M,S,M,O,MCAxC,IAAA,KAAA,KACA9I,IAAA,IAAA,KAAA,KA4D4BkJ,KAA4B,MAA5B,GACD,SAAA,KAClB,MAEkB,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,KC/D3B,IAAA,KAAA,KAAA,IAGA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAsDC,SAAA,KAAA,IAAA,SAAA,KAAA,IAAA,SAAA,KAAA,IAAA,SAAA,KAAA,IAAA,SAAA,KAAA,IAE0CV,KAAT,OAAA,KAAA,IAmB/B,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAoBA,MAOD,KAPC,IApBA,IA6CA,MAED,KAFC,IA7CA,IA2DA,MAED,KAFC,IA3DA,IAoEA,MAED,KAFC,IApEA,IAmFA,MAED,KAFC,IAnFA,IAuFA,MAED,KAFC,IAvFA,IA4GA,MAED,KAFC,IA5GA,IAsHA,MAED,KAFC,IAtHA,IAsIA,MAED,KAFC,IAtIA,IAsJA,MAED,KAFC,IAtJA,IAgKA,MAED,KAFC,IAhKA,IAAA,MAnB+B,MA6MdxM,MAAM,KAAU,KAAnB,IAGfA,MAAM,QAFsD,IAE1C,KAF0C,IAEE,E,G,G,G,G,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,KChRhE,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,OAQa,IACkC,KAAH,IAK1C,SAAA,KAAA,IAE+B,OAAA,KAAA,IAc9B,KAAA,MAED,KAFC,IAAA,IAAA,IAEkB,MACnB,KADmB,IAFlB,IASA,MACD,KADC,IATA,IAUmB,MACpB,KADoB,IAVnB,IAaA,MACD,KADC,IAbA,IAciC,MAClC,KADkC,IAdjC,IAeoC,MACrC,KADqC,IAfpC,IAkBA,MAMD,KANC,IAlBA,IAgCA,MASD,KATC,IAhCA,IA6CA,MAQD,KARC,IA7CA,IAuDA,MAOD,KAPC,IAvDA,IAgEA,MAED,KAFC,IAhEA,IAoEA,MAED,KAFC,IApEA,IAwEA,MAED,KAFC,IAxEA,IA+EA,MAED,KAFC,IA/EA,IAuGA,MAED,KAFC,IAvGA,IA6GA,MAED,KAFC,IA7GA,IAiHA,MAED,KAFC,IAjHA,IAqHA,MAMD,KANC,IArHA,IA6HA,MAID,KAJC,IA7HA,IAAA,MAd8B,MAoJ9B,E,G,G,G,G,K,I,K,I,K,I,K,ICtKU,MAAA,OAAAA,MAAA,SAAA,MAAA,OAAA,M,KAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAKb,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACAgE,IAAA,IAAA,KAAA,KAAA,OAEe,IA8Dd,SAAA,KAAA,IAE2CmJ,KAAT,OAAA,KAAA,IA2BhC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAMA,MAED,KAFC,IANA,IAcA,MAED,KAFC,IAdA,IAoBA,MAED,KAFC,IApBA,IA6BA,MAED,KAFC,IA7BA,IAsCA,MAED,KAFC,IAtCA,IA+CA,MAED,KAFC,IA/CA,IAyDA,MA5ED,KA4EC,IAAA,IAAA,IAzDA,OA3BgC,MAA6B,E,G,G,G,G,K,IC1EnD,MAAA,OAAAnN,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAIb,IAAA,KAAA,KACA,IAAA,KAAA,KAGEoN,KAAoB,MADK,MAAA,IAAyB,MAAA,IAGFZ,KAAT,OAAA,KAAA,IACJ,KAAA,MAAA,KAAA,MAEnC,KAFmC,IAAA,IAAA,IAiBlC,MAED,KAFC,IAjBkC,IA6BlC,MAED,KAFC,IA7BkC,IA4ClC,MAED,KAFC,IA5CkC,IAgDlC,MAED,KAFC,IAhDkC,IAAA,MADI,MAAqB,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,KCN9DxI,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KA2DC,SAAA,KAAA,IAAA,SAAA,KAAA,IAAA,SAAA,KAAA,IAAA,SAAA,KAAA,IAE0CmJ,KAAT,OAAA,KAAA,IAyC/B,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAoBA,MAOD,KAPC,IApBA,IA2DA,MAED,KAFC,IA3DA,IAyEA,MAED,KAFC,IAzEA,IAkFA,MAED,KAFC,IAlFA,IA2FA,MAED,KAFC,IA3FA,IAoGA,MAED,KAFC,IApGA,IA2HA,MA1JD,KA0JC,IAAA,IAAA,IA3HA,OAzC+B,MA0KdnN,MAAM,KAAU,KAAnB,IAGfA,MAAM,QAFsD,IAE1C,KAF0C,IAEE,E,G,G,G,G,K,ICpPnD,MAAA,OAAAA,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAKb,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KA0BC,SAAA,KAAA,IAE8CmN,KAAT,OAAA,KAAA,IAgCnC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IASA,MAED,KAFC,IATA,IAeA,MAED,KAFC,IAfA,IA2BA,MAED,KAFC,IA3BA,IAiCA,MAED,KAFC,IAjCA,IA0CA,MAED,KAFC,IA1CA,IAmDA,MAED,KAFC,IAnDA,IAyFA,MA9GD,KA8GC,IAAA,IAAA,IAzFA,OAhCmC,MA2JrC,E,G,G,I,G,G,I,K,IC/LY,MAAA,OAAAnN,MAAA,SAAA,MAAA,OAAA,MAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAIb,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IA+H0B,OAAA,KAAA,IAqBvB,KAAA,MAED,KAFC,IAAA,IAAA,IAIA,MAED,KAFC,IAJA,IAQA,MAED,KAFC,IARA,IAsBA,MAED,KAFC,IAtBA,IA+BA,MAED,KAFC,IA/BA,IAAA,MArBuB,MAyGvB,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,K,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,KCxOH,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAO0BoN,KAAoB,MAAvB,IAgDtB,SAAA,KAAA,IAAA,SAAA,KAAA,IAAA,SAAA,KAAA,IAU0CD,KAAT,OAAA,KAAA,IAqB/B,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAUA,MAED,KAFC,IAVA,IAcA,MAED,KAFC,IAdA,IAqBA,MAED,KAFC,IArBA,IA8BA,MAED,KAFC,IA9BA,IAsCA,MAED,KAFC,IAtCA,IA8CA,MAqCD,KArCC,IA9CA,IAiGA,MASD,KATC,IAjGA,IA+GA,MAQD,KARC,IA/GA,IA6HA,MAQD,KARC,IA7HA,IA2IA,MASD,KATC,IA3IA,IA+JA,MAOD,KAPC,IA/JA,IA+KA,MAED,KAFC,IA/KA,IAmLA,MAMD,KANC,IAnLA,IA6LA,MAQD,KARC,IA7LA,IA8NA,MAKD,KALC,IA9NA,IAsOA,MAKD,KALC,IAtOA,IAgPA,MAED,KAFC,IAhPA,IA4PA,MAED,KAFC,IA5PA,IAAA,MArB+B,MAgG/B,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,MC1KHnJ,IAAA,IAAA,KAAA,KACA,IAAA,KAAA,KAYqBQ,KAAY,OAAA,IAAA,IAAnB,IAyDiB,MACrB,MADqB,IAUT,KAVS,IA0CN,KA1CM,IAqDP,KArDO,IA+DR,KAAiB,KAAA,KA/DT,IA2ElB,KA3EkB,IAgFHM,MAAG,OAAA,IAAA,IAAV,IACUA,MAAG,OAAA,IAAA,IAAV,IACUA,MAAG,OAAA,IAAA,IAAV,IACR,IAAA,KAAA,KAAc,M,KAAA,IAAd,UAAA,IAAA,IAAH,MAC6B,IACrC,UACK,IAqDsC,MAAA,IAAjDuI,GACW,IAAA,KAA4B,KAFjB,IAIW,MAEF,E,G,G,I,G,G,ICxNpB,MAAA,OAAArN,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAiCE,OAAA,KAAA,IAWZ,KAAA,MAOD,KAPC,IAAA,IAAA,IASA,MAED,KAFC,IATA,IAaA,MAED,KAFC,IAbA,IAuBA,MAYD,KAZC,IAvBA,IAqCA,MAKD,KALC,IArCA,IAqEA,MASD,KATC,IArEA,IAgGA,MAED,KAFC,IAhGA,IAAA,MA6HA,MAGqB,E,G,G,I,G,G,M,K,M,M,S,M,O,MChGO,MACrB,MADqB,IAYT,KAZS,IA+DN,KA/DM,IAwEP,KAxEO,IA+ElB,KA/EkB,IA4FlB,KA5FkB,IA+F7B,MAEmC,E,G,G,G,G,K,I,K,IC3KxB,MAAA,OAAAA,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAMb,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAgI8B,cAAH,IA6KjBmN,KAFgC,OAAA,KAAA,IAmBvC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAYA,MAED,KAFC,IAZA,IAiBA,MAED,KAFC,IAjBA,IA0BA,MAED,KAFC,IA1BA,IAgCA,MAED,KAFC,IAhCA,IAqCA,MAED,KAFC,IArCA,IA0CA,MAED,KAFC,IA1CA,IAAA,MAnBuC,MAEZ,E,G,G,I,G,G,MC3TjBnN,MAAA,SAAA,MAAA,SAAA,MAiDE,MAIR,KAJQ,IAWR,KAXQ,IAqBP,KArBO,IA+BT,KA/BS,IA4CT,KA5CS,IAsDR,KAtDQ,IAgET,KAhES,IAyEV,KAzEU,IAkFP,KAlFO,IA2FV,KA3FU,IAyGN,KAzGM,IAoHT,KApHS,IA6HP,KA7HO,IAuJP,KAvJO,IAoKX,KApKW,IA2KV,KA3KU,IAoLR,KApLQ,IAAH,IA4LV,MAEmB,E,G,KCzORA,MAAA,SAAA,MAAA,O,KAAA,SAGU,cACD,cACK,OACK,OAEV,cACD,IAES,WAAH,MAwI1B,E,G,G,G,G,K,ICzJY,MAAA,OAAAA,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAKb,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,OAQa,IAQgCmN,KAAT,OAAA,KAAA,IAsCjC,KAAA,MAAA,KAAA,MAQD,KARC,IAAA,IAAA,IAWA,MASD,KATC,IAXA,IAuBA,MAQD,KARC,IAvBA,IAkCA,MAQD,KARC,IAlCA,IA6CA,MAED,KAFC,IA7CA,IAwDA,MAOD,KAPC,IAxDA,IAqEA,MASD,KATC,IArEA,IAkFA,MAWD,KAXC,IAlFA,IAuGA,MAQD,KARC,IAvGA,IAmHA,MAOD,KAPC,IAnHA,IA8HA,MAOD,KAPC,IA9HA,IA0IA,MAOD,KAPC,IA1IA,IAmJA,MAED,KAFC,IAnJA,IAyJA,MAED,KAFC,IAzJA,IA+JA,MAED,KAFC,IA/JA,IAAA,MAtCiC,MAA6B,E,G,G,I,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,K,I,I,K,KCjBjE,IAAA,KAAA,KACAnJ,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAmE6C4I,KAAT,OAAA,KAAA,IAkFjC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IA8BA,MAED,KAFC,IA9BA,IAsEA,MAED,KAFC,IAtEA,IA8EA,MAuBD,KAvBC,IA9EA,IAkMA,MAED,KAFC,IAlMA,IAAA,MAlFiC,MAAkB,E,G,G,I,G,G,I,K,I,K,I,K,IC5EzC,MAAA,OAAA5M,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAQb,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAEAgE,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KA2B0BoJ,KAAoB,MAAvB,IAES,MAAH,IA6DcD,KAAT,OAAA,KAAA,IA2C/B,KAAA,MAAA,KAAA,MAMD,KANC,IAAA,IAAA,IAoDA,MAOD,KAPC,IApDA,IAgEA,MAMD,KANC,IAhEA,IA2EA,MAMD,KANC,IA3EA,IAsFA,MAOD,KAPC,IAtFA,IAmGA,MAKD,KALC,IAnGA,IA8GA,MAED,KAFC,IA9GA,IAsHA,MAED,KAFC,IAtHA,IA8HA,MAED,KAFC,IA9HA,IAsIA,MAED,KAFC,IAtIA,IA4IA,MAED,KAFC,IA5IA,IAkJA,MAED,KAFC,IAlJA,IA0JA,MAED,KAFC,IA1JA,IAAA,MA3C+B,MAA6B,E,KCtGlDnN,MAAA,SAAA,MAAA,S,KAAA,M,KAAA,MAuFZ,E,G,G,I,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,K,I,I,K,KChFD,IAAA,KAAA,KACA,IAAA,KAAA,KAwC6C4M,KAAT,OAAA,KAAA,IAoBjC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAyBA,MAED,KAFC,IAzBA,IA4DA,MAED,KAFC,IA5DA,IAqFA,MAED,KAFC,IArFA,IAAA,MApBiC,MAAkB,E,G,G,G,G,K,I,M,O,M,S,M,O,K,M,K,M,I,K,K,IC9CtD,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA5I,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,IAAA,KAAA,IAoF9B,E,G,G,I,G,G,I,K,I,K,I,K,I,K,I,K,I,M,O,M,S,M,O,K,M,I,K,K,ICtFD,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACAA,IAAA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,IAiVC,E,G,G,I,G,G,I,K,I,K,I,K,I,K,I,K,I,M,O,M,S,M,O,K,M,K,M,M,I,K,K,ICvVD,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACAA,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,IA+XoBhE,MAAM,KAAU,KAAnB,IAGfA,MAAM,QAFsD,IAE1C,KAF0C,IAEE,E,K,M,S,M,S,K,MClX/D,E,G,G,G,G,K,IC3BY,MAAA,OAAAA,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAOb,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAE8CmN,KAAT,OAAA,KAAA,IAYlC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAMA,MAED,KAFC,IANA,IAUA,MAED,KAFC,IAVA,IAgBA,MAED,KAFC,IAhBA,IAsBA,MAED,KAFC,IAtBA,IA4BA,MAED,KAFC,IA5BA,IAAA,MAZkC,MAA6B,E,G,G,G,G,K,ICXrD,MAAA,OAAAnN,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAOb,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAE+CmN,KAAT,OAAA,KAAA,IAmBnC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAKA,MAED,KAFC,IALA,IAWA,MAED,KAFC,IAXA,IAmBA,MAED,KAFC,IAnBA,IAwBA,MAED,KAFC,IAxBA,IA6BA,MAED,KAFC,IA7BA,IAAA,MAnBmC,MAA6B,E,G,G,G,G,K,ICVtD,MAAA,OAAAnN,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAMb,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAE8CmN,KAAT,OAAA,KAAA,IAgBlC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAMA,MAED,KAFC,IANA,IAsBA,MAED,KAFC,IAtBA,IA4BA,MAED,KAFC,IA5BA,IAkCA,MAED,KAFC,IAlCA,IAwCA,MAED,KAFC,IAxCA,IAAA,MAhBkC,MAA6B,E,G,G,G,G,K,ICXrD,MAAA,OAAAnN,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAOb,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAE4CmN,KAAT,OAAA,KAAA,IAQhC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAKA,MAED,KAFC,IALA,IAWA,MAED,KAFC,IAXA,IAiBA,MAED,KAFC,IAjBA,IAsBA,MAED,KAFC,IAtBA,IA2BA,MAED,KAFC,IA3BA,IAAA,MARgC,MAA6B,E,G,G,G,G,K,ICVnD,MAAA,OAAAnN,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAOb,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAEoDmN,KAAT,OAAA,KAAA,IAYxC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAMA,MAED,KAFC,IANA,IAUA,MAED,KAFC,IAVA,IAgBA,MACD,KADC,IAhBA,IAqBA,MAED,KAFC,IArBA,IA2BA,MAED,KAFC,IA3BA,IAAA,MAZwC,MAA6B,E,G,G,G,G,K,ICX3D,MAAA,OAAAnN,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAOb,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAEiDmN,KAAT,OAAA,KAAA,IAYrC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAMA,MAED,KAFC,IANA,IAUA,MAED,KAFC,IAVA,IAgBA,MAED,KAFC,IAhBA,IAsBA,MAED,KAFC,IAtBA,IA4BA,MAED,KAFC,IA5BA,IAAA,MAZqC,MAA6B,E,G,G,G,G,K,ICXxD,MAAA,OAAAnN,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAOb,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAE8CwM,KAAT,OAAA,KAAA,IAyBlC,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAOA,MAED,KAFC,IAPA,IAWA,MAED,KAFC,IAXA,IAyBA,MAED,KAFC,IAzBA,IA8BA,MAED,KAFC,IA9BA,IAwCA,MAED,KAFC,IAxCA,IAAA,MAzBkC,MAAqB,E,G,G,I,G,G,I,M,O,M,S,M,O,MCV1D,IAAA,KAAA,KAAA,IAoBwB,MAIJ,KAJI,IAoBV,KApBU,IA4BX,KA5BW,IAoCb,KApCa,IAuCtB,MAE4B,E,G,G,I,K,M,M,S,M,O,E,M,MC7D9BxI,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEesN,KAFkE,MAE7C,E,G,G,K,M,M,S,M,S,MCApCtJ,I,GAAA,I,GAAA,KAAA,KASuC,SAAA,KATsD,MAS7B,E,K,M,S,M,S,K,MCkD/D,E,G,G,G,G,M,O,M,S,M,O,MC7DD,IAAA,KAAA,KAAA,I,KAiBC,MAEqC,E,G,G,G,G,K,I,M,O,M,S,M,O,MChBtC,IAAA,KAAA,KACAA,IAAA,IAAA,KAAA,KA8BgB2C,KAAsC,MACjC,QADiC,IAAjB,KA9BN,MAqC7B,E,G,G,K,M,M,S,M,S,M,M,MCzCF3C,I,GAAA,I,GAAA,KAAA,KAImE,QAAA,KAAO,MAOzChE,MAAa,MAAC,MAAD,KAAhB,MAECA,MAAa,MAAC,MAAD,KAAhB,MAAsC,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,ICXlE,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAgE,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,IAAA,KAAA,IAwBX,MAAC,KAAD,KAkQL4F,KAAiB,KAAC,MACvB,MADuB,IAIzB,MAJyB,IAAD,KAApB,IAOT,MAEkD,E,K,M,S,M,S,M,G,I,G,K,K,M,E,G,G,I,G,G,I,M,O,M,S,M,O,MClSrD,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KAEgDrF,KAAQ,MAARA,GAE5CgJ,KAF4ChJ,EAC5CiJ,KACuBxN,MAAA,KAAA,MAAA,KAAA,UAAA,KAAA,UAAA,KAAA,UAAA,KAAA,UAAA,KAAA,UAAA,KAAA,MAAA,MAAA,MAqBd,E,G,G,G,GCnCA,MAAA,OAAAA,MAAA,SAAA,MAAA,OAAA,MAUb,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,OAWuB,IAmCA,MACd,KADc,IAEf,KAFe,IAGd,KAHc,IAIH,KAJG,IAKC,KALD,IAAH,IAUW,KAAH,IAsFb,MACNoM,KADM,IAEJC,KAFI,IAGNC,KAHM,IAIEC,KAJF,IAKPC,KALO,IAhDD,KAgDC,IA9DA,KA8DA,IA5EA,KA4EA,IASRe,KAAsB,MATd,IAUHA,KAAsB,MAVnB,IAWLA,KAAsB,MAXjB,IAYHA,KAAsB,MAZnB,IAaLA,KAAsB,MAbjB,IAcFA,KAAsB,MAdpB,IA3BD,KA2BC,IAzCE,KAyCF,IAlCE,KAkCF,IAvBC,KAuBD,IAVF,KAUE,IAoBNA,KAAsB,MApBhB,IAqBbd,KArBa,IAsBbC,IAAAA,KAAAA,MAtBa,IAuBFa,KAAsB,MAvBpB,IAwBAA,KAAsB,MAxBtB,IAyBNZ,IAAAA,KAAAA,MAzBM,IAJb,MA8BD,E,G,G,G,G,K,I,M,O,M,S,M,O,MCtLD,IAAA,KAAA,KACA,IAAA,KAAA,KACA3I,IAAA,IAAA,KAAA,KAEgByI,KAAwBgB,KAAD,KAFR,MAEkB,E,G,G,G,G,K,I,M,O,M,S,M,O,MCJjD,IAAA,KAAA,KACA,IAAA,KAAA,KACAzJ,IAAA,IAAA,KAAA,KAEgByI,KACbiB,KADoC,KAFR,MAI9B,E,G,G,G,G,K,I,M,O,M,S,M,O,M,I,K,K,ICLD,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA1J,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,IAAA,KAAA,IAUb,MACd,KADc,KAoCmD,MAEnE,KAFmE,KAAnB,IAkEhDyI,KAAwBkB,KAAD,KAD4B,IACf,MAEL,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KC3HjC3J,IAAA,IAAA,KAAA,KAGAA,IAAA,IAAA,KAAA,KAAA,IAGA,IAAA,KAAA,KAA0B,IAAA,KAAA,IAAA,QAAA,IA2GGkH,KAAK,MAAd,OAAA,KAAA,IA6FjB,KAAA,MAAA,KAAA,MAtFD,KAsFC,IAAA,IAAA,IApFA,MAED,KAFC,IAoFA,IA3DA,MAED,KAFC,IA2DA,IAAA,MA7FyC,MAgGf,E,G,G,I,K,M,M,S,M,O,E,M,MCpN7BlH,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEe4N,KAF2F,MAEnD,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,M,MCOvD,IAAA,KAAA,KACA,IAAA,KAAA,KACA5J,IAAA,IAAA,KAAA,KAkDA,MAAA,MAAA,MAAA,IAAA,IAEehE,MAAA,KAAA,IAAA,SAFf,OAAA,GAEe,KAAA,MAFf,MAAA,IAEe,IAFf,MAEe,IAAA,KAAA,KAFf,IAEe,IAFf,IAAA,KAAA,MAAA,MAAA,KAEe,MAFf,IAEe,MAAA,IAFf,IAAA,KAEe,SAFf,KAEe,MAAA,MAFf,MAEe,KAFf,IAEe,MAAA,E,G,G,I,K,M,M,S,M,O,E,M,MC/DfgE,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEe6N,KAFmF,MAEnD,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,M,MCO/C,IAAA,KAAA,KACA,IAAA,KAAA,KACA7J,IAAA,IAAA,KAAA,KA8CA,MAAA,MAAA,MAAA,IAAA,IAGgChE,MAAA,KAAA,MAHhC,MAGgC,IAAA,KAAA,KAHhC,IAGgC,IAHhC,MAGgC,IAAA,KAAA,KAHhC,IAGgC,IAHhC,IAAA,KAAA,MAAA,MAAA,KAGgC,MAHhC,IAGgC,MAAA,IAHhC,IAAA,KAGgC,SAHhC,KAGgC,MAAA,MAHhC,MAGgC,KAHhC,IAGgC,MAAA,E,G,G,G,M,O,M,S,M,O,MC1DhC,IAAA,KAAA,KAKe8N,OAAuB,KALmD,MAK7C,E,G,G,G,G,K,I,M,O,M,S,M,O,MCJ5C,IAAA,KAAA,KACA,IAAA,KAAA,KACA9J,IAAA,IAAA,KAAA,KAEgByI,KAAwBsB,KAAD,KAFR,MAEqB,E,G,G,G,G,K,I,K,ICPvC,MAAA,OAAA/N,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KASb,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACAgE,IAAA,IAAA,KAAA,KAA+B,IAAA,KAAA,IAAA,QAAA,IAEAiH,KAAgB,MAAnB,IA0Jb,MAFiB,OAAA,KAAA,IA4F7B,KAAA,MAAA,KAAA,MA7ED,KA6EC,IAAA,IAAA,IAzEA,MAOD,KAPC,IAyEA,IA/DA,MAOD,KAPC,IA+DA,IArDA,MAKD,KALC,IAqDA,IA3CA,MAED,KAFC,IA2CA,IApCA,MAED,KAFC,IAoCA,IA7BA,MAED,KAFC,IA6BA,IAAA,MA5F6B,MAEH,E,G,G,G,G,K,I,M,O,M,S,M,O,MCrK7B,IAAA,KAAA,KACA,IAAA,KAAA,KACAjH,IAAA,IAAA,KAAA,KAEgByI,KACbuB,KADoC,KAFR,MAI9B,E,G,G,G,G,K,I,M,O,M,S,M,O,MCND,IAAA,KAAA,KACA,IAAA,KAAA,KACAhK,IAAA,IAAA,KAAA,KAEgByI,KAAwBd,KAAD,KAFR,MAEc,E,G,G,G,M,O,M,S,M,O,M,MCD7C,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KAGEpH,KAAQ,SAARA,IAEI0J,KAFJ1J,EACI2J,KAFuE,MAM3E3J,KAAQ,KAARA,IAEI4J,KAFJ5J,EACI6J,KAFkE,MAGjC,E,G,G,G,G,K,M,M,S,M,S,M,MCfvCpK,IAAA,IAAA,KAAA,KAEyD,MAEnC,EAFmC,IAGrC,EAHqC,IAItC,MAID,MAAiB,IAAA,KAAiC,KAAlD,IAJC,IA0BG,MACA,IAAA,KAAiC,KADjC,IA1BH,IA6BF,MAAiB,IAAA,KAAiC,KAAlD,IA7BE,IA8BI,MACD,IAAA,KAAiC,KADhC,IA9BJ,IAkCC,MAAiB,IAAA,KAAiC,KAAlD,IAlCD,IAqCE,MACC,IAAA,KAAiC,KADlC,IArCF,IAJsC,IAAH,MAAA,IAiDzB,SAEzB,KAFyB,MAGzB,MAEqD,E,G,G,K,M,M,S,M,S,M,MCxDzDA,I,GAAA,I,GAAA,KAAA,KAEyD,MAEnC,EAFmC,IAGrC,EAHqC,IAItC,EAJsC,IAAH,MAAA,IAQzB,SAEzB,KAFyB,MAGzB,MAE2C,E,G,G,G,G,K,I,M,O,M,S,M,O,M,MCf/CA,IAAA,IAAA,KAAA,KAEA,IAAA,KAAA,KAGEO,KAAQ,SAARA,OAyEI,MAEsB,EAFtB,IAGoB,MACQ,MADR,IAIM,MAJN,IAOL,MAPK,IAUI,MAVJ,IAaE,MAbF,IAgBA,MAhBA,IAHpB,IAuBiBvE,MAAA,KAAA,MAUC,MACC,IAAA,KAAuC,KADxC,IAVD,IAaE,MACA,IAAA,KAAuC,KADvC,IAbF,IAgCU,MACR,IAAA,KAAuC,KAD/B,IAhCV,IA4CkB,MAChB,IAAA,KAAuC,KADvB,IA5ClB,IAgDVyL,IAAAA,KAAAA,MAAkC,MAAD,KAhDvB,MAvBjB,IAzEJlH,KACI,MAEsB,EAFtB,IAGoB,MACQ,MADR,IAIM,MAJN,IAOL,MAPK,IAUI,MAVJ,IAaE,MAbF,IAHpB,IAoBmB,MACA,MACA,IAAA,KAAuC,KADvC,IADA,IAsBG,MACA,IAAA,KAAiC,KADjC,IAtBH,IAyBF,MACK,IAAA,KAAiC,KADtC,IAzBE,IA4BI,MACD,IAAA,KAAiC,KADhC,IA5BJ,IAiCD,MACI,IAAA,KAAiC,KADrC,IAjCC,IAwCC,MACE,IAAA,KAAiC,KADnC,IAxCD,IA6CE,MACC,IAAA,KAAiC,KADlC,IA7CF,IApBnB,OAFgD,MAAA,IA6JzB,SAEzB,KAFyB,MAGzB,MAEoC,E,G,G,G,G,M,O,M,S,M,O,M,MCvKxC,IAAA,KAAA,KAUA,MAAA,MAAA,IAGe,MAAA,IAHf,IAAA,KAGe,SAHf,KAGe,MAAA,MAAA,E,G,G,G,M,O,M,S,M,O,M,MCXf,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KAGE0J,KAD2E,MAI3E1J,KAAQ,SAARA,IAAmC4J,KAAnC5J,EAA4BoH,KAD0C,MACF,E,G,G,G,G,M,O,M,S,M,O,MCZtE,IAAA,KAAA,KAAA,IAKM0C,KAAJ,GAMO,QAJHA,KAA8B,MAAA,IADpB,MAAyB,MAAkB,MAEhD,MAAA,IAAA,IAAA,OAN8B,IAe1B,MACC,KADD,IAKH,KALG,IAaH,KAbG,IAqBU,KArBV,IA6BO,MA7BP,IA+BE,MA/BF,IAFd,MAkCA,E,G,G,I,K,M,M,S,M,O,E,M,MCnDDrK,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEeqO,KAF8D,MAE7C,E,G,G,K,M,M,S,M,S,MCAhCrK,I,GAAA,I,GAAA,KAAA,KAeuC,SAAA,KAfsD,MAejC,E,G,G,G,G,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,ICL5D,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAGAA,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,KAAA,IAAA,QAAA,IAqWG,MAAiB,M,KAAA,KAAjB,SACP,MAAe,MAEX,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,K,MCxX/B,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAEA,IAAA,KAAA,KAAA,IACAA,IAAA,IAAA,KAAA,KAAA,IA0FC,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KChGD,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAA,IAAA,IAAA,KAAA,KAiN6B,MAAd,OAAA,KAAA,IA0KkB,KAAA,MAAA,KAAA,MAE/B,KAF+B,IAAA,IAAA,IAQ9B,MAED,KAFC,IAR8B,IAgB9B,MAED,KAFC,IAhB8B,IAyB9B,MAgFD,KAhFC,IAzB8B,IA2G9B,MA3OD,KA2OC,IAAA,IAAA,IAnOA,MAOD,KAPC,IAmOA,IApNA,MAQD,KARC,IAoNA,IAnMA,MAOD,KAPC,IAmMA,IAvKA,MAMD,KANC,IAuKA,IA1JA,MAQD,KARC,IA0JA,IA7IA,MAOD,KAPC,IA6IA,IAhIA,MAQD,KARC,IAgIA,IA3G8B,OA1KM,IACG,IAAtB,MAIdO,KAAQ,gBAARA,IACI+J,KAA0C,MAAA,IAAE,QADvB,IAAA,MAAA,GAFgB,MAAA,IA3EvB,QAAR,MAAA,MACkB,MAAR,QAAA,MAGf,KAALC,MAAAA,GACI,MACc,KADd,IAAA,OAHD,MAAA,IASE,MAALA,MAAAA,GACI,MACc,MADd,IAAA,OAVD,IAea,MAfb,IAiBE,MAALA,MAAAA,GACI,MACc,MADd,IAAA,IAAA,OAlBD,IAwBiC,MAxBjC,IAyEa,MAaG,MAGF,MAUnBhK,KAAQ,OAARA,IACI+J,KAA0C,MAAA,IAAE,MAF9B,MA4KO,KAAH,MAyEvB,MAOqB,E,G,G,I,K,M,M,S,M,O,E,M,MChfxBtK,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEesO,KAF6E,MAEhD,E,G,G,K,M,M,S,M,S,MCA5CtK,I,GAAA,I,GAAA,KAAA,KAmBqD,UAAA,KAAnC,MACL,IAEkB,MACjB,KADiB,IAWrB,KAXqB,IAef,KAfe,IAwBrB,KAxBqB,IA4BpB,KA5BoB,IA+B7B,MAEmC,E,G,G,I,K,M,M,S,M,O,E,M,MCzDrCA,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEewO,KAFyE,MAEhD,E,G,G,K,M,M,S,M,S,MCAxCxK,I,GAAA,I,GAAA,KAAA,KA2BqD,UAAA,KAAnC,MACL,IAEkB,MACjB,KADiB,IAYpB,KAZoB,IAgBK,KAhBL,IAoBlB,KApBkB,IAwBd,KAxBc,IAkCrB,KAlCqB,IAyCpB,KAzCoB,IA4C7B,MAEmC,E,G,G,G,G,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,IC1ErC,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAA,IAAA,IAAA,KAAA,KAAA,IAGAA,IAAA,IAAA,KAAA,KAAA,IAGAA,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,KAAA,IAAA,QAAA,IAAA,QAAA,IA4FV,KAAH,IACE,KAAH,IAkDG,MAAC,KAAD,KAyHjB,MAEkB,E,G,G,I,K,M,M,S,M,O,E,M,MCvRrBA,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEeyO,KAF+E,MAEnD,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,M,MCO3C,IAAA,KAAA,KACA,IAAA,KAAA,KACAzK,IAAA,IAAA,KAAA,KAsCA,MAAA,MAAA,MAAA,MAAA,IAAA,IAAA,IAEgBhE,MAAA,KAAA,MAFhB,MAEgB,IAAA,KAAA,KAFhB,IAEgB,IAFhB,MAEgB,IAAA,KAAA,KAFhB,IAEgB,IAFhB,MAEgB,IAAA,KAAA,KAFhB,IAEgB,IAFhB,MAEgB,IAAA,KAAA,KAFhB,IAEgB,IAFhB,MAEgB,IAAA,KAAA,KAFhB,IAEgB,IAFhB,IAAA,KAAA,MAAA,MAAA,KAEgB,MAFhB,IAEgB,MAAA,IAFhB,IAAA,KAEgB,SAFhB,KAEgB,MAAA,MAFhB,MAEgB,KAFhB,IAEgB,MAAA,E,G,G,I,K,M,M,S,M,O,E,M,MCnDhBgE,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEe0O,KAFwE,MAEnD,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,M,MCOpC,IAAA,KAAA,KACA,IAAA,KAAA,KACA1K,IAAA,IAAA,KAAA,KAoCA,MAAA,MAAA,MAAA,MAAA,IAAA,IAAA,IAGmBhE,MAAA,KAAA,MAHnB,MAGmB,IAAA,KAAA,KAHnB,IAGmB,IAHnB,MAGmB,IAAA,KAAA,KAHnB,IAGmB,IAHnB,MAGmB,IAAA,KAAA,KAHnB,IAGmB,IAHnB,MAGmB,IAAA,KAAA,KAHnB,IAGmB,IAHnB,MAGmB,IAAA,KAAA,KAHnB,IAGmB,IAHnB,MAGmB,IAAA,KAAA,KAHnB,IAGmB,IAHnB,IAAA,KAAA,MAAA,MAAA,KAGmB,MAHnB,IAGmB,MAAA,IAHnB,IAAA,KAGmB,SAHnB,KAGmB,MAAA,MAHnB,MAGmB,KAHnB,IAGmB,MAAA,E,G,G,G,G,K,I,K,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,ICtCnBgE,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAKA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAA,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,IAAA,KAAA,IAAA,QAAA,IAAA,QAAA,IAAA,QAAA,IAa3BO,KAAQ,SAAZ,OAIWA,KAAQ,SAAZ,IAWEA,KAAQ,SAAZ,OACuB,IAAA,KAAqC,KAA/C,IAEP,IAAA,KAAqC,MADtB,IAFrB,EATM,IAAA,KAA0C,KADzB,IAGjB,IAAA,KAA0C,MADf,IAG3B,IAAA,KAA0C,KAD1B,IAGhB,IAAA,KAA0C,MADhB,IAP9B,EAHqB,IAAA,KAAqC,KAA/C,IAEP,IAAA,KAAqC,MADtB,IAogCW,KAAH,IA0zBE,MAAH,IAgBvBA,KAAQ,aAARA,QANyB,MAAA,IAAH,IAYgB,MAAH,IAkCD,MAAH,IA0CrB,MAAC,KAAD,SAyDU,MAGH,MACFoK,KAAc,MADZ,IAGFA,KAAc,MAHZ,IAITA,KAAc,MAJL,IAKVA,KAAc,MALJ,IAAH,MAiBT/E,KAAiB,KAAC,MACb,MADa,IAAD,KAApB,IASgC,MAAH,IAKvC,MAG+B,E,G,G,G,G,K,I,M,O,M,S,M,O,M,M,MCthEjC5F,IAAA,IAAA,KAAA,KACA,IAAA,KAAA,KA2kBwC2C,KAAsC,MACzD,QADyD,IAAjB,KAAxB,MAIoB,MAEnC,MACT,MACkB,MADlB,IADS,IAOH,MACY,MADZ,IAPG,IAaR,MACiB,MADjB,IAbQ,IAmBL,MACc,MADd,IAnBK,IAyBA,MACS,MADT,IAzBA,IAFmC,IAkCrC,MACL,MADK,IAlCqC,IAuCtC,MAQE,MACC,IAAA,KAAiC,KADlC,IARF,IAcQ,MACL,IAAA,KAAiC,KAD5B,IAdR,IAsBC,MAAiB,IAAA,KAAiC,KAAlD,IAtBD,IAuBO,MACJ,IAAA,KAAiC,KAD7B,IAvBP,IA0BO,MACJ,IAAA,KAAiC,KAD7B,IA1BP,IAmCR,MAAiB,IAAA,KAAiC,KAAlD,IAnCQ,IA0CF,MAAiB,IAAA,KAAiC,KAAlD,IA1CE,IAgEI,MACD,IAAA,KAAiC,KADhC,IAhEJ,IAoEG,MACA,IAAA,KAAiC,KADjC,IApEH,IAuEF,MAAiB,IAAA,KAAiC,KAAlD,IAvEE,IA2EE,MACC,IAAA,KAAiC,KADlC,IA3EF,IA+EC,MAAiB,IAAA,KAAiC,KAAlD,IA/ED,IAvCsC,IAAH,MAAA,IA0HW,SAE/D,KAF+D,MAG/D,MAG8C,E,G,G,G,G,K,I,M,O,M,S,M,O,M,M,MC9tBhD3C,IAAA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KAMwC2C,KAAsC,MACzD,QADyD,IAAjB,KAAxB,MAIiB3G,MAAA,KAEjD4O,KAFiD,MAAA,MAAA,MAAA,IAMzB,SAEzB,KAFyB,MAGzB,MAG+C,E,G,G,K,M,S,M,S,MCnBpB,MACT,MACT,MACkB,MADlB,IADS,IAOP,MACgB,MADhB,IAPO,IAaH,MACY,MADZ,IAbG,IAmBR,MACiB,MADjB,IAnBQ,IAyBL,MACc,MADd,IAzBK,IA+BA,MACS,MADT,IA/BA,IAqCF,MACW,MADX,IArCE,IA2CL,MACc,MADd,IA3CK,IAkDJ,MACa,MADb,IAlDI,IADS,IA0DX,MACL,MADK,IAII,MAJJ,IAOM,MAPN,IAUD,MAVC,IAaC,MAbD,IA1DW,IA2Ed5O,MAAA,KAAA,MAMK,MACH,IAAA,KAAsC,KADnC,IANL,IAqBQ,MACH,IAAA,KAAiC,KAD9B,IArBR,IAwBN,MAAiB,IAAA,KAAiC,KAAlD,IAxBM,IA0BI,MACC,IAAA,KAAiC,KADlC,IA1BJ,IAkCS,MACJ,IAAA,KAAiC,KAD7B,IAlCT,IA4CG,MAAiB,IAAA,KAAiC,KAAlD,IA5CH,IAiEVyL,IAAAA,KAAAA,MAAkC,MAAD,KAOlC,MAxEW,OA3Ec,IAsJ7B,MAEmC,E,G,G,G,G,K,I,M,O,M,S,M,O,M,M,MC7JrCzH,IAAA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KAMwC2C,KAAsC,MACzD,QADyD,IAAjB,KAAxB,MAIiB3G,MAAA,KAEjD4O,KAAsB,MACV5O,MAAA,KACV4O,KAAsB,KAAgB,MAD5B,EAAA,OADU,IAF2B,MAAA,OAAA,MAAA,IAUzB,SAEzB,KAFyB,MAGzB,MAG8C,E,G,G,G,G,K,I,M,O,M,S,M,O,M,I,K,KC3BlD,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA5K,IAAA,IAAA,KAAA,KAA+B,IAAA,KAEJ,KAAH,IAsHT,MAAH,IAyBiB,MAWfhE,MAAA,KACW,MADX,EAAA,OAAA,IAUIA,MAAA,KACO,MADP,EAAA,OAAA,IAOIA,MAAA,KACG,MADH,EAAA,OAAA,IAQN,MAAH,IAsBO,MACH,MACA,MADA,IAEU,MAFV,IAGY,MAHZ,IAIe,MAJf,IAKW,MALX,IAMW,MANX,IAOc,MAPd,IADG,IAUW,MACd,MADc,IAEJ,MAFI,IAGF,MAHE,IAIC,MAJD,IAKH,MALG,IAMH,MANG,IAOA,MAPA,IAVX,IAmBY,MACf,MADe,IAEL,MAFK,IAGH,MAHG,IAIA,MAJA,IAKJ,MALI,IAMJ,MANI,IAOD,MAPC,IAnBZ,IA4BS,MACZ,MADY,IAEF,MAFE,IAGA,MAHA,IAIG,MAJH,IAKD,MALC,IAMD,MANC,IAOE,MAPF,IA5BT,IAqCU,MACb,MADa,IAEH,MAFG,IAGD,MAHC,IAIE,MAJF,IAKF,MALE,IAMF,MANE,IAOC,MAPD,IArCV,IA8Cc,MACjB,MADiB,IAEP,MAFO,IAGL,MAHK,IAIF,MAJE,IAKN,MALM,IAMN,MANM,IAOH,MAPG,IA9Cd,IAuDe,MAClB,MADkB,IAER,MAFQ,IAGN,MAHM,IAIH,MAJG,IAKP,MALO,IAMP,MANO,IAOJ,MAPI,IAvDf,IAgEX,MACQ,MADR,IAEkB,MAFlB,IAGoB,MAHpB,IAIuB,MAJvB,IAKmB,MALnB,IAMmB,MANnB,IAOsB,MAPtB,IAhEW,IAAH,OA8EO,OAEH,UAII,OAEQ,IAoEN,MACN,KADM,IAYH,KAZG,IAyBC,KAzBD,IA0CmB,KA1CnB,IAmDe,KAnDf,IA0DO,KA1DP,IAqEM,KArEN,IAgHQ,KAhHR,IA0HU,KA1HV,IAoIK,KApIL,IA2NH,KA3NG,IAyOJ,KAzOI,IA2TM,KA3TN,IA0UL,KA1UK,IA0WX,KA1WW,IAiXP,KAjXO,IAsYT,KAtYS,IA+aK,KA/aL,IAobX,KApbW,IA6bH,KA7bG,IAscE,KAtcF,IA8dS,KA9dT,IA6hBR,KA7hBQ,IAoiBV,KApiBU,IAmjBI,EAnjBJ,IAgkBL,MAAA,MADuB,KACvB,QADuB,MAEA,MAGvB,MAAA,IAKH,KALG,IAkBpB,MAE0B,E,G,G,G,K,K,ICv8Bf,IAAA,OAAAA,MAAA,SAAA,MAAA,OAAA,MAEb,IAAA,KAAA,KAE0B6O,KAAW,MAiBnB,KAAwB,KAAH,MASG,KAAH,MAUvCA,KAAwB,MAAA,MAAsD,MAE7C,E,G,G,G,GC1CpB,MAAA,OAAA7O,MAAA,SAAA,MAAA,OAAA,MACb,IAAA,KAAA,KAAA,IAW0B,KAsDD,KAAH,OAYC,IACH,IAmCA,MAtBC,KAsBD,IAAA,IAzFM,KAyFN,IA5EQ,KA4ER,IA/DO,KA+DP,IAMlB,MAEwB,E,G,G,K,KC1Hb,IAAA,OAAAA,MAAA,SAAA,MAAA,OAAA,MAEb,IAAA,KAAA,KAE0B6O,KAAW,MAkB7B,KAAwB,KAAH,MAK7BA,KAAwB,MAAA,MAA4C,MAE7C,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KC1BvB,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAKA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACA7K,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,KAAA,QAAA,IAyGY,MAAd,OAAA,KAAA,IAgF1B,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IA2CA,MAED,KAFC,IA3CA,IAyDA,MAED,KAFC,IAzDA,IA4EA,MAED,KAFC,IA5EA,IAoLA,MAED,KAFC,IApLA,IA2LA,MAED,KAFC,IA3LA,IA+LA,MAED,KAFC,IA/LA,IAAA,MAhF0B,IActB,KAJsB,MAqBtB,KAJgC,MA8BhC,KATQ,MA2BkC,KAAlB,MA4M7BO,KAAQ,SAARA,IASI,KATJA,EAGI,KAJiB,QAYY,MAA6B,MAE1B,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCvZtC,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAIA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACAP,IAAA,IAAA,KAAA,KAA+B,IAAA,KAAA,IAwJK,MAAd,OAAA,KAAA,IAInB,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAoDA,MAKD,KALC,IApDA,IAgEA,MAED,KAFC,IAhEA,IAoEA,MAED,KAFC,IApEA,IAwEA,MAED,KAFC,IAxEA,IA+EA,MAED,KAFC,IA/EA,IA6LA,MAED,KAFC,IA7LA,IA4MA,MAED,KAFC,IA5MA,IAgNA,MAED,KAFC,IAhNA,IAAA,MAJmB,IA+NF,MAAC,KAAD,SAIC,MAAsB,MAEnB,E,G,G,G,G,K,I,M,O,M,S,M,O,M,I,K,K,IC9XxB,IAAA,KAAA,KAGA,IAAA,KAAA,KAAA,IAEAA,IAAA,IAAA,KAAA,KAAA,IAA+B,IAE/B,IAAA,KAAA,KAA+C,IAAA,KAAA,QAAA,IAuHrB,QAAH,IA6CH,MAAC,KAAD,KAuIjB,MAEoC,E,G,G,GC9T1B,MAAA,OAAAhE,MAAA,SAAA,MAAA,OAAA,MAEb,IAAA,KAAA,KAG6CiL,KAAgB,MAAiB,MAOhD,E,G,G,GCZjB,MAAA,OAAAjL,MAAA,SAAA,MAAA,OAAA,MAEb,IAAA,KAAA,KAKEiL,KAAgB,MAAwB,MAML,E,G,G,I,G,G,I,M,O,M,S,M,O,M,I,K,K,ICVrC,IAAA,KAAA,KAAA,IAA+D,QAAA,IA2CxC,MAkBK,KAlBL,IAsGU,KAtGV,IAmID,KAnIC,IAyIrB,MAE2B,E,G,G,I,K,M,M,S,M,O,E,M,MCzL7BjH,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEe8O,KAFqE,MAE7C,E,G,G,K,M,M,S,M,S,MCAvC9K,I,GAAA,I,GAAA,KAAA,KA2CuC,SAAA,KA3CsD,MA2C1B,E,G,G,I,G,G,I,M,O,M,S,M,O,K,M,K,M,K,MCzCnE,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IA4GC,E,G,G,G,M,O,M,S,M,O,MCjHD,IAAA,KAAA,KACe+K,KAD4E,MAC5D,E,G,G,K,M,M,S,M,S,MCA/B/K,I,GAAA,I,GAAA,KAAA,KAiBuC,SAAA,KAjBsD,MAiBlC,E,G,G,G,G,M,O,M,S,M,O,M,I,K,K,I,I,K,KCnB3D,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IAuCkB,OAAA,KAAA,IA8Cf,KAAA,MAQD,KARC,IAAA,IAAA,IAAA,MA4C4C,OAAA,IAAA,IAAG,MAC3B,E,KCtIVhE,MAAA,SAAA,MAAA,SAAA,MAOI,KAOf,MAEqB,E,G,G,I,K,M,M,S,M,O,E,M,MChBvBgE,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEegP,KAF2D,MAE7C,E,G,G,K,M,M,S,M,S,MCA7BhL,I,GAAA,I,GAAA,KAAA,KAoBgD,UAAA,KApB6C,MAoB3B,E,G,G,G,G,M,O,M,S,M,O,MCtBlE,IAAA,KAAA,KAAA,IAKe,MASJ,KATI,IAqBJ,KArBI,IALiC,MA6B/C,E,G,G,I,K,M,M,S,M,O,E,M,MC7BDA,I,GAAA,I,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAEeiP,KAF+D,MAEhD,E,G,G,K,M,M,S,M,S,MCA9BjL,I,GAAA,I,GAAA,KAAA,KAQgD,UAAA,KAR6C,MAQ1B,E,G,G,G,M,O,M,S,M,O,MCVnE,IAAA,KAAA,KAEewD,KAFmC,MAEnB,E,G,G,G,M,O,M,S,M,O,MCF/B,IAAA,KAAA,KAY+B,MACzB,KADyB,IAM7B,MAEoB,E,G,G,K,M,M,S,M,S,MClBtBxD,I,GAAA,I,GAAA,KAAA,KASgD,UAAA,KAT6C,MAS5B,E,G,G,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A,KAAA,IAtJR,IAwKjC,MAAA,OAAA,IAAA,KAGA,KAHA,KAAA,IAAA,KAAA,IAxKiC,IAoLjC,MAAA,OAAA,IAAA,KAGA,KAHA,KAAA,IAAA,KAAA,IApLiC,IA8LjC,MAAA,OAAA,IAAA,KAMA,KANA,KAAA,IAAA,KAAA,IA9LiC,IA4MjC,MAAA,OAAA,IAAA,KAMA,KANA,KAAA,IAAA,KAAA,IA5MiC,IAAA,MAAA,MAkNL,E,G,G,I,G,G,M,M,S,M,S,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,MCvO9B,IAAA,KAAA,IAWyC,KAAH,MAAA,IAeC,KAAH,MAmBR,KAAH,MAOO,KAAH,MAUM,KAAH,MAaL,KAAH,MAAA,IAIiB,KAAH,MAmBV,KAAH,MAAA,IAUI,KAAH,MAUW,KAAH,MAIJ,KAAH,MAgBK,KAAH,YAiBX,UACA,UACA,cACA,IASS,KAAH,YAiCL,OACK,UACF,OACH,OACK,OACC,IAET,KAAH,IAE0B,KAAH,MAAA,IAWL,KAAH,MAoCG,KAAH,MAO1B,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,M,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,M,M,M,M,K,M,K,Q,O,M,K,M,K,Q,O,M,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,OC9PkB,KAAH,MACG,KAAH,MACK,KAAH,MACG,KAAH,MACG,KAAH,MACU,KAAH,MAAY,E,G,G,I,G,G,I,M,O,M,S,M,O,M,M,K,M,M,K,M,K,Q,O,M,K,M,K,Q,O,K,M,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,I,K,K,I,I,K,KCjBtC,IAAA,KAK2B0M,MAAa,IAAhB,MACK,OAAA,KAAA,IAG1B,KAAA,MACD,KADC,IAAA,IAAA,IAKA,MACD,KADC,IALA,IAAA,MAH0B,MA0C5B,E,G,K,M,S,M,O,K,M,K,MC/CoB,MAMS,QANT,I,GAQnBC,M,GAAAA,KAAAA,MARmB,IAAH,IAmBjB,E,G,K,M,S,M,S,MCpBuB,cAAH,IACA,MAAH,IAsBS,KAAH,IACA,KAAH,MAA6D,E,G,K,M,S,M,O,K,M,K,QClBjF,E,G,G,I,G,G,M,M,S,M,S,MCJ+B,MAE1B,KAF0B,IAAH,MAM3B,E,G,G,I,G,G,M,M,S,M,O,K,MCRF,MAAA,KAAA,IAeC,E,G,G,I,G,G,I,M,O,M,S,M,O,K,M,M,K,M,K,Q,O,I,K,K,ICfD,IAAA,KAAA,IAAmC,QAAA,IA2ClC,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,K,M,K,M,I,K,K,I,I,K,K,IC3CD,IAAA,KAAA,KAAA,IACAjM,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAAwC,QAAA,IAAA,QAAA,IAuQvC,E,G,G,I,K,M,M,S,M,O,I,QCjQA,E,G,K,I,K,I,GCRiB,M,GAAA,QAAV,MAAA,YAAkD,OAAlD,GAAiE,K,GAAlE,IAA+E,cAAD,IAA8lB,cAAD,IAAqD,cAAD,MAAWhE,MAAa,OAAA,KAAd,IAA8X,MAAO,KAAP,IAAsgD,KAAtgD,IAAD,MAAykD,ECKrqF,M,GAAH,QAeZ,E,G,K,K,I,K,I,K,M,M,S,M,O,K,M,K,M,K,M,K,M,M,MCXoB,EAAH,IASD,KAAH,IA0Dd,E,G,G,I,G,G,I,M,O,M,S,M,O,K,M,I,K,K,I,I,K,K,I,Q,IChEA,E,G,G,I,G,G,I,M,O,M,S,M,O,K,M,I,K,K,ICZD,IAAA,KAAA,IAGoB,KAAH,IAwGhB,E,G,G,I,G,G,M,M,S,M,O,K,MC3GD,MAAA,KAAA,IA2BC,E,G,G,I,G,G,I,M,O,M,S,M,O,K,M,I,K,K,IC3BD,IAAA,KAAA,IAAsC,QAAA,IAsBrC,E,G,G,I,G,G,I,M,O,M,S,M,O,K,M,I,K,K,I,I,K,K,ICtBD,IAAA,KAAA,IAAqE,QAAA,IAmCpE,E,K,M,S,M,S,M,M,MCnC4B,MAAH,UAoCC,UAEQ,MAAwB,E,GCpCjC,M,GAAA,K,GAAV,MACf,E,E,K,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,I,K,ICHiB,MAAV,GAAyB,KAAD,IAA0M,KAAiQ,MA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A,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,SACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,KACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAAA,KAAA,WACA,IAA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A8BC,KAA9B,IADgB,IAnWtB,IAwWsB,MACfC,KAAD,IAAA,IAA8BC,KAA9B,IADgB,IAxWtB,IA6WO,MAASC,KAAD,IAAA,IAAeC,KAAf,IAAR,IA7WP,IA8Wc,MAASC,KAAD,IAAA,IAAsBC,KAAtB,IAAR,IA9Wd,IA+We,MAASC,KAAD,IAAA,IAAuBC,KAAvB,IAAR,IA/Wf,IAgXU,MAASC,KAAD,IAAA,IAAkBC,KAAlB,IAAR,IAhXV,IAiXF,MAEsB,E,G,G,G,G,K,M,M,S,M,S,MClyBxB9tB,IAAA,IAAA,KAAA,KACAA,IAAA,IAAA,KAAA,KAAA,IAAyF,IAAA,KAAA,IAC7D,KAA0hE,MACphE,E,G,G,I,K,MCHrBhE,MAAA,SAAA,MAAA,OAAA,EAAA,IAAAA,MAAA,KAAA,MAAA,KAAA,QAAA,OAEbgE,I,GAAA,M,GAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAAiC,E,G,G,I,G,I,G,I,K,I,M,O,M,S,M,O,M,I,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,OCFjC,IAAA,KAAA,KAAA,IAqHAA,MAAA,KAAA,IAAA,KAAA,KAAA,KAAA,KAAA,KAsDAgE,IAAA,IAAA,KAAA,KAAA,IAAAhE,MAAA,KAAA,KAAA,KAAA,KAAA,KAA2B,E,K,M,S,M,S,K,M,K,M,K,M,K,M,K,M,K,M,K,M,K,M,K,MCvI1B,E,G,G,G,G,M,O,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,OCpCD,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAAsD,E,G,G,G,G,M,O,M,S,M,O,M,MC7BtD,IAAA,KAAA,KAuEA,MAAA,MAAA,MAAA,IAAA,IAEGA,MAAA,KAAA,MAFH,MAEG,IAAA,KAAA,KAFH,IAEG,IAFH,IAAA,KA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IAFH,IAAA,KAAA,MAAA,MAAA,KAEG,MAFH,IAEG,MAAA,IAFH,IAAA,KAEG,SAFH,KAEG,MAAA,MAAA,E,G,G,G,G,M,O,M,S,M,O,M,MC7FH,IAAA,KAAA,KAyEA,MAAA,MAAA,MAAA,IAAA,IAEGA,MAAA,KAAA,MAFH,MAEG,IAAA,KAAA,KAFH,IAEG,IAFH,IAAA,KAAA,MAAA,MAAA,KAEG,MAFH,IAEG,MAAA,IAFH,IAAA,KAEG,SAFH,KAEG,MAAA,MAAA,E,G,G,G,G,M,O,M,S,M,O,M,MC3EH,IAAA,KAAA,KAkBA,MAAA,MAAA,IAEG,MAAA,IAFH,IAAA,KAEG,SAFH,KAEG,MAAA,MAAA,E,G,G,G,G,M,O,M,S,M,O,M,MCpBH,IAAA,KAAA,KA4BA,MAAA,MAAA,IAEG,MAAA,IAFH,IAAA,KAEG,SAFH,KAEG,MAAA,MAAA,E,G,G,G,G,M,O,M,S,M,O,M,MC9BH,IAAA,KAAA,KAuBA,MAAA,MAAA,IAEG,MAAA,IAFH,IAAA,KAEG,SAFH,KAEG,MAAA,MAAA,E,G,G,G,G,M,O,M,S,M,O,M,MCzBH,IAAA,KAAA,KAiCA,MAAA,MAAA,IAEG,MAAA,IAFH,IAAA,KAEG,SAFH,KAEG,MAAA,MAAA,E,G,G,G,G,M,O,M,S,M,O,M,MC7BH,IAAA,KAAA,KAwBA,MAAA,MAAA,IAEG,MAAA,IAFH,IAAA,KAEG,SAFH,KAEG,MAAA,MAAA,E,G,G,G,G,M,O,M,S,M,O,M,MChCH,IAAA,KAAA,KAwBA,MAAA,MAAA,IAEG,MAAA,IAFH,IAAA,KAEG,SAFH,KAEG,MAAA,MAAA,E,G,G,G,G,M,O,M,S,M,O,M,MC1BH,IAAA,KAAA,KAkBA,MAAA,MAAA,IAEG,MAAA,IAFH,IAAA,KAEG,SAFH,KAEG,MAAA,MAAA,E,G,G,G,G,M,O,M,S,M,O,M,MCpBH,IAAA,KAAA,KAoBA,MAAA,MAAA,IAEG,MAAA,IAFH,IAAA,KAEG,SAFH,KAEG,MAAA,MAAA,E,G,G,I,G,G,I,K,I,K,M,K,I,K,I,K,I,K,I,K,I,I,O,M,S,M,O,M,M,M,K,M,M,M,M,K,M,M,M,K,M,K,Q,O,I,K,K,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,K,I,K,K,ICrBHgE,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,KAAA,IA+DnB/D,MAAO,KAAW,KAACA,MAAD,KAArB,IA4CuB8xB,MAAT,OAAA,KAAA,IACA,KAAA,MAAA,KAAA,MACrB,KADqB,IAAA,IAAA,IAGpB,MAED,KAFC,IAHoB,IAUpB,MAED,KAFC,IAVoB,IAuBpB,MAED,KAFC,IAvBoB,IAAA,MADA,MAAA,IAmCSA,MAAT,OAAA,KAAA,IACA,KAAA,MAAA,KAAA,MACrB,KADqB,IAAA,IAAA,IAGpB,MAED,KAFC,IAHoB,IAUpB,MAAA,OAAA,IAAA,KAED,KAFC,KAAA,IAAA,KAAA,IAVoB,IAYV,MAQX,KARW,IAZU,IAAA,MADA,MA8BL,KAAH,IAEU,KAAH,MAAA,IAmDL,KAAH,IA0Bc,cAAH,IACJ,cAAH,IACC,cAAH,IACG,cAAH,IAwSf,E,G,G,K,M,S,M,S,MCtfmB,MACVC,IAAAA,KAAAA,KADU,IAERC,IAAAA,KAAAA,KAFQ,IAGZC,IAAAA,KAAAA,KAHY,IAITC,IAAAA,KAAAA,MAJS,IAKVC,IAAAA,KAAAA,MALU,IAMTC,IAAAA,KAAAA,MANS,IAOHC,IAAAA,KAAAA,MAPG,IAQGC,IAAAA,KAAAA,MARH,IASLC,IAAAA,KAAAA,MATK,IAUAC,IAAAA,KAAAA,MAVA,IAWCC,IAAAA,KAAAA,MAXD,IAYCC,IAAAA,KAAAA,MAZD,IAaFC,IAAAA,KAAAA,MAbE,IAcJC,IAAAA,KAAAA,MAdI,IAeTC,IAAAA,KAAAA,MAfS,IAgBFC,IAAAA,KAAAA,MAhBE,IAiBTC,IAAAA,KAAAA,MAjBS,IAkBTC,IAAAA,KAAAA,MAlBS,IAmBLC,IAAAA,KAAAA,MAnBK,IAoBJC,IAAAA,KAAAA,MApBI,IAqBRC,IAAAA,KAAAA,MArBQ,IAsBJC,IAAAA,KAAAA,MAtBI,IAuBEC,IAAAA,KAAAA,MAvBF,IAwBLC,IAAAA,KAAAA,MAxBK,IAyBVC,IAAAA,KAAAA,MAzBU,IA0BJC,IAAAA,KAAAA,MA1BI,IA2BHC,IAAAA,KAAAA,MA3BG,IA4BfC,IAAAA,KAAAA,KA5Be,IA6BXjmB,IAAAA,KAAAA,MA7BW,IA8BZkmB,IAAAA,KAAAA,MA9BY,IA+BFC,IAAAA,KAAAA,KA/BE,IAgCVC,IAAAA,KAAAA,MAhCU,IAiCZC,IAAAA,KAAAA,MAjCY,IAkCZC,IAAAA,KAAAA,KAlCY,IAmCTC,IAAAA,KAAAA,MAnCS,IAoCTC,IAAAA,KAAAA,MApCS,IAqCRC,IAAAA,KAAAA,MArCQ,IAsCFC,IAAAA,KAAAA,KAtCE,IAuCZC,IAAAA,KAAAA,KAvCY,IAwCZC,IAAAA,KAAAA,KAxCY,IAyCbC,IAAAA,KAAAA,MAzCa,IA0CV1wB,IAAAA,KAAAA,KA1CU,IA2CZmK,IAAAA,KAAAA,MA3CY,IA4CRwmB,IAAAA,KAAAA,MA5CQ,IA6CXC,IAAAA,KAAAA,MA7CW,IA8CbC,IAAAA,KAAAA,MA9Ca,IAAH,MA+CN,E,G,G,I,G,G,I,M,O,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,MChGX,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAOA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAuDeH,KAvDgC,MAuD7B,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,M,M,M,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCvGlB,IAAA,KAAA,KAeyDI,KAAT,OAAA,KAAA,IACV,KAAA,MAAA,KAAA,MAapC,KAboC,IAAA,IAAA,IAAA,MADU,MAI1C,MAEW,IAFX,IAFe,MAmBD,OAAA,KAAA,IAEY,KAAA,MAAA,KAAA,KAFZ,UACA,MAKA,OAAA,KAAA,IAEY,KAAA,MAAA,KAAA,KAFZ,UACA,MAKA,OAAA,KAAA,IAEY,KAAA,MAAA,KAAA,KAFZ,UACA,MAKA,OAAA,KAAA,IAEY,KAAA,MAAA,KAAA,KAFZ,UACA,MAAY,E,G,G,G,G,K,I,M,O,M,S,M,O,M,I,K,K,I,K,K,I,I,K,K,I,I,K,K,I,I,K,KC1DhC,IAAA,KAYgD5C,MAAZ,OAAA,KAAA,IAiBjC,KAAA,MAAA,KAAA,KAjBiC,MAOhC,EAD0B,MACxB,E,G,G,G,G,M,O,M,S,M,O,M,M,K,M,MCnBN,IAAA,KAAA,KAAA,IAeyB,cAAH,MAES,KAAH,MAGW,KAAH,MA0BlC,E,EC5CmBjtB,MAAG,IAAA,M,K,GAeV,MAAY,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCjB1Bd,IAAA,IAAA,KAAA,KAGA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAA0D,IAAA,KAAA,IAUtB4wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MASzB,KATyB,IAAA,IAAA,IAAA,MAAA,UACP,MAEI,MAAH,MAIlB,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,M,M,K,M,K,M,K,M,M,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,KCpBH,IAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,IAwFgBrvB,MAAI,SAAJA,IAAH,IAES,OAAA,KAAA,IAkBnB,KAAA,MAED,KAFC,IAAA,IAAA,IAIA,MAED,KAFC,IAJA,IAQA,MAED,KAFC,IARA,IAcA,MAED,KAFC,IAdA,IA2BA,MAED,KAFC,IA3BA,IAwCA,MAED,KAFC,IAxCA,IAgDA,MAED,KAFC,IAhDA,IAyDA,MAED,KAFC,IAzDA,IA+DA,MAED,KAFC,IA/DA,IAqEA,MAED,KAFC,IArEA,IAkFA,MAED,KAFC,IAlFA,IAAA,MAlBmB,MAAA,IA6HD,OAAA,KAAA,IAUlB,KAAA,MAED,KAFC,IAAA,IAAA,IAAA,MAVkB,MAAA,IAiBU,MACf,KADe,IAId,KAJc,IAAH,MASUwsB,MAAZ,OAAA,KAAA,IAMvB,KAAA,MAAA,KAAA,MASD,KATC,IAAA,IAAA,IAAA,MANuB,MAqGrB,KAA0B,MAAmB,E,G,K,M,S,M,S,M,GC1VlD,I,GAAA,KAC+B,MAAH,IAEV8C,MAAS,MASlB,MAP+B,IAO/B,MANmC,IAMnC,MALsB,IAKtB,MAJqB,IAIrB,MAHwB,IAGxB,MAF0B,IAE1B,MADiB,IAGH70B,MAAA,KACb,MAE8B,KAF9B,IAWkC,KAXlC,IAoBqB,KApBrB,IA6BoB,KA7BpB,IAsCuB,KAtCvB,IA+CyB,KA/CzB,IAwDY,KAxDZ,IA6DoB,KA7DpB,IAkEqB,KAlErB,IAuEgB,KAvEhB,IA4EmB,KA5EnB,IAiFW,KAjFX,IAsFoB,KAtFpB,IA2FoB,KA3FpB,IAgGmB,KAhGnB,IADa,EAAA,OAAA,IAuGLA,MAAW,KAAA,KAAd,IACgB,KAAC,KAAD,KAAhB,IACe,KAAZ,IAEH,KAFuB,MAarC,E,G,G,I,G,G,M,M,S,M,O,K,MCpID,MAAA,KAAA,IAGqB,cAAH,IAEQ,MAAH,IACE,MAAH,IACK,MAAH,IAwCvB,E,G,K,M,S,M,S,M,MC7CC,cAD2B,MAAA,IAGR,KAAH,IAGC,KAAH,IAuBsB,KAAH,MASjC,E,K,M,S,M,S,MCvC6B,QAAH,MAM1B,E,K,M,S,M,S,M,GCJF,I,GAAA,KAmCe80B,MAAgC,UAAA,KArC/C,MAqC8E,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,K,M,K,M,K,M,I,K,K,ICtC9E,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAawD,MAAH,IAkJpD,E,G,G,G,G,M,O,M,S,M,O,K,MCnKD,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAEwD,MAAH,IAKjC,MAAoBluB,UAAY,KAAhC,IAAH,IAwBhB,E,K,M,S,M,S,K,MC1BA,E,G,G,G,G,M,O,M,S,M,O,K,MCRD,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAGa,MAAH,IAMI,MAAH,IAMW,MAAH,IAwElB,E,G,K,M,S,M,O,K,MCvFgB,cAAH,IACG,cAAH,MAcb,E,G,G,I,G,G,I,K,M,K,I,K,I,K,I,K,I,I,O,M,S,M,O,K,M,K,M,M,M,M,I,K,K,IC8M0B,KAAH,IA2CvB,E,G,G,K,M,M,S,M,O,M,K,Q,M,K,M,K,MCtQkBrB,MAAI,SAAJA,IAAH,IAE0D,QAAH,MAAA,OAIlE,MACA,IACA,IACA,IACC,IACA,MACa,IAiKlB,E,G,K,MCvJ6BH,MAlB9B,GAAA,IAAA,KAEyB,KAAT,cADoB,MAEnB,QAiBc,KAAH,MA8/CX,MAAA,I,KAAA,I,GAAH,MAGZ,E,G,K,I,GCzhDW,M,GAAA,KAAA,MAuBiBA,MArB9B,GAAA,IAAA,KAIsB,KAAT,cAFO,MAGH,MA4BF,KAAoB,KAAH,MA6CD,KAAH,MA+sCX,MACH,QADG,IAAA,I,KAAA,I,GAAH,MAIZ,E,G,K,M,S,M,O,K,M,GCvyCF,M,GAAA,KAOsBpF,MAAW,KAAC+0B,MAAmB,KAAC,EAAD,KAAI,MAAxB,KAAd,IACmB,KAAhB,IA0DrB,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCjED/wB,IAAA,IAAA,KAAA,KAEA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAA8D,IAAA,KAAA,IAOxB4wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAG3B,KAH2B,IAAA,IAAA,IAAA,MAAA,UACT,MAAa,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCZjC5wB,IAAA,IAAA,KAAA,KAEA,IAAA,KAAA,KAAA,IAAsD,IAAA,KAAA,IAEpB+tB,MAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAGvB,KAHuB,IAAA,IAAA,IAAA,MAAA,UACL,MAAS,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCL7B/tB,IAAA,IAAA,KAAA,KAGA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAA4D,IAAA,KAAA,IAWvB4wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAU1B,KAV0B,IAAA,IAAA,IAAA,MAAA,UACR,MAEI,MAAH,MAKlB,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCtBH5wB,IAAA,IAAA,KAAA,KAGA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAAwE,IAAA,KAAA,IAW7B2vB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAUhC,KAVgC,IAAA,IAAA,IAAA,MAAA,UACd,MAEI,MAAH,MAKlB,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCvBH3vB,IAAA,IAAA,KAAA,KACAA,IAAA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IAMA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAAwD,IAAA,KAAA,IAQtB4wB,KAAZ,OAAA,KAAA,IAcnB,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAAA,MAdmB,UACF,MAiCH,KAAH,IAMZ,E,G,G,I,G,G,I,K,I,K,I,K,I,M,O,M,S,M,O,K,M,M,K,MC1DF5wB,IAAA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IAAoD,IAAA,KAAA,IAKlD,cADc,IAES,cAAH,IACG,cAAH,IACL,cAAH,IASV,EAAH,IAmKA,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCvLDA,IAAA,IAAA,KAAA,KAOA,IAAA,KAAA,IAIA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAAwD,IAAA,KAAA,IAEnC,cAAH,IAcoB4wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAW3B,KAX2B,IAAA,IAAA,IAAA,MAAA,UACT,MAEI,MAAH,MAMlB,E,G,K,M,S,M,S,M,K,M,MCjCC,MAAH,MAAA,IAMqD,QAW9C,MAGL,EAHM,KAAD,MAX2C,MAAA,IAgB9B,cAAH,IAqCjB,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KC/DD5wB,IAAA,IAAA,KAAA,KAGA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAAsD,IAAA,KAAA,IAWpB4wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAUvB,KAVuB,IAAA,IAAA,IAAA,MAAA,UACL,MAEI,MAAH,MAKlB,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCtBH5wB,IAAA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAA0E,IAAA,KAAA,IAc9B4wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAUjC,KAViC,IAAA,IAAA,IAAA,MAAA,UACf,MAEI,MAAH,MAKlB,E,G,G,G,G,K,I,M,O,M,S,M,O,K,MC1BH5wB,IAAA,IAAA,KAAA,KAAA,IAA+B,IAE/B,IAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IAEmB,cAAH,IA4BS,KAAH,IAiErB,E,K,M,S,M,S,M,MCvG2E,MAAH,MAGvE,MACkB,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCHpBA,IAAA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAA0D,IAAA,KAAA,IAoBtB4wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAYzB,KAZyB,IAAA,IAAA,IAAA,MAAA,UACP,MAEI,MAAH,MAOlB,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KClCH5wB,IAAA,IAAA,KAAA,KAQA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAAsD,IAAA,KAAA,IAmBpB4wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAUvB,KAVuB,IAAA,IAAA,IAAA,MAAA,UACL,MAEI,MAAH,MAKlB,E,K,M,S,M,S,MCtCqB,MAAH,MAGV,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCHX5wB,IAAA,IAAA,KAAA,KAEA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAAsD,IAAA,KAAA,IASpB4wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAGvB,KAHuB,IAAA,IAAA,IAAA,MAAA,UACL,MAAS,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCZ7B5wB,IAAA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAA4D,IAAA,KAAA,IAiBvB4wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAU1B,KAV0B,IAAA,IAAA,IAAA,MAAA,UACR,MAEI,MAAH,MAKlB,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KChCH5wB,IAAA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAEA,IAAA,KAAA,KAAA,IAAiE,IAAA,KAAA,IAO5B4wB,KAAT,OAAA,KAAA,IAiBzB,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAAA,MAjByB,UACR,MAEI,MAAH,MAElB,E,K,M,S,M,S,K,MCNF,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCVD5wB,IAAA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAEA,IAAA,KAAA,KAAA,IAAiE,IAAA,KAAA,IAO3B4wB,KAAT,OAAA,KAAA,IAiB1B,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAAA,MAjB0B,UACT,MAEI,MAAH,MAElB,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCfH5wB,IAAA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAA0E,IAAA,KAAA,IAiB9B4wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MASjC,KATiC,IAAA,IAAA,IAAA,MAAA,UACf,MAEI,MAAH,MAIlB,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KC7BH5wB,IAAA,IAAA,KAAA,KAGA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAAsD,IAAA,KAAA,IAapB4wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAUvB,KAVuB,IAAA,IAAA,IAAA,MAAA,UACL,MAEI,MAAH,MAKlB,E,G,G,G,G,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCzBH,IAAA,KAWkC7C,MAAT,OAAA,KAAA,IAQtB,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAAA,MARsB,UACL,MAAS,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCX7B/tB,IAAA,IAAA,KAAA,KAUA,IAAA,KAAA,IAOA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAEA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAA,IAA2D,IAAA,KAAA,IAAA,QAAA,IAI5C4F,MAAiB,KAAC,MAC1B,MAD0B,IAAD,KAML,MAAT,IAWegrB,KAAT,OAAA,KAAA,IA6CrB,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAAA,MA7CqB,UACJ,MAEI,MAAH,MAElB,E,K,M,S,M,S,M,GCjDH,I,GAAA,KAWeE,MAAgC,UAAA,KAb/C,MAa2E,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCb3E9wB,IAAA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAA0D,IAAA,KAAA,IAYtB4wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAGzB,KAHyB,IAAA,IAAA,IAAA,MAAA,UACP,MAAW,E,G,G,I,G,G,I,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KChB/B5wB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AAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAOnC,KAPmC,IAAA,IAAA,IAAA,MAAA,UACjB,MAEC30B,MAAA,KACd,MADc,EAAA,MAAA,MACY,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCpBjC,IAAA,KAAA,KAS+C20B,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAOpC,KAPoC,IAAA,IAAA,IAAA,MAAA,UAClB,MAEC30B,MAAA,KACd,MADc,EAAA,MAAA,MACY,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCbjC,IAAA,KAAA,KAW+C20B,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAOpC,KAPoC,IAAA,IAAA,IAAA,MAAA,UAClB,MAEC30B,MAAA,KACd,MADc,EAAA,MAAA,MACY,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCjBjC,IAAA,KAS4C+xB,MAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAKjC,KALiC,IAAA,IAAA,IAAA,MAAA,UACf,MAEI,EAAH,MAAK,E,G,G,G,G,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCZ1B,IAAA,KAAA,KAAA,IAGA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KACA,IAAA,KAAA,KAAA,IAAwC,IAAA,KAAA,IAWE4C,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAO/B,KAP+B,IAAA,IAAA,IAAA,MAAA,UACb,MAEC30B,MAAA,KACd,MADc,EAAA,MAAA,MACY,E,G,G,G,G,K,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCxBjC,IAAA,KAAA,KAEA,IAAA,KAAA,KAAA,IACAgE,IAAA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAgD,IAAA,KAAA,IAQX2wB,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAS1B,KAT0B,IAAA,IAAA,IAAA,MAAA,UACR,MAEC30B,MAAA,KACd,MAA0B,MADZ,EAAA,OAAA,MAGF,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCnBnB,IAAA,KAAA,KAEA,IAAA,KAAA,KAAA,IAOA,IAAA,KAAA,KAAgD,IAAA,KAAA,IAWJ20B,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MASjC,KATiC,IAAA,IAAA,IAAA,MAAA,UACf,MAEC30B,MAAA,KACd,MAA0B,MADZ,EAAA,OAAA,MAGD,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KC1BpB,IAAA,KAAA,KAEA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAAgD,IAAA,KAAA,IAMX20B,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAO1B,KAP0B,IAAA,IAAA,IAAA,MAAA,UACR,MAEC30B,MAAA,KACd,MADc,EAAA,MAAA,MACY,E,G,G,G,G,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCbjC,IAAA,KAAA,KAOyC20B,KAAT,OAAA,KAAA,IAS7B,KAAA,MAAA,KAAA,MAED,KAFC,IAAA,IAAA,IAAA,MAT6B,UACZ,MAAgB,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCTpC,IAAA,KAAA,KAEA,IAAA,KAAA,KAAA,IAGA,IAAA,KAAA,KAAgD,IAAA,KAAA,IAQVA,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAS3B,KAT2B,IAAA,IAAA,IAAA,MAAA,UACT,MAEC30B,MAAA,KACd,MAA0B,MADZ,EAAA,OAAA,MAGZ,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KClBT,IAAA,KAAA,KAQqC20B,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAO1B,KAP0B,IAAA,IAAA,IAAA,MAAA,UACR,MAEC30B,MAAA,KACd,MADc,EAAA,MAAA,MACY,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCXjC,IAAA,KAAA,KAQ0C20B,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAO/B,KAP+B,IAAA,IAAA,IAAA,MAAA,UACb,MAEC30B,MAAA,KACd,MADc,EAAA,MAAA,MACY,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCdjC,IAAA,KAU0C+xB,MAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAK/B,KAL+B,IAAA,IAAA,IAAA,MAAA,UACb,MAEI,EAAH,MAAK,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCX1B,IAAA,KAAA,KAUgD4C,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAOrC,KAPqC,IAAA,IAAA,IAAA,MAAA,UACnB,MAEC30B,MAAA,KACd,MADc,EAAA,MAAA,MACY,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KChBjC,IAAA,KAeyC+xB,MAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAK9B,KAL8B,IAAA,IAAA,IAAA,MAAA,UACZ,MAEI,EAAH,MAAK,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCjB1B,IAAA,KAAA,KAMoC4C,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAOzB,KAPyB,IAAA,IAAA,IAAA,MAAA,UACP,MAEC30B,MAAA,KACd,MADc,EAAA,MAAA,MACY,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KCTjC,IAAA,KAAA,KAU0C20B,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAO/B,KAP+B,IAAA,IAAA,IAAA,MAAA,UACb,MAEC30B,MAAA,KACd,MADc,EAAA,MAAA,MACY,E,G,G,G,G,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,I,K,K,I,I,K,K,I,I,K,KChBjC,IAAA,KAAA,KAEA,IAAA,KAAA,KAAA,IAEA,IAAA,KAAA,KAA6B,IAAA,KAAA,IAaO40B,KAAT,OAAA,KAAA,IAAA,KAAA,MAAA,KAAA,MAYzB,KAZyB,IAAA,IAAA,IAAA,MAAA,UACP,MAEyC,MAAxC,MAOlB,E,G,G,I,G,G,I,K,M,K,I,K,I,K,I,I,O,M,S,M,O,K,M,I,K,K,IC3BH,IAAA,KAAA,IAgB0B,KAAH,IAwBtB,E,E,M,S,M,G,S,E,G,G,G,G,K,M,M,S,M,S,MCxCD5wB,IAAA,IAAA,KAAA,KACAA,IAAA,IAAA,KAAA,KAAA,IAAyF,IAAA,KAAA,IAC7D,KAA0hE,MACphE,E,G,G,G,G,K,M,M,S,M,S,MCHlCA,IAAA,IAAA,KAAA,KACAA,IAAA,IAAA,KAAA,KAAA,IAAyF,IAAA,KAAA,IAC/D,KAA6iT,MACviT,E,G,G,G,G,K,M,M,S,M,S,MCHhCA,IAAA,IAAA,KAAA,KACAA,IAAA,IAAA,KAAA,KAAA,IAAyF,IAAA,KAAA,IAC/D,KAAk8R,MAC57R,E,G,G,G,G,K,M,M,S,M,S,MCHhCA,IAAA,IAAA,KAAA,KACAA,IAAA,IAAA,KAAA,KAAA,IAA4G,IAAA,KAAA,IACrF,KAEy6J,MACn6J,E,G,G,G,G,K,M,M,S,M,S,MCL7BA,IAAA,IAAA,KAAA,KACAA,IAAA,IAAA,KAAA,KAAA,IAA4G,IAAA,KAAA,IACrF,KAEy6J,MACn6J,E,G,G,G,G,K,M,M,S,M,S,MCL7BA,IAAA,IAAA,KAAA,KACAA,IAAA,IAAA,KAAA,KAAA,IAA0F,IAAA,KAAA,IACrD,KAyEjB,MACuB,E,G,G,G,G,K,M,M,S,M,S,MC5E3CA,IAAA,IAAA,KAAA,KACAA,IAAA,IAAA,KAAA,KAAA,IAA0F,IAAA,KAAA,IACrD,KAyEjB,MACuB,E,G,G,G,G,K,M,M,S,M,S,MC5E3CA,IAAA,IAAA,KAAA,KACAA,IAAA,IAAA,KAAA,KAAA,IAAgD,IAAA,KAAA,IACtB,KAMN,MACY,E,G,G,G,G,K,M,M,S,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ATc,IAWb,IAAA,KADO,IAAA,IAEP,IAAA,KAFO,IAVM,IAAH,IA6BgC0R,IAAAA,KAAAA,KACnDC,IAAAA,KAAAA,MACA,KAFyE,MAAzB,IAY9B,KAAH,MAcf,MAEiB,E,G,M,G,K,KCjJnB,MAA6G,QAA7G,I,K,G,MAA2L,E,GCmB7K,M,GAAA,K,GAAA,MAAiB,E,G,M,G,K,KCnB/B,MAA6G,QAA7G,I,K,G,MAA6L,E,G,M,G,K,KCA7L,MAA2G,QAA3G,I,K,G,MAA0L,E,G,M,G,K,KCA1L,MAA6G,QAA7G,I,K,G,MAAiM,E,G,M,G,K,KCAjM,MAA6G,QAA7G,I,K,G,MAAuM,E,G,M,G,K,KCAvM,MAA6G,QAA7G,I,K,G,MAAuM,E,G,M,G,K,KCAvM,MAA6G,QAA7G,I,K,G,MAA4L,E,G,M,G,K,KCA5L,MAA6G,QAA7G,I,K,G,MAAiM,E,G,M,G,K,KCAjM,MAA6G,QAA7G,I,K,G,MAA6M,E,G,M,G,K,KCA7M,MAA6G,QAA7G,I,K,G,MAA8L,E,G,M,G,K,KCA9L,MAA6G,QAA7G,I,K,G,MAA4L,E,G,M,G,K,KCA5L,MAA6G,QAA7G,I,K,G,MAA6L,E,G,M,G,K,KCA7L,MAA6G,QAA7G,I,K,G,MAA8L,E,G,M,G,K,KCA9L,MAA6G,QAA7G,I,K,G,MAA2L,E,G,M,G,K,KCA3L,MAA6G,QAA7G,I,K,G,MAAgM,E,G,M,G,K,KCAhM,MAA+G,QAA/G,I,K,G,MAAyL,E,G,M,G,K,KCAzL,MAA6G,QAA7G,I,K,G,MAAyL,E,G,M,G,K,KCAzL,MAA6G,QAA7G,I,K,G,MAA6L,E,G,M,G,K,KCA7L,MAA6G,QAA7G,I,K,G,MAA2L,E,G,M,G,K,KCA3L,MAA6G,QAA7G,I,K,G,MAA2L,E,G,M,G,K,KCA3L,MAA6G,QAA7G,I,K,G,MAAuL,E,G,M,G,K,KCAvL,MAA6G,QAA7G,I,K,G,MAA2L,E,G,M,G,K,KCA3L,MAA6G,QAA7G,I,K,G,MAA+L,E,G,M,G,K,KCA/L,MAA6G,QAA7G,I,K,G,MAAmM,E,G,M,G,K,KCAnM,MAA6G,QAA7G,I,K,G,MAAsL,E,G,M,G,K,KCAtL,MAA6G,QAA7G,I,K,G,MAA+L,E,G,M,G,K,KCA/L,MAA6G,QAA7G,I,K,G,MAAmM,E,G,M,G,K,KCAnM,MAA6G,QAA7G,I,K,G,MAAoM,E,G,M,G,K,KCApM,MAA6G,QAA7G,I,K,G,MAA+L,E,G,M,G,K,KCA/L,MAA6G,QAA7G,I,K,G,MAAoM,E,G,M,G,K,KCApM,MAA6G,QAA7G,I,K,G,MAA2L,E,G,M,G,K,KCA3L,MAA6G,QAA7G,I,K,G,MAAsL,E,G,M,G,K,KCAtL,MAA6G,QAA7G,I,K,G,MAA+L,E,G,M,G,K,KCA/L,MAA6G,QAA7G,I,K,G,MAAuL,E,G,M,G,K,KCAvL,MAA+G,QAA/G,I,K,G,MAA2M,E,G,M,G,K,KCA3M,MAA6G,QAA7G,I,K,G,MAAsL,E,G,M,G,K,KCAtL,MAA6G,QAA7G,I,K,G,MAAgM,E,G,M,G,K,KCAhM,MAA6G,QAA7G,I,K,G,MAA0L,E,G,M,G,K,KCA1L,MAA6G,QAA7G,I,K,G,MAA6L,E,G,M,G,K,KCA7L,MAA6G,QAA7G,I,K,G,MAA6L,E,G,M,G,K,KCA7L,MAA6G,QAA7G,I,K,G,MAAiM,E,G,M,G,K,KCAjM,MAA6G,QAA7G,I,K,G,MAAgM,E,G,M,G,K,KCAhM,MAA6G,QAA7G,I,K,G,MAAuL,E,G,M,G,K,KCAvL,MAA6G,QAA7G,I,K,G,MAAmM,E,G,M,G,K,KCAnM,MAA+G,QAA/G,I,K,G,MAA8L,E,G,M,G,K,KCA9L,MAAiH,QAAjH,I,K,G,MAAiM,E,G,M,G,K,KCAjM,MAA6G,QAA7G,I,K,G,MAA6L,E,G,M,G,K,KCA7L,MAA6G,QAA7G,I,K,G,MAAsM,E,G,M,G,K,KCAtM,MAA6G,QAA7G,I,K,G,MAAmM,E,G,M,G,K,KCAnM,MAA6G,QAA7G,I,K,G,MAA0L,E,G,M,G,K,KCA1L,MAA6G,QAA7G,I,K,G,MAAgM,E,G,M,G,K,KCAhM,MAA6G,QAA7G,I,K,G,MAAuL,E,G,M,G,K,KCAvL,MAA6G,QAA7G,I,K,G,MAA0L,E,G,M,G,K,KCA1L,MAA6G,QAA7G,I,K,G,MAAyL,E,G,M,G,K,KCAzL,MAA6G,QAA7G,I,K,G,MAA4L,E,G,M,G,K,KCA5L,MAA6G,QAA7G,I,K,G,MAA6L,E,G,M,G,K,KCA7L,MAA6G,QAA7G,I,K,G,MAAoM,E,G,M,G,K,KCApM,MAA6G,QAA7G,I,K,G,MAAwM,E,G,M,G,K,KCAxM,MAA6G,QAA7G,I,K,G,MAAgM,E,G,M,G,K,KCAhM,MAA6G,QAA7G,I,K,G,MAAmM,E,G,M,G,K,KCAnM,MAA6G,QAA7G,I,K,G,MAA8L,E,G,M,G,K,KCA9L,MAA6G,QAA7G,I,K,G,MAA8L,E,G,M,G,K,KCA9L,MAA6G,QAA7G,I,K,G,MAAuM,E,G,M,G,K,KCAvM,MAA6G,QAA7G,I,K,G,MAAsM,E,G,M,G,K,KCAtM,MAA6G,QAA7G,I,K,G,MAA0L,E,G,M,G,K,KCA1L,MAA6G,QAA7G,I,K,G,MAAiM,E,G,M,G,K,KCAjM,MAA6G,QAA7G,I,K,G,MAAmM,E,G,M,G,K,KCAnM,MAA6G,QAA7G,I,K,G,MAAsM,E,G,M,G,K,KCAtM,MAA6G,QAA7G,I,K,G,MAAmM,E,G,M,G,K,KCAnM,MAA6G,QAA7G,I,K,G,MAAmM,E,G,M,G,K,KCAnM,MAA6G,QAA7G,I,K,G,MAAiM,E,G,M,G,K,KCAjM,MAA6G,QAA7G,I,K,G,MAAwL,E,G,M,G,K,KCAxL,MAA6G,QAA7G,I,K,G,MAA6L,E,G,M,G,K,KCA7L,MAA6G,QAA7G,I,K,G,MAAoM,E,G,M,G,K,KCApM,MAA6G,QAA7G,I,K,G,MAAyL,E,G,M,G,K,KCAzL,MAA8G,QAA9G,I,K,G,MAA0L,E,G,M,G,K,KCA1L,MAA+G,QAA/G,I,K,G,MAA0M,E,G,M,G,K,KCA1M,MAA8G,QAA9G,I,K,G,MAAyM,E,G,M,G,K,KCAzM,MAA+G,QAA/G,I,K,G,MAA4L,E,G,M,G,K,KCA5L,MAA+G,QAA/G,I,K,G,MAAgM,E,G,M,G,K,KCAhM,MAA+G,QAA/G,I,K,G,MAA0L,E,G,M,G,K,KCA1L,MAA+G,QAA/G,I,K,G,MAA8L,E,G,G,I,G,G,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,ICA9L,IAAA,KAAA,KAAA,IAeoC,KAAH,MAsF/B,E,G,G,I,G,G,I,M,O,M,S,M,O,K,MCrGF,IAAA,KAAA,KAAA,IAKA,IAAA,KAAA,IAmDC,E,G,G,I,G,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B,KAAC,MAC7B,MAD6B,IAAD,KAAnC,IAOmB,KAAmB,MAAC,KAAD,KAGjC,MAAmB,E,KC5FlCA,MAAqB,SAAwB,MAAxB,O,GACO,M,GAAA,KAC2B,UAAA,KAAxC,MAA+D,E,KCD9EA,MAAqB,SAAwB,MAAxB,S,KA+CN,MAAoB,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,M,I,K,K,I,I,K,K,ICjDnCgE,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAoC,QAAA,IAeZqxB,IAAAA,KAAAA,MAAQ,MACfC,IAAAA,KAAAA,MADe,IAEX,KAFW,IAsDpB,KAtDoB,IA8D5BC,IAAAA,KAAAA,KA9D4B,IA+DrB,MACG5pB,KADH,IAEO,MAAYA,KAAZ,IAA0B6pB,IAAAA,KAAAA,MAA1B,IAFP,IAGQxnB,IAAAA,KAAAA,MAHR,IAIMA,IAAAA,KAAAA,MAJN,IA/DqB,IAqEpB,MACE,IADF,IAGAynB,IAAAA,KAAAA,MADM,IAAA,IAENC,IAAAA,KAAAA,MAFM,IAIF,MAA6CC,IAAAA,KAAAA,MAA7C,IADJ,IAAA,IAEI,MAAyCA,IAAAA,KAAAA,MAAzC,IAFJ,IAHM,IAFN,IAWAC,IAAAA,KAAAA,MADO,IAAA,IAGH,MAAoCD,IAAAA,KAAAA,MAApC,IADJ,IAAA,IAEI,MAFJ,IAFO,IAVP,IAiBMC,IAAAA,KAAAA,MAAD,IAAA,IAAwBC,IAAAA,KAAAA,MAAxB,IAAqC,MAAqCF,IAAAA,KAAAA,MAArC,IAAD,IAAA,IAApC,IAjBL,IArEoB,IAAD,KAAV,MAwFlB,MACoB,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,I,G,G,I,K,M,M,S,M,O,QC7DtB,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,G,K,K,I,K,I,I,O,M,S,M,O,K,M,K,M,K,M,K,M,I,K,K,I,I,K,K,IC3CwB,MACR,KADQ,IAAH,IA8KrB,E,G,G,I,G,G,M,M,S,M,O,K,M,K,MC/KkB,EAAH,MAmCf,E,K,M,S,M,S,K,MCDA,E,G,G,I,G,G,I,K,M,M,S,M,O,K,M,K,MCpCD3xB,IAAA,MAAA,KAAA,KAAA,IAOC,E,GCJyB,M,GAAA,K,GAAV,MACf,E,G,G,K,GCKyB,M,GAAA,OAAYH,MAAU,SAAA,KAAX,IAA+BA,MAAU,SAAA,KAAqB7D,MAAM,KAAU,KAAjB,IAAoC,MAAmD,MAArD,IAA0E,MAAD,IAC+H,MAAc,MAAe,MAAG,E,GCPlV,M,GAAA,K,GAAV,MACf,E,G,G,O,K,K,K,I,K,I,K,MCKkB6D,MAAU,SAAA,KAAX,IAA+BA,MAAU,SAAA,KAAX,IAA8BA,MAAU,SAAA,KAAqBA,MAAU,SAAA,KAAwBA,MAAU,SAAA,KAAqBA,MAAU,SAAA,KAAX,IAAgCA,MAAU,SAAA,KAAX,IAA+BA,MAAU,SAAA,KAAX,IAAmCA,MAAU,SAAA,KAAqBA,MAAU,SAAA,KAAX,IAA4BA,MAAU,SAAA,KAAX,IAA4BA,MAAM,MAAP,IAC3V,MAAW,KAAX,IAAmD,KAAnD,IAAoF,KAApF,IAAiH,KAAjH,IAAD,IAAkI7D,MAAM,KAAP,IAAiB,EAAD,IAAiF,KAA4B,EAAD,MACjQ,KAAoB,KAAD,MAA+P,KAAuB,KAAD,MAA+F,KAAF,cAA0G,MACne,MAAQ,KAAJ,QAAsC,MAAUmF,MAAK,KAAN,IAAiBnF,MAAM,KAAU,KAAjB,IAAmC,MAAD,IAAkB,MAAD,IAEqI,cAAD,IAIjQ,MAAD,IAAkB,MAAD,IAAqB,MAAA,IAAA,IAAA,IAA0F,M,KAAA,IAAe,KAAf,IAAiF,KAAjF,IAA4I,KAA5I,IAAoM,KAApM,IAAD,MAA2U,MAAmB,MACld,MAAwB,MAAqB,MAAmB,MAA6D,MACxH,KAAD,MACoH,KAAD,MAAyN,MAAyB,KAAD,MAAuE,KAAD,MAC3a,KAAD,M,KAAgE,MAAgB,KAAD,MAAsF,KAAD,MAA4F,KAAD,MAAsG,KAAD,MAClW,KAAD,MAAqE,KAAD,MAAmE,KAAD,MAAuC,KAAD,MAAqE,KAAD,MAA8D,KAAD,MAAkE,KAAD,MACtW,KAAD,MAAiF,KAAD,MAAsE,KAAD,MAAiE,KAAD,MAAoE,KAAD,MAA0D,KAAD,MAAwE,KAAD,MAC5Z,KAAD,UAA6D,MAAU,E,G,G,G,G,K,I,K,M,O,M,S,M,O,M,K,M,M,I,K,K,I,I,K,K,ICzB5F,IAAA,KAAA,KAAA,IACAgE,IAAA,IAAA,KAAA,KAAA,IAA8C,QAAA,IAuCvB,MAA2B,E,G,G,I,G,G,I,M,O,M,S,M,O,K,M,I,K,K,ICzBjD,E,G,G,I,G,G,I,M,O,M,S,M,O,K,M,I,K,K,ICVyB,MACX,KADW,IAEf8xB,IAAAA,KAAAA,MAFe,IAAH,IAUtB,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,K,M,M,K,M,I,K,K,ICOmBC,IAAAA,KAAAA,MAAY,IAAf,IAQhB,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,K,M,K,M,I,K,K,IC1BD/xB,IAAA,IAAA,KAAA,KAAA,IAA+B,QAAA,IAAA,QAAA,IAgC9B,E,G,G,I,G,G,M,M,S,M,O,K,QCnBA,E,G,G,I,G,G,I,K,M,M,S,M,S,K,M,K,MCoCA,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,K,M,M,S,M,S,M,MCrDDA,I,GAAA,I,GAAA,KAAA,KAAA,IAC+C,MAAA,KAAtB,MAAA,IACD,KAAH,MAAwC,E,G,G,G,G,M,O,M,S,M,O,K,M,K,M,I,K,K,I,Q,ICe5D,E,G,G,I,G,G,M,M,S,M,O,K,MCX0B,M,KAAA,IAAH,MAcvB,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,I,G,G,I,K,M,K,I,I,O,M,S,M,O,M,M,K,M,K,M,K,M,I,K,K,I,Q,ICd6B,MAIlBgyB,IAAAA,KAAAA,MAJkB,QAAA,KAAA,MAAH,IAaK,MAAA,IAAH,IA6C5B,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,I,G,G,M,M,S,M,S,M,MCzDqCC,IAAAA,KAAAA,M,KAAO,KAAV,MAKIA,IAAAA,KAAAA,M,KAAO,KAAV,MAA0C,E,G,G,I,G,G,I,M,O,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,OCZ9E,IAAA,KAAA,KAAA,IAA0D,E,G,G,I,G,G,I,M,O,M,S,M,O,K,M,K,MCA1D,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,KAAA,IA2BC,E,M,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,G,Q,E,M,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,G,Q,E,M,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,G,Q,E,M,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,G,Q,E,M,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,I,M,I,M,I,I,G,Q,E,G,G,G,M,O,M,S,M,O,MC/BD,IAAA,KACA,IAAA,KAAA,KACgDC,KAE5C,GAAA,kBAAA,QAAA,SAAA,GACsC,IAAlC,QAAA,SAAA,GAC6B,IAAK,IAC9B,QAA+C,MAAA,KAA/C,GACiD,MAAU,KAALC,IAAL,MAA/B,IAEH,IAAkBxrB,SAAa,KAAhB,IAH9B,EALc,MAazB,E,M,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,G,Q,E,K,OCdD3K,MAAqB,SAAwB,MAAxB,OACF,MAsCJ,MAAe,E,G,G,G,M,O,M,S,M,O,MCxC9B,IAAA,KAAA,KACeo2B,KADkF,MACtE,E,M,M,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,M,I,I,M,I,M,M,I,M,I,I,M,I,G,Q,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,I,G,G,M,M,S,M,O,K,MCD3B,MAAA,KAAA,IAqBC,E,G,G,I,G,G,M,M,S,M,O,K,Q,K,MCAA,E,K,M,S,M,S,K,M,K,MC0JA,E,K,M,S,M,S,K,MC3JA,E,G,G,I,G,G,I,M,O,M,S,M,O,K,MCpBD,IAAA,KAAA,IAGA,IAAA,KAAA,KAAA,IAwBC,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,IC3BDpyB,IAAA,IAAA,KAAA,KAAA,IAE6B,KAAH,MAexB,E,G,G,I,G,G,I,M,O,M,S,M,O,M,I,K,K,I,I,K,KCTyB,OAAA,KAAA,IAuBvB,KAAA,MAGA,KAHA,IAAA,IAAA,IAaA,MAGA,KAHA,IAbA,IAmBA,MAGA,KAHA,IAnBA,IAyBA,MAIA,KAJA,IAzBA,IAmCA,MAIA,KAJA,IAnCA,IAAA,MAvBuB,MAiEtB,E,G,G,I,G,G,M,M,S,M,O,K,QCtEJ,E,G,G,K,M,S,M,S,M,M,M,K,MCHD,IAAA,KA6EkC,MACtBqyB,IAAAA,KAAAA,MAAkB,IADI,IAvET,MACV,MACMD,IAAAA,KAAAA,MAAY,MAAK,MADvB,IAEQA,IAAAA,KAAAA,MAAY,MAAK,MAFzB,IAGGA,IAAAA,KAAAA,MAAY,MAAK,MAHpB,IAIQA,IAAAA,KAAAA,MAAY,MAAK,MAJzB,IAKKA,IAAAA,KAAAA,MAAY,MAAK,MALtB,IAMGA,IAAAA,KAAAA,MAAY,MAAK,MANpB,IAOQA,IAAAA,KAAAA,MAAY,MAAK,MAPzB,IADU,IAUR,MACIA,IAAAA,KAAAA,MAAY,MAAK,MAAO,MAD5B,IAEKA,IAAAA,KAAAA,MAAY,MAAK,MAAO,MAF7B,IAVQ,IAcP,MAdO,IAuBP,MACW,MADX,IAEa,MAFb,IAGa,MAHb,IAIQ,MAJR,IAKQ,MALR,IAMa,MANb,IAOa,MAPb,IAQU,MARV,IASU,MATV,IAUQ,MAVR,IAWQ,MAXR,IAYa,MAZb,IAaa,MAbb,IAeI,MAfJ,IAgBU,MAhBV,IAiBC,MAjBD,IAkBO,MAlBP,IAmBC,MAnBD,IAoBO,MApBP,IAqBK,MArBL,IAsBW,MAtBX,IAuBK,MAvBL,IAwBW,MAxBX,IAyBE,MAzBF,IA0BQ,MA1BR,IA2BM,MA3BN,IA4BG,MA5BH,IAvBO,IAsDjB7xB,KAAQ,SAAZ,IAA+BA,KAAQ,SAAvC,IAC8B,MASL,MAOK,IAFvB,MAEuB,IAIrB+xB,IAAAA,KAAAA,UAAuB,KAJF,IAKlB,EALkB,IAMxB,MANwB,IAAH,MAQO,MAC1BC,IAAAA,KAAAA,MAAsB,IADI,IAEJ,MAFI,IAGzBD,IAAAA,KAAAA,UAAuB,KAHE,IAIP,MAJO,IAKtB,EALsB,IAM5B,MAN4B,IAAH,MAQY,MACnCE,IAAAA,KAAAA,MAAoB,IADe,IAEb,MAFa,IAGlCF,IAAAA,KAAAA,UAAuB,KAHW,IAIhB,MAJgB,IAK/B,EAL+B,IAMrC,MANqC,IAAH,MAO1C,E,G,G,I,G,G,M,M,S,M,O,K,M,K,QCLD,E,G,G,I,G,G,M,M,S,M,O,K,Q,K,MCwKA,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,I,G,G,I,M,O,M,S,M,O,K,M,K,M,I,K,K,I,I,K,K,IC/NA,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,I,G,G,M,K,I,K,I,K,I,I,O,M,S,M,O,K,M,I,K,K,ICkEA,E,K,M,S,M,S,K,MC7DA,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,K,M,S,M,S,M,M,M,MC7CkC,KAAH,MAGM,MAAA,IAAD,IAAA,IAAH,MAE9B,MAAA,IADiC,IAAA,IAAH,MAGV,IAAA,KAAA,MAAA,MAAwD,E,G,G,K,M,S,M,S,M,MCJ5E,MAAiCX,IAAAA,KAAAA,MAAjC,IADwB,IAAA,IAExB,MAFwB,IAGxB,MAHwB,IAIxB,MAJwB,IAAH,MAMGc,IAAAA,KAAAA,wBAAY,IAAf,MAA6E,E,K,M,S,M,S,K,MCGrG,E,G,K,M,S,M,S,M,MCVyB,MAChB,KADgB,IAyBhB,QAzBgB,IAAH,MAAA,I,GA2CGC,I,GAAAA,KAAAA,MAA0C,K,KAA7B,MAAhB,MAAoD,E,K,M,S,M,S,K,MClC1E,E,K,M,S,M,S,M,MCT2B,IACxB,MADwB,IAExB,MAFwB,IAGxB,MAHwB,IAIxB,MAJwB,IAKxB,MALwB,IAMxB,MANwB,IAOxB,MAPwB,IAQxB,MARwB,IASxB,MATwB,IAUxB,MAVwB,IAWxB,MAXwB,IAAH,M,GAaGD,I,GAAAA,KAAAA,oDAAY,IAAf,MAAsK,E,K,M,S,M,S,M,MCbnK,IACxB,MADwB,IAExB,MAFwB,IAGxB,MAHwB,IAIxB,MAJwB,IAKxB,MALwB,IAAH,M,GAOGA,I,GAAAA,KAAAA,wBAAY,IAAf,MAAgF,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,I,G,G,I,K,I,K,I,K,I,M,O,M,S,M,O,K,M,M,M,M,I,K,K,I,Q,ICuExG,E,G,G,I,G,G,I,K,M,M,S,M,O,K,MC9EDzyB,IAAA,MAAA,KAAA,KAAA,IA0FC,E,K,M,S,M,S,UCvFwB,MAAc,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,K,O,M,S,M,O,M,M,GCHFiyB,I,GAAAA,KAAAA,MAAO,KAAV,MAMjC,E,K,M,S,M,S,M,M,M,MCPsC,KAAH,MAMR,KAAH,MAMM,KAAH,MAMc,KAAH,MAKrC,E,K,M,S,M,S,K,MClBD,E,G,G,G,G,K,I,K,M,M,S,M,S,M,K,M,M,M,MCLDjyB,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,IAEiCO,KAAQ,SAARA,IAAH,IAOR,KAAH,IAmFU0xB,IAAAA,KAAAA,M,KAAO,KAAV,MAOKA,IAAAA,KAAAA,M,KAAO,KAAV,MAEa1xB,KAAe,MAAC,MAAD,KAAlB,MAUXoyB,MAAH,MAgBvB,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,K,M,K,M,K,M,K,M,I,K,K,IChID3yB,IAAA,IAAA,KAAA,KAAA,IAsGC,E,G,G,I,G,G,MC7FYhE,MAAA,SAAA,MAAA,O,KAAA,MACb,MAAA,KAAA,IAqBC,E,G,G,I,G,G,M,K,ICtBY,IAAA,OAAAA,MAAA,SAAA,MAAA,OAAA,MAAA,IAAA,KAAA,KAAA,IAAA,IAAA,KAAA,KACb,IAAA,KAAA,IACA,IAAA,KAAA,KAAA,IAGoB,MACD,MADC,IAUa,MAVb,IAmBc,MAnBd,IA4BW,MA5BX,IAqCY,MArCZ,IA8CgB,MA9ChB,IAuDiB,MAvDjB,IAgET,MAhES,IAAH,IA0EM,KAAH,IACO,KAAH,IACA,KAAH,IACI,KAAH,UACW,OACL,IACO,MAAH,IASD,KAAH,IAuGH,OAAA,KAAA,IAepB,KAAA,MACD,KADC,IAAA,IAAA,IAGA,MAID,KAJC,IAHA,IAaA,MAID,KAJC,IAbA,IAsBA,MACD,KADC,IAtBA,IA8JA,MAKD,KALC,IA9JA,IA8KA,MAKD,KALC,IA9KA,IA+NA,MACD,KADC,IA/NA,IA0OA,MACD,KADC,IA1OA,IAwPA,MACD,KADC,IAxPA,IAsQA,MAYD,KAZC,IAtQA,IA4SA,MACD,KADC,IA5SA,IAiTA,MACD,KADC,IAjTA,IAoTA,MACD,KADC,IApTA,IA0TA,MACD,KADC,IA1TA,IAgUA,MACD,KADC,IAhUA,IAsUA,MACD,KADC,IAtUA,IA4UA,MACD,KADC,IA5UA,IAAA,MAfoB,MAiWpB,E,G,KCtiBQA,MAAA,SAAA,MAAA,O,KAAA,M,GACb,M,GAAA,OACa,IACTuE,KAAQ,SAAZ,IA8BSA,KAAQ,SAAZ,IAAiCA,KAAQ,SAAzC,IAA4DA,KAAQ,SAApE,SACQ,IADR,KA7BiBsG,MAAQ,WAAA,QAAiClL,MAAM,MAAvC,GAAoDA,MAAM,MAAS,MAApE,KACzB,SAS4B,MACF,IAOD,KAMrBmL,MAAyB,YAAA,OACzBA,MAAyB,UAAA,OACzBA,MAAyB,UAdL,KAcK,OAQhC,E,G,G,G,G,K,I,M,O,M,S,M,O,K,M,I,K,K,IC/CD9G,IAAA,IAAA,KAAA,KAAA,IAmBC,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,K,M,I,K,K,ICnBDA,IAAA,IAAA,KAAA,KAAA,IAoBC,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,K,M,I,K,K,ICpBDA,IAAA,IAAA,KAAA,KAAA,IA4BC,E,G,G,K,M,M,S,M,O,K,MC5BDA,I,GAAA,M,GAAA,KAAA,KAAA,IAyBC,E,G,G,G,G,K,M,M,S,M,O,K,MCzBDA,IAAA,MAAA,KAAA,KAAA,IACA,IAAA,KAAA,IAiBC,E,G,G,G,G,K,I,M,O,M,S,M,O,K,M,K,M,K,M,K,M,I,K,K,I,I,K,K,IClBDA,IAAA,IAAA,KAAA,KAAA,IAA+B,QAAA,IA+D9B,E,G,G,G,G,K,I,M,O,M,S,M,O,K,M,I,K,K,IC/DDA,IAAA,IAAA,KAAA,KAAA,IASC,E,G,G,I,G,G,I,K,M,M,S,M,O,K,MCTDA,IAAA,MAAA,KAAA,KAAA,IAoBC,E,KCXYhE,MAAA,SAAA,MAAA,S,KAAA,MA2CZ,E,K,M,S,M,S,M,UCnDqC,MAGlC,MACY,MADZ,IAOU,MACK,MADL,IAPV,IAiBc,MACC,MADD,IAjBd,IA0Be,MACA,MADA,IA1Bf,IAqCa,MAEE,MAFF,IArCb,IA6CiB,QA7CjB,IA8CgB,MACC,MACG,MADH,IADD,IAQC,MACM,MACA,MADA,IADN,IARD,IAeC,MACG,MADH,IAfD,IAqBE,MACE,MADF,IArBF,IA4BE,MACI,MACC,MADD,IADJ,IA5BF,IAoCC,MACG,MADH,IApCD,IA9ChB,IADoB,IAAA,I,GA0FpBs1B,I,GAAAA,KAAAA,MA1FoB,IAAH,MA2FnB,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,K,M,S,M,O,K,M,K,M,K,MC9FgB,MAAH,IAsGG,MAAH,IAoEI,MAAH,MAmFf,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,K,M,S,M,S,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,M,MC5PuBtnB,IAAAA,KAAAA,MAAc,MAAC,MAAD,KAAjB,QAGM,MACN,MACAA,IAAAA,KAAAA,MAAc,MAAC,MAAD,KAAjB,MAGSA,IAAAA,KAAAA,MAAc,MAAC,MAAD,KAAjB,MAGHA,IAAAA,KAAAA,MAAc,MAAC,MAAD,KAAjB,MAGSA,IAAAA,KAAAA,MAAc,MAAC,MAAD,KAAjB,MAGCA,IAAAA,KAAAA,MAAc,MAAC,MAAD,KAAjB,MAGSA,IAAAA,KAAAA,MAAc,MAAC,MAAD,KAAjB,MAGHA,IAAAA,KAAAA,MAAc,MAAC,MAAD,KAAjB,MAGSA,IAAAA,KAAAA,MAAc,MAAC,MAAD,KAAjB,MAGNA,IAAAA,KAAAA,MAAc,MAAC,MAAD,KAAjB,MAGSA,IAAAA,KAAAA,MAAc,MAAC,MAAD,KAAjB,MAGN,MACA,MACOA,IAAAA,KAAAA,MAAc,MAAC,MAAD,KAAjB,MAGAA,IAAAA,KAAAA,MAAc,MAAC,MAAD,KAAjB,MAEjB,E,G,G,I,G,G,I,M,O,M,S,M,O,M,M,I,K,K,I,I,K,K,I,I,K,K,ICzCH,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,IAAqE,QAAA,IAMlD,EAAH,IACI4oB,IAAAA,KAAAA,MA0FjBC,IAAAA,KAAAA,MA1F8B,KAAD,MAAf,MA2FEC,IAAAA,KAAAA,MAAH,MAAY,MACT,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,K,M,M,K,M,K,Q,O,M,K,M,K,Q,SCjGlB,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,G,G,M,O,M,S,M,O,K,M,I,K,K,I,I,K,K,ICEA,E,G,G,I,G,G,I,M,O,M,S,M,O,K,M,I,K,K,ICgBA,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,ICsBA,E,K,M,S,M,O,G,K,QC7BA,E,G,G,G,G,M,O,M,S,M,O,K,M,I,K,K,I,I,K,K,ICKA,E,G,G,I,G,G,M,M,S,M,S,MCpB0B,MACb,KADa,IAEL,KAFK,IAAH,MAMtB,E,G,G,I,G,G,M,M,S,M,O,K,QCED,E,G,G,I,G,G,M,M,S,M,O,K,M,K,QCIA,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,K,M,S,M,O,G,K,Q,K,MC6BA,E,G,G,I,G,G,I,M,O,M,S,M,O,K,M,I,K,K,I,I,K,K,ICOA,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,S,E,G,G,I,G,G,M,M,S,M,O,K,QClCA,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,O,M,K,M,K,Q,S,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,K,M,I,K,K,I,I,K,K,I,I,K,K,ICfD9yB,IAAA,IAAA,KAAA,KAAA,IAiDC,E,G,G,I,G,G,M,M,S,M,O,K,QC7CA,E,G,G,I,G,G,M,M,S,M,O,M,K,M,K,Q,S,E,G,G,I,G,G,I,K,M,M,S,M,O,MCGoB,MAAH,MAwBjB,E,G,G,I,G,G,M,M,S,M,O,K,QCfA,E,G,G,K,M,S,M,S,MCd4B+yB,IAAAA,KAAAA,MAGzBD,IAAAA,KAAAA,MAHwC,KAAD,MAAjB,MAGZ,E,K,M,S,M,S,UCLO,MAAU,E,G,G,K,M,S,M,S,M,MCA/B,IAAA,KAMoBzB,IAAAA,KAAAA,MAAQ,MACXyB,IAAAA,KAAAA,MADW,IAExBvB,IAAAA,KAAAA,KAFwB,IAGjB,MACG,MAAYyB,MAAZ,IAA4BC,IAAAA,KAAAA,MAA5B,IADH,IAHiB,IAMhB,MACGpB,IAAAA,KAAAA,MAAD,IAAA,IAAaD,IAAAA,KAAAA,MAAb,IADF,IANgB,IAAD,KAAV,MASd,MACgB,E,K,M,S,M,S,UChBE,MAAa,E,K,M,S,M,S,MCE9B,MACY,MADZ,IAKU,MACK,MADL,IALV,IAUgB,MACE,MACE,MADF,IADF,IAVhB,IAiBiB,QAjBjB,IADoB,IAAA,I,GAoBpBkB,I,GAAAA,KAAAA,MApBoB,IAAH,MAqBnB,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,M,I,K,K,ICpBF9yB,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,IAAmD,QAAA,IAO3BqxB,IAAAA,KAAAA,MAAOr1B,MAAA,KAAA,MACds1B,IAAAA,KAAAA,MADc,IAExB4B,IAAAA,KAAAA,MAAe,MACX,MACGC,MADH,IAEOA,MAFP,IAGQ5C,IAAAA,KAAAA,MAHR,IAIIvmB,IAAAA,KAAAA,MAJJ,IAKOA,IAAAA,KAAAA,MALP,IADW,IAQP,KARO,IAFS,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,KAAAA,KAAe,IAAA,IAAkB,KAAnB,MAAjB,MAA4D,E,G,G,I,G,G,I,M,O,M,S,M,O,K,MC1B5F,IAAA,KAAA,KAAA,IA6BC,E,G,G,I,G,G,I,K,M,M,S,M,S,MC7BD7L,IAAA,IAAA,KAAA,KAAA,IAAyC,IAAA,KAAA,IAMH,KAAH,MAajC,E,G,G,I,G,G,I,M,O,M,S,M,O,MCnBF,IAAA,KAAA,KAA0B,IAAA,KAAA,IAUkD,KAAH,MAmBvE,E,K,M,S,M,S,MC3BmB,MAAA,UAAA,UAAA,MAAA,MAAA,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,I,I,K,K,ICFrBA,IAAA,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,IAuBA,IAAA,KAAA,KAAA,IAAsD,IAAA,KAAA,UAE/B,IAEkC,KAAH,MAiapD,E,G,G,G,G,M,O,M,S,M,O,M,I,K,K,IC7bF,IAAA,KAAA,IAkC0E0R,IAAAA,KAAAA,KAGxEmC,IAAAA,KAAAA,KAAc,KAHgF,MAAzB,MAuInE,E,G,G,K,M,S,M,S,MC7JkD9B,IAAAA,KAAAA,MACpDmf,IAAAA,KAAAA,MACAC,IAAAA,KAAAA,MACAC,IAAAA,KAAAA,MAHgE,UAAA,IAAA,IAAnB,MAI7C,E,G,G,K,M,S,M,S,MCX6Bp1B,MAAA,KAC1BgW,IAAAA,KAAAA,MAAgB,MACQO,IAAAA,KAAAA,KAAQ,MADhB,IAEQA,IAAAA,KAAAA,KAAQ,MAFhB,IADU,EAAA,OAAA,MAI7B,E,G,G,K,M,S,M,S,MCL4BvW,MAAA,KACzBiW,IAAAA,KAAAA,MAAe,MACSM,IAAAA,KAAAA,KAAQ,MADjB,IAESA,IAAAA,KAAAA,KAAQ,MAFjB,IADU,EAAA,OAAA,MAI5B,E,G,G,I,G,G,M,M,S,M,O,K,QCMD,E,G,G,I,G,G,M,M,S,M,S,MCNkC,KAAH,MAK9B,E,G,G,I,G,G,I,M,O,M,S,M,O,MCbF,IAAA,KAAA,KACA,IAAA,KAAA,IAAoC,IAAA,KAAA,UAWb,IAE6B,KAAH,MA+E/C,E,G,G,I,G,G,I,K,I,M,O,M,S,M,O,M,I,K,K,IC7FFvS,IAAA,IAAA,KAAA,KAAA,IAwBA,IAAA,KAAA,IAA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AFX,IAGSA,IAAAA,KAAAA,KAAQ,MAHjB,IADyB,EAAA,OAAA,MAK5C,E,G,G,K,M,S,M,S,MCN2CvW,MAAA,KACxCiW,IAAAA,KAAAA,MAAe,MACLI,IAAAA,KAAAA,KAAsB,MADjB,IAEIE,IAAAA,KAAAA,KAAQ,MAFZ,IAGUA,IAAAA,KAAAA,KAAQ,MAHlB,IADyB,EAAA,OAAA,MAK3C,E,G,G,I,G,G,M,M,S,M,O,K,QCSD,E,G,G,I,G,G,I,M,O,M,S,M,O,K,M,I,K,K,I,I,K,K,IClBD,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,IAAwC,IAAA,KAAA,IAuFvC,E,G,G,I,G,G,I,M,O,M,S,M,O,M,M,MCxFD,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,IAA4E,IAAA,KAAA,IAgBRtC,IAAAA,KAAAA,MAAuB,OAAA,IAAA,IAA9B,MAAA,IAWeyB,IAAAA,KAAAA,KAG1EmC,IAAAA,KAAAA,KAAc,KAHkF,MAAzB,MAAA,IAuC1B,KAAH,MAqD1C,E,G,G,I,G,G,I,M,O,M,S,M,O,M,M,M,M,I,K,K,I,I,K,K,ICxHF,IAAA,KAAA,KAAA,IA0BkC,KAAH,MAAA,IAeG,KAAH,MAAA,IASI,KAAH,MAAA,IAeO,KAAH,IA2CH,KAAH,MAyT5B,E,K,M,S,M,S,MC/ZqC,MAAH,MAqClC,E,G,G,I,G,G,I,M,O,M,S,M,O,K,MC3CF,IAAA,KAAA,KAAA,IA2CC,E,G,G,G,G,K,I,M,O,M,S,M,O,M,M,I,K,K,IC3CD7T,IAAA,IAAA,KAAA,KAAA,IAA+B,IAAA,KAAA,IAU4C,MAAgB,MAEpFgR,IAAAA,KAAAA,MAAQ,MAF4E,IAGjF,KAHiF,IAAhB,KAAtB,MAAA,IAYnB,KAAH,MAK7B,E,G,G,I,G,G,I,M,O,M,S,M,O,M,I,K,K,IC3BF,IAAA,KAAA,KAAA,IACA,IAAA,KAAA,IAYA,IAAA,KAAA,KAAA,IAA8D,IAAA,KAAA,UAWG,IAYNU,IAAAA,KAAAA,KACzDmC,IAAAA,KAAAA,KACA,KAF+E,MAAzB,IA+BjC,KAAH,MA8MlB,E,G,G,I,G,G,I,M,O,M,S,M,O,MCjRF,IAAA,KAAA,KACA,IAAA,KAAA,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CqB,MAAb,MACH,MACc,MAAb,MACD,MAmKU,MACN,MACS,MAOjB,KAPiB,IAoBjB,KApBiB,IAAH,IAkCF,MA9EhB,EAtHKA,gBAxBH,MACA,QAMU,MADP,MADK,MADH,MADD,MADA,QAOF,MACgB,MAAX,MACE,MAIG,MADF,MADE,MADH,MAKR,MACqB,MAAb,MACH,MACc,MAAb,MACD,MAoHW,MACN,MAHb,EA/GKA,gBAxBH,MACA,QAMU,MADP,MADK,MADH,MADD,MADA,QAOF,MACgB,MAAX,MACE,MAIG,MADF,MADE,MADH,MAKR,MACqB,MAAb,MACH,MACc,MAAb,MACD,MA6GW,MACN,MAHb,KANsDuK,IAlGjDvK,gBAxBH,MACA,QAMU,MADP,MADK,MADH,MADD,MADA,QAOF,MACgB,MAAX,MACE,MAIG,MADF,MADE,MADH,MAKR,MACqB,MAAb,MACH,MACc,MAAb,MACD,MAsGW,MACN,MAHb,KAJI,OACGuK,kBAAP,UAAyB,aAAzB,KAJ2C,KA1FtCvK,gBAxBH,MACA,QAMU,MADP,MADK,MADH,MADD,MADA,QAOF,MACgB,MAAX,MACE,MAIG,MADF,MADE,MADH,MAKR,MACqB,MAAb,MACH,MACc,MAAb,MACD,MA8JA,MAjER,EAvFe,KACZ,GAAA,GAAwB,MAAV,GAAd,EAAF,YAiFyBsB,eArFrBtB,aAxBH,MACA,QAMU,MADP,MADK,MADH,MADD,MADA,QAOF,MACgB,MAAX,MACE,MAIG,MADF,MADE,MADH,MAKR,MACqB,MAAb,MACH,MACc,MAAb,MACD,MAuJC,MACP,MACC,MACT,EAoEF,GAAA,GAUU,MAVV,GAWoB,QAII,MADR,MADE,MADC,YAKC,MAKQ,MADZ,MADO,MADV,MADM,QAMI,MA3xQF,YAAoC,KAAA,SAAvD,IA4xQoB,MASD,MADE,MADH,MADF,MADG,MADC,MADa,MADP,MADP,MA7xQA,MAAoC,KAAA,SAAvD,IAuyQkB,MAvyQC,MAAoC,KAAA,SAAvD,IAmwQF,GAAA,GAAA,GAAA,GAAA,GAqCoB,MACG,MACD,MACF,MACK,MACP,MACK,MACP,QACmB7wC,MAAG,OAAA,IA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MAAU,MAACqqE,IAAD,QACXE,IAAb,UAGaR,QAA+C,KAA/CA,MAAuB,KACR,MAAA,IAAA,QAAZ,MAAhB,EAHSS,OAAuB,MAA9B,EANKA,IAAuB,MAA9B,EANA,EA2BF,EACA,EAI2B,EAAA,GAAA,KAEPxqE,MAAU,MAAEY,MAAQ,KAAA,IAASA,MAAI,OAAA,IAAA,IAAoB,MAAA,IAAzCA,IAA+CopE,IAAhD,IAAD,UACvBK,IAAAA,YAAoBA,IAA3B,EACA,IACA,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,K,E,G,I,I,M,K,M,E,G,I,I,M,K,M,EC5PgB,IAAH,EACG,IAAH,EACK,IAAH,EACG,IAAH,EACG,IAAH,EACU,IAAH,ECEnB,GAAA,GAAA,IACE,KAAP,EAcK,GAAA,MACQI,IAAAA,IAAAA,MAAAA,KAAAA,MAAO,IAAV,IACa,MAAJzsE,GAAoE,IAApEA,EAA4B,MAAmC,MAAA,IAAlE,IACJ,EACa,EAAH,IAClB,MAAkB,KAAC,KAAD,KAMF,MACM,MAAP,MACnB,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,ECpCK,IACkB,GAAA,KAAT24B,IAAiC,IAAjCA,IAAoE,EAApEA,EAA8D,IADvE,KAESl8B,MAAA,KACTiwE,IADS,EAAA,OAAA,IAIhB,EACO,GACEA,IAAP,ECIyB,GAAKC,IAAL,GAAiB,IAAhB,EACJ,GAAA,GAAoB,KAACC,IAAiBC,IAAlB,MAAhB,ECvBrB,GAAA,GACO,MACd,EACO,GACEC,IAAP,ECDI,GAAA,GACFC,IAAAA,IAAAA,MAAAA,KAAAA,MAAoB,KAAQ,MAAjB,KACXC,IAAAA,KAAAA,MAAO,KACT,ECLK,GAAA,MAAA,GAKG,MAHF,IAGE,MAFG,IAEH,KACM1W,IAAAA,KAGV,IAAA,IAAA,MAHkB,K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AAA0vD,IAAA,IAAA,IAAAnrF,MAAA,KAAA,MAAA,KAAA,IAAA,SAAA,IAAA,IAAA,IAAA,ECyK2B,QAAA,KAAA,QAAAwF,MAAA,OAAA,IAAA,IAAA,IAAAA,MAAA,OAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,KAAA,MAAA,MAAA,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,K,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,K,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,EAtD3B,GAAA,GAAA,QAAA,WAAA,OAAA,KAAAxF,MAAA,KAAA,KAAA,KAAA89B,QAAA,aAAA,GAAAxF,IAAAmD,IAAA,GAAA,IAAAr1B,IAAAu2B,IAAA,MAAA,KAAA,IAAA,IAAA38B,MAAA,KAAA,MAAA,KAAA,IAAA,SAAA,EAAA,IAAA,IAAA,EAsDA,GAAA,GAAA,QAAA,WAAA,OAAA,KAAAA,MAAA,KAAA,KAAA,KAAA89B,QAAA,aAAA,GAAAxF,IAAAmD,IAAA,GAAA,IAAA2vD,IAAA,IAAA,IAAAprF,MAAA,KAAA,MAAA,KAAA,IAAA,SAAA,IAAA,IAAA,IAAA,EC3KO,EACCoF,MACJ,MAAA,iBAFG,GAAA,GAEH,MADS,KAAX,EAKK,EALCA,MACJ,MAAA,yBAAA,MADS,KAAX,EASK,EATCA,MACJ,MAAA,yBAAA,MADS,KAAX,EAaK,EAbCA,MACJ,MAAA,yBAAA,MADS,KAAX,EAiBK,EAjBCA,MACJ,MAAA,yBAAA,MADS,KAAX,EAqBK,EArBCA,MACJ,MAAA,yBAAA,MADS,KAAX,EAyBK,EAzBCA,MACJ,MAAA,yBAAA,MADS,KAAX,EA6BK,EA7BCA,MACJ,MAAA,yBAAA,MADS,KAAX,EAiCK,EAjCCA,MACJ,MAAA,yBAAA,MADS,KAAX,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,EEsEF,GAAAw7C,IAAA,ECIA,GAAAA,IAAA,EClDA,GAAAA,IAAA,EC+CA,GAAAA,IAAA,ECMA,GAAAA,IAAA,ECHA,GAAAA,IAAA,ECaA,GAAAA,IAAA,ECpDA,GAAAA,IAAA,ECoCA,GAAAA,IAAA,ECIA,GAAAA,IAAA,ECMA,GAAAA,IAAA,ECdA,GAAAA,IAAA,ECSA,GAAAA,IAAA,ECvCA,GAAAA,IAAA,ECoCA,GAAAA,IAAA,ECKA,GAAAA,IAAA,EClDA,GAAAA,IAAA,ECyCA,GAAAA,IAAA,ECoBA,GAAAA,IAAA,ECKA,GAAAA,IAAA,ECJA,GAAAA,IAAA,EClBA,GAAAA,IAAA,ECvDA,GAAAA,IAAA,ECUA,GAAAA,IAAA,ECLA,GAAAA,IAAA,ECUA,GAAAA,IAAA,ECHA,GAAAA,IAAA,ECNA,GAAAA,IAAA,ECNA,GAAAA,IAAA,ECEA,GAAAA,IAAA,ECnB+B,QAAA,KAAA,QAAAp7C,MAAA,OAAA,IAAA,IAAA,IAAAA,MAAA,OAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,KAAA,MAAA,MAAA,EAAA,QAAAqF,MAAA,KAAA,KAAA,KAAA0F,MAAA,KAAA1F,QAAA,KAAA,IAAA,WAAA,WAAA,GAAA,IAAA,EAAA,EAAA,GAAA,KAAA,MAAA,IAAA,EAM/B,EACE,EAyCK,GAAqB,MAAU,MACpC,KACE,EAFG,GAI0B,KAAA,KAEnBwgF,IAAAA,IAAAA,MAAAA,KAAAA,MAAI,MAGdn5B,IAAA,OAAIlyD,MAAA,KAAwB,MAAA,IAAxB,WAAA,IAAJ,MADF,EASK,GAAA,GACmD,QAAzCsrF,IAAGC,IADb,GACmD,MAA9B,IAA8B,MAAA,MAG1C1xB,IAAAA,KAEV,IAAA,IADA,KADiB,MAIZ3H,IAAA,KAACs5B,IAAM,MAAA,IAAqBC,MAArB,IAAP,MAAP,EACA,EACO,OACAC,IAAAA,MAAP,EAIG,GAAA,GACiD,QAAvCC,IAAGJ,IADb,GACU,IAAuC,MAA5B,IAA4B,MAApB,IAAoB,MAChC3xB,IAAAA,OAAQ,KAAqBz7B,IAAA,QAAA,MAAzC,IAAQ,IAAA,IACYy7B,OAAQ,KAAO,KAAA,MAA/B,IAAA,IAAY,IAAA,IAC1BmB,KAcG,IAAA,IAAA,IAAA,IAdO,KAAD,MAeT,GAGO7I,IAAA,KAAC05B,IAAM,MAAA,IAAA,IAAA,IAAP,MAAP,EAFSF,MAAAA,MAAP,EA+EG,GAAA,GACiB,EACW,SAAA,KAAY,OAAC,KAAD,KACd,OACf7iF,aAAhB,GACkC,IACjB,QAAf,IACiC,KAAA,KACT,IACH,IACbgjF,IAAuB,MAAA,oBAdnB,KAAiBC,IAAhB,cAAD,MAcoC,MAAA,IAAb,QANrC,IASA,EAGK,GAIL,QAaA,EAZwC,MAAA,KAAA,OACtC,IAAS,MAAT,GACyB,MAAR,UACf,KARC,GAAA,GAYD55B,IAAA,OAAIlyD,MAAA,KAAsB,MACW,KAAC+rF,IAAD,KADX,IAAtB,EAAA,SAAJ,OADF,EAoDG,GAAA,GAAA,IAAA,KAAA,IAAA,KAAA,KAAA,IAAA,KAAA,IAAA,KAAA,IAAA,KAAA,IAAA,KAAA,IAAA,KAAA,IACgB,KAAT,MACqB,IAErB,IAEY,IAAH,MAwQhB,eACL,OACE,OACO,KAEM,IACbljF,IAAC,IAAA,OALH,IAQA,IAIIo8B,IAAJ,GAQA,EAnSK,MA4RkB+mD,GAAuB,KAAxB,GAA0C/mD,IA5R3D,GA6RsC,KAAa,KAAC8mD,IAAD,KAE1C,MACZ,MARK,K,G,I,I,M,K,M,EA9WS,GAAsD,MAAA,IAAvB,EAExB,GACT,KADS,GACQD,IAAhB,cAAD,MADwB,EAmDvB,GAAmC,KAN1C,GAAA,cAAR,OAAQ,GAAA,MAAR,GAM4B,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,E,G,I,K,EG/NkB,QAAAjhF,MAAA,KAAA,KAAA,KAAA0F,MAAA,KAAA1F,QAAA,KAAA,IAAA,WAAA,WAAA,GAAA,IAAA,EAAA,EAAA,GAAA,KAAA,MAAA,IAAA,ECHd,QAAAA,MAAA,KAAA,KAAA,KAAA0F,MAAA,KAAA1F,QAAA,KAAA,IAAA,WAAA,WAAA,GAAA,IAAA,EAAA,EAAA,GAAA,KAAA,MAAA,IAAA,ECE3B,GACuC,EAC5C,GAAA,MAAA,QAAA,SAAA,GACM7K,MAAM,KAAU,KAAoB,SAAA,aAAxC,GACsB,IACpB,IAAA,IACa,IADb,EAKJ,EAK6B,EAC7BuF,MAAU,MAACA,MAAW,MAAA,IAAKA,MAAU,MAACA,MAAW,MAAA,IAAKY,MAAQ,KAAA,IAAxBZ,IAAD,KAA1BA,IAAD,KADgB,EAGW,GACrCmiD,IAAAA,OAGE5B,MAAc,WACZ,QADY,eAHR,OAyBV,EC1CA,EAWA,ECX0D,QAAA,KAAA,QAAAtgD,MAAA,OAAA,IAAA,IAAA,IAAAA,MAAA,OAAA,IAAA,IAAA,IAAA,GAAA,GA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KAAoB,KAAA,MAArD,IAAe,IAAA,IACf,IAAY,IACO,KAGjC,IAAA,IAAA,IAHkC,KAAD,MAIC,KAGlC,IAAA,IAAA,IAHmC,KAAD,MAI7B,MAAA,IAAA,IAAD,IAAA,IAAA,IAcmE,KAAA,MAAzD,IAAY,IACtB,QAAOn+B,MAAA,KAAA,QAAA,IAAP,IAAwEA,MAAA,KAAA,cAAA,IAAxE,IAAP,EC9D2B,QAAA,KAAA,QAAAwF,MAAA,OAAA,IAAA,IAAA,IAAAA,MAAA,OAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,KAAA,MAAA,MAAA,EAExB,GAAA,MAAA,GAAA,IACmC0F,IAAc,KADjD,GACiD,KAAoBizB,IAAA,UAAA,MAAtD,IAAgB,IAAA,IACG,KAGlC,IAAA,IAAA,IAHmC,KAAD,MAI9B,MAAA,IAAA,IAAP,ECR2B,QAAA,KAAA,QAAA34B,MAAA,OAAA,IAAA,IAAA,IAAAA,MAAA,OAAA,IAAA,IAAA,IAAA,GAAA,GAAA,GAAA,KAAA,MAAA,MAAA,EAQxB,GAAA,MAAA,GAAA,IAIc0F,IAAY,KAAA,IAAf,IACQk5F,IAAAA,IAAAA,MAAAA,KAAAA,MAAiB,MAClB,KADkB,IAEtB,KAFsB,IAAD,KAMtC,ECmBG,GAAA,GAA2C,MAAA,IAAa,MAAA,IACpD,KAAP,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,EE8MG,GACIC,IADJ,GACa,IAAhB,EAEG,GACIC,IADJ,GACa,IAAhB,EAEG,GACIC,IADJ,GACc,IAAjB,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,EElP6B,GAAA,GAAA,GAAA,MAC7B,IACYC,IAAH,OAGgQ,QAA5PC,OAAmB,MAAO,KAAc,MAAA,IAAM,MAAQ,MAAe,MAAA,IAAoB,MAAA,IAAS,MAAW,MAAa,MAAe,MAAS,KAAA,IAAM,KAAe,MAAO,KAAA,QAAUC,OAAA,IAAmB,MAAS,KAAQ,MAAA,QAAMC,OALlN,GAKkN,IAAgB1xC,IAAA,KAAAC,IAAA,MAAA,IACjP0xC,IAAAA,IAAAA,IAAAA,KAAAA,MAAc,IAAjB,IAEoB,KAAOzmE,IAAA,QAAA,MAA3B,IAAA,IAAO,IACA0mE,IAAAA,MAAW,UAAXA,OAMZC,YAEIA,OAAAA,GARQD,MACZC,YAEIA,OAAAA,GAFJA,GAUc55F,IAAAA,KAAiB,KAKlC,IAAA,IALmC,KAAD,MAMpBm0F,IAAAA,KAAAA,cAAW,OAAd,IACGn0F,KAAiB,KAE/B,IAAA,IAAA,IAFgC,KAAD,MAIhB65F,IAAAA,KAAAA,MAA2B,MAAA,IAAA,QAG7BC,QAAAA,MAH6B,IAIlB,MAJkB,IAK/B5uE,IAAAA,KAAAA,MAAY,UAAM,IAAD,IALc,IAM7BA,IAAAA,KAAAA,MAAY,MAAK,MAAO,IANK,MAQ9B6uE,OAR8B,IAAA,IAUrBC,OAAAA,OAAwDA,KAA0BC,OAAAA,GAA1BD,GAVnC,IAAhB,OAW3B,KAAA,MAXK,IAAA,IAAO,IAoBZ,UAA0D,KAAA9+C,IAAA,KAAK7uB,IAAAA,KAAAA,MAAU,KAAf,KAAA,KAPjC,KAAD,MAOwD,QAAA,MAPjE,IAAA,IASUhzB,KAAQ,WAARA,IAAkC,MAC5BigG,IAAH,IAG9B,IAAyD,KAAzD,QAA6F,MAA7F,IACiC,MACQ,MAA6B,KAAvCY,IADE,IAAH,IAIR7gG,KAAQ,SAARA,MAET8gG,MADS,MAAA,MAELA,MAFK,MAIPA,MAJO,MAKHA,MALG,MAOEA,MAPF,IAAH,IAUZ,KAAP,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,EChFG,IAAmC,GAAA,KAAFlgG,MAAA,UAAA,IAAA,MAAAy0B,OAAE,GAAF,IAAA,QAAE,IAAnC,GACI0rE,IAAAA,IAAAA,IAAAA,KAAAA,MAAkB,KAACC,IAAAA,KAAAA,MAAW,MAAZ,IAAA,IAA6B,KAAA,KAA7B,MAAzB,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,E,G,I,I,M,K,M,ECJG,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAwD,KAAxD,GACH,KAAA,GAAA,IAAA,GAAA,IAAsB,KAAA,EAAA,EAAA,GAAA,EAKdnpE,IAAD,IAAA,IAAS04B,IAAT,IAAP,ECIG,GAAA,GAAA,GAAA,IACS,MADT,GACS,IADT,GACS,OACZ,GAAoB,UAApB,IAFG,GAKY,KAAC,KAAD,KACA,MAAC,KAAD,MAMF,MAAN,IAAA,IAAoB,MAApB,IAAP,ECQG,IAAA,GAAA,GAAA,IAAqD,GAAA,KAAF3vD,SAAAkkD,MAAAA,GAAAA,IAAA,UAAA,IAAA,IAAA,IAAAzvB,OAAE,GAAF,QAAA,QAAE,IAArD,GAEW7D,IAAAA,IAAAA,IAAAA,KAAAA,MAAY,IAAf,IAGW,KAKI,KAAH,MAIvB,ECnCG,GAAA,GAAA,IAAA,GAAA,IACe,KACI,KAAH,MAInB,ECNG,GAAA,GAAA,IAAA,GAAA,IAAA,GAAA,MAEU/1B,MAAW,KAAA,KACb,KAAC,KAAD,KACF,MAAA,IAET,KACA,GAAA,KAAA,GAAA,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","sourcesContent":["\"use strict\";\n\nglobal.__r = metroRequire;\nglobal[`${__METRO_GLOBAL_PREFIX__}__d`] = define;\nglobal.__c = clear;\nglobal.__registerSegment = registerSegment;\nvar modules = clear();\nconst EMPTY = {};\nconst CYCLE_DETECTED = {};\nconst { hasOwnProperty } = {};\nif (__DEV__) {\n global.$RefreshReg$ = global.$RefreshReg$ ?? (() => {});\n global.$RefreshSig$ = global.$RefreshSig$ ?? (() => (type) => type);\n}\nfunction clear() {\n modules = new Map();\n return modules;\n}\nif (__DEV__) {\n var verboseNamesToModuleIds = new Map();\n var getModuleIdForVerboseName = (verboseName) => {\n const moduleId = verboseNamesToModuleIds.get(verboseName);\n if (moduleId == null) {\n throw new Error(`Unknown named module: \"${verboseName}\"`);\n }\n return moduleId;\n };\n var initializingModuleIds = [];\n}\nfunction define(factory, moduleId, dependencyMap) {\n if (modules.has(moduleId)) {\n if (__DEV__) {\n const inverseDependencies = arguments[4];\n if (inverseDependencies) {\n global.__accept(moduleId, factory, dependencyMap, inverseDependencies);\n }\n }\n return;\n }\n const mod = {\n dependencyMap,\n factory,\n hasError: false,\n importedAll: EMPTY,\n importedDefault: EMPTY,\n isInitialized: false,\n publicModule: {\n exports: {},\n },\n };\n modules.set(moduleId, mod);\n if (__DEV__) {\n mod.hot = createHotReloadingObject();\n const verboseName = arguments[3];\n if (verboseName) {\n mod.verboseName = verboseName;\n verboseNamesToModuleIds.set(verboseName, moduleId);\n }\n }\n}\nfunction metroRequire(moduleId, maybeNameForDev) {\n if (moduleId === null) {\n if (__DEV__ && typeof maybeNameForDev === \"string\") {\n throw new Error(\"Cannot find module '\" + maybeNameForDev + \"'\");\n }\n throw new Error(\"Cannot find module\");\n }\n if (__DEV__ && typeof moduleId === \"string\") {\n const verboseName = moduleId;\n moduleId = getModuleIdForVerboseName(verboseName);\n console.warn(\n `Requiring module \"${verboseName}\" by name is only supported for ` +\n \"debugging purposes and will BREAK IN PRODUCTION!\"\n );\n }\n const moduleIdReallyIsNumber = moduleId;\n if (__DEV__) {\n const initializingIndex = initializingModuleIds.indexOf(\n moduleIdReallyIsNumber\n );\n if (initializingIndex !== -1) {\n const cycle = initializingModuleIds\n .slice(initializingIndex)\n .map((id) => modules.get(id)?.verboseName ?? \"[unknown]\");\n if (shouldPrintRequireCycle(cycle)) {\n cycle.push(cycle[0]);\n console.warn(\n `Require cycle: ${cycle.join(\" -> \")}\\n\\n` +\n \"Require cycles are allowed, but can result in uninitialized values. \" +\n \"Consider refactoring to remove the need for a cycle.\"\n );\n }\n }\n }\n const module = modules.get(moduleIdReallyIsNumber);\n return module && module.isInitialized\n ? module.publicModule.exports\n : guardedLoadModule(moduleIdReallyIsNumber, module);\n}\nfunction shouldPrintRequireCycle(modules) {\n const regExps =\n global[__METRO_GLOBAL_PREFIX__ + \"__requireCycleIgnorePatterns\"];\n if (!Array.isArray(regExps)) {\n return true;\n }\n const isIgnored = (module) =>\n module != null && regExps.some((regExp) => regExp.test(module));\n return modules.every((module) => !isIgnored(module));\n}\nfunction metroImportDefault(moduleId) {\n if (__DEV__ && typeof moduleId === \"string\") {\n const verboseName = moduleId;\n moduleId = getModuleIdForVerboseName(verboseName);\n }\n const moduleIdReallyIsNumber = moduleId;\n const maybeInitializedModule = modules.get(moduleIdReallyIsNumber);\n if (\n maybeInitializedModule &&\n maybeInitializedModule.importedDefault !== EMPTY\n ) {\n return maybeInitializedModule.importedDefault;\n }\n const exports = metroRequire(moduleIdReallyIsNumber);\n const importedDefault =\n exports && exports.__esModule ? exports.default : exports;\n const initializedModule = modules.get(moduleIdReallyIsNumber);\n return (initializedModule.importedDefault = importedDefault);\n}\nmetroRequire.importDefault = metroImportDefault;\nfunction metroImportAll(moduleId) {\n if (__DEV__ && typeof moduleId === \"string\") {\n const verboseName = moduleId;\n moduleId = getModuleIdForVerboseName(verboseName);\n }\n const moduleIdReallyIsNumber = moduleId;\n const maybeInitializedModule = modules.get(moduleIdReallyIsNumber);\n if (maybeInitializedModule && maybeInitializedModule.importedAll !== EMPTY) {\n return maybeInitializedModule.importedAll;\n }\n const exports = metroRequire(moduleIdReallyIsNumber);\n let importedAll;\n if (exports && exports.__esModule) {\n importedAll = exports;\n } else {\n importedAll = {};\n if (exports) {\n for (const key in exports) {\n if (hasOwnProperty.call(exports, key)) {\n importedAll[key] = exports[key];\n }\n }\n }\n importedAll.default = exports;\n }\n const initializedModule = modules.get(moduleIdReallyIsNumber);\n return (initializedModule.importedAll = importedAll);\n}\nmetroRequire.importAll = metroImportAll;\nmetroRequire.context = function fallbackRequireContext() {\n if (__DEV__) {\n throw new Error(\n \"The experimental Metro feature `require.context` is not enabled in your project.\\nThis can be enabled by setting the `transformer.unstable_allowRequireContext` property to `true` in your Metro configuration.\"\n );\n }\n throw new Error(\n \"The experimental Metro feature `require.context` is not enabled in your project.\"\n );\n};\nmetroRequire.resolveWeak = function fallbackRequireResolveWeak() {\n if (__DEV__) {\n throw new Error(\n \"require.resolveWeak cannot be called dynamically. Ensure you are using the same version of `metro` and `metro-runtime`.\"\n );\n }\n throw new Error(\"require.resolveWeak cannot be called dynamically.\");\n};\nlet inGuard = false;\nfunction guardedLoadModule(moduleId, module) {\n if (!inGuard && global.ErrorUtils) {\n inGuard = true;\n let returnValue;\n try {\n returnValue = loadModuleImplementation(moduleId, module);\n } catch (e) {\n global.ErrorUtils.reportFatalError(e);\n }\n inGuard = false;\n return returnValue;\n } else {\n return loadModuleImplementation(moduleId, module);\n }\n}\nconst ID_MASK_SHIFT = 16;\nconst LOCAL_ID_MASK = ~0 >>> ID_MASK_SHIFT;\nfunction unpackModuleId(moduleId) {\n const segmentId = moduleId >>> ID_MASK_SHIFT;\n const localId = moduleId & LOCAL_ID_MASK;\n return {\n segmentId,\n localId,\n };\n}\nmetroRequire.unpackModuleId = unpackModuleId;\nfunction packModuleId(value) {\n return (value.segmentId << ID_MASK_SHIFT) + value.localId;\n}\nmetroRequire.packModuleId = packModuleId;\nconst moduleDefinersBySegmentID = [];\nconst definingSegmentByModuleID = new Map();\nfunction registerSegment(segmentId, moduleDefiner, moduleIds) {\n moduleDefinersBySegmentID[segmentId] = moduleDefiner;\n if (__DEV__) {\n if (segmentId === 0 && moduleIds) {\n throw new Error(\n \"registerSegment: Expected moduleIds to be null for main segment\"\n );\n }\n if (segmentId !== 0 && !moduleIds) {\n throw new Error(\n \"registerSegment: Expected moduleIds to be passed for segment #\" +\n segmentId\n );\n }\n }\n if (moduleIds) {\n moduleIds.forEach((moduleId) => {\n if (!modules.has(moduleId) && !definingSegmentByModuleID.has(moduleId)) {\n definingSegmentByModuleID.set(moduleId, segmentId);\n }\n });\n }\n}\nfunction loadModuleImplementation(moduleId, module) {\n if (!module && moduleDefinersBySegmentID.length > 0) {\n const segmentId = definingSegmentByModuleID.get(moduleId) ?? 0;\n const definer = moduleDefinersBySegmentID[segmentId];\n if (definer != null) {\n definer(moduleId);\n module = modules.get(moduleId);\n definingSegmentByModuleID.delete(moduleId);\n }\n }\n const nativeRequire = global.nativeRequire;\n if (!module && nativeRequire) {\n const { segmentId, localId } = unpackModuleId(moduleId);\n nativeRequire(localId, segmentId);\n module = modules.get(moduleId);\n }\n if (!module) {\n throw unknownModuleError(moduleId);\n }\n if (module.hasError) {\n throw module.error;\n }\n if (__DEV__) {\n var Systrace = requireSystrace();\n var Refresh = requireRefresh();\n }\n module.isInitialized = true;\n const { factory, dependencyMap } = module;\n if (__DEV__) {\n initializingModuleIds.push(moduleId);\n }\n try {\n if (__DEV__) {\n Systrace.beginEvent(\"JS_require_\" + (module.verboseName || moduleId));\n }\n const moduleObject = module.publicModule;\n if (__DEV__) {\n moduleObject.hot = module.hot;\n var prevRefreshReg = global.$RefreshReg$;\n var prevRefreshSig = global.$RefreshSig$;\n if (Refresh != null) {\n const RefreshRuntime = Refresh;\n global.$RefreshReg$ = (type, id) => {\n const prefixedModuleId =\n __METRO_GLOBAL_PREFIX__ + \" \" + moduleId + \" \" + id;\n RefreshRuntime.register(type, prefixedModuleId);\n };\n global.$RefreshSig$ =\n RefreshRuntime.createSignatureFunctionForTransform;\n }\n }\n moduleObject.id = moduleId;\n factory(\n global,\n metroRequire,\n metroImportDefault,\n metroImportAll,\n moduleObject,\n moduleObject.exports,\n dependencyMap\n );\n if (!__DEV__) {\n module.factory = undefined;\n module.dependencyMap = undefined;\n }\n if (__DEV__) {\n Systrace.endEvent();\n if (Refresh != null) {\n const prefixedModuleId = __METRO_GLOBAL_PREFIX__ + \" \" + moduleId;\n registerExportsForReactRefresh(\n Refresh,\n moduleObject.exports,\n prefixedModuleId\n );\n }\n }\n return moduleObject.exports;\n } catch (e) {\n module.hasError = true;\n module.error = e;\n module.isInitialized = false;\n module.publicModule.exports = undefined;\n throw e;\n } finally {\n if (__DEV__) {\n if (initializingModuleIds.pop() !== moduleId) {\n throw new Error(\n \"initializingModuleIds is corrupt; something is terribly wrong\"\n );\n }\n global.$RefreshReg$ = prevRefreshReg;\n global.$RefreshSig$ = prevRefreshSig;\n }\n }\n}\nfunction unknownModuleError(id) {\n let message = 'Requiring unknown module \"' + id + '\".';\n if (__DEV__) {\n message +=\n \" If you are sure the module exists, try restarting Metro. \" +\n \"You may also want to run `yarn` or `npm install`.\";\n }\n return Error(message);\n}\nif (__DEV__) {\n metroRequire.Systrace = {\n beginEvent: () => {},\n endEvent: () => {},\n };\n metroRequire.getModules = () => {\n return modules;\n };\n var createHotReloadingObject = function () {\n const hot = {\n _acceptCallback: null,\n _disposeCallback: null,\n _didAccept: false,\n accept: (callback) => {\n hot._didAccept = true;\n hot._acceptCallback = callback;\n },\n dispose: (callback) => {\n hot._disposeCallback = callback;\n },\n };\n return hot;\n };\n let reactRefreshTimeout = null;\n const metroHotUpdateModule = function (\n id,\n factory,\n dependencyMap,\n inverseDependencies\n ) {\n const mod = modules.get(id);\n if (!mod) {\n if (factory) {\n return;\n }\n throw unknownModuleError(id);\n }\n if (!mod.hasError && !mod.isInitialized) {\n mod.factory = factory;\n mod.dependencyMap = dependencyMap;\n return;\n }\n const Refresh = requireRefresh();\n const refreshBoundaryIDs = new Set();\n let didBailOut = false;\n let updatedModuleIDs;\n try {\n updatedModuleIDs = topologicalSort(\n [id],\n (pendingID) => {\n const pendingModule = modules.get(pendingID);\n if (pendingModule == null) {\n return [];\n }\n const pendingHot = pendingModule.hot;\n if (pendingHot == null) {\n throw new Error(\n \"[Refresh] Expected module.hot to always exist in DEV.\"\n );\n }\n let canAccept = pendingHot._didAccept;\n if (!canAccept && Refresh != null) {\n const isBoundary = isReactRefreshBoundary(\n Refresh,\n pendingModule.publicModule.exports\n );\n if (isBoundary) {\n canAccept = true;\n refreshBoundaryIDs.add(pendingID);\n }\n }\n if (canAccept) {\n return [];\n }\n const parentIDs = inverseDependencies[pendingID];\n if (parentIDs.length === 0) {\n performFullRefresh(\"No root boundary\", {\n source: mod,\n failed: pendingModule,\n });\n didBailOut = true;\n return [];\n }\n return parentIDs;\n },\n () => didBailOut\n ).reverse();\n } catch (e) {\n if (e === CYCLE_DETECTED) {\n performFullRefresh(\"Dependency cycle\", {\n source: mod,\n });\n return;\n }\n throw e;\n }\n if (didBailOut) {\n return;\n }\n const seenModuleIDs = new Set();\n for (let i = 0; i < updatedModuleIDs.length; i++) {\n const updatedID = updatedModuleIDs[i];\n if (seenModuleIDs.has(updatedID)) {\n continue;\n }\n seenModuleIDs.add(updatedID);\n const updatedMod = modules.get(updatedID);\n if (updatedMod == null) {\n throw new Error(\"[Refresh] Expected to find the updated module.\");\n }\n const prevExports = updatedMod.publicModule.exports;\n const didError = runUpdatedModule(\n updatedID,\n updatedID === id ? factory : undefined,\n updatedID === id ? dependencyMap : undefined\n );\n const nextExports = updatedMod.publicModule.exports;\n if (didError) {\n return;\n }\n if (refreshBoundaryIDs.has(updatedID)) {\n const isNoLongerABoundary = !isReactRefreshBoundary(\n Refresh,\n nextExports\n );\n const didInvalidate = shouldInvalidateReactRefreshBoundary(\n Refresh,\n prevExports,\n nextExports\n );\n if (isNoLongerABoundary || didInvalidate) {\n const parentIDs = inverseDependencies[updatedID];\n if (parentIDs.length === 0) {\n performFullRefresh(\n isNoLongerABoundary\n ? \"No longer a boundary\"\n : \"Invalidated boundary\",\n {\n source: mod,\n failed: updatedMod,\n }\n );\n return;\n }\n for (let j = 0; j < parentIDs.length; j++) {\n const parentID = parentIDs[j];\n const parentMod = modules.get(parentID);\n if (parentMod == null) {\n throw new Error(\"[Refresh] Expected to find parent module.\");\n }\n const canAcceptParent = isReactRefreshBoundary(\n Refresh,\n parentMod.publicModule.exports\n );\n if (canAcceptParent) {\n refreshBoundaryIDs.add(parentID);\n updatedModuleIDs.push(parentID);\n } else {\n performFullRefresh(\"Invalidated boundary\", {\n source: mod,\n failed: parentMod,\n });\n return;\n }\n }\n }\n }\n }\n if (Refresh != null) {\n if (reactRefreshTimeout == null) {\n reactRefreshTimeout = setTimeout(() => {\n reactRefreshTimeout = null;\n Refresh.performReactRefresh();\n }, 30);\n }\n }\n };\n const topologicalSort = function (roots, getEdges, earlyStop) {\n const result = [];\n const visited = new Set();\n const stack = new Set();\n function traverseDependentNodes(node) {\n if (stack.has(node)) {\n throw CYCLE_DETECTED;\n }\n if (visited.has(node)) {\n return;\n }\n visited.add(node);\n stack.add(node);\n const dependentNodes = getEdges(node);\n if (earlyStop(node)) {\n stack.delete(node);\n return;\n }\n dependentNodes.forEach((dependent) => {\n traverseDependentNodes(dependent);\n });\n stack.delete(node);\n result.push(node);\n }\n roots.forEach((root) => {\n traverseDependentNodes(root);\n });\n return result;\n };\n const runUpdatedModule = function (id, factory, dependencyMap) {\n const mod = modules.get(id);\n if (mod == null) {\n throw new Error(\"[Refresh] Expected to find the module.\");\n }\n const { hot } = mod;\n if (!hot) {\n throw new Error(\"[Refresh] Expected module.hot to always exist in DEV.\");\n }\n if (hot._disposeCallback) {\n try {\n hot._disposeCallback();\n } catch (error) {\n console.error(\n `Error while calling dispose handler for module ${id}: `,\n error\n );\n }\n }\n if (factory) {\n mod.factory = factory;\n }\n if (dependencyMap) {\n mod.dependencyMap = dependencyMap;\n }\n mod.hasError = false;\n mod.error = undefined;\n mod.importedAll = EMPTY;\n mod.importedDefault = EMPTY;\n mod.isInitialized = false;\n const prevExports = mod.publicModule.exports;\n mod.publicModule.exports = {};\n hot._didAccept = false;\n hot._acceptCallback = null;\n hot._disposeCallback = null;\n metroRequire(id);\n if (mod.hasError) {\n mod.hasError = false;\n mod.isInitialized = true;\n mod.error = null;\n mod.publicModule.exports = prevExports;\n return true;\n }\n if (hot._acceptCallback) {\n try {\n hot._acceptCallback();\n } catch (error) {\n console.error(\n `Error while calling accept handler for module ${id}: `,\n error\n );\n }\n }\n return false;\n };\n const performFullRefresh = (reason, modules) => {\n if (\n typeof window !== \"undefined\" &&\n window.location != null &&\n typeof window.location.reload === \"function\"\n ) {\n window.location.reload();\n } else {\n const Refresh = requireRefresh();\n if (Refresh != null) {\n const sourceName = modules.source?.verboseName ?? \"unknown\";\n const failedName = modules.failed?.verboseName ?? \"unknown\";\n Refresh.performFullRefresh(\n `Fast Refresh - ${reason} <${sourceName}> <${failedName}>`\n );\n } else {\n console.warn(\"Could not reload the application after an edit.\");\n }\n }\n };\n var isReactRefreshBoundary = function (Refresh, moduleExports) {\n if (Refresh.isLikelyComponentType(moduleExports)) {\n return true;\n }\n if (moduleExports == null || typeof moduleExports !== \"object\") {\n return false;\n }\n let hasExports = false;\n let areAllExportsComponents = true;\n for (const key in moduleExports) {\n hasExports = true;\n if (key === \"__esModule\") {\n continue;\n }\n const desc = Object.getOwnPropertyDescriptor(moduleExports, key);\n if (desc && desc.get) {\n return false;\n }\n const exportValue = moduleExports[key];\n if (!Refresh.isLikelyComponentType(exportValue)) {\n areAllExportsComponents = false;\n }\n }\n return hasExports && areAllExportsComponents;\n };\n var shouldInvalidateReactRefreshBoundary = (\n Refresh,\n prevExports,\n nextExports\n ) => {\n const prevSignature = getRefreshBoundarySignature(Refresh, prevExports);\n const nextSignature = getRefreshBoundarySignature(Refresh, nextExports);\n if (prevSignature.length !== nextSignature.length) {\n return true;\n }\n for (let i = 0; i < nextSignature.length; i++) {\n if (prevSignature[i] !== nextSignature[i]) {\n return true;\n }\n }\n return false;\n };\n var getRefreshBoundarySignature = (Refresh, moduleExports) => {\n const signature = [];\n signature.push(Refresh.getFamilyByType(moduleExports));\n if (moduleExports == null || typeof moduleExports !== \"object\") {\n return signature;\n }\n for (const key in moduleExports) {\n if (key === \"__esModule\") {\n continue;\n }\n const desc = Object.getOwnPropertyDescriptor(moduleExports, key);\n if (desc && desc.get) {\n continue;\n }\n const exportValue = moduleExports[key];\n signature.push(key);\n signature.push(Refresh.getFamilyByType(exportValue));\n }\n return signature;\n };\n var registerExportsForReactRefresh = (Refresh, moduleExports, moduleID) => {\n Refresh.register(moduleExports, moduleID + \" %exports%\");\n if (moduleExports == null || typeof moduleExports !== \"object\") {\n return;\n }\n for (const key in moduleExports) {\n const desc = Object.getOwnPropertyDescriptor(moduleExports, key);\n if (desc && desc.get) {\n continue;\n }\n const exportValue = moduleExports[key];\n const typeID = moduleID + \" %exports% \" + key;\n Refresh.register(exportValue, typeID);\n }\n };\n global.__accept = metroHotUpdateModule;\n}\nif (__DEV__) {\n var requireSystrace = function requireSystrace() {\n return (\n global[__METRO_GLOBAL_PREFIX__ + \"__SYSTRACE\"] || metroRequire.Systrace\n );\n };\n var requireRefresh = function requireRefresh() {\n return (\n global[__METRO_GLOBAL_PREFIX__ + \"__ReactRefresh\"] ||\n global[global.__METRO_GLOBAL_PREFIX__ + \"__ReactRefresh\"] ||\n metroRequire.Refresh\n );\n };\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @polyfill\n * @nolint\n * @format\n */\n\n'use client';\n\n/* eslint-disable no-shadow, eqeqeq, curly, no-unused-vars, no-void, no-control-regex */\n\n/**\n * This pipes all of our console logging functions to native logging so that\n * JavaScript errors in required modules show up in Xcode via NSLog.\n */\nconst inspect = (function () {\n // Copyright Joyent, Inc. and other Node contributors.\n //\n // Permission is hereby granted, free of charge, to any person obtaining a\n // copy of this software and associated documentation files (the\n // \"Software\"), to deal in the Software without restriction, including\n // without limitation the rights to use, copy, modify, merge, publish,\n // distribute, sublicense, and/or sell copies of the Software, and to permit\n // persons to whom the Software is furnished to do so, subject to the\n // following conditions:\n //\n // The above copyright notice and this permission notice shall be included\n // in all copies or substantial portions of the Software.\n //\n // THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n // USE OR OTHER DEALINGS IN THE SOFTWARE.\n //\n // https://github.com/joyent/node/blob/master/lib/util.js\n\n function inspect(obj, opts) {\n var ctx = {\n seen: [],\n formatValueCalls: 0,\n stylize: stylizeNoColor,\n };\n return formatValue(ctx, obj, opts.depth);\n }\n\n function stylizeNoColor(str, styleType) {\n return str;\n }\n\n function arrayToHash(array) {\n var hash = {};\n\n array.forEach(function (val, idx) {\n hash[val] = true;\n });\n\n return hash;\n }\n\n function formatValue(ctx, value, recurseTimes) {\n ctx.formatValueCalls++;\n if (ctx.formatValueCalls > 200) {\n return `[TOO BIG formatValueCalls ${ctx.formatValueCalls} exceeded limit of 200]`;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (\n isError(value) &&\n (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)\n ) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '',\n array = false,\n braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function (key) {\n return formatProperty(\n ctx,\n value,\n recurseTimes,\n visibleKeys,\n key,\n array,\n );\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n }\n\n function formatPrimitive(ctx, value) {\n if (isUndefined(value)) return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple =\n \"'\" +\n JSON.stringify(value)\n .replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') +\n \"'\";\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value)) return ctx.stylize('' + value, 'number');\n if (isBoolean(value)) return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value)) return ctx.stylize('null', 'null');\n }\n\n function formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n }\n\n function formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(\n formatProperty(\n ctx,\n value,\n recurseTimes,\n visibleKeys,\n String(i),\n true,\n ),\n );\n } else {\n output.push('');\n }\n }\n keys.forEach(function (key) {\n if (!key.match(/^\\d+$/)) {\n output.push(\n formatProperty(ctx, value, recurseTimes, visibleKeys, key, true),\n );\n }\n });\n return output;\n }\n\n function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || {value: value[key]};\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str\n .split('\\n')\n .map(function (line) {\n return ' ' + line;\n })\n .join('\\n')\n .slice(2);\n } else {\n str =\n '\\n' +\n str\n .split('\\n')\n .map(function (line) {\n return ' ' + line;\n })\n .join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, name.length - 1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n }\n\n function reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function (prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return (\n braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1]\n );\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n }\n\n // NOTE: These type checking functions intentionally don't use `instanceof`\n // because it is fragile and can be easily faked with `Object.create()`.\n function isArray(ar) {\n return Array.isArray(ar);\n }\n\n function isBoolean(arg) {\n return typeof arg === 'boolean';\n }\n\n function isNull(arg) {\n return arg === null;\n }\n\n function isNullOrUndefined(arg) {\n return arg == null;\n }\n\n function isNumber(arg) {\n return typeof arg === 'number';\n }\n\n function isString(arg) {\n return typeof arg === 'string';\n }\n\n function isSymbol(arg) {\n return typeof arg === 'symbol';\n }\n\n function isUndefined(arg) {\n return arg === void 0;\n }\n\n function isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n }\n\n function isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n }\n\n function isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n }\n\n function isError(e) {\n return (\n isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error)\n );\n }\n\n function isFunction(arg) {\n return typeof arg === 'function';\n }\n\n function objectToString(o) {\n return Object.prototype.toString.call(o);\n }\n\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n return inspect;\n})();\n\nconst INDEX_COLUMN_NAME = '(index)';\nconst LOG_LEVELS = {\n trace: 0,\n info: 1,\n warn: 2,\n error: 3,\n};\n\nfunction getNativeLogFunction(level) {\n return function () {\n let str;\n if (arguments.length === 1 && typeof arguments[0] === 'string') {\n str = arguments[0];\n } else {\n str = Array.prototype.map\n .call(arguments, function (arg) {\n return inspect(arg, {depth: 10});\n })\n .join(', ');\n }\n\n // TRICKY\n // If more than one argument is provided, the code above collapses them all\n // into a single formatted string. This transform wraps string arguments in\n // single quotes (e.g. \"foo\" -> \"'foo'\") which then breaks the \"Warning:\"\n // check below. So it's important that we look at the first argument, rather\n // than the formatted argument string.\n const firstArg = arguments[0];\n\n let logLevel = level;\n if (\n typeof firstArg === 'string' &&\n firstArg.slice(0, 9) === 'Warning: ' &&\n logLevel >= LOG_LEVELS.error\n ) {\n // React warnings use console.error so that a stack trace is shown,\n // but we don't (currently) want these to show a redbox\n // (Note: Logic duplicated in ExceptionsManager.js.)\n logLevel = LOG_LEVELS.warn;\n }\n if (groupStack.length) {\n str = groupFormat('', str);\n }\n global.nativeLoggingHook(str, logLevel);\n };\n}\n\nfunction repeat(element, n) {\n return Array.apply(null, Array(n)).map(function () {\n return element;\n });\n}\n\nfunction formatCellValue(cell, key) {\n if (key === INDEX_COLUMN_NAME) {\n return cell[key];\n }\n\n if (cell.hasOwnProperty(key)) {\n var cellValue = cell[key];\n\n switch (typeof cellValue) {\n case 'function':\n return 'ƒ';\n case 'string':\n return \"'\" + cellValue + \"'\";\n case 'object':\n return cellValue == null ? 'null' : '{…}';\n }\n\n return String(cellValue);\n }\n return '';\n}\n\nfunction consoleTablePolyfill(data, columns) {\n var rows;\n\n // convert object -> array\n if (Array.isArray(data)) {\n rows = data.map((row, index) => {\n var processedRow = {};\n processedRow[INDEX_COLUMN_NAME] = String(index);\n Object.assign(processedRow, row);\n return processedRow;\n });\n } else {\n rows = [];\n for (var key in data) {\n if (data.hasOwnProperty(key)) {\n var processedRow = {};\n processedRow[INDEX_COLUMN_NAME] = key;\n Object.assign(processedRow, data[key]);\n rows.push(processedRow);\n }\n }\n }\n if (rows.length === 0) {\n global.nativeLoggingHook('', LOG_LEVELS.info);\n return;\n }\n\n if (Array.isArray(columns)) {\n columns = [INDEX_COLUMN_NAME].concat(columns);\n } else {\n columns = Array.from(\n rows.reduce((columnSet, row) => {\n Object.keys(row).forEach(key => columnSet.add(key));\n return columnSet;\n }, new Set()),\n );\n }\n var stringRows = [];\n var columnWidths = [];\n\n // Convert each cell to a string. Also\n // figure out max cell width for each column\n columns.forEach(function (k, i) {\n columnWidths[i] = k.length;\n for (var j = 0; j < rows.length; j++) {\n var cellStr = formatCellValue(rows[j], k);\n stringRows[j] = stringRows[j] || [];\n stringRows[j][i] = cellStr;\n columnWidths[i] = Math.max(columnWidths[i], cellStr.length);\n }\n });\n\n // Join all elements in the row into a single string with | separators\n // (appends extra spaces to each cell to make separators | aligned)\n function joinRow(row, space) {\n var cells = row.map(function (cell, i) {\n var extraSpaces = repeat(' ', columnWidths[i] - cell.length).join('');\n return cell + extraSpaces;\n });\n space = space || ' ';\n return '| ' + cells.join(space + '|' + space) + ' |';\n }\n\n var separators = columnWidths.map(function (columnWidth) {\n return repeat('-', columnWidth).join('');\n });\n var separatorRow = joinRow(separators);\n var header = joinRow(columns);\n var table = [header, separatorRow];\n\n for (var i = 0; i < rows.length; i++) {\n table.push(joinRow(stringRows[i]));\n }\n\n // Notice extra empty line at the beginning.\n // Native logging hook adds \"RCTLog >\" at the front of every\n // logged string, which would shift the header and screw up\n // the table\n global.nativeLoggingHook('\\n' + table.join('\\n'), LOG_LEVELS.info);\n}\n\nconst GROUP_PAD = '\\u2502'; // Box light vertical\nconst GROUP_OPEN = '\\u2510'; // Box light down+left\nconst GROUP_CLOSE = '\\u2518'; // Box light up+left\n\nconst groupStack = [];\n\nfunction groupFormat(prefix, msg) {\n // Insert group formatting before the console message\n return groupStack.join('') + prefix + ' ' + (msg || '');\n}\n\nfunction consoleGroupPolyfill(label) {\n global.nativeLoggingHook(groupFormat(GROUP_OPEN, label), LOG_LEVELS.info);\n groupStack.push(GROUP_PAD);\n}\n\nfunction consoleGroupCollapsedPolyfill(label) {\n global.nativeLoggingHook(groupFormat(GROUP_CLOSE, label), LOG_LEVELS.info);\n groupStack.push(GROUP_PAD);\n}\n\nfunction consoleGroupEndPolyfill() {\n groupStack.pop();\n global.nativeLoggingHook(groupFormat(GROUP_CLOSE), LOG_LEVELS.info);\n}\n\nfunction consoleAssertPolyfill(expression, label) {\n if (!expression) {\n global.nativeLoggingHook('Assertion failed: ' + label, LOG_LEVELS.error);\n }\n}\n\nif (global.nativeLoggingHook) {\n const originalConsole = global.console;\n // Preserve the original `console` as `originalConsole`\n if (__DEV__ && originalConsole) {\n const descriptor = Object.getOwnPropertyDescriptor(global, 'console');\n if (descriptor) {\n Object.defineProperty(global, 'originalConsole', descriptor);\n }\n }\n\n global.console = {\n ...(originalConsole ?? {}),\n error: getNativeLogFunction(LOG_LEVELS.error),\n info: getNativeLogFunction(LOG_LEVELS.info),\n log: getNativeLogFunction(LOG_LEVELS.info),\n warn: getNativeLogFunction(LOG_LEVELS.warn),\n trace: getNativeLogFunction(LOG_LEVELS.trace),\n debug: getNativeLogFunction(LOG_LEVELS.trace),\n table: consoleTablePolyfill,\n group: consoleGroupPolyfill,\n groupEnd: consoleGroupEndPolyfill,\n groupCollapsed: consoleGroupCollapsedPolyfill,\n assert: consoleAssertPolyfill,\n };\n\n // TODO(T206796580): This was copy-pasted from ExceptionsManager.js\n // Delete the copy there after the c++ pipeline is rolled out everywhere.\n if (global.RN$useAlwaysAvailableJSErrorHandling === true) {\n let originalConsoleError = console.error;\n console.reportErrorsAsExceptions = true;\n function stringifySafe(arg) {\n return inspect(arg, {depth: 10}).replace(/\\n\\s*/g, ' ');\n }\n console.error = function (...args) {\n originalConsoleError.apply(this, args);\n if (!console.reportErrorsAsExceptions) {\n return;\n }\n if (global.RN$inExceptionHandler?.()) {\n return;\n }\n let error;\n\n const firstArg = args[0];\n if (firstArg?.stack) {\n // RN$handleException will console.error this with high enough fidelity.\n error = firstArg;\n } else {\n if (typeof firstArg === 'string' && firstArg.startsWith('Warning: ')) {\n // React warnings use console.error so that a stack trace is shown, but\n // we don't (currently) want these to show a redbox\n return;\n }\n const message = args\n .map(arg => (typeof arg === 'string' ? arg : stringifySafe(arg)))\n .join(' ');\n\n error = new Error(message);\n error.name = 'console.error';\n }\n\n const isFatal = false;\n const reportToConsole = false;\n global.RN$handleException(error, isFatal, reportToConsole);\n };\n }\n\n Object.defineProperty(console, '_isPolyfilled', {\n value: true,\n enumerable: false,\n });\n\n // If available, also call the original `console` method since that is\n // sometimes useful. Ex: on OS X, this will let you see rich output in\n // the Safari Web Inspector console.\n if (__DEV__ && originalConsole) {\n Object.keys(console).forEach(methodName => {\n const reactNativeMethod = console[methodName];\n if (\n originalConsole[methodName] &&\n reactNativeMethod !== originalConsole[methodName]\n ) {\n console[methodName] = function () {\n originalConsole[methodName](...arguments);\n reactNativeMethod.apply(console, arguments);\n };\n }\n });\n\n // The following methods are not supported by this polyfill but\n // we still should pass them to original console if they are\n // supported by it.\n ['clear', 'dir', 'dirxml', 'profile', 'profileEnd'].forEach(methodName => {\n if (typeof originalConsole[methodName] === 'function') {\n console[methodName] = function () {\n originalConsole[methodName](...arguments);\n };\n }\n });\n }\n} else if (!global.console) {\n function stub() {}\n const log = global.print || stub;\n\n global.console = {\n debug: log,\n error: log,\n info: log,\n log: log,\n trace: log,\n warn: log,\n assert(expression, label) {\n if (!expression) {\n log('Assertion failed: ' + label);\n }\n },\n clear: stub,\n dir: stub,\n dirxml: stub,\n group: stub,\n groupCollapsed: stub,\n groupEnd: stub,\n profile: stub,\n profileEnd: stub,\n table: stub,\n };\n\n Object.defineProperty(console, '_isPolyfilled', {\n value: true,\n enumerable: false,\n });\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n * @polyfill\n */\n\nlet _inGuard = 0;\n\ntype ErrorHandler = (error: mixed, isFatal: boolean) => void;\ntype Fn = (...Args) => Return;\n\n/**\n * This is the error handler that is called when we encounter an exception\n * when loading a module. This will report any errors encountered before\n * ExceptionsManager is configured.\n */\nlet _globalHandler: ErrorHandler =\n global.RN$useAlwaysAvailableJSErrorHandling === true\n ? global.RN$handleException\n : (e: mixed, isFatal: boolean) => {\n throw e;\n };\n\n/**\n * The particular require runtime that we are using looks for a global\n * `ErrorUtils` object and if it exists, then it requires modules with the\n * error handler specified via ErrorUtils.setGlobalHandler by calling the\n * require function with applyWithGuard. Since the require module is loaded\n * before any of the modules, this ErrorUtils must be defined (and the handler\n * set) globally before requiring anything.\n */\nconst ErrorUtils = {\n setGlobalHandler(fun: ErrorHandler): void {\n _globalHandler = fun;\n },\n getGlobalHandler(): ErrorHandler {\n return _globalHandler;\n },\n reportError(error: mixed): void {\n _globalHandler && _globalHandler(error, false);\n },\n reportFatalError(error: mixed): void {\n // NOTE: This has an untyped call site in Metro.\n _globalHandler && _globalHandler(error, true);\n },\n applyWithGuard, TOut>(\n fun: Fn,\n context?: ?mixed,\n args?: ?TArgs,\n // Unused, but some code synced from www sets it to null.\n unused_onError?: null,\n // Some callers pass a name here, which we ignore.\n unused_name?: ?string,\n ): ?TOut {\n try {\n _inGuard++;\n /* $FlowFixMe[incompatible-call] : TODO T48204745 (1) apply(context,\n * null) is fine. (2) array -> rest array should work */\n /* $FlowFixMe[incompatible-type] : TODO T48204745 (1) apply(context,\n * null) is fine. (2) array -> rest array should work */\n return fun.apply(context, args);\n } catch (e) {\n ErrorUtils.reportError(e);\n } finally {\n _inGuard--;\n }\n return null;\n },\n applyWithGuardIfNeeded, TOut>(\n fun: Fn,\n context?: ?mixed,\n args?: ?TArgs,\n ): ?TOut {\n if (ErrorUtils.inGuard()) {\n /* $FlowFixMe[incompatible-call] : TODO T48204745 (1) apply(context,\n * null) is fine. (2) array -> rest array should work */\n /* $FlowFixMe[incompatible-type] : TODO T48204745 (1) apply(context,\n * null) is fine. (2) array -> rest array should work */\n return fun.apply(context, args);\n } else {\n ErrorUtils.applyWithGuard(fun, context, args);\n }\n return null;\n },\n inGuard(): boolean {\n return !!_inGuard;\n },\n guard, TOut>(\n fun: Fn,\n name?: ?string,\n context?: ?mixed,\n ): ?(...TArgs) => ?TOut {\n // TODO: (moti) T48204753 Make sure this warning is never hit and remove it - types\n // should be sufficient.\n if (typeof fun !== 'function') {\n console.warn('A function must be passed to ErrorUtils.guard, got ', fun);\n return null;\n }\n const guardName = name ?? fun.name ?? '';\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n function guarded(...args: TArgs): ?TOut {\n return ErrorUtils.applyWithGuard(\n fun,\n context ?? this,\n args,\n null,\n guardName,\n );\n }\n\n return guarded;\n },\n};\n\nglobal.ErrorUtils = ErrorUtils;\n\nexport type ErrorUtilsT = typeof ErrorUtils;\n","// Cross-platform views should be registered in the cpuxIndex.tsx file.\r\nimport './cpuxIndex';\r\n\r\nimport { ExitDialogView } from './exitDialogView/ExitDialogView';\r\nimport { FolderColorsView } from './folderColorView/FolderColorView';\r\nimport { HiddenRootView } from './hiddenRootView/HiddenRootView';\r\nimport { KFMExpressOptInView } from './kfmExpressOptInView/kfmExpressOptInView';\r\nimport { KFMOptOutSurveyView } from './kfmOptOutSurveyView/KFMOptOutSurveyView';\r\nimport { registerViewWithCommonLoader } from './viewRegistration';\r\nimport { SettingsView } from './settingsView/SettingsView';\r\nimport { SyncReadyPage } from './freView/pages/SyncReadyPage';\r\nimport { VaultAdminPage } from './vaultWizard/VaultAdminPage';\r\nimport { VaultIntroPage } from './vaultWizard/VaultIntroPage';\r\nimport { SettingsMessageHandler } from './settingsView/dataHandler/SettingsMessageHandler';\r\nimport { VaultMessageHandler } from './vaultWizard/dataHandler/VaultMessageHandler';\r\nimport { ShareLoadingView } from './shareLoadingView/ShareLoadingView';\r\nimport { ShareLoadingMessageHandler } from './shareLoadingView/dataHandler/ShareLoadingMessageHandler';\r\nimport { CopilotDialogView } from './copilotDialogView/CopilotDialogView';\r\nimport { KFMOnboardingView } from './kfmOnboardingView/KFMOnboardingView';\r\n\r\n// Register Windows-only views below.\r\nregisterViewWithCommonLoader('exitDialog', ExitDialogView);\r\nregisterViewWithCommonLoader('folderColor', FolderColorsView);\r\nregisterViewWithCommonLoader('hiddenRoot', HiddenRootView);\r\nregisterViewWithCommonLoader('kfmExpressOptIn', KFMExpressOptInView);\r\nregisterViewWithCommonLoader('kfmOptOutSurvey', KFMOptOutSurveyView);\r\nregisterViewWithCommonLoader('settings', SettingsView, SettingsMessageHandler);\r\nregisterViewWithCommonLoader('syncReady', SyncReadyPage);\r\nregisterViewWithCommonLoader('vaultAdminPage', VaultAdminPage, VaultMessageHandler);\r\nregisterViewWithCommonLoader('vaultIntroPage', VaultIntroPage);\r\nregisterViewWithCommonLoader('shareLoading', ShareLoadingView, ShareLoadingMessageHandler);\r\nregisterViewWithCommonLoader('copilotDialog', CopilotDialogView);\r\nregisterViewWithCommonLoader('kfmOnboarding', KFMOnboardingView);\r\n","import './i18n';\r\nimport { ActivityCenterView } from './activityCenterView/ActivityCenterView';\r\nimport { ChooseRootFolderPage } from './freView/pages/ChooseRootFolderPage';\r\nimport { ChooseRootFolderPageMessageHandler } from './freView/dataHandler/ChooseRootFolderMessageHandler';\r\nimport { CTAPage } from './freView/pages/CTAPage';\r\nimport { DebugView } from './debugView/DebugView';\r\nimport { KFMDoneMessageHandler } from './kfmMoveView/kfmDoneView/dataHandler/kfmDoneMessageHandler';\r\nimport { KFMDoneView } from './kfmMoveView/kfmDoneView/kfmDoneView';\r\nimport { KFMErrorView } from './kfmMoveView/kfmErrorView/MigrationErrorView';\r\nimport { KFMErrorMessageHandler } from './kfmMoveView/kfmErrorView/dataHandler/KFMErrorPageMessageHandler';\r\nimport { KFMMoveView } from './kfmMoveView/KFMMoveView';\r\nimport { FloodgateSurveyView } from './floodgateSurveyView/FloodgateSurveyView';\r\nimport { OptionalDiagnosticDataPage } from './freView/pages/OptionalDiagnosticDataPage';\r\nimport { PremiumPage } from './freView/pages/PremiumPage';\r\nimport { PremiumPageMessageHandler } from './freView/dataHandler/PremiumPageMessageHandler';\r\nimport { registerViewWithCommonLoader } from './viewRegistration';\r\nimport { ReportABugView } from './reportABugView/ReportABugView';\r\nimport { RequiredDiagnosticDataPage } from './freView/pages/RequiredDiagnosticDataPage';\r\nimport { SelectiveSyncMessageHandler } from './freView/dataHandler/SelectiveSyncMessageHandler';\r\nimport { SelectiveSyncPage } from './freView/pages/SelectiveSyncPage';\r\nimport { SendFeedbackView } from './sendFeedbackView/SendFeedbackView';\r\nimport { SendFrownOrSmileView } from './sendFeedbackView/views/SendFrownOrSmileView';\r\nimport { TaskDialogView } from './taskDialogView/TaskDialogView';\r\nimport { TutorialPage } from './freView/pages/TutorialPage';\r\nimport { WelcomePage } from './freView/pages/WelcomePage';\r\nimport { WelcomePageMessageHandler } from './freView/dataHandler/WelcomePageMessageHandler';\r\nimport { WizardWindow } from './freView/pages/WizardWindow';\r\nimport { WizardWindowMessageHandler } from './freView/dataHandler/WizardWindowMessageHandler';\r\nimport { WizardErrorPage } from './freView/pages/WizardErrorPage';\r\nimport { WizardErrorPageMessageHandler } from './freView/dataHandler/WizardErrorPageMessageHandler';\r\nimport { NPSToastView } from './floodgateSurveyView/NPSToastView';\r\nimport { DebugViewMessageHandler } from './debugView/DebugViewMessageHandler';\r\nimport { DebugInfoViewMessageHandler } from './debugInfoView/DebugInfoViewMessageHandler';\r\nimport { DebugInfoView } from './debugInfoView/DebugInfoView';\r\nimport { SendFeedbackMessageHandler } from './sendFeedbackView/dataHandler/SendFeedbackMessageHandler';\r\nimport { VersionHistoryView } from './versionHistoryView/VersionHistoryView';\r\nimport { VersionHistoryMessageHandler } from './versionHistoryView/dataHandler/VersionHistoryMessageHandler';\r\n\r\n// This file is a cross-platform UX entry point for React Native views.\r\n// Any view that is registered here can be displayed correctly on either Windows or MacOS.\r\n\r\nregisterViewWithCommonLoader('activityCenter', ActivityCenterView);\r\nregisterViewWithCommonLoader(\r\n 'chooseRootFolderPage',\r\n ChooseRootFolderPage,\r\n ChooseRootFolderPageMessageHandler\r\n);\r\nregisterViewWithCommonLoader('ctaPage', CTAPage, WizardWindowMessageHandler);\r\nregisterViewWithCommonLoader('debug', DebugView, DebugViewMessageHandler);\r\nregisterViewWithCommonLoader('debugInfo', DebugInfoView, DebugInfoViewMessageHandler);\r\nregisterViewWithCommonLoader('errorPage', WizardErrorPage, WizardErrorPageMessageHandler);\r\nregisterViewWithCommonLoader('floodgateSurvey', FloodgateSurveyView);\r\nregisterViewWithCommonLoader('kfmDone', KFMDoneView, KFMDoneMessageHandler);\r\nregisterViewWithCommonLoader('kfmError', KFMErrorView, KFMErrorMessageHandler);\r\nregisterViewWithCommonLoader('notificationToast', NPSToastView);\r\nregisterViewWithCommonLoader(\r\n 'optionalDiagnosticDataPage',\r\n OptionalDiagnosticDataPage,\r\n WizardWindowMessageHandler\r\n);\r\nregisterViewWithCommonLoader('kfmMove', KFMMoveView);\r\nregisterViewWithCommonLoader('premiumPage', PremiumPage, PremiumPageMessageHandler);\r\nregisterViewWithCommonLoader('reportABug', ReportABugView);\r\nregisterViewWithCommonLoader(\r\n 'requiredDiagnosticDataPage',\r\n RequiredDiagnosticDataPage,\r\n WizardWindowMessageHandler\r\n);\r\nregisterViewWithCommonLoader('selectiveSync', SelectiveSyncPage, SelectiveSyncMessageHandler);\r\nregisterViewWithCommonLoader('sendFeedback', SendFeedbackView);\r\nregisterViewWithCommonLoader('sendFrownOrSmile', SendFrownOrSmileView, SendFeedbackMessageHandler);\r\nregisterViewWithCommonLoader('taskDialog', TaskDialogView);\r\nregisterViewWithCommonLoader('tutorialPage', TutorialPage, WizardWindowMessageHandler);\r\nregisterViewWithCommonLoader('welcomePage', WelcomePage, WelcomePageMessageHandler);\r\nregisterViewWithCommonLoader('versionHistory', VersionHistoryView, VersionHistoryMessageHandler);\r\nregisterViewWithCommonLoader('wizardWindow', WizardWindow, WizardWindowMessageHandler);\r\n\r\n// TODO: VSO 2123432 (taenri) - Register Message Handlers with their associated views in entry point files.\r\n// i.e. registerViewWithCommonLoader('welcomePage', WelcomePage, WelcomePageMessageHandler);\r\n\r\n// Register all possible React Native view components under a specific view name.\r\n// Each view must have a unique name that corresponds with it.\r\n//\r\n// To add a new view, please follow these steps:\r\n// 1. Create a sub-folder for the TypeScript code under the 'src' folder called 'View'\r\n// 2. Add a base component to this folder called 'View' that exports a React component of the same name.\r\n// 3. Import this component here and register it: registerViewWithCommonLoader('', View, );\r\n//\r\n// To display a native window with this view, make the following call in Native C++:\r\n// ReactNativeViewProps viewProps = ReactNativeViewProps(\r\n// L\"Example View\" /*windowTitle*/,\r\n// L\"\" /*viewName*/,\r\n// 400 /*width*/,\r\n// 400 /*height*/,\r\n// RNViewStyle::StandardWindow /*style*/);\r\n// GetHost()->GetHostedComponent()->DisplayRNView(viewProps);\r\n// Note that in the above example snippet the viewName property for ReactNativeViewProps should match what\r\n// is passed into the AppRegistry in this file.\r\n\r\n// The associated message handler type that is registered for a given view is responsible for calling the\r\n// RNCommon/messageHandlerRendering route when it has finished rendering.\r\n// This is required if the view needs to receive any messages that were cached by the host app directly\r\n// after the window was created for display.\r\n//\r\n// Example expected flow for receiving cached messages:\r\n// 1. IRNViewsManager::DisplayRNView is called to render \"welcomePage\".\r\n// 2. IRNMessageEmitter::FireMessageForView is called to fire a message to \"welcomePage\".\r\n// 3. The \"welcomePage\" view message handler has not yet rendered, so the message is cached.\r\n// 4. RNCommonRouteHandler::OnMessageHandlerRendering is called from the \"welcomePage\" message handler later.\r\n// ^ This refers to the message handler that is directly registered with the view in this file.\r\n// 5. IRNMessageEmitter::FireCachedMessagesForView is called to fire all cached messages for \"welcomePage\".\r\n//\r\n// Please refer to the IRNMessageEmitter C++ interface for more information on this flow.\r\n","import { initReactI18next } from 'react-i18next';\r\nimport Backend, { HttpBackendOptions, RequestCallback } from 'i18next-http-backend';\r\nimport { IErrorResponse, NativeDataHandler } from './common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from './common/dataHandler/IDataHandler';\r\nimport { CommonContextDataModel } from './common/loader/dataHandler/CommonContextDataModel';\r\n\r\n// TypeScript Check (tsc) incorrectly fails to recognize InitOptions and ResourceKey as valid exports from i18next.\r\n// @ts-ignore\r\nimport i18n, { InitOptions, ResourceKey } from 'i18next';\r\nimport { IGlobal } from './common/types';\r\n\r\nconst dataHandler = new NativeDataHandler();\r\n\r\ni18n\r\n // Note that although we are using the default i18next messaging format parsing in TypeScript, our localizable.json file uses the\r\n // more universal ICU format. This is because i18next-icu message formatting package has a bug where interpolation fails when\r\n // using production JavaScript bundles (at least bundles that have been generated using hermes bytecode optimization).\r\n // https://github.com/i18next/i18next-icu/issues/66\r\n //\r\n // Due to the current limitations of the i18next-icu package, note that we may need to modify the i18next message formatting\r\n // configuration in our own code as a workaround to match the ICU format as closely as possible. For example: in the interpolation\r\n // configuration below we set the prefix and suffix values to a single curly-brace each, instead of the default double curly-brace.\r\n //\r\n // There are more highly-regarded C++ libraries available for parsing the ICU localization format than there are for parsing the\r\n // i18next format. Since we want to be able to parse the strings in both C++ and JS, we have opted to use the ICU format.\r\n // https://unicode-org.github.io/icu/userguide/format_parse/messages/\r\n .use(Backend) // Use the HTTP Backend so we can override the async server request function using the `backend` options below.\r\n .use(initReactI18next) // passes i18n down to react-i18next\r\n .init({\r\n // Set the default language to 'en' to avoid having the 'i18n.languages were undefined or empty' warning show in dev mode.\r\n // We ultimately use native code in a Route Handler to read the system language and return the correct translations JSON.\r\n lng: 'en',\r\n interpolation: {\r\n escapeValue: false, // React is already safe from XSS attacks, so no need to escape.\r\n prefix: '{', // Use only a singular curly-brace for each interpolated placeholder prefix to adhere to ICU format.\r\n suffix: '}' // Use only a singular curly-brace for each interpolated placeholder suffix to adhere to ICU format.\r\n },\r\n react: {\r\n useSuspense: true // CommonLoader will suspend rendering until strings have been loaded.\r\n },\r\n debug: false,\r\n initImmediate: false, // Avoid initializing immediately, since we defer to the native backend request to load translations.\r\n backend: {\r\n loadPath: 'http://localhost:9001/sync/RNCommonFree/translations',\r\n request: async (\r\n backendOptions: HttpBackendOptions,\r\n loadPath: string,\r\n payload: {} | string,\r\n callback: RequestCallback\r\n ): Promise => {\r\n // Make a call through the NativeDataHandler to the RNCommon/translations route.\r\n // Note that `loadPath` is set in the `backend` option above.\r\n const dataHandlerSendOptions: IDataHandlerSendOptions = {\r\n url: loadPath,\r\n requestType: 'GET'\r\n };\r\n const response: ResourceKey | IErrorResponse = await dataHandler.send(\r\n dataHandlerSendOptions\r\n );\r\n if ((response as IErrorResponse).error) {\r\n callback(null, {\r\n status: 500,\r\n data: response\r\n });\r\n } else {\r\n callback(null, {\r\n status: 200,\r\n data: response\r\n });\r\n\r\n // On Windows, we can assume translations are loaded only when initializing the hiddenRoot.\r\n // On MacOS, each new view is responsible for loading its own set of translations.\r\n // Either way, recording the 'TranslationsLoaded' funnel stage with the last-rendered app key should work.\r\n const lastAppKey = (global as IGlobal).lastAppKey || '';\r\n const commonDataModel = new CommonContextDataModel();\r\n commonDataModel.recordFunnelTelemetry(lastAppKey, 'TranslationsLoaded');\r\n }\r\n }\r\n }\r\n } as InitOptions);\r\n\r\nexport default i18n;\r\n","function _interopRequireDefault(e) {\n return e && e.__esModule ? e : {\n \"default\": e\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function asyncGeneratorStep(n, t, e, r, o, a, c) {\n try {\n var i = n[a](c),\n u = i.value;\n } catch (n) {\n return void e(n);\n }\n i.done ? t(u) : Promise.resolve(u).then(r, o);\n}\nfunction _asyncToGenerator(n) {\n return function () {\n var t = this,\n e = arguments;\n return new Promise(function (r, o) {\n var a = n.apply(t, e);\n function _next(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n);\n }\n function _throw(n) {\n asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n);\n }\n _next(void 0);\n });\n };\n}\nmodule.exports = _asyncToGenerator, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nimport { makePromise } from './utils.js';\nimport request from './request.js';\nvar getDefaults = function getDefaults() {\n return {\n loadPath: '/locales/{{lng}}/{{ns}}.json',\n addPath: '/locales/add/{{lng}}/{{ns}}',\n parse: function parse(data) {\n return JSON.parse(data);\n },\n stringify: JSON.stringify,\n parsePayload: function parsePayload(namespace, key, fallbackValue) {\n return _defineProperty({}, key, fallbackValue || '');\n },\n parseLoadPayload: function parseLoadPayload(languages, namespaces) {\n return undefined;\n },\n request: request,\n reloadInterval: typeof window !== 'undefined' ? false : 60 * 60 * 1000,\n customHeaders: {},\n queryStringParams: {},\n crossDomain: false,\n withCredentials: false,\n overrideMimeType: false,\n requestOptions: {\n mode: 'cors',\n credentials: 'same-origin',\n cache: 'default'\n }\n };\n};\nvar Backend = function () {\n function Backend(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n _classCallCheck(this, Backend);\n this.services = services;\n this.options = options;\n this.allOptions = allOptions;\n this.type = 'backend';\n this.init(services, options, allOptions);\n }\n return _createClass(Backend, [{\n key: \"init\",\n value: function init(services) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var allOptions = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.services = services;\n this.options = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), this.options || {}), options);\n this.allOptions = allOptions;\n if (this.services && this.options.reloadInterval) {\n var timer = setInterval(function () {\n return _this.reload();\n }, this.options.reloadInterval);\n if (_typeof(timer) === 'object' && typeof timer.unref === 'function') timer.unref();\n }\n }\n }, {\n key: \"readMulti\",\n value: function readMulti(languages, namespaces, callback) {\n this._readAny(languages, languages, namespaces, namespaces, callback);\n }\n }, {\n key: \"read\",\n value: function read(language, namespace, callback) {\n this._readAny([language], language, [namespace], namespace, callback);\n }\n }, {\n key: \"_readAny\",\n value: function _readAny(languages, loadUrlLanguages, namespaces, loadUrlNamespaces, callback) {\n var _this2 = this;\n var loadPath = this.options.loadPath;\n if (typeof this.options.loadPath === 'function') {\n loadPath = this.options.loadPath(languages, namespaces);\n }\n loadPath = makePromise(loadPath);\n loadPath.then(function (resolvedLoadPath) {\n if (!resolvedLoadPath) return callback(null, {});\n var url = _this2.services.interpolator.interpolate(resolvedLoadPath, {\n lng: languages.join('+'),\n ns: namespaces.join('+')\n });\n _this2.loadUrl(url, callback, loadUrlLanguages, loadUrlNamespaces);\n });\n }\n }, {\n key: \"loadUrl\",\n value: function loadUrl(url, callback, languages, namespaces) {\n var _this3 = this;\n var lng = typeof languages === 'string' ? [languages] : languages;\n var ns = typeof namespaces === 'string' ? [namespaces] : namespaces;\n var payload = this.options.parseLoadPayload(lng, ns);\n this.options.request(this.options, url, payload, function (err, res) {\n if (res && (res.status >= 500 && res.status < 600 || !res.status)) return callback('failed loading ' + url + '; status code: ' + res.status, true);\n if (res && res.status >= 400 && res.status < 500) return callback('failed loading ' + url + '; status code: ' + res.status, false);\n if (!res && err && err.message) {\n var errorMessage = err.message.toLowerCase();\n var isNetworkError = ['failed', 'fetch', 'network', 'load'].find(function (term) {\n return errorMessage.indexOf(term) > -1;\n });\n if (isNetworkError) {\n return callback('failed loading ' + url + ': ' + err.message, true);\n }\n }\n if (err) return callback(err, false);\n var ret, parseErr;\n try {\n if (typeof res.data === 'string') {\n ret = _this3.options.parse(res.data, languages, namespaces);\n } else {\n ret = res.data;\n }\n } catch (e) {\n parseErr = 'failed parsing ' + url + ' to json';\n }\n if (parseErr) return callback(parseErr, false);\n callback(null, ret);\n });\n }\n }, {\n key: \"create\",\n value: function create(languages, namespace, key, fallbackValue, callback) {\n var _this4 = this;\n if (!this.options.addPath) return;\n if (typeof languages === 'string') languages = [languages];\n var payload = this.options.parsePayload(namespace, key, fallbackValue);\n var finished = 0;\n var dataArray = [];\n var resArray = [];\n languages.forEach(function (lng) {\n var addPath = _this4.options.addPath;\n if (typeof _this4.options.addPath === 'function') {\n addPath = _this4.options.addPath(lng, namespace);\n }\n var url = _this4.services.interpolator.interpolate(addPath, {\n lng: lng,\n ns: namespace\n });\n _this4.options.request(_this4.options, url, payload, function (data, res) {\n finished += 1;\n dataArray.push(data);\n resArray.push(res);\n if (finished === languages.length) {\n if (typeof callback === 'function') callback(dataArray, resArray);\n }\n });\n });\n }\n }, {\n key: \"reload\",\n value: function reload() {\n var _this5 = this;\n var _this$services = this.services,\n backendConnector = _this$services.backendConnector,\n languageUtils = _this$services.languageUtils,\n logger = _this$services.logger;\n var currentLanguage = backendConnector.language;\n if (currentLanguage && currentLanguage.toLowerCase() === 'cimode') return;\n var toLoad = [];\n var append = function append(lng) {\n var lngs = languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n append(currentLanguage);\n if (this.allOptions.preload) this.allOptions.preload.forEach(function (l) {\n return append(l);\n });\n toLoad.forEach(function (lng) {\n _this5.allOptions.ns.forEach(function (ns) {\n backendConnector.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) logger.warn(\"loading namespace \".concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) logger.log(\"loaded namespace \".concat(ns, \" for language \").concat(lng), data);\n backendConnector.loaded(\"\".concat(lng, \"|\").concat(ns), err, data);\n });\n });\n });\n }\n }]);\n}();\nBackend.type = 'backend';\nexport default Backend;","function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nimport { hasXMLHttpRequest } from './utils.js';\nimport * as fetchNode from './getFetch.cjs';\nvar fetchApi = typeof fetch === 'function' ? fetch : undefined;\nif (typeof global !== 'undefined' && global.fetch) {\n fetchApi = global.fetch;\n} else if (typeof window !== 'undefined' && window.fetch) {\n fetchApi = window.fetch;\n}\nvar XmlHttpRequestApi;\nif (hasXMLHttpRequest()) {\n if (typeof global !== 'undefined' && global.XMLHttpRequest) {\n XmlHttpRequestApi = global.XMLHttpRequest;\n } else if (typeof window !== 'undefined' && window.XMLHttpRequest) {\n XmlHttpRequestApi = window.XMLHttpRequest;\n }\n}\nvar ActiveXObjectApi;\nif (typeof ActiveXObject === 'function') {\n if (typeof global !== 'undefined' && global.ActiveXObject) {\n ActiveXObjectApi = global.ActiveXObject;\n } else if (typeof window !== 'undefined' && window.ActiveXObject) {\n ActiveXObjectApi = window.ActiveXObject;\n }\n}\nif (!fetchApi && fetchNode && !XmlHttpRequestApi && !ActiveXObjectApi) fetchApi = fetchNode.default || fetchNode;\nif (typeof fetchApi !== 'function') fetchApi = undefined;\nvar addQueryString = function addQueryString(url, params) {\n if (params && _typeof(params) === 'object') {\n var queryString = '';\n for (var paramName in params) {\n queryString += '&' + encodeURIComponent(paramName) + '=' + encodeURIComponent(params[paramName]);\n }\n if (!queryString) return url;\n url = url + (url.indexOf('?') !== -1 ? '&' : '?') + queryString.slice(1);\n }\n return url;\n};\nvar fetchIt = function fetchIt(url, fetchOptions, callback, altFetch) {\n var resolver = function resolver(response) {\n if (!response.ok) return callback(response.statusText || 'Error', {\n status: response.status\n });\n response.text().then(function (data) {\n callback(null, {\n status: response.status,\n data: data\n });\n }).catch(callback);\n };\n if (altFetch) {\n var altResponse = altFetch(url, fetchOptions);\n if (altResponse instanceof Promise) {\n altResponse.then(resolver).catch(callback);\n return;\n }\n }\n if (typeof fetch === 'function') {\n fetch(url, fetchOptions).then(resolver).catch(callback);\n } else {\n fetchApi(url, fetchOptions).then(resolver).catch(callback);\n }\n};\nvar omitFetchOptions = false;\nvar requestWithFetch = function requestWithFetch(options, url, payload, callback) {\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n var headers = _objectSpread({}, typeof options.customHeaders === 'function' ? options.customHeaders() : options.customHeaders);\n if (typeof window === 'undefined' && typeof global !== 'undefined' && typeof global.process !== 'undefined' && global.process.versions && global.process.versions.node) {\n headers['User-Agent'] = \"i18next-http-backend (node/\".concat(global.process.version, \"; \").concat(global.process.platform, \" \").concat(global.process.arch, \")\");\n }\n if (payload) headers['Content-Type'] = 'application/json';\n var reqOptions = typeof options.requestOptions === 'function' ? options.requestOptions(payload) : options.requestOptions;\n var fetchOptions = _objectSpread({\n method: payload ? 'POST' : 'GET',\n body: payload ? options.stringify(payload) : undefined,\n headers: headers\n }, omitFetchOptions ? {} : reqOptions);\n var altFetch = typeof options.alternateFetch === 'function' && options.alternateFetch.length >= 1 ? options.alternateFetch : undefined;\n try {\n fetchIt(url, fetchOptions, callback, altFetch);\n } catch (e) {\n if (!reqOptions || Object.keys(reqOptions).length === 0 || !e.message || e.message.indexOf('not implemented') < 0) {\n return callback(e);\n }\n try {\n Object.keys(reqOptions).forEach(function (opt) {\n delete fetchOptions[opt];\n });\n fetchIt(url, fetchOptions, callback, altFetch);\n omitFetchOptions = true;\n } catch (err) {\n callback(err);\n }\n }\n};\nvar requestWithXmlHttpRequest = function requestWithXmlHttpRequest(options, url, payload, callback) {\n if (payload && _typeof(payload) === 'object') {\n payload = addQueryString('', payload).slice(1);\n }\n if (options.queryStringParams) {\n url = addQueryString(url, options.queryStringParams);\n }\n try {\n var x;\n if (XmlHttpRequestApi) {\n x = new XmlHttpRequestApi();\n } else {\n x = new ActiveXObjectApi('MSXML2.XMLHTTP.3.0');\n }\n x.open(payload ? 'POST' : 'GET', url, 1);\n if (!options.crossDomain) {\n x.setRequestHeader('X-Requested-With', 'XMLHttpRequest');\n }\n x.withCredentials = !!options.withCredentials;\n if (payload) {\n x.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n }\n if (x.overrideMimeType) {\n x.overrideMimeType('application/json');\n }\n var h = options.customHeaders;\n h = typeof h === 'function' ? h() : h;\n if (h) {\n for (var i in h) {\n x.setRequestHeader(i, h[i]);\n }\n }\n x.onreadystatechange = function () {\n x.readyState > 3 && callback(x.status >= 400 ? x.statusText : null, {\n status: x.status,\n data: x.responseText\n });\n };\n x.send(payload);\n } catch (e) {\n console && console.log(e);\n }\n};\nvar request = function request(options, url, payload, callback) {\n if (typeof payload === 'function') {\n callback = payload;\n payload = undefined;\n }\n callback = callback || function () {};\n if (fetchApi && url.indexOf('file:') !== 0) {\n return requestWithFetch(options, url, payload, callback);\n }\n if (hasXMLHttpRequest() || typeof ActiveXObject === 'function') {\n return requestWithXmlHttpRequest(options, url, payload, callback);\n }\n callback(new Error('No fetch and no xhr implementation found!'));\n};\nexport default request;","var fetchApi = typeof fetch === 'function' ? fetch : undefined\nif (typeof global !== 'undefined' && global.fetch) {\n fetchApi = global.fetch\n} else if (typeof window !== 'undefined' && window.fetch) {\n fetchApi = window.fetch\n}\n\nif (typeof require !== 'undefined' && typeof window === 'undefined') {\n var f = fetchApi || require('cross-fetch')\n if (f.default) f = f.default\n exports.default = f\n module.exports = exports.default\n}\n","module.exports = global.fetch // To enable: import fetch from 'cross-fetch'\nmodule.exports.default = global.fetch // For TypeScript consumers without esModuleInterop.\nmodule.exports.fetch = global.fetch // To enable: import {fetch} from 'cross-fetch'\nmodule.exports.Headers = global.Headers\nmodule.exports.Request = global.Request\nmodule.exports.Response = global.Response\n","function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nvar arr = [];\nvar each = arr.forEach;\nvar slice = arr.slice;\nexport function defaults(obj) {\n each.call(slice.call(arguments, 1), function (source) {\n if (source) {\n for (var prop in source) {\n if (obj[prop] === undefined) obj[prop] = source[prop];\n }\n }\n });\n return obj;\n}\nexport function hasXMLHttpRequest() {\n return typeof XMLHttpRequest === 'function' || (typeof XMLHttpRequest === \"undefined\" ? \"undefined\" : _typeof(XMLHttpRequest)) === 'object';\n}\nfunction isPromise(maybePromise) {\n return !!maybePromise && typeof maybePromise.then === 'function';\n}\nexport function makePromise(maybePromise) {\n if (isPromise(maybePromise)) {\n return maybePromise;\n }\n return Promise.resolve(maybePromise);\n}","const isString = obj => typeof obj === 'string';\nconst defer = () => {\n let res;\n let rej;\n const promise = new Promise((resolve, reject) => {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n};\nconst makeString = object => {\n if (object == null) return '';\n return '' + object;\n};\nconst copy = (a, s, t) => {\n a.forEach(m => {\n if (s[m]) t[m] = s[m];\n });\n};\nconst lastOfPathSeparatorRegExp = /###/g;\nconst cleanKey = key => key && key.indexOf('###') > -1 ? key.replace(lastOfPathSeparatorRegExp, '.') : key;\nconst canNotTraverseDeeper = object => !object || isString(object);\nconst getLastOfPath = (object, path, Empty) => {\n const stack = !isString(path) ? path : path.split('.');\n let stackIndex = 0;\n while (stackIndex < stack.length - 1) {\n if (canNotTraverseDeeper(object)) return {};\n const key = cleanKey(stack[stackIndex]);\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n ++stackIndex;\n }\n if (canNotTraverseDeeper(object)) return {};\n return {\n obj: object,\n k: cleanKey(stack[stackIndex])\n };\n};\nconst setPath = (object, path, newValue) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n if (obj !== undefined || path.length === 1) {\n obj[k] = newValue;\n return;\n }\n let e = path[path.length - 1];\n let p = path.slice(0, path.length - 1);\n let last = getLastOfPath(object, p, Object);\n while (last.obj === undefined && p.length) {\n e = `${p[p.length - 1]}.${e}`;\n p = p.slice(0, p.length - 1);\n last = getLastOfPath(object, p, Object);\n if (last && last.obj && typeof last.obj[`${last.k}.${e}`] !== 'undefined') {\n last.obj = undefined;\n }\n }\n last.obj[`${last.k}.${e}`] = newValue;\n};\nconst pushPath = (object, path, newValue, concat) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path, Object);\n obj[k] = obj[k] || [];\n obj[k].push(newValue);\n};\nconst getPath = (object, path) => {\n const {\n obj,\n k\n } = getLastOfPath(object, path);\n if (!obj) return undefined;\n return obj[k];\n};\nconst getPathWithDefaults = (data, defaultData, key) => {\n const value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n};\nconst deepExtend = (target, source, overwrite) => {\n for (const prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (isString(target[prop]) || target[prop] instanceof String || isString(source[prop]) || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n};\nconst regexEscape = str => str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\nconst escape = data => {\n if (isString(data)) {\n return data.replace(/[&<>\"'\\/]/g, s => _entityMap[s]);\n }\n return data;\n};\nclass RegExpCache {\n constructor(capacity) {\n this.capacity = capacity;\n this.regExpMap = new Map();\n this.regExpQueue = [];\n }\n getRegExp(pattern) {\n const regExpFromCache = this.regExpMap.get(pattern);\n if (regExpFromCache !== undefined) {\n return regExpFromCache;\n }\n const regExpNew = new RegExp(pattern);\n if (this.regExpQueue.length === this.capacity) {\n this.regExpMap.delete(this.regExpQueue.shift());\n }\n this.regExpMap.set(pattern, regExpNew);\n this.regExpQueue.push(pattern);\n return regExpNew;\n }\n}\nconst chars = [' ', ',', '?', '!', ';'];\nconst looksLikeObjectPathRegExpCache = new RegExpCache(20);\nconst looksLikeObjectPath = (key, nsSeparator, keySeparator) => {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n const possibleChars = chars.filter(c => nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0);\n if (possibleChars.length === 0) return true;\n const r = looksLikeObjectPathRegExpCache.getRegExp(`(${possibleChars.map(c => c === '?' ? '\\\\?' : c).join('|')})`);\n let matched = !r.test(key);\n if (!matched) {\n const ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n};\nconst deepFind = function (obj, path) {\n let keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n const tokens = path.split(keySeparator);\n let current = obj;\n for (let i = 0; i < tokens.length;) {\n if (!current || typeof current !== 'object') {\n return undefined;\n }\n let next;\n let nextPath = '';\n for (let j = i; j < tokens.length; ++j) {\n if (j !== i) {\n nextPath += keySeparator;\n }\n nextPath += tokens[j];\n next = current[nextPath];\n if (next !== undefined) {\n if (['string', 'number', 'boolean'].indexOf(typeof next) > -1 && j < tokens.length - 1) {\n continue;\n }\n i += j - i + 1;\n break;\n }\n }\n current = next;\n }\n return current;\n};\nconst getCleanedCode = code => code && code.replace('_', '-');\n\nconst consoleLogger = {\n type: 'logger',\n log(args) {\n this.output('log', args);\n },\n warn(args) {\n this.output('warn', args);\n },\n error(args) {\n this.output('error', args);\n },\n output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nclass Logger {\n constructor(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.init(concreteLogger, options);\n }\n init(concreteLogger) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (isString(args[0])) args[0] = `${prefix}${this.prefix} ${args[0]}`;\n return this.logger[lvl](args);\n }\n create(moduleName) {\n return new Logger(this.logger, {\n ...{\n prefix: `${this.prefix}:${moduleName}:`\n },\n ...this.options\n });\n }\n clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n}\nvar baseLogger = new Logger();\n\nclass EventEmitter {\n constructor() {\n this.observers = {};\n }\n on(events, listener) {\n events.split(' ').forEach(event => {\n if (!this.observers[event]) this.observers[event] = new Map();\n const numListeners = this.observers[event].get(listener) || 0;\n this.observers[event].set(listener, numListeners + 1);\n });\n return this;\n }\n off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event].delete(listener);\n }\n emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n const cloned = Array.from(this.observers[event].entries());\n cloned.forEach(_ref => {\n let [observer, numTimesAdded] = _ref;\n for (let i = 0; i < numTimesAdded; i++) {\n observer(...args);\n }\n });\n }\n if (this.observers['*']) {\n const cloned = Array.from(this.observers['*'].entries());\n cloned.forEach(_ref2 => {\n let [observer, numTimesAdded] = _ref2;\n for (let i = 0; i < numTimesAdded; i++) {\n observer.apply(observer, [event, ...args]);\n }\n });\n }\n }\n}\n\nclass ResourceStore extends EventEmitter {\n constructor(data) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n super();\n this.data = data || {};\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n if (this.options.ignoreJSONStructure === undefined) {\n this.options.ignoreJSONStructure = true;\n }\n }\n addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n removeNamespaces(ns) {\n const index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n getResource(lng, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n let path;\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n } else {\n path = [lng, ns];\n if (key) {\n if (Array.isArray(key)) {\n path.push(...key);\n } else if (isString(key) && keySeparator) {\n path.push(...key.split(keySeparator));\n } else {\n path.push(key);\n }\n }\n }\n const result = getPath(this.data, path);\n if (!result && !ns && !key && lng.indexOf('.') > -1) {\n lng = path[0];\n ns = path[1];\n key = path.slice(2).join('.');\n }\n if (result || !ignoreJSONStructure || !isString(key)) return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n addResource(lng, ns, key, value) {\n let options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n addResources(lng, ns, resources) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (const m in resources) {\n if (isString(resources[m]) || Array.isArray(resources[m])) this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n addResourceBundle(lng, ns, resources, deep, overwrite) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false,\n skipCopy: false\n };\n let path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n let pack = getPath(this.data, path) || {};\n if (!options.skipCopy) resources = JSON.parse(JSON.stringify(resources));\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = {\n ...pack,\n ...resources\n };\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return {\n ...{},\n ...this.getResource(lng, ns)\n };\n return this.getResource(lng, ns);\n }\n getDataByLanguage(lng) {\n return this.data[lng];\n }\n hasLanguageSomeTranslations(lng) {\n const data = this.getDataByLanguage(lng);\n const n = data && Object.keys(data) || [];\n return !!n.find(v => data[v] && Object.keys(data[v]).length > 0);\n }\n toJSON() {\n return this.data;\n }\n}\n\nvar postProcessor = {\n processors: {},\n addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle(processors, value, key, options, translator) {\n processors.forEach(processor => {\n if (this.processors[processor]) value = this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nconst checkedLoadedFor = {};\nclass Translator extends EventEmitter {\n constructor(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n super();\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, this);\n this.options = options;\n if (this.options.keySeparator === undefined) {\n this.options.keySeparator = '.';\n }\n this.logger = baseLogger.create('translator');\n }\n changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n exists(key) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n const resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n extractFromKey(key, options) {\n let nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n let namespaces = options.ns || this.options.defaultNS || [];\n const wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n const seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n const m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n const parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n return {\n key,\n namespaces: isString(namespaces) ? [namespaces] : namespaces\n };\n }\n translate(keys, options, lastKey) {\n if (typeof options !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (typeof options === 'object') options = {\n ...options\n };\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n const returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n const keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n const {\n key,\n namespaces\n } = this.extractFromKey(keys[keys.length - 1], options);\n const namespace = namespaces[namespaces.length - 1];\n const lng = options.lng || this.language;\n const appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n const nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: `${namespace}${nsSeparator}${key}`,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return `${namespace}${nsSeparator}${key}`;\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace,\n usedParams: this.getUsedParamsDetails(options)\n };\n }\n return key;\n }\n const resolved = this.resolve(keys, options);\n let res = resolved && resolved.res;\n const resUsedKey = resolved && resolved.usedKey || key;\n const resExactUsedKey = resolved && resolved.exactUsedKey || key;\n const resType = Object.prototype.toString.apply(res);\n const noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n const joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n const handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n const handleAsObject = !isString(res) && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(isString(joinArrays) && Array.isArray(res))) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n const r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, {\n ...options,\n ns: namespaces\n }) : `key '${key} (${this.language})' returned an object instead of string.`;\n if (returnDetails) {\n resolved.res = r;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n const resTypeIsArray = Array.isArray(res);\n const copy = resTypeIsArray ? [] : {};\n const newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (const m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n const deepKey = `${newKeyToUse}${keySeparator}${m}`;\n copy[m] = this.translate(deepKey, {\n ...options,\n ...{\n joinArrays: false,\n ns: namespaces\n }\n });\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && isString(joinArrays) && Array.isArray(res)) {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n let usedDefault = false;\n let usedKey = false;\n const needsPluralHandling = options.count !== undefined && !isString(options.count);\n const hasDefaultValue = Translator.hasDefaultValue(options);\n const defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n const defaultValueSuffixOrdinalFallback = options.ordinal && needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, {\n ordinal: false\n }) : '';\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && this.pluralResolver.shouldUseIntlApi();\n const defaultValue = needsZeroSuffixLookup && options[`defaultValue${this.options.pluralSeparator}zero`] || options[`defaultValue${defaultValueSuffix}`] || options[`defaultValue${defaultValueSuffixOrdinalFallback}`] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n const missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n const resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n const updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n const fk = this.resolve(key, {\n ...options,\n keySeparator: false\n });\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n let lngs = [];\n const fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (let i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n const send = (l, k, specificDefaultValue) => {\n const defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (this.options.missingKeyHandler) {\n this.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (this.backendConnector && this.backendConnector.saveMissing) {\n this.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n this.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(language => {\n const suffixes = this.pluralResolver.getSuffixes(language, options);\n if (needsZeroSuffixLookup && options[`defaultValue${this.options.pluralSeparator}zero`] && suffixes.indexOf(`${this.options.pluralSeparator}zero`) < 0) {\n suffixes.push(`${this.options.pluralSeparator}zero`);\n }\n suffixes.forEach(suffix => {\n send([language], key + suffix, options[`defaultValue${suffix}`] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = `${namespace}:${key}`;\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${namespace}:${key}` : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n resolved.usedParams = this.getUsedParamsDetails(options);\n return resolved;\n }\n return res;\n }\n extendTranslation(res, key, options, resolved, lastKey) {\n var _this = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, {\n ...this.options.interpolation.defaultVariables,\n ...options\n }, options.lng || this.language || resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init({\n ...options,\n ...{\n interpolation: {\n ...this.options.interpolation,\n ...options.interpolation\n }\n }\n });\n const skipOnVariables = isString(res) && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n let nestBef;\n if (skipOnVariables) {\n const nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n let data = options.replace && !isString(options.replace) ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n res = this.interpolator.interpolate(res, data, options.lng || this.language || resolved.usedLng, options);\n if (skipOnVariables) {\n const na = res.match(this.interpolator.nestingRegexp);\n const nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = this.language || resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this.logger.warn(`It seems you are nesting recursively key: ${args[0]} in key: ${key[0]}`);\n return null;\n }\n return _this.translate(...args, key);\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n const postProcess = options.postProcess || this.options.postProcess;\n const postProcessorNames = isString(postProcess) ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? {\n i18nResolved: {\n ...resolved,\n usedParams: this.getUsedParamsDetails(options)\n },\n ...options\n } : options, this);\n }\n return res;\n }\n resolve(keys) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let found;\n let usedKey;\n let exactUsedKey;\n let usedLng;\n let usedNS;\n if (isString(keys)) keys = [keys];\n keys.forEach(k => {\n if (this.isValidLookup(found)) return;\n const extracted = this.extractFromKey(k, options);\n const key = extracted.key;\n usedKey = key;\n let namespaces = extracted.namespaces;\n if (this.options.fallbackNS) namespaces = namespaces.concat(this.options.fallbackNS);\n const needsPluralHandling = options.count !== undefined && !isString(options.count);\n const needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && this.pluralResolver.shouldUseIntlApi();\n const needsContextHandling = options.context !== undefined && (isString(options.context) || typeof options.context === 'number') && options.context !== '';\n const codes = options.lngs ? options.lngs : this.languageUtils.toResolveHierarchy(options.lng || this.language, options.fallbackLng);\n namespaces.forEach(ns => {\n if (this.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[`${codes[0]}-${ns}`] && this.utils && this.utils.hasLoadedNamespace && !this.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[`${codes[0]}-${ns}`] = true;\n this.logger.warn(`key \"${usedKey}\" for languages \"${codes.join(', ')}\" won't get resolved as namespace \"${usedNS}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(code => {\n if (this.isValidLookup(found)) return;\n usedLng = code;\n const finalKeys = [key];\n if (this.i18nFormat && this.i18nFormat.addLookupKeys) {\n this.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n let pluralSuffix;\n if (needsPluralHandling) pluralSuffix = this.pluralResolver.getSuffix(code, options.count, options);\n const zeroSuffix = `${this.options.pluralSeparator}zero`;\n const ordinalPrefix = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(key + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n const contextKey = `${key}${this.options.contextSeparator}${options.context}`;\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (options.ordinal && pluralSuffix.indexOf(ordinalPrefix) === 0) {\n finalKeys.push(contextKey + pluralSuffix.replace(ordinalPrefix, this.options.pluralSeparator));\n }\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n let possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!this.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = this.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey,\n exactUsedKey,\n usedLng,\n usedNS\n };\n }\n isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n getResource(code, ns, key) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n getUsedParamsDetails() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n const optionsKeys = ['defaultValue', 'ordinal', 'context', 'replace', 'lng', 'lngs', 'fallbackLng', 'ns', 'keySeparator', 'nsSeparator', 'returnObjects', 'returnDetails', 'joinArrays', 'postProcess', 'interpolation'];\n const useOptionsReplaceForData = options.replace && !isString(options.replace);\n let data = useOptionsReplaceForData ? options.replace : options;\n if (useOptionsReplaceForData && typeof options.count !== 'undefined') {\n data.count = options.count;\n }\n if (this.options.interpolation.defaultVariables) {\n data = {\n ...this.options.interpolation.defaultVariables,\n ...data\n };\n }\n if (!useOptionsReplaceForData) {\n data = {\n ...data\n };\n for (const key of optionsKeys) {\n delete data[key];\n }\n }\n return data;\n }\n static hasDefaultValue(options) {\n const prefix = 'defaultValue';\n for (const option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n}\n\nconst capitalize = string => string.charAt(0).toUpperCase() + string.slice(1);\nclass LanguageUtil {\n constructor(options) {\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n getScriptPartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return null;\n const p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n getLanguagePartFromCode(code) {\n code = getCleanedCode(code);\n if (!code || code.indexOf('-') < 0) return code;\n const p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n formatLanguageCode(code) {\n if (isString(code) && code.indexOf('-') > -1) {\n if (typeof Intl !== 'undefined' && typeof Intl.getCanonicalLocales !== 'undefined') {\n try {\n let formattedCode = Intl.getCanonicalLocales(code)[0];\n if (formattedCode && this.options.lowerCaseLng) {\n formattedCode = formattedCode.toLowerCase();\n }\n if (formattedCode) return formattedCode;\n } catch (e) {}\n }\n const specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n let p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(part => part.toLowerCase());\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n getBestMatchFromCodes(codes) {\n if (!codes) return null;\n let found;\n codes.forEach(code => {\n if (found) return;\n const cleanedLng = this.formatLanguageCode(code);\n if (!this.options.supportedLngs || this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(code => {\n if (found) return;\n const lngOnly = this.getLanguagePartFromCode(code);\n if (this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = this.options.supportedLngs.find(supportedLng => {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf('-') > 0 && lngOnly.indexOf('-') < 0 && supportedLng.substring(0, supportedLng.indexOf('-')) === lngOnly) return supportedLng;\n if (supportedLng.indexOf(lngOnly) === 0 && lngOnly.length > 1) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (isString(fallbacks)) fallbacks = [fallbacks];\n if (Array.isArray(fallbacks)) return fallbacks;\n if (!code) return fallbacks.default || [];\n let found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks.default;\n return found || [];\n }\n toResolveHierarchy(code, fallbackCode) {\n const fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n const codes = [];\n const addCode = c => {\n if (!c) return;\n if (this.isSupportedCode(c)) {\n codes.push(c);\n } else {\n this.logger.warn(`rejecting language code not found in supportedLngs: ${c}`);\n }\n };\n if (isString(code) && (code.indexOf('-') > -1 || code.indexOf('_') > -1)) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (isString(code)) {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(fc => {\n if (codes.indexOf(fc) < 0) addCode(this.formatLanguageCode(fc));\n });\n return codes;\n }\n}\n\nlet sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nlet _rulesPluralsTypes = {\n 1: n => Number(n > 1),\n 2: n => Number(n != 1),\n 3: n => 0,\n 4: n => Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2),\n 5: n => Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5),\n 6: n => Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2),\n 7: n => Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2),\n 8: n => Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3),\n 9: n => Number(n >= 2),\n 10: n => Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4),\n 11: n => Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3),\n 12: n => Number(n % 10 != 1 || n % 100 == 11),\n 13: n => Number(n !== 0),\n 14: n => Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3),\n 15: n => Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2),\n 16: n => Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2),\n 17: n => Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1),\n 18: n => Number(n == 0 ? 0 : n == 1 ? 1 : 2),\n 19: n => Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3),\n 20: n => Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2),\n 21: n => Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0),\n 22: n => Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3)\n};\nconst nonIntlVersions = ['v1', 'v2', 'v3'];\nconst intlVersions = ['v4'];\nconst suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nconst createRules = () => {\n const rules = {};\n sets.forEach(set => {\n set.lngs.forEach(l => {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n};\nclass PluralResolver {\n constructor(languageUtils) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || intlVersions.includes(this.options.compatibilityJSON)) && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n this.pluralRulesCache = {};\n }\n addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n clearCache() {\n this.pluralRulesCache = {};\n }\n getRule(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n const cleanedCode = getCleanedCode(code === 'dev' ? 'en' : code);\n const type = options.ordinal ? 'ordinal' : 'cardinal';\n const cacheKey = JSON.stringify({\n cleanedCode,\n type\n });\n if (cacheKey in this.pluralRulesCache) {\n return this.pluralRulesCache[cacheKey];\n }\n let rule;\n try {\n rule = new Intl.PluralRules(cleanedCode, {\n type\n });\n } catch (err) {\n if (!code.match(/-|_/)) return;\n const lngPart = this.languageUtils.getLanguagePartFromCode(code);\n rule = this.getRule(lngPart, options);\n }\n this.pluralRulesCache[cacheKey] = rule;\n return rule;\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n needsPlural(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n getPluralFormsOfKey(code, key) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(suffix => `${key}${suffix}`);\n }\n getSuffixes(code) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort((pluralCategory1, pluralCategory2) => suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2]).map(pluralCategory => `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${pluralCategory}`);\n }\n return rule.numbers.map(number => this.getSuffix(code, number, options));\n }\n getSuffix(code, count) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return `${this.options.prepend}${options.ordinal ? `ordinal${this.options.prepend}` : ''}${rule.select(count)}`;\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(`no plural rule found for: ${code}`);\n return '';\n }\n getSuffixRetroCompatible(rule, count) {\n const idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n let suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n const returnSuffix = () => this.options.prepend && suffix.toString() ? this.options.prepend + suffix.toString() : suffix.toString();\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return `_plural_${suffix.toString()}`;\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n shouldUseIntlApi() {\n return !nonIntlVersions.includes(this.options.compatibilityJSON);\n }\n}\n\nconst deepFindWithDefaults = function (data, defaultData, key) {\n let keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n let ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n let path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && isString(key)) {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n};\nconst regexSafe = val => val.replace(/\\$/g, '$$$$');\nclass Interpolator {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || (value => value);\n this.init(options);\n }\n init() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n const {\n escape: escape$1,\n escapeValue,\n useRawValueToEscape,\n prefix,\n prefixEscaped,\n suffix,\n suffixEscaped,\n formatSeparator,\n unescapeSuffix,\n unescapePrefix,\n nestingPrefix,\n nestingPrefixEscaped,\n nestingSuffix,\n nestingSuffixEscaped,\n nestingOptionsSeparator,\n maxReplaces,\n alwaysFormat\n } = options.interpolation;\n this.escape = escape$1 !== undefined ? escape$1 : escape;\n this.escapeValue = escapeValue !== undefined ? escapeValue : true;\n this.useRawValueToEscape = useRawValueToEscape !== undefined ? useRawValueToEscape : false;\n this.prefix = prefix ? regexEscape(prefix) : prefixEscaped || '{{';\n this.suffix = suffix ? regexEscape(suffix) : suffixEscaped || '}}';\n this.formatSeparator = formatSeparator || ',';\n this.unescapePrefix = unescapeSuffix ? '' : unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : unescapeSuffix || '';\n this.nestingPrefix = nestingPrefix ? regexEscape(nestingPrefix) : nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = nestingSuffix ? regexEscape(nestingSuffix) : nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = nestingOptionsSeparator || ',';\n this.maxReplaces = maxReplaces || 1000;\n this.alwaysFormat = alwaysFormat !== undefined ? alwaysFormat : false;\n this.resetRegExp();\n }\n reset() {\n if (this.options) this.init(this.options);\n }\n resetRegExp() {\n const getOrResetRegExp = (existingRegExp, pattern) => {\n if (existingRegExp && existingRegExp.source === pattern) {\n existingRegExp.lastIndex = 0;\n return existingRegExp;\n }\n return new RegExp(pattern, 'g');\n };\n this.regexp = getOrResetRegExp(this.regexp, `${this.prefix}(.+?)${this.suffix}`);\n this.regexpUnescape = getOrResetRegExp(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`);\n this.nestingRegexp = getOrResetRegExp(this.nestingRegexp, `${this.nestingPrefix}(.+?)${this.nestingSuffix}`);\n }\n interpolate(str, data, lng, options) {\n let match;\n let value;\n let replaces;\n const defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n const handleFormat = key => {\n if (key.indexOf(this.formatSeparator) < 0) {\n const path = deepFindWithDefaults(data, defaultData, key, this.options.keySeparator, this.options.ignoreJSONStructure);\n return this.alwaysFormat ? this.format(path, undefined, lng, {\n ...options,\n ...data,\n interpolationkey: key\n }) : path;\n }\n const p = key.split(this.formatSeparator);\n const k = p.shift().trim();\n const f = p.join(this.formatSeparator).trim();\n return this.format(deepFindWithDefaults(data, defaultData, k, this.options.keySeparator, this.options.ignoreJSONStructure), f, lng, {\n ...options,\n ...data,\n interpolationkey: k\n });\n };\n this.resetRegExp();\n const missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n const skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n const todos = [{\n regex: this.regexpUnescape,\n safeValue: val => regexSafe(val)\n }, {\n regex: this.regexp,\n safeValue: val => this.escapeValue ? regexSafe(this.escape(val)) : regexSafe(val)\n }];\n todos.forEach(todo => {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n const matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n const temp = missingInterpolationHandler(str, match, options);\n value = isString(temp) ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n this.logger.warn(`missed to pass in variable ${matchedVar} for interpolating ${str}`);\n value = '';\n }\n } else if (!isString(value) && !this.useRawValueToEscape) {\n value = makeString(value);\n }\n const safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n nest(str, fc) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let match;\n let value;\n let clonedOptions;\n const handleHasOptions = (key, inheritedOptions) => {\n const sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n const c = key.split(new RegExp(`${sep}[ ]*{`));\n let optionsString = `{${c[1]}`;\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n const matchedSingleQuotes = optionsString.match(/'/g);\n const matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = {\n ...inheritedOptions,\n ...clonedOptions\n };\n } catch (e) {\n this.logger.warn(`failed parsing options string in nesting for key ${key}`, e);\n return `${key}${sep}${optionsString}`;\n }\n if (clonedOptions.defaultValue && clonedOptions.defaultValue.indexOf(this.prefix) > -1) delete clonedOptions.defaultValue;\n return key;\n };\n while (match = this.nestingRegexp.exec(str)) {\n let formatters = [];\n clonedOptions = {\n ...options\n };\n clonedOptions = clonedOptions.replace && !isString(clonedOptions.replace) ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n let doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n const r = match[1].split(this.formatSeparator).map(elem => elem.trim());\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && !isString(value)) return value;\n if (!isString(value)) value = makeString(value);\n if (!value) {\n this.logger.warn(`missed to resolve ${match[1]} for nesting ${str}`);\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce((v, f) => this.format(v, f, options.lng, {\n ...options,\n interpolationkey: match[1].trim()\n }), value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n}\n\nconst parseFormatStr = formatStr => {\n let formatName = formatStr.toLowerCase().trim();\n const formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n const p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n const optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n const opts = optStr.split(';');\n opts.forEach(opt => {\n if (opt) {\n const [key, ...rest] = opt.split(':');\n const val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n const trimmedKey = key.trim();\n if (!formatOptions[trimmedKey]) formatOptions[trimmedKey] = val;\n if (val === 'false') formatOptions[trimmedKey] = false;\n if (val === 'true') formatOptions[trimmedKey] = true;\n if (!isNaN(val)) formatOptions[trimmedKey] = parseInt(val, 10);\n }\n });\n }\n }\n return {\n formatName,\n formatOptions\n };\n};\nconst createCachedFormatter = fn => {\n const cache = {};\n return (val, lng, options) => {\n let optForCache = options;\n if (options && options.interpolationkey && options.formatParams && options.formatParams[options.interpolationkey] && options[options.interpolationkey]) {\n optForCache = {\n ...optForCache,\n [options.interpolationkey]: undefined\n };\n }\n const key = lng + JSON.stringify(optForCache);\n let formatter = cache[key];\n if (!formatter) {\n formatter = fn(getCleanedCode(lng), options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n};\nclass Formatter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n currency: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.NumberFormat(lng, {\n ...opt,\n style: 'currency'\n });\n return val => formatter.format(val);\n }),\n datetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.DateTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n }),\n relativetime: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.RelativeTimeFormat(lng, {\n ...opt\n });\n return val => formatter.format(val, opt.range || 'day');\n }),\n list: createCachedFormatter((lng, opt) => {\n const formatter = new Intl.ListFormat(lng, {\n ...opt\n });\n return val => formatter.format(val);\n })\n };\n this.init(options);\n }\n init(services) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n this.formatSeparator = options.interpolation.formatSeparator || ',';\n }\n add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n format(value, format, lng) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n const formats = format.split(this.formatSeparator);\n if (formats.length > 1 && formats[0].indexOf('(') > 1 && formats[0].indexOf(')') < 0 && formats.find(f => f.indexOf(')') > -1)) {\n const lastIndex = formats.findIndex(f => f.indexOf(')') > -1);\n formats[0] = [formats[0], ...formats.splice(1, lastIndex)].join(this.formatSeparator);\n }\n const result = formats.reduce((mem, f) => {\n const {\n formatName,\n formatOptions\n } = parseFormatStr(f);\n if (this.formats[formatName]) {\n let formatted = mem;\n try {\n const valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n const l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = this.formats[formatName](mem, l, {\n ...formatOptions,\n ...options,\n ...valOptions\n });\n } catch (error) {\n this.logger.warn(error);\n }\n return formatted;\n } else {\n this.logger.warn(`there was no format function for ${formatName}`);\n }\n return mem;\n }, value);\n return result;\n }\n}\n\nconst removePending = (q, name) => {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n};\nclass Connector extends EventEmitter {\n constructor(backend, store, services) {\n let options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n super();\n this.backend = backend;\n this.store = store;\n this.services = services;\n this.languageUtils = services.languageUtils;\n this.options = options;\n this.logger = baseLogger.create('backendConnector');\n this.waitingReads = [];\n this.maxParallelReads = options.maxParallelReads || 10;\n this.readingCalls = 0;\n this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n this.state = {};\n this.queue = [];\n if (this.backend && this.backend.init) {\n this.backend.init(services, options.backend, options);\n }\n }\n queueLoad(languages, namespaces, options, callback) {\n const toLoad = {};\n const pending = {};\n const toLoadLanguages = {};\n const toLoadNamespaces = {};\n languages.forEach(lng => {\n let hasAllNamespaces = true;\n namespaces.forEach(ns => {\n const name = `${lng}|${ns}`;\n if (!options.reload && this.store.hasResourceBundle(lng, ns)) {\n this.state[name] = 2;\n } else if (this.state[name] < 0) ; else if (this.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n this.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n loaded(name, err, data) {\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (!err && data) {\n this.store.addResourceBundle(lng, ns, data, undefined, undefined, {\n skipCopy: true\n });\n }\n this.state[name] = err ? -1 : 2;\n if (err && data) this.state[name] = 0;\n const loaded = {};\n this.queue.forEach(q => {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(l => {\n if (!loaded[l]) loaded[l] = {};\n const loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(n => {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(q => !q.done);\n }\n read(lng, ns, fcName) {\n let tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n let wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n let callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng,\n ns,\n fcName,\n tried,\n wait,\n callback\n });\n return;\n }\n this.readingCalls++;\n const resolver = (err, data) => {\n this.readingCalls--;\n if (this.waitingReads.length > 0) {\n const next = this.waitingReads.shift();\n this.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < this.maxRetries) {\n setTimeout(() => {\n this.read.call(this, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n const fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n const r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(data => resolver(null, data)).catch(resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n prepareLoading(languages, namespaces) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n let callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (isString(languages)) languages = this.languageUtils.toResolveHierarchy(languages);\n if (isString(namespaces)) namespaces = [namespaces];\n const toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(name => {\n this.loadOne(name);\n });\n }\n load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n loadOne(name) {\n let prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n const s = name.split('|');\n const lng = s[0];\n const ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, (err, data) => {\n if (err) this.logger.warn(`${prefix}loading namespace ${ns} for language ${lng} failed`, err);\n if (!err && data) this.logger.log(`${prefix}loaded namespace ${ns} for language ${lng}`, data);\n this.loaded(name, err, data);\n });\n }\n saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n let options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n let clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : () => {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(`did not save key \"${key}\" as the namespace \"${namespace}\" was not yet loaded`, 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n const opts = {\n ...options,\n isUpdate\n };\n const fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n let r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(data => clb(null, data)).catch(clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n}\n\nconst get = () => ({\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: false,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: args => {\n let ret = {};\n if (typeof args[1] === 'object') ret = args[1];\n if (isString(args[1])) ret.defaultValue = args[1];\n if (isString(args[2])) ret.tDescription = args[2];\n if (typeof args[2] === 'object' || typeof args[3] === 'object') {\n const options = args[3] || args[2];\n Object.keys(options).forEach(key => {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: value => value,\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n});\nconst transformOptions = options => {\n if (isString(options.ns)) options.ns = [options.ns];\n if (isString(options.fallbackLng)) options.fallbackLng = [options.fallbackLng];\n if (isString(options.fallbackNS)) options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n};\n\nconst noop = () => {};\nconst bindMemberFunctions = inst => {\n const mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(mem => {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n};\nclass I18n extends EventEmitter {\n constructor() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n super();\n this.options = transformOptions(options);\n this.services = {};\n this.logger = baseLogger;\n this.modules = {\n external: []\n };\n bindMemberFunctions(this);\n if (callback && !this.isInitialized && !options.isClone) {\n if (!this.options.initImmediate) {\n this.init(options, callback);\n return this;\n }\n setTimeout(() => {\n this.init(options, callback);\n }, 0);\n }\n }\n init() {\n var _this = this;\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n this.isInitializing = true;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (isString(options.ns)) {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n const defOpts = get();\n this.options = {\n ...defOpts,\n ...this.options,\n ...transformOptions(options)\n };\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = {\n ...defOpts.interpolation,\n ...this.options.interpolation\n };\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n const createClassOnDemand = ClassOrObject => {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n };\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n let formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n const lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n const s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this.emit(event, ...args);\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this.emit(event, ...args);\n });\n this.modules.external.forEach(m => {\n if (m.init) m.init(this);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n const codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n const storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(fcName => {\n this[fcName] = function () {\n return _this.store[fcName](...arguments);\n };\n });\n const storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(fcName => {\n this[fcName] = function () {\n _this.store[fcName](...arguments);\n return _this;\n };\n });\n const deferred = defer();\n const load = () => {\n const finish = (err, t) => {\n this.isInitializing = false;\n if (this.isInitialized && !this.initializedStoreOnce) this.logger.warn('init: i18next is already initialized. You should call init just once!');\n this.isInitialized = true;\n if (!this.options.isClone) this.logger.log('initialized', this.options);\n this.emit('initialized', this.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (this.languages && this.options.compatibilityAPI !== 'v1' && !this.isInitialized) return finish(null, this.t.bind(this));\n this.changeLanguage(this.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n loadResources(language) {\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n let usedCallback = callback;\n const usedLng = isString(language) ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode' && (!this.options.preload || this.options.preload.length === 0)) return usedCallback();\n const toLoad = [];\n const append = lng => {\n if (!lng) return;\n if (lng === 'cimode') return;\n const lngs = this.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(l => {\n if (l === 'cimode') return;\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n const fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(l => append(l));\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(l => append(l));\n }\n this.services.backendConnector.load(toLoad, this.options.ns, e => {\n if (!e && !this.resolvedLanguage && this.language) this.setResolvedLanguage(this.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n reloadResources(lngs, ns, callback) {\n const deferred = defer();\n if (typeof lngs === 'function') {\n callback = lngs;\n lngs = undefined;\n }\n if (typeof ns === 'function') {\n callback = ns;\n ns = undefined;\n }\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, err => {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (let li = 0; li < this.languages.length; li++) {\n const lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n changeLanguage(lng, callback) {\n var _this2 = this;\n this.isLanguageChangingTo = lng;\n const deferred = defer();\n this.emit('languageChanging', lng);\n const setLngProps = l => {\n this.language = l;\n this.languages = this.services.languageUtils.toResolveHierarchy(l);\n this.resolvedLanguage = undefined;\n this.setResolvedLanguage(l);\n };\n const done = (err, l) => {\n if (l) {\n setLngProps(l);\n this.translator.changeLanguage(l);\n this.isLanguageChangingTo = undefined;\n this.emit('languageChanged', l);\n this.logger.log('languageChanged', l);\n } else {\n this.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this2.t(...arguments);\n });\n if (callback) callback(err, function () {\n return _this2.t(...arguments);\n });\n };\n const setLng = lngs => {\n if (!lng && !lngs && this.services.languageDetector) lngs = [];\n const l = isString(lngs) ? lngs : this.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!this.language) {\n setLngProps(l);\n }\n if (!this.translator.language) this.translator.changeLanguage(l);\n if (this.services.languageDetector && this.services.languageDetector.cacheUserLanguage) this.services.languageDetector.cacheUserLanguage(l);\n }\n this.loadResources(l, err => {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n getFixedT(lng, ns, keyPrefix) {\n var _this3 = this;\n const fixedT = function (key, opts) {\n let options;\n if (typeof opts !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this3.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = {\n ...opts\n };\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n if (options.keyPrefix !== '') options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n const keySeparator = _this3.options.keySeparator || '.';\n let resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(k => `${options.keyPrefix}${keySeparator}${k}`);\n } else {\n resultKey = options.keyPrefix ? `${options.keyPrefix}${keySeparator}${key}` : key;\n }\n return _this3.t(resultKey, options);\n };\n if (isString(lng)) {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n t() {\n return this.translator && this.translator.translate(...arguments);\n }\n exists() {\n return this.translator && this.translator.exists(...arguments);\n }\n setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n hasLoadedNamespace(ns) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n const lng = options.lng || this.resolvedLanguage || this.languages[0];\n const fallbackLng = this.options ? this.options.fallbackLng : false;\n const lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = this.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 0 || loadState === 2;\n };\n if (options.precheck) {\n const preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n loadNamespaces(ns, callback) {\n const deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (isString(ns)) ns = [ns];\n ns.forEach(n => {\n if (this.options.ns.indexOf(n) < 0) this.options.ns.push(n);\n });\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n loadLanguages(lngs, callback) {\n const deferred = defer();\n if (isString(lngs)) lngs = [lngs];\n const preloaded = this.options.preload || [];\n const newLngs = lngs.filter(lng => preloaded.indexOf(lng) < 0 && this.services.languageUtils.isSupportedCode(lng));\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(err => {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n const rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n const languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n static createInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n cloneInstance() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n let callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n const forkResourceStore = options.forkResourceStore;\n if (forkResourceStore) delete options.forkResourceStore;\n const mergedOptions = {\n ...this.options,\n ...options,\n ...{\n isClone: true\n }\n };\n const clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n const membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(m => {\n clone[m] = this[m];\n });\n clone.services = {\n ...this.services\n };\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n if (forkResourceStore) {\n clone.store = new ResourceStore(this.store.data, mergedOptions);\n clone.services.resourceStore = clone.store;\n }\n clone.translator = new Translator(clone.services, mergedOptions);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit(event, ...args);\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = mergedOptions;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n}\nconst instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nconst createInstance = instance.createInstance;\nconst dir = instance.dir;\nconst init = instance.init;\nconst loadResources = instance.loadResources;\nconst reloadResources = instance.reloadResources;\nconst use = instance.use;\nconst changeLanguage = instance.changeLanguage;\nconst getFixedT = instance.getFixedT;\nconst t = instance.t;\nconst exists = instance.exists;\nconst setDefaultNamespace = instance.setDefaultNamespace;\nconst hasLoadedNamespace = instance.hasLoadedNamespace;\nconst loadNamespaces = instance.loadNamespaces;\nconst loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","function _readOnlyError(r) {\n throw new TypeError('\"' + r + '\" is read-only');\n}\nmodule.exports = _readOnlyError, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nmodule.exports = _defineProperty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar toPrimitive = require(\"./toPrimitive.js\");\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nmodule.exports = toPropertyKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nmodule.exports = toPrimitive, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return module.exports = _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _typeof(o);\n}\nmodule.exports = _typeof, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _toArray(r) {\n return arrayWithHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableRest();\n}\nmodule.exports = _toArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nmodule.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nmodule.exports = _iterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nmodule.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nmodule.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableRest, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\nvar iterableToArray = require(\"./iterableToArray.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nmodule.exports = _toConsumableArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nmodule.exports = _arrayWithoutHoles, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nmodule.exports = _nonIterableSpread, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var _typeof = require(\"./typeof.js\")[\"default\"];\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\nfunction _possibleConstructorReturn(t, e) {\n if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e;\n if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\");\n return assertThisInitialized(t);\n}\nmodule.exports = _possibleConstructorReturn, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _assertThisInitialized(e) {\n if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return e;\n}\nmodule.exports = _assertThisInitialized, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _getPrototypeOf(t) {\n return module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) {\n return t.__proto__ || Object.getPrototypeOf(t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _getPrototypeOf(t);\n}\nmodule.exports = _getPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _inherits(t, e) {\n if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\");\n t.prototype = Object.create(e && e.prototype, {\n constructor: {\n value: t,\n writable: !0,\n configurable: !0\n }\n }), Object.defineProperty(t, \"prototype\", {\n writable: !1\n }), e && setPrototypeOf(t, e);\n}\nmodule.exports = _inherits, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(t, e) {\n return module.exports = _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) {\n return t.__proto__ = e, t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _setPrototypeOf(t, e);\n}\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\nvar nonIterableRest = require(\"./nonIterableRest.js\");\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nmodule.exports = _slicedToArray, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nmodule.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _classCallCheck(a, n) {\n if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\");\n}\nmodule.exports = _classCallCheck, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var toPropertyKey = require(\"./toPropertyKey.js\");\nfunction _defineProperties(e, r) {\n for (var t = 0; t < r.length; t++) {\n var o = r[t];\n o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, toPropertyKey(o.key), o);\n }\n}\nfunction _createClass(e, r, t) {\n return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", {\n writable: !1\n }), e;\n}\nmodule.exports = _createClass, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import { NativeEventEmitter, EmitterSubscription, NativeModules } from 'react-native';\r\nimport { ISettings } from '../../settingsView/models/AppContext';\r\nimport { IDataHandler, IDataHandlerSendOptions, IListenerArgs } from './IDataHandler';\r\nimport { commonActions } from '../redux/commonSlice';\r\nimport { AppDispatch } from '../../store';\r\n\r\n// Create a NativeEventEmitter based on the NativeDataBridge NativeModule.\r\nconst DataHandlerEventEmitter: NativeEventEmitter = new NativeEventEmitter(NativeModules.NativeDataBridge);\r\n\r\nexport interface IMessageHandlerProps {\r\n dataHandler: NativeDataHandler;\r\n}\r\n\r\n// All messages received from the C++ layer will use 'message' as their event type qualifier string.\r\nexport const MESSAGE_EVENT_TYPE: string = 'message';\r\n\r\nexport interface IErrorResponse {\r\n error: {\r\n code: string;\r\n message: string;\r\n };\r\n}\r\n\r\nexport type PatchResponse = ISettings | IErrorResponse;\r\n\r\n// This is a wrapper class that makes async requests to the native C++ layer.\r\n// It is the native implementation of IDataHandler, and requires this view to be\r\n// correctly initialized from native code to be used.\r\nexport class NativeDataHandler implements IDataHandler {\r\n private _subscriptions: EmitterSubscription[] = [];\r\n private _dispatch?: AppDispatch;\r\n private _appKey: string = '';\r\n\r\n public constructor(dispatch?: AppDispatch, appKey?: string) {\r\n this._dispatch = dispatch;\r\n this._appKey = appKey ? appKey : '';\r\n }\r\n\r\n public async send(options: IDataHandlerSendOptions): Promise {\r\n // Parse out the options parameters.\r\n const { url, requestType, postData } = options;\r\n let finalResponse: T | IErrorResponse;\r\n\r\n // Pass the parameters to the native C++ data bridge 'send' API and wait for the result.\r\n // Each call here will generate a new worker thread through the ucrtbased.dll and a high volume\r\n // of simultaneous calls to this API will not be well supported due to problems like heap churning.\r\n const jsonResponse = (await NativeModules.NativeDataBridge.send(\r\n url,\r\n requestType,\r\n JSON.stringify(postData)\r\n )) as string;\r\n\r\n // Parse out the JSON response string into the expected format.\r\n const { statusCode, response } = JSON.parse(jsonResponse) as {\r\n statusCode: number;\r\n response: T;\r\n };\r\n finalResponse = response;\r\n\r\n // If the call failed, return the error.\r\n if (statusCode !== 200) {\r\n finalResponse = response as {} as IErrorResponse;\r\n }\r\n\r\n return finalResponse;\r\n }\r\n\r\n public addEventListener(type: string, listener: (arg: IListenerArgs) => void): void {\r\n if (type === MESSAGE_EVENT_TYPE) {\r\n this._subscriptions.push(DataHandlerEventEmitter.addListener(MESSAGE_EVENT_TYPE, listener, this));\r\n\r\n // Notify the main process that the message handler associated with this view is rendering and ready to receive\r\n // messages. A view can have at most one registered message handler associated with it, which is rendered in\r\n // CommonLoader after CommonMessageHandler.\r\n if (this._dispatch && this._appKey) {\r\n this._dispatch(commonActions.onMessageHandlerRendering(this._appKey));\r\n } else {\r\n // If this._appKey is undefined, the message handler being rendered is either the CommonLoader, or some other\r\n // message handler, and we should NOT call onMessageHandlerRendering in such cases.\r\n }\r\n }\r\n }\r\n\r\n public removeEventListener(type: string): void {\r\n if (type === MESSAGE_EVENT_TYPE) {\r\n this._subscriptions.forEach((subscription) => subscription.remove());\r\n this._subscriptions = [];\r\n }\r\n }\r\n}\r\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n// flowlint unsafe-getters-setters:off\n\n'use strict';\n'use client';\n\n// [[Windows\n// APIs\nimport typeof ActionSheetIOS from './Libraries/ActionSheetIOS/ActionSheetIOS';\nimport typeof Alert from './Libraries/Alert/Alert';\nimport typeof Animated from './Libraries/Animated/Animated';\nimport typeof * as AnimatedModule from './Libraries/Animated/Animated';\nimport typeof Easing from './Libraries/Animated/Easing';\nimport typeof useAnimatedValue from './Libraries/Animated/useAnimatedValue';\nimport typeof AppState from './Libraries/AppState/AppState';\nimport typeof NativeModules from './Libraries/BatchedBridge/NativeModules';\n// Components\nimport typeof AccessibilityInfo from './Libraries/Components/AccessibilityInfo/AccessibilityInfo';\nimport typeof ActivityIndicator from './Libraries/Components/ActivityIndicator/ActivityIndicator';\n// [Windows\nimport typeof AppTheme from './Libraries/AppTheme/AppTheme';\n// Windows]\nimport typeof Button from './Libraries/Components/Button';\nimport typeof Clipboard from './Libraries/Components/Clipboard/Clipboard';\nimport typeof DrawerLayoutAndroid from './Libraries/Components/DrawerAndroid/DrawerLayoutAndroid';\nimport typeof Keyboard from './Libraries/Components/Keyboard/Keyboard';\nimport typeof KeyboardAvoidingView from './Libraries/Components/Keyboard/KeyboardAvoidingView';\nimport typeof LayoutConformance from './Libraries/Components/LayoutConformance/LayoutConformance';\nimport typeof Pressable from './Libraries/Components/Pressable/Pressable';\nimport typeof ProgressBarAndroid from './Libraries/Components/ProgressBarAndroid/ProgressBarAndroid';\nimport typeof RefreshControl from './Libraries/Components/RefreshControl/RefreshControl';\nimport typeof SafeAreaView from './Libraries/Components/SafeAreaView/SafeAreaView';\nimport typeof ScrollView from './Libraries/Components/ScrollView/ScrollView';\nimport typeof StatusBar from './Libraries/Components/StatusBar/StatusBar';\nimport typeof Switch from './Libraries/Components/Switch/Switch';\nimport typeof InputAccessoryView from './Libraries/Components/TextInput/InputAccessoryView';\nimport typeof TextInput from './Libraries/Components/TextInput/TextInput';\nimport typeof ToastAndroid from './Libraries/Components/ToastAndroid/ToastAndroid';\nimport typeof Touchable from './Libraries/Components/Touchable/Touchable';\nimport typeof TouchableHighlight from './Libraries/Components/Touchable/TouchableHighlight';\nimport typeof TouchableNativeFeedback from './Libraries/Components/Touchable/TouchableNativeFeedback';\nimport typeof TouchableOpacity from './Libraries/Components/Touchable/TouchableOpacity';\nimport typeof TouchableWithoutFeedback from './Libraries/Components/Touchable/TouchableWithoutFeedback';\nimport typeof View from './Libraries/Components/View/View';\nimport typeof RegisterCallableModule from './Libraries/Core/registerCallableModule';\nimport typeof NativeEventEmitter from './Libraries/EventEmitter/NativeEventEmitter';\nimport typeof RCTDeviceEventEmitter from './Libraries/EventEmitter/RCTDeviceEventEmitter';\nimport typeof RCTNativeAppEventEmitter from './Libraries/EventEmitter/RCTNativeAppEventEmitter';\nimport typeof Image from './Libraries/Image/Image';\nimport typeof ImageBackground from './Libraries/Image/ImageBackground';\nimport typeof InteractionManager from './Libraries/Interaction/InteractionManager';\nimport typeof PanResponder from './Libraries/Interaction/PanResponder';\nimport typeof LayoutAnimation from './Libraries/LayoutAnimation/LayoutAnimation';\nimport typeof Linking from './Libraries/Linking/Linking';\nimport typeof FlatList from './Libraries/Lists/FlatList';\nimport typeof SectionList from './Libraries/Lists/SectionList';\nimport typeof VirtualizedList from './Libraries/Lists/VirtualizedList';\nimport typeof VirtualizedSectionList from './Libraries/Lists/VirtualizedSectionList';\nimport typeof LogBox from './Libraries/LogBox/LogBox';\nimport typeof Modal from './Libraries/Modal/Modal';\n// $FlowFixMe[invalid-exported-annotation]\nimport typeof NativeDialogManagerAndroid from './Libraries/NativeModules/specs/NativeDialogManagerAndroid';\nimport typeof Networking from './Libraries/Network/RCTNetworking';\nimport typeof * as Systrace from './Libraries/Performance/Systrace';\nimport typeof PermissionsAndroid from './Libraries/PermissionsAndroid/PermissionsAndroid';\nimport typeof PushNotificationIOS from './Libraries/PushNotificationIOS/PushNotificationIOS';\nimport typeof AppRegistry from './Libraries/ReactNative/AppRegistry';\nimport typeof I18nManager from './Libraries/ReactNative/I18nManager';\nimport typeof {RootTagContext} from './Libraries/ReactNative/RootTag';\nimport typeof UIManager from './Libraries/ReactNative/UIManager';\nimport typeof ReactNative from './Libraries/Renderer/shims/ReactNative';\nimport type {HostComponent} from './src/private/types/HostComponent';\nimport type {HostInstance} from './src/private/types/HostInstance';\nimport typeof Settings from './Libraries/Settings/Settings';\nimport typeof Share from './Libraries/Share/Share';\nimport typeof {PlatformColor} from './Libraries/StyleSheet/PlatformColorValueTypes';\n// Plugins\nimport typeof {DynamicColorIOS} from './Libraries/StyleSheet/PlatformColorValueTypesIOS';\nimport typeof processColor from './Libraries/StyleSheet/processColor';\nimport typeof StyleSheet from './Libraries/StyleSheet/StyleSheet';\nimport typeof Text from './Libraries/Text/Text';\nimport typeof * as TurboModuleRegistry from './Libraries/TurboModule/TurboModuleRegistry';\nimport typeof UTFSequence from './Libraries/UTFSequence';\nimport typeof * as Appearance from './Libraries/Utilities/Appearance';\nimport typeof BackHandler from './Libraries/Utilities/BackHandler';\nimport typeof DeviceInfo from './Libraries/Utilities/DeviceInfo';\nimport typeof DevSettings from './Libraries/Utilities/DevSettings';\nimport typeof Dimensions from './Libraries/Utilities/Dimensions';\nimport typeof PixelRatio from './Libraries/Utilities/PixelRatio';\nimport typeof Platform from './Libraries/Utilities/Platform';\nimport typeof useColorScheme from './Libraries/Utilities/useColorScheme';\nimport typeof useWindowDimensions from './Libraries/Utilities/useWindowDimensions';\nimport typeof Vibration from './Libraries/Vibration/Vibration';\nimport typeof DevMenu from './src/private/devmenu/DevMenu';\n\nexport type {HostComponent, HostInstance};\n// Windows]]\n\nconst warnOnce = require('./Libraries/Utilities/warnOnce').default;\nconst invariant = require('invariant');\n\nmodule.exports = {\n get registerCallableModule(): RegisterCallableModule {\n return require('./Libraries/Core/registerCallableModule').default;\n },\n // Components\n get AccessibilityInfo(): AccessibilityInfo {\n return require('./Libraries/Components/AccessibilityInfo/AccessibilityInfo')\n .default;\n },\n get ActivityIndicator(): ActivityIndicator {\n return require('./Libraries/Components/ActivityIndicator/ActivityIndicator')\n .default;\n },\n get Button(): Button {\n return require('./Libraries/Components/Button').default;\n },\n // $FlowFixMe[value-as-type]\n get DrawerLayoutAndroid(): DrawerLayoutAndroid {\n return require('./Libraries/Components/DrawerAndroid/DrawerLayoutAndroid')\n .default;\n },\n get FlatList(): FlatList {\n return require('./Libraries/Lists/FlatList').default;\n },\n get Image(): Image {\n return require('./Libraries/Image/Image').default;\n },\n get ImageBackground(): ImageBackground {\n return require('./Libraries/Image/ImageBackground').default;\n },\n get InputAccessoryView(): InputAccessoryView {\n return require('./Libraries/Components/TextInput/InputAccessoryView')\n .default;\n },\n get experimental_LayoutConformance(): LayoutConformance {\n return require('./Libraries/Components/LayoutConformance/LayoutConformance')\n .default;\n },\n get KeyboardAvoidingView(): KeyboardAvoidingView {\n return require('./Libraries/Components/Keyboard/KeyboardAvoidingView')\n .default;\n },\n get Modal(): Modal {\n return require('./Libraries/Modal/Modal').default;\n },\n get Pressable(): Pressable {\n return require('./Libraries/Components/Pressable/Pressable').default;\n },\n // $FlowFixMe[value-as-type]\n get ProgressBarAndroid(): ProgressBarAndroid {\n warnOnce(\n 'progress-bar-android-moved',\n 'ProgressBarAndroid has been extracted from react-native core and will be removed in a future release. ' +\n \"It can now be installed and imported from '@react-native-community/progress-bar-android' instead of 'react-native'. \" +\n 'See https://github.com/react-native-progress-view/progress-bar-android',\n );\n return require('./Libraries/Components/ProgressBarAndroid/ProgressBarAndroid')\n .default;\n },\n get RefreshControl(): RefreshControl {\n return require('./Libraries/Components/RefreshControl/RefreshControl')\n .default;\n },\n get SafeAreaView(): SafeAreaView {\n return require('./Libraries/Components/SafeAreaView/SafeAreaView').default;\n },\n get ScrollView(): ScrollView {\n return require('./Libraries/Components/ScrollView/ScrollView').default;\n },\n get SectionList(): SectionList {\n return require('./Libraries/Lists/SectionList').default;\n },\n get StatusBar(): StatusBar {\n return require('./Libraries/Components/StatusBar/StatusBar').default;\n },\n get Switch(): Switch {\n return require('./Libraries/Components/Switch/Switch').default;\n },\n get Text(): Text {\n return require('./Libraries/Text/Text').default;\n },\n get TextInput(): TextInput {\n return require('./Libraries/Components/TextInput/TextInput').default;\n },\n get Touchable(): Touchable {\n return require('./Libraries/Components/Touchable/Touchable').default;\n },\n get TouchableHighlight(): TouchableHighlight {\n return require('./Libraries/Components/Touchable/TouchableHighlight')\n .default;\n },\n get TouchableNativeFeedback(): TouchableNativeFeedback {\n return require('./Libraries/Components/Touchable/TouchableNativeFeedback')\n .default;\n },\n get TouchableOpacity(): TouchableOpacity {\n return require('./Libraries/Components/Touchable/TouchableOpacity').default;\n },\n get TouchableWithoutFeedback(): TouchableWithoutFeedback {\n return require('./Libraries/Components/Touchable/TouchableWithoutFeedback')\n .default;\n },\n get View(): View {\n return require('./Libraries/Components/View/View').default;\n },\n get VirtualizedList(): VirtualizedList {\n return require('./Libraries/Lists/VirtualizedList').default;\n },\n get VirtualizedSectionList(): VirtualizedSectionList {\n return require('./Libraries/Lists/VirtualizedSectionList').default;\n },\n\n // APIs\n get ActionSheetIOS(): ActionSheetIOS {\n return require('./Libraries/ActionSheetIOS/ActionSheetIOS').default;\n },\n get Alert(): Alert {\n return require('./Libraries/Alert/Alert').default;\n },\n // Include any types exported in the Animated module together with its default export, so\n // you can references types such as Animated.Numeric\n get Animated(): Animated {\n return require('./Libraries/Animated/Animated').default;\n },\n get Appearance(): Appearance {\n return require('./Libraries/Utilities/Appearance');\n },\n get AppRegistry(): AppRegistry {\n return require('./Libraries/ReactNative/AppRegistry').default;\n },\n get AppState(): AppState {\n return require('./Libraries/AppState/AppState').default;\n },\n get BackHandler(): BackHandler {\n return require('./Libraries/Utilities/BackHandler').default;\n },\n get Clipboard(): Clipboard {\n warnOnce(\n 'clipboard-moved',\n 'Clipboard has been extracted from react-native core and will be removed in a future release. ' +\n \"It can now be installed and imported from '@react-native-clipboard/clipboard' instead of 'react-native'. \" +\n 'See https://github.com/react-native-clipboard/clipboard',\n );\n return require('./Libraries/Components/Clipboard/Clipboard').default;\n },\n get DeviceInfo(): DeviceInfo {\n return require('./Libraries/Utilities/DeviceInfo').default;\n },\n get DevMenu(): DevMenu {\n return require('./src/private/devmenu/DevMenu').default;\n },\n get DevSettings(): DevSettings {\n return require('./Libraries/Utilities/DevSettings').default;\n },\n get Dimensions(): Dimensions {\n return require('./Libraries/Utilities/Dimensions').default;\n },\n get Easing(): Easing {\n return require('./Libraries/Animated/Easing').default;\n },\n get findNodeHandle(): $PropertyType {\n return require('./Libraries/ReactNative/RendererProxy').findNodeHandle;\n },\n get I18nManager(): I18nManager {\n return require('./Libraries/ReactNative/I18nManager').default;\n },\n get InteractionManager(): InteractionManager {\n return require('./Libraries/Interaction/InteractionManager').default;\n },\n get Keyboard(): Keyboard {\n return require('./Libraries/Components/Keyboard/Keyboard').default;\n },\n get LayoutAnimation(): LayoutAnimation {\n return require('./Libraries/LayoutAnimation/LayoutAnimation').default;\n },\n get Linking(): Linking {\n return require('./Libraries/Linking/Linking').default;\n },\n get LogBox(): LogBox {\n return require('./Libraries/LogBox/LogBox').default;\n },\n get NativeDialogManagerAndroid(): NativeDialogManagerAndroid {\n return require('./Libraries/NativeModules/specs/NativeDialogManagerAndroid')\n .default;\n },\n get NativeEventEmitter(): NativeEventEmitter {\n return require('./Libraries/EventEmitter/NativeEventEmitter').default;\n },\n get Networking(): Networking {\n return require('./Libraries/Network/RCTNetworking').default;\n },\n get PanResponder(): PanResponder {\n return require('./Libraries/Interaction/PanResponder').default;\n },\n get PermissionsAndroid(): PermissionsAndroid {\n return require('./Libraries/PermissionsAndroid/PermissionsAndroid').default;\n },\n get PixelRatio(): PixelRatio {\n return require('./Libraries/Utilities/PixelRatio').default;\n },\n get PushNotificationIOS(): PushNotificationIOS {\n warnOnce(\n 'pushNotificationIOS-moved',\n 'PushNotificationIOS has been extracted from react-native core and will be removed in a future release. ' +\n \"It can now be installed and imported from '@react-native-community/push-notification-ios' instead of 'react-native'. \" +\n 'See https://github.com/react-native-push-notification/ios',\n );\n return require('./Libraries/PushNotificationIOS/PushNotificationIOS')\n .default;\n },\n get Settings(): Settings {\n return require('./Libraries/Settings/Settings').default;\n },\n get Share(): Share {\n return require('./Libraries/Share/Share').default;\n },\n get StyleSheet(): StyleSheet {\n return require('./Libraries/StyleSheet/StyleSheet').default;\n },\n get Systrace(): Systrace {\n return require('./Libraries/Performance/Systrace');\n },\n // $FlowFixMe[value-as-type]\n get ToastAndroid(): ToastAndroid {\n return require('./Libraries/Components/ToastAndroid/ToastAndroid').default;\n },\n get TurboModuleRegistry(): TurboModuleRegistry {\n return require('./Libraries/TurboModule/TurboModuleRegistry');\n },\n get UIManager(): UIManager {\n return require('./Libraries/ReactNative/UIManager').default;\n },\n get unstable_batchedUpdates(): $PropertyType<\n ReactNative,\n 'unstable_batchedUpdates',\n > {\n return require('./Libraries/ReactNative/RendererProxy')\n .unstable_batchedUpdates;\n },\n get useAnimatedValue(): useAnimatedValue {\n return require('./Libraries/Animated/useAnimatedValue').default;\n },\n get useColorScheme(): useColorScheme {\n return require('./Libraries/Utilities/useColorScheme').default;\n },\n get useWindowDimensions(): useWindowDimensions {\n return require('./Libraries/Utilities/useWindowDimensions').default;\n },\n get UTFSequence(): UTFSequence {\n return require('./Libraries/UTFSequence').default;\n },\n get Vibration(): Vibration {\n return require('./Libraries/Vibration/Vibration').default;\n },\n\n // Plugins\n get DeviceEventEmitter(): RCTDeviceEventEmitter {\n return require('./Libraries/EventEmitter/RCTDeviceEventEmitter').default;\n },\n get DynamicColorIOS(): DynamicColorIOS {\n return require('./Libraries/StyleSheet/PlatformColorValueTypesIOS')\n .DynamicColorIOS;\n },\n get NativeAppEventEmitter(): RCTNativeAppEventEmitter {\n return require('./Libraries/EventEmitter/RCTNativeAppEventEmitter').default;\n },\n get NativeModules(): NativeModules {\n return require('./Libraries/BatchedBridge/NativeModules').default;\n },\n get Platform(): Platform {\n return require('./Libraries/Utilities/Platform').default;\n },\n get PlatformColor(): PlatformColor {\n return require('./Libraries/StyleSheet/PlatformColorValueTypes')\n .PlatformColor;\n },\n get processColor(): processColor {\n return require('./Libraries/StyleSheet/processColor').default;\n },\n get requireNativeComponent(): (\n uiViewClassName: string,\n ) => HostComponent {\n return require('./Libraries/ReactNative/requireNativeComponent').default;\n },\n get RootTagContext(): RootTagContext {\n return require('./Libraries/ReactNative/RootTag').RootTagContext;\n },\n get unstable_enableLogBox(): () => void {\n return () =>\n console.warn(\n 'LogBox is enabled by default so there is no need to call unstable_enableLogBox() anymore. This is a no op and will be removed in the next version.',\n );\n },\n\n // Additional windows exports (Typescript components exported as flow any)\n get DatePicker(): any {\n invariant(\n false,\n 'DatePicker has been extracted and removed from react-native-windows. ' +\n \"It can now be installed and imported as DateTimePicker from '@react-native-community/datetimepicker'. \" +\n 'See https://github.com/react-native-datetimepicker/datetimepicker',\n );\n },\n get Flyout(): any {\n return require('./Libraries/Components/Flyout/Flyout').Flyout;\n },\n get Glyph(): any {\n return require('./Libraries/Components/Glyph/Glyph').Glyph;\n },\n get PickerWindows(): any {\n invariant(\n false,\n 'PickerWindows has been extracted and removed from react-native-windows. ' +\n \"It can now be installed and imported as Picker from '@react-native-picker/picker'. \" +\n 'See https://github.com/react-native-picker/picker',\n );\n },\n get Popup(): any {\n return require('./Libraries/Components/Popup/Popup').Popup;\n },\n get supportKeyboard(): any {\n return require('./Libraries/Components/Keyboard/KeyboardExt')\n .supportKeyboard;\n },\n get DayOfWeek(): any {\n invariant(\n false,\n 'DatePicker has been extracted and removed from react-native-windows. ' +\n \"It can now be installed and imported as DateTimePicker from '@react-native-community/datetimepicker'. \" +\n 'See https://github.com/react-native-datetimepicker/datetimepicker',\n );\n },\n get EventPhase(): any {\n return require('./Libraries/Components/View/ViewPropTypes')\n .HandledEventPhase;\n },\n get HandledEventPhase(): any {\n return require('./Libraries/Components/View/ViewPropTypes')\n .HandledEventPhase;\n },\n get ViewWindows(): any {\n return require('./Libraries/Components/View/View').default;\n },\n get AppTheme(): AppTheme {\n return require('./Libraries/AppTheme/AppTheme');\n },\n};\n\nif (__DEV__) {\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ART. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ART. */\n Object.defineProperty(module.exports, 'ART', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ART has been removed from React Native. ' +\n \"Please upgrade to use either 'react-native-svg' or a similar package. \" +\n \"If you cannot upgrade to a different library, please install the deprecated '@react-native-community/art' package. \" +\n 'See https://github.com/react-native-art/art',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ListView. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ListView. */\n Object.defineProperty(module.exports, 'ListView', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ListView has been removed from React Native. ' +\n 'See https://fb.me/nolistview for more information or use ' +\n '`deprecated-react-native-listview`.',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access SwipeableListView. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access SwipeableListView. */\n Object.defineProperty(module.exports, 'SwipeableListView', {\n configurable: true,\n get() {\n invariant(\n false,\n 'SwipeableListView has been removed from React Native. ' +\n 'See https://fb.me/nolistview for more information or use ' +\n '`deprecated-react-native-swipeable-listview`.',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access WebView. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access WebView. */\n Object.defineProperty(module.exports, 'WebView', {\n configurable: true,\n get() {\n invariant(\n false,\n 'WebView has been removed from React Native. ' +\n \"It can now be installed and imported from 'react-native-webview' instead of 'react-native'. \" +\n 'See https://github.com/react-native-webview/react-native-webview',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access NetInfo. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access NetInfo. */\n Object.defineProperty(module.exports, 'NetInfo', {\n configurable: true,\n get() {\n invariant(\n false,\n 'NetInfo has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/netinfo' instead of 'react-native'. \" +\n 'See https://github.com/react-native-netinfo/react-native-netinfo',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access CameraRoll. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access CameraRoll. */\n Object.defineProperty(module.exports, 'CameraRoll', {\n configurable: true,\n get() {\n invariant(\n false,\n 'CameraRoll has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-camera-roll/camera-roll' instead of 'react-native'. \" +\n 'See https://github.com/react-native-cameraroll/react-native-cameraroll',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ImageStore. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ImageStore. */\n Object.defineProperty(module.exports, 'ImageStore', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ImageStore has been removed from React Native. ' +\n 'To get a base64-encoded string from a local image use either of the following third-party libraries:' +\n \"* expo-file-system: `readAsStringAsync(filepath, 'base64')`\" +\n \"* react-native-fs: `readFile(filepath, 'base64')`\",\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ImageEditor. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ImageEditor. */\n Object.defineProperty(module.exports, 'ImageEditor', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ImageEditor has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/image-editor' instead of 'react-native'. \" +\n 'See https://github.com/callstack/react-native-image-editor',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access TimePickerAndroid. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access TimePickerAndroid. */\n Object.defineProperty(module.exports, 'TimePickerAndroid', {\n configurable: true,\n get() {\n invariant(\n false,\n 'TimePickerAndroid has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. \" +\n 'See https://github.com/react-native-datetimepicker/datetimepicker',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ToolbarAndroid. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ToolbarAndroid. */\n Object.defineProperty(module.exports, 'ToolbarAndroid', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ToolbarAndroid has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/toolbar-android' instead of 'react-native'. \" +\n 'See https://github.com/react-native-toolbar-android/toolbar-android',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ViewPagerAndroid. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ViewPagerAndroid. */\n Object.defineProperty(module.exports, 'ViewPagerAndroid', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ViewPagerAndroid has been removed from React Native. ' +\n \"It can now be installed and imported from 'react-native-pager-view' instead of 'react-native'. \" +\n 'See https://github.com/callstack/react-native-pager-view',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access CheckBox. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access CheckBox. */\n Object.defineProperty(module.exports, 'CheckBox', {\n configurable: true,\n get() {\n invariant(\n false,\n 'CheckBox has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/checkbox' instead of 'react-native'. \" +\n 'See https://github.com/react-native-checkbox/react-native-checkbox',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access SegmentedControlIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access SegmentedControlIOS. */\n Object.defineProperty(module.exports, 'SegmentedControlIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'SegmentedControlIOS has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-segmented-control/segmented-control' instead of 'react-native'.\" +\n 'See https://github.com/react-native-segmented-control/segmented-control',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access StatusBarIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access StatusBarIOS. */\n Object.defineProperty(module.exports, 'StatusBarIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'StatusBarIOS has been removed from React Native. ' +\n 'Has been merged with StatusBar. ' +\n 'See https://reactnative.dev/docs/statusbar',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access PickerIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access PickerIOS. */\n Object.defineProperty(module.exports, 'PickerIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'PickerIOS has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-picker/picker' instead of 'react-native'. \" +\n 'See https://github.com/react-native-picker/picker',\n );\n },\n });\n\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access Picker. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access Picker. */\n Object.defineProperty(module.exports, 'Picker', {\n configurable: true,\n get() {\n invariant(\n false,\n 'Picker has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-picker/picker' instead of 'react-native'. \" +\n 'See https://github.com/react-native-picker/picker',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access DatePickerAndroid. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access DatePickerAndroid. */\n Object.defineProperty(module.exports, 'DatePickerAndroid', {\n configurable: true,\n get() {\n invariant(\n false,\n 'DatePickerAndroid has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. \" +\n 'See https://github.com/react-native-datetimepicker/datetimepicker',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access MaskedViewIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access MaskedViewIOS. */\n Object.defineProperty(module.exports, 'MaskedViewIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'MaskedViewIOS has been removed from React Native. ' +\n \"It can now be installed and imported from '@react-native-masked-view/masked-view' instead of 'react-native'. \" +\n 'See https://github.com/react-native-masked-view/masked-view',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access AsyncStorage. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access AsyncStorage. */\n Object.defineProperty(module.exports, 'AsyncStorage', {\n configurable: true,\n get() {\n invariant(\n false,\n 'AsyncStorage has been removed from react-native core. ' +\n \"It can now be installed and imported from '@react-native-async-storage/async-storage' instead of 'react-native'. \" +\n 'See https://github.com/react-native-async-storage/async-storage',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ImagePickerIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ImagePickerIOS. */\n Object.defineProperty(module.exports, 'ImagePickerIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ImagePickerIOS has been removed from React Native. ' +\n \"Please upgrade to use either 'react-native-image-picker' or 'expo-image-picker'. \" +\n \"If you cannot upgrade to a different library, please install the deprecated '@react-native-community/image-picker-ios' package. \" +\n 'See https://github.com/rnc-archive/react-native-image-picker-ios',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access ProgressViewIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access ProgressViewIOS. */\n Object.defineProperty(module.exports, 'ProgressViewIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'ProgressViewIOS has been removed from react-native core. ' +\n \"It can now be installed and imported from '@react-native-community/progress-view' instead of 'react-native'. \" +\n 'See https://github.com/react-native-progress-view/progress-view',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access DatePickerIOS. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access DatePickerIOS. */\n Object.defineProperty(module.exports, 'DatePickerIOS', {\n configurable: true,\n get() {\n invariant(\n false,\n 'DatePickerIOS has been removed from react-native core. ' +\n \"It can now be installed and imported from '@react-native-community/datetimepicker' instead of 'react-native'. \" +\n 'See https://github.com/react-native-datetimepicker/datetimepicker',\n );\n },\n });\n /* $FlowFixMe[prop-missing] This is intentional: Flow will error when\n * attempting to access Slider. */\n /* $FlowFixMe[invalid-export] This is intentional: Flow will error when\n * attempting to access Slider. */\n Object.defineProperty(module.exports, 'Slider', {\n configurable: true,\n get() {\n invariant(\n false,\n 'Slider has been removed from react-native core. ' +\n \"It can now be installed and imported from '@react-native-community/slider' instead of 'react-native'. \" +\n 'See https://github.com/callstack/react-native-slider',\n );\n },\n });\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\ntype Module = {...};\ntype RegisterCallableModule = (\n name: string,\n moduleOrFactory: Module | (void => Module),\n) => void;\n\nconst registerCallableModule: RegisterCallableModule = (function () {\n if (global.RN$Bridgeless === true) {\n return (name, moduleOrFactory) => {\n if (typeof moduleOrFactory === 'function') {\n global.RN$registerCallableModule(name, moduleOrFactory);\n return;\n }\n\n global.RN$registerCallableModule(name, () => moduleOrFactory);\n };\n }\n\n const BatchedBridge = require('../BatchedBridge/BatchedBridge').default;\n return (name, moduleOrFactory) => {\n if (typeof moduleOrFactory === 'function') {\n BatchedBridge.registerLazyCallableModule(name, moduleOrFactory);\n return;\n }\n\n BatchedBridge.registerCallableModule(name, moduleOrFactory);\n };\n})();\n\nexport default registerCallableModule;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\nimport typeof MessageQueueT from './MessageQueue';\n\nconst MessageQueue: MessageQueueT = require('./MessageQueue').default;\n\nconst BatchedBridge: MessageQueue = new MessageQueue();\n\n// Wire up the batched bridge on the global object so that we can call into it.\n// Ideally, this would be the inverse relationship. I.e. the native environment\n// provides this global directly with its script embedded. Then this module\n// would export it. A possible fix would be to trim the dependencies in\n// MessageQueue to its minimal features and embed that in the native runtime.\n\nObject.defineProperty(global, '__fbBatchedBridge', {\n configurable: true,\n value: BatchedBridge,\n});\n\nexport default BatchedBridge;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n'use strict';\n\nconst Systrace = require('../Performance/Systrace');\nconst deepFreezeAndThrowOnMutationInDev =\n require('../Utilities/deepFreezeAndThrowOnMutationInDev').default;\nconst stringifySafe = require('../Utilities/stringifySafe').default;\nconst warnOnce = require('../Utilities/warnOnce').default;\nconst ErrorUtils = require('../vendor/core/ErrorUtils').default;\nconst invariant = require('invariant');\n\nexport type SpyData = {\n type: number,\n module: ?string,\n method: string | number,\n args: mixed[],\n ...\n};\n\nconst TO_JS = 0;\nconst TO_NATIVE = 1;\n\nconst MODULE_IDS = 0;\nconst METHOD_IDS = 1;\nconst PARAMS = 2;\nconst MIN_TIME_BETWEEN_FLUSHES_MS = 5;\n\n// eslint-disable-next-line no-bitwise\nconst TRACE_TAG_REACT_APPS = 1 << 17;\n\nconst DEBUG_INFO_LIMIT = 32;\n\nclass MessageQueue {\n _lazyCallableModules: {[key: string]: (void) => {...}, ...};\n _queue: [number[], number[], mixed[], number];\n _successCallbacks: Map void>;\n _failureCallbacks: Map void>;\n _callID: number;\n _lastFlush: number;\n _eventLoopStartTime: number;\n _reactNativeMicrotasksCallback: ?() => void;\n\n _debugInfo: {[number]: [number, number], ...};\n _remoteModuleTable: {[number]: string, ...};\n _remoteMethodTable: {[number]: $ReadOnlyArray, ...};\n\n __spy: ?(data: SpyData) => void;\n\n constructor() {\n this._lazyCallableModules = {};\n this._queue = [[], [], [], 0];\n this._successCallbacks = new Map();\n this._failureCallbacks = new Map();\n this._callID = 0;\n this._lastFlush = 0;\n this._eventLoopStartTime = Date.now();\n this._reactNativeMicrotasksCallback = null;\n\n if (__DEV__) {\n this._debugInfo = {};\n this._remoteModuleTable = {};\n this._remoteMethodTable = {};\n }\n\n // $FlowFixMe[cannot-write]\n this.callFunctionReturnFlushedQueue =\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.callFunctionReturnFlushedQueue.bind(this);\n // $FlowFixMe[cannot-write]\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.flushedQueue = this.flushedQueue.bind(this);\n\n // $FlowFixMe[cannot-write]\n this.invokeCallbackAndReturnFlushedQueue =\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.invokeCallbackAndReturnFlushedQueue.bind(this);\n }\n\n /**\n * Public APIs\n */\n\n static spy(spyOrToggle: boolean | ((data: SpyData) => void)) {\n if (spyOrToggle === true) {\n MessageQueue.prototype.__spy = info => {\n console.log(\n `${info.type === TO_JS ? 'N->JS' : 'JS->N'} : ` +\n `${info.module != null ? info.module + '.' : ''}${info.method}` +\n `(${JSON.stringify(info.args)})`,\n );\n };\n } else if (spyOrToggle === false) {\n MessageQueue.prototype.__spy = null;\n } else {\n MessageQueue.prototype.__spy = spyOrToggle;\n }\n }\n\n callFunctionReturnFlushedQueue(\n module: string,\n method: string,\n args: mixed[],\n ): null | [Array, Array, Array, number] {\n this.__guard(() => {\n this.__callFunction(module, method, args);\n });\n\n return this.flushedQueue();\n }\n\n invokeCallbackAndReturnFlushedQueue(\n cbID: number,\n args: mixed[],\n ): null | [Array, Array, Array, number] {\n this.__guard(() => {\n this.__invokeCallback(cbID, args);\n });\n\n return this.flushedQueue();\n }\n\n flushedQueue(): null | [Array, Array, Array, number] {\n this.__guard(() => {\n this.__callReactNativeMicrotasks();\n });\n\n const queue = this._queue;\n this._queue = [[], [], [], this._callID];\n return queue[0].length ? queue : null;\n }\n\n getEventLoopRunningTime(): number {\n return Date.now() - this._eventLoopStartTime;\n }\n\n registerCallableModule(name: string, module: {...}) {\n this._lazyCallableModules[name] = () => module;\n }\n\n registerLazyCallableModule(name: string, factory: void => interface {}) {\n let module: interface {};\n let getValue: ?(void) => interface {} = factory;\n this._lazyCallableModules[name] = () => {\n if (getValue) {\n module = getValue();\n getValue = null;\n }\n /* $FlowFixMe[class-object-subtyping] added when improving typing for\n * this parameters */\n return module;\n };\n }\n\n getCallableModule(name: string): {...} | null {\n const getValue = this._lazyCallableModules[name];\n return getValue ? getValue() : null;\n }\n\n callNativeSyncHook(\n moduleID: number,\n methodID: number,\n params: mixed[],\n onFail: ?(...mixed[]) => void,\n onSucc: ?(...mixed[]) => void,\n ): mixed {\n if (__DEV__) {\n invariant(\n global.nativeCallSyncHook,\n 'Calling synchronous methods on native ' +\n 'modules is not supported in Chrome.\\n\\n Consider providing alternative ' +\n 'methods to expose this method in debug mode, e.g. by exposing constants ' +\n 'ahead-of-time.',\n );\n }\n this.processCallbacks(moduleID, methodID, params, onFail, onSucc);\n return global.nativeCallSyncHook(moduleID, methodID, params);\n }\n\n processCallbacks(\n moduleID: number,\n methodID: number,\n params: mixed[],\n onFail: ?(...mixed[]) => void,\n onSucc: ?(...mixed[]) => void,\n ): void {\n if (onFail || onSucc) {\n if (__DEV__) {\n this._debugInfo[this._callID] = [moduleID, methodID];\n if (this._callID > DEBUG_INFO_LIMIT) {\n delete this._debugInfo[this._callID - DEBUG_INFO_LIMIT];\n }\n if (this._successCallbacks.size > 500) {\n const info: {[number]: {method: string, module: string}} = {};\n this._successCallbacks.forEach((_, callID) => {\n const debug = this._debugInfo[callID];\n const module = debug && this._remoteModuleTable[debug[0]];\n const method = debug && this._remoteMethodTable[debug[0]][debug[1]];\n info[callID] = {module, method};\n });\n warnOnce(\n 'excessive-number-of-pending-callbacks',\n `Excessive number of pending callbacks: ${\n this._successCallbacks.size\n }. Some pending callbacks that might have leaked by never being called from native code: ${stringifySafe(\n info,\n )}`,\n );\n }\n }\n // Encode callIDs into pairs of callback identifiers by shifting left and using the rightmost bit\n // to indicate fail (0) or success (1)\n // eslint-disable-next-line no-bitwise\n onFail && params.push(this._callID << 1);\n // eslint-disable-next-line no-bitwise\n onSucc && params.push((this._callID << 1) | 1);\n this._successCallbacks.set(this._callID, onSucc);\n this._failureCallbacks.set(this._callID, onFail);\n }\n if (__DEV__) {\n global.nativeTraceBeginAsyncFlow &&\n global.nativeTraceBeginAsyncFlow(\n TRACE_TAG_REACT_APPS,\n 'native',\n this._callID,\n );\n }\n this._callID++;\n }\n\n enqueueNativeCall(\n moduleID: number,\n methodID: number,\n params: mixed[],\n onFail: ?(...mixed[]) => void,\n onSucc: ?(...mixed[]) => void,\n ): void {\n this.processCallbacks(moduleID, methodID, params, onFail, onSucc);\n\n this._queue[MODULE_IDS].push(moduleID);\n this._queue[METHOD_IDS].push(methodID);\n\n if (__DEV__) {\n // Validate that parameters passed over the bridge are\n // folly-convertible. As a special case, if a prop value is a\n // function it is permitted here, and special-cased in the\n // conversion.\n const isValidArgument = (val: mixed): boolean => {\n switch (typeof val) {\n case 'undefined':\n case 'boolean':\n case 'string':\n return true;\n case 'number':\n return isFinite(val);\n case 'object':\n if (val == null) {\n return true;\n }\n\n if (Array.isArray(val)) {\n return val.every(isValidArgument);\n }\n\n for (const k in val) {\n if (typeof val[k] !== 'function' && !isValidArgument(val[k])) {\n return false;\n }\n }\n\n return true;\n case 'function':\n return false;\n default:\n return false;\n }\n };\n\n // Replacement allows normally non-JSON-convertible values to be\n // seen. There is ambiguity with string values, but in context,\n // it should at least be a strong hint.\n const replacer = (key: string, val: $FlowFixMe) => {\n const t = typeof val;\n if (t === 'function') {\n return '<>';\n } else if (t === 'number' && !isFinite(val)) {\n return '<<' + val.toString() + '>>';\n } else {\n return val;\n }\n };\n\n // Note that JSON.stringify\n invariant(\n isValidArgument(params),\n '%s is not usable as a native method argument',\n JSON.stringify(params, replacer),\n );\n\n // The params object should not be mutated after being queued\n deepFreezeAndThrowOnMutationInDev(params);\n }\n this._queue[PARAMS].push(params);\n\n const now = Date.now();\n if (\n global.nativeFlushQueueImmediate &&\n now - this._lastFlush >= MIN_TIME_BETWEEN_FLUSHES_MS\n ) {\n const queue = this._queue;\n this._queue = [[], [], [], this._callID];\n this._lastFlush = now;\n global.nativeFlushQueueImmediate(queue);\n }\n Systrace.counterEvent('pending_js_to_native_queue', this._queue[0].length);\n if (__DEV__ && this.__spy && isFinite(moduleID)) {\n // $FlowFixMe[not-a-function]\n this.__spy({\n type: TO_NATIVE,\n module: this._remoteModuleTable[moduleID],\n method: this._remoteMethodTable[moduleID][methodID],\n args: params,\n });\n } else if (this.__spy) {\n this.__spy({\n type: TO_NATIVE,\n module: moduleID + '',\n method: methodID,\n args: params,\n });\n }\n }\n\n createDebugLookup(\n moduleID: number,\n name: string,\n methods: ?$ReadOnlyArray,\n ) {\n if (__DEV__) {\n this._remoteModuleTable[moduleID] = name;\n this._remoteMethodTable[moduleID] = methods || [];\n }\n }\n\n // For JSTimers to register its callback. Otherwise a circular dependency\n // between modules is introduced. Note that only one callback may be\n // registered at a time.\n setReactNativeMicrotasksCallback(fn: () => void) {\n this._reactNativeMicrotasksCallback = fn;\n }\n\n /**\n * Private methods\n */\n\n __guard(fn: () => void) {\n if (this.__shouldPauseOnThrow()) {\n fn();\n } else {\n try {\n fn();\n } catch (error) {\n ErrorUtils.reportFatalError(error);\n }\n }\n }\n\n // MessageQueue installs a global handler to catch all exceptions where JS users can register their own behavior\n // This handler makes all exceptions to be propagated from inside MessageQueue rather than by the VM at their origin\n // This makes stacktraces to be placed at MessageQueue rather than at where they were launched\n // The parameter DebuggerInternal.shouldPauseOnThrow is used to check before catching all exceptions and\n // can be configured by the VM or any Inspector\n __shouldPauseOnThrow(): boolean {\n return (\n // $FlowFixMe[cannot-resolve-name]\n typeof DebuggerInternal !== 'undefined' &&\n // $FlowFixMe[cannot-resolve-name]\n DebuggerInternal.shouldPauseOnThrow === true\n );\n }\n\n __callReactNativeMicrotasks() {\n Systrace.beginEvent('JSTimers.callReactNativeMicrotasks()');\n try {\n if (this._reactNativeMicrotasksCallback != null) {\n this._reactNativeMicrotasksCallback();\n }\n } finally {\n Systrace.endEvent();\n }\n }\n\n __callFunction(module: string, method: string, args: mixed[]): void {\n this._lastFlush = Date.now();\n this._eventLoopStartTime = this._lastFlush;\n if (__DEV__ || this.__spy) {\n Systrace.beginEvent(`${module}.${method}(${stringifySafe(args)})`);\n } else {\n Systrace.beginEvent(`${module}.${method}(...)`);\n }\n try {\n if (this.__spy) {\n this.__spy({type: TO_JS, module, method, args});\n }\n const moduleMethods = this.getCallableModule(module);\n if (!moduleMethods) {\n const callableModuleNames = Object.keys(this._lazyCallableModules);\n const n = callableModuleNames.length;\n const callableModuleNameList = callableModuleNames.join(', ');\n\n // TODO(T122225939): Remove after investigation: Why are we getting to this line in bridgeless mode?\n const isBridgelessMode =\n global.RN$Bridgeless === true ? 'true' : 'false';\n invariant(\n false,\n `Failed to call into JavaScript module method ${module}.${method}(). Module has not been registered as callable. Bridgeless Mode: ${isBridgelessMode}. Registered callable JavaScript modules (n = ${n}): ${callableModuleNameList}.\n A frequent cause of the error is that the application entry file path is incorrect. This can also happen when the JS bundle is corrupt or there is an early initialization error when loading React Native.`,\n );\n }\n // $FlowFixMe[invalid-computed-prop]\n if (!moduleMethods[method]) {\n invariant(\n false,\n `Failed to call into JavaScript module method ${module}.${method}(). Module exists, but the method is undefined.`,\n );\n }\n moduleMethods[method].apply(moduleMethods, args);\n } finally {\n Systrace.endEvent();\n }\n }\n\n __invokeCallback(cbID: number, args: mixed[]): void {\n this._lastFlush = Date.now();\n this._eventLoopStartTime = this._lastFlush;\n\n // The rightmost bit of cbID indicates fail (0) or success (1), the other bits are the callID shifted left.\n // eslint-disable-next-line no-bitwise\n const callID = cbID >>> 1;\n // eslint-disable-next-line no-bitwise\n const isSuccess = cbID & 1;\n const callback = isSuccess\n ? this._successCallbacks.get(callID)\n : this._failureCallbacks.get(callID);\n\n if (__DEV__) {\n const debug = this._debugInfo[callID];\n const module = debug && this._remoteModuleTable[debug[0]];\n const method = debug && this._remoteMethodTable[debug[0]][debug[1]];\n invariant(\n callback,\n `No callback found with cbID ${cbID} and callID ${callID} for ` +\n (method\n ? ` ${module}.${method} - most likely the callback was already invoked`\n : `module ${module || ''}`) +\n `. Args: '${stringifySafe(args)}'`,\n );\n const profileName = debug\n ? ''\n : cbID;\n if (callback && this.__spy) {\n this.__spy({type: TO_JS, module: null, method: profileName, args});\n }\n Systrace.beginEvent(\n `MessageQueue.invokeCallback(${profileName}, ${stringifySafe(args)})`,\n );\n }\n\n try {\n if (!callback) {\n return;\n }\n\n this._successCallbacks.delete(callID);\n this._failureCallbacks.delete(callID);\n callback(...args);\n } finally {\n if (__DEV__) {\n Systrace.endEvent();\n }\n }\n }\n}\n\nexport default MessageQueue;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport typeof * as SystraceModule from './Systrace';\n\nconst TRACE_TAG_REACT_APPS = 1 << 17; // eslint-disable-line no-bitwise\n\nlet _asyncCookie = 0;\n\ntype EventName = string | (() => string);\ntype EventArgs = ?{[string]: string};\n\n/**\n * Indicates if the application is currently being traced.\n *\n * Calling methods on this module when the application isn't being traced is\n * cheap, but this method can be used to avoid computing expensive values for\n * those functions.\n *\n * @example\n * if (Systrace.isEnabled()) {\n * const expensiveArgs = computeExpensiveArgs();\n * Systrace.beginEvent('myEvent', expensiveArgs);\n * }\n */\nexport function isEnabled(): boolean {\n return global.nativeTraceIsTracing\n ? global.nativeTraceIsTracing(TRACE_TAG_REACT_APPS)\n : Boolean(global.__RCTProfileIsProfiling);\n}\n\n/**\n * @deprecated This function is now a no-op but it's left for backwards\n * compatibility. `isEnabled` will now synchronously check if we're actively\n * profiling or not. This is necessary because we don't have callbacks to know\n * when profiling has started/stopped on Android APIs.\n */\nexport function setEnabled(_doEnable: boolean): void {}\n\n/**\n * Marks the start of a synchronous event that should end in the same stack\n * frame. The end of this event should be marked using the `endEvent` function.\n */\nexport function beginEvent(eventName: EventName, args?: EventArgs): void {\n if (isEnabled()) {\n const eventNameString =\n typeof eventName === 'function' ? eventName() : eventName;\n global.nativeTraceBeginSection(TRACE_TAG_REACT_APPS, eventNameString, args);\n }\n}\n\n/**\n * Marks the end of a synchronous event started in the same stack frame.\n */\nexport function endEvent(args?: EventArgs): void {\n if (isEnabled()) {\n global.nativeTraceEndSection(TRACE_TAG_REACT_APPS, args);\n }\n}\n\n/**\n * Marks the start of a potentially asynchronous event. The end of this event\n * should be marked calling the `endAsyncEvent` function with the cookie\n * returned by this function.\n */\nexport function beginAsyncEvent(\n eventName: EventName,\n args?: EventArgs,\n): number {\n const cookie = _asyncCookie;\n if (isEnabled()) {\n _asyncCookie++;\n const eventNameString =\n typeof eventName === 'function' ? eventName() : eventName;\n global.nativeTraceBeginAsyncSection(\n TRACE_TAG_REACT_APPS,\n eventNameString,\n cookie,\n args,\n );\n }\n return cookie;\n}\n\n/**\n * Marks the end of a potentially asynchronous event, which was started with\n * the given cookie.\n */\nexport function endAsyncEvent(\n eventName: EventName,\n cookie: number,\n args?: EventArgs,\n): void {\n if (isEnabled()) {\n const eventNameString =\n typeof eventName === 'function' ? eventName() : eventName;\n global.nativeTraceEndAsyncSection(\n TRACE_TAG_REACT_APPS,\n eventNameString,\n cookie,\n args,\n );\n }\n}\n\n/**\n * Registers a new value for a counter event.\n */\nexport function counterEvent(eventName: EventName, value: number): void {\n if (isEnabled()) {\n const eventNameString =\n typeof eventName === 'function' ? eventName() : eventName;\n global.nativeTraceCounter &&\n global.nativeTraceCounter(TRACE_TAG_REACT_APPS, eventNameString, value);\n }\n}\n\nif (__DEV__) {\n const Systrace: SystraceModule = {\n isEnabled,\n setEnabled,\n beginEvent,\n endEvent,\n beginAsyncEvent,\n endAsyncEvent,\n counterEvent,\n };\n\n // The metro require polyfill can not have dependencies (true for all polyfills).\n // Ensure that `Systrace` is available in polyfill by exposing it globally.\n global[(global.__METRO_GLOBAL_PREFIX__ || '') + '__SYSTRACE'] = Systrace;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\nimport type {ErrorUtilsT} from '@react-native/js-polyfills/error-guard';\n\n/**\n * The particular require runtime that we are using looks for a global\n * `ErrorUtils` object and if it exists, then it requires modules with the\n * error handler specified via ErrorUtils.setGlobalHandler by calling the\n * require function with applyWithGuard. Since the require module is loaded\n * before any of the modules, this ErrorUtils must be defined (and the handler\n * set) globally before requiring anything.\n *\n * However, we still want to treat ErrorUtils as a module so that other modules\n * that use it aren't just using a global variable, so simply export the global\n * variable here. ErrorUtils is originally defined in a file named error-guard.js.\n */\nexport default (global.ErrorUtils: ErrorUtilsT);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\nimport invariant from 'invariant';\n\n/**\n * Tries to stringify with JSON.stringify and toString, but catches exceptions\n * (e.g. from circular objects) and always returns a string and never throws.\n */\nexport function createStringifySafeWithLimits(limits: {\n maxDepth?: number,\n maxStringLimit?: number,\n maxArrayLimit?: number,\n maxObjectKeysLimit?: number,\n}): mixed => string {\n const {\n maxDepth = Number.POSITIVE_INFINITY,\n maxStringLimit = Number.POSITIVE_INFINITY,\n maxArrayLimit = Number.POSITIVE_INFINITY,\n maxObjectKeysLimit = Number.POSITIVE_INFINITY,\n } = limits;\n const stack: Array = [];\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n function replacer(key: string, value: mixed): mixed {\n while (stack.length && this !== stack[0]) {\n stack.shift();\n }\n\n if (typeof value === 'string') {\n const truncatedString = '...(truncated)...';\n if (value.length > maxStringLimit + truncatedString.length) {\n return value.substring(0, maxStringLimit) + truncatedString;\n }\n return value;\n }\n if (typeof value !== 'object' || value === null) {\n return value;\n }\n\n let retval: mixed = value;\n if (Array.isArray(value)) {\n if (stack.length >= maxDepth) {\n retval = `[ ... array with ${value.length} values ... ]`;\n } else if (value.length > maxArrayLimit) {\n retval = value\n .slice(0, maxArrayLimit)\n .concat([\n `... extra ${value.length - maxArrayLimit} values truncated ...`,\n ]);\n }\n } else {\n // Add refinement after Array.isArray call.\n invariant(typeof value === 'object', 'This was already found earlier');\n let keys = Object.keys(value);\n if (stack.length >= maxDepth) {\n retval = `{ ... object with ${keys.length} keys ... }`;\n } else if (keys.length > maxObjectKeysLimit) {\n // Return a sample of the keys.\n retval = ({}: {[string]: mixed});\n for (let k of keys.slice(0, maxObjectKeysLimit)) {\n retval[k] = value[k];\n }\n const truncatedKey = '...(truncated keys)...';\n retval[truncatedKey] = keys.length - maxObjectKeysLimit;\n }\n }\n stack.unshift(retval);\n return retval;\n }\n\n return function stringifySafe(arg: mixed): string {\n if (arg === undefined) {\n return 'undefined';\n } else if (arg === null) {\n return 'null';\n } else if (typeof arg === 'function') {\n try {\n return arg.toString();\n } catch (e) {\n return '[function unknown]';\n }\n } else if (arg instanceof Error) {\n return arg.name + ': ' + arg.message;\n } else {\n // Perform a try catch, just in case the object has a circular\n // reference or stringify throws for some other reason.\n try {\n const ret = JSON.stringify(arg, replacer);\n if (ret === undefined) {\n return '[\"' + typeof arg + '\" failed to stringify]';\n }\n return ret;\n } catch (e) {\n if (typeof arg.toString === 'function') {\n try {\n // $FlowFixMe[incompatible-use] : toString shouldn't take any arguments in general.\n return arg.toString();\n } catch (E) {}\n }\n }\n }\n return '[\"' + typeof arg + '\" failed to stringify]';\n };\n}\n\nconst stringifySafe: mixed => string = createStringifySafeWithLimits({\n maxDepth: 10,\n maxStringLimit: 100,\n maxArrayLimit: 50,\n maxObjectKeysLimit: 50,\n});\n\nexport default stringifySafe;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostInstance} from '../../../src/private/types/HostInstance';\nimport type {EventSubscription} from '../../vendor/emitter/EventEmitter';\n\nimport RCTDeviceEventEmitter from '../../EventEmitter/RCTDeviceEventEmitter';\nimport {sendAccessibilityEvent} from '../../ReactNative/RendererProxy';\nimport Platform from '../../Utilities/Platform';\nimport legacySendAccessibilityEvent from './legacySendAccessibilityEvent';\nimport NativeAccessibilityInfoAndroid from './NativeAccessibilityInfo';\nimport NativeAccessibilityInfo from './NativeAccessibilityInfo';\nimport NativeAccessibilityManagerIOS from './NativeAccessibilityManager';\n\n// Events that are only supported on Android.\ntype AccessibilityEventDefinitionsAndroid = {\n accessibilityServiceChanged: [boolean],\n highTextContrastChanged: [boolean],\n};\n\n// Events that are only supported on iOS.\ntype AccessibilityEventDefinitionsIOS = {\n announcementFinished: [{announcement: string, success: boolean}],\n boldTextChanged: [boolean],\n grayscaleChanged: [boolean],\n invertColorsChanged: [boolean],\n reduceTransparencyChanged: [boolean],\n darkerSystemColorsChanged: [boolean],\n};\n\ntype AccessibilityEventDefinitions = {\n ...AccessibilityEventDefinitionsAndroid,\n ...AccessibilityEventDefinitionsIOS,\n change: [boolean], // screenReaderChanged\n reduceMotionChanged: [boolean],\n screenReaderChanged: [boolean],\n};\n\ntype AccessibilityEventTypes = 'click' | 'focus' | 'viewHoverEnter';\n\n// Mapping of public event names to platform-specific event names.\nconst EventNames: Map<\n $Keys,\n string,\n> = Platform.OS === 'android'\n ? new Map([\n ['change', 'touchExplorationDidChange'],\n ['reduceMotionChanged', 'reduceMotionDidChange'],\n ['highTextContrastChanged', 'highTextContrastDidChange'],\n ['screenReaderChanged', 'touchExplorationDidChange'],\n ['accessibilityServiceChanged', 'accessibilityServiceDidChange'],\n ['invertColorsChanged', 'invertColorDidChange'],\n ['grayscaleChanged', 'grayscaleModeDidChange'],\n ])\n : Platform.OS === 'windows'\n ? new Map([\n ['change', 'TOUCH_EXPLORATION_EVENT'],\n ['reduceMotionChanged', 'REDUCE_MOTION_EVENT'],\n ['screenReaderChanged', 'TOUCH_EXPLORATION_EVENT'],\n ])\n : new Map([\n ['announcementFinished', 'announcementFinished'],\n ['boldTextChanged', 'boldTextChanged'],\n ['change', 'screenReaderChanged'],\n ['grayscaleChanged', 'grayscaleChanged'],\n ['invertColorsChanged', 'invertColorsChanged'],\n ['reduceMotionChanged', 'reduceMotionChanged'],\n ['reduceTransparencyChanged', 'reduceTransparencyChanged'],\n ['screenReaderChanged', 'screenReaderChanged'],\n ['darkerSystemColorsChanged', 'darkerSystemColorsChanged'],\n ]);\n\n/**\n * Sometimes it's useful to know whether or not the device has a screen reader\n * that is currently active. The `AccessibilityInfo` API is designed for this\n * purpose. You can use it to query the current state of the screen reader as\n * well as to register to be notified when the state of the screen reader\n * changes.\n *\n * See https://reactnative.dev/docs/accessibilityinfo\n */\nconst AccessibilityInfo = {\n /**\n * Query whether bold text is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when bold text is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#isBoldTextEnabled\n */\n isBoldTextEnabled(): Promise {\n if (Platform.OS === 'android' || Platform.OS === 'windows') {\n return Promise.resolve(false);\n } else {\n return new Promise((resolve, reject) => {\n if (NativeAccessibilityManagerIOS != null) {\n NativeAccessibilityManagerIOS.getCurrentBoldTextState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n });\n }\n },\n\n /**\n * Query whether grayscale is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when grayscale is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#isGrayscaleEnabled\n */\n isGrayscaleEnabled(): Promise {\n if (Platform.OS === 'android') {\n return new Promise((resolve, reject) => {\n if (NativeAccessibilityInfoAndroid?.isGrayscaleEnabled != null) {\n NativeAccessibilityInfoAndroid.isGrayscaleEnabled(resolve);\n } else {\n reject(null);\n }\n });\n } else if (Platform.OS === 'windows') {\n return Promise.resolve(false);\n } else {\n return new Promise((resolve, reject) => {\n if (NativeAccessibilityManagerIOS != null) {\n NativeAccessibilityManagerIOS.getCurrentGrayscaleState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n });\n }\n },\n\n /**\n * Query whether inverted colors are currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when invert color is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#isInvertColorsEnabled\n */\n isInvertColorsEnabled(): Promise {\n if (Platform.OS === 'android') {\n return new Promise((resolve, reject) => {\n if (NativeAccessibilityInfoAndroid?.isInvertColorsEnabled != null) {\n NativeAccessibilityInfoAndroid.isInvertColorsEnabled(resolve);\n } else {\n reject(null);\n }\n });\n } else if (Platform.OS === 'windows') {\n return Promise.resolve(false);\n } else {\n return new Promise((resolve, reject) => {\n if (NativeAccessibilityManagerIOS != null) {\n NativeAccessibilityManagerIOS.getCurrentInvertColorsState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n });\n }\n },\n\n /**\n * Query whether reduced motion is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a reduce motion is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#isReduceMotionEnabled\n */\n isReduceMotionEnabled(): Promise {\n return new Promise((resolve, reject) => {\n if (Platform.OS === 'android' || Platform.OS === 'windows') {\n if (NativeAccessibilityInfo != null) {\n NativeAccessibilityInfo.isReduceMotionEnabled(resolve);\n } else {\n reject(null);\n }\n } else {\n if (NativeAccessibilityManagerIOS != null) {\n NativeAccessibilityManagerIOS.getCurrentReduceMotionState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n }\n });\n },\n\n /**\n * Query whether high text contrast is currently enabled. Android only.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when high text contrast is enabled and `false` otherwise.\n */\n isHighTextContrastEnabled(): Promise {\n return new Promise((resolve, reject) => {\n if (Platform.OS === 'android') {\n if (NativeAccessibilityInfo?.isHighTextContrastEnabled != null) {\n NativeAccessibilityInfo.isHighTextContrastEnabled(resolve);\n } else {\n reject(null);\n }\n } else {\n return Promise.resolve(false);\n }\n });\n },\n\n /**\n * Query whether dark system colors is currently enabled. iOS only.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when dark system colors is enabled and `false` otherwise.\n */\n isDarkerSystemColorsEnabled(): Promise {\n return new Promise((resolve, reject) => {\n if (Platform.OS === 'android') {\n return Promise.resolve(false);\n } else {\n if (\n NativeAccessibilityManagerIOS?.getCurrentDarkerSystemColorsState !=\n null\n ) {\n NativeAccessibilityManagerIOS.getCurrentDarkerSystemColorsState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n }\n });\n },\n\n /**\n * Query whether reduce motion and prefer cross-fade transitions settings are currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when prefer cross-fade transitions is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#prefersCrossFadeTransitions\n */\n prefersCrossFadeTransitions(): Promise {\n return new Promise((resolve, reject) => {\n if (Platform.OS === 'android') {\n return Promise.resolve(false);\n } else {\n if (\n NativeAccessibilityManagerIOS?.getCurrentPrefersCrossFadeTransitionsState !=\n null\n ) {\n NativeAccessibilityManagerIOS.getCurrentPrefersCrossFadeTransitionsState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n }\n });\n },\n\n /**\n * Query whether reduced transparency is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a reduce transparency is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#isReduceTransparencyEnabled\n */\n isReduceTransparencyEnabled(): Promise {\n if (Platform.OS === 'android' || Platform.OS === 'windows') {\n return Promise.resolve(false);\n } else {\n return new Promise((resolve, reject) => {\n if (NativeAccessibilityManagerIOS != null) {\n NativeAccessibilityManagerIOS.getCurrentReduceTransparencyState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n });\n }\n },\n\n /**\n * Query whether a screen reader is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when a screen reader is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#isScreenReaderEnabled\n */\n isScreenReaderEnabled(): Promise {\n return new Promise((resolve, reject) => {\n if (Platform.OS === 'android' || Platform.OS === 'windows') {\n if (NativeAccessibilityInfo != null) {\n NativeAccessibilityInfo.isTouchExplorationEnabled(resolve);\n } else {\n reject(null);\n }\n } else {\n if (NativeAccessibilityManagerIOS != null) {\n NativeAccessibilityManagerIOS.getCurrentVoiceOverState(\n resolve,\n reject,\n );\n } else {\n reject(null);\n }\n }\n });\n },\n\n /**\n * Query whether Accessibility Service is currently enabled.\n *\n * Returns a promise which resolves to a boolean.\n * The result is `true` when any service is enabled and `false` otherwise.\n *\n * @platform android\n *\n * See https://reactnative.dev/docs/accessibilityinfo/#isaccessibilityserviceenabled-android\n */\n isAccessibilityServiceEnabled(): Promise {\n return new Promise((resolve, reject) => {\n if (Platform.OS === 'android') {\n if (\n NativeAccessibilityInfo != null &&\n NativeAccessibilityInfo.isAccessibilityServiceEnabled != null\n ) {\n NativeAccessibilityInfo.isAccessibilityServiceEnabled(resolve);\n } else {\n reject(null);\n }\n } else {\n reject(null);\n }\n });\n },\n\n /**\n * Add an event handler. Supported events:\n *\n * - `reduceMotionChanged`: Fires when the state of the reduce motion toggle changes.\n * The argument to the event handler is a boolean. The boolean is `true` when a reduce\n * motion is enabled (or when \"Transition Animation Scale\" in \"Developer options\" is\n * \"Animation off\") and `false` otherwise.\n * - `screenReaderChanged`: Fires when the state of the screen reader changes. The argument\n * to the event handler is a boolean. The boolean is `true` when a screen\n * reader is enabled and `false` otherwise.\n *\n * These events are only supported on iOS:\n *\n * - `boldTextChanged`: iOS-only event. Fires when the state of the bold text toggle changes.\n * The argument to the event handler is a boolean. The boolean is `true` when a bold text\n * is enabled and `false` otherwise.\n * - `grayscaleChanged`: iOS-only event. Fires when the state of the gray scale toggle changes.\n * The argument to the event handler is a boolean. The boolean is `true` when a gray scale\n * is enabled and `false` otherwise.\n * - `invertColorsChanged`: iOS-only event. Fires when the state of the invert colors toggle\n * changes. The argument to the event handler is a boolean. The boolean is `true` when a invert\n * colors is enabled and `false` otherwise.\n * - `reduceTransparencyChanged`: iOS-only event. Fires when the state of the reduce transparency\n * toggle changes. The argument to the event handler is a boolean. The boolean is `true`\n * when a reduce transparency is enabled and `false` otherwise.\n * - `announcementFinished`: iOS-only event. Fires when the screen reader has\n * finished making an announcement. The argument to the event handler is a\n * dictionary with these keys:\n * - `announcement`: The string announced by the screen reader.\n * - `success`: A boolean indicating whether the announcement was\n * successfully made.\n * - `darkerSystemColorsChanged`: iOS-only event. Fires when the state of the dark system colors\n * toggle changes. The argument to the event handler is a boolean. The boolean is `true` when\n * dark system colors is enabled and `false` otherwise.\n *\n * These events are only supported on Android:\n *\n * - `highTextContrastChanged`: Android-only event. Fires when the state of the high text contrast\n * toggle changes. The argument to the event handler is a boolean. The boolean is `true` when\n * high text contrast is enabled and `false` otherwise.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#addeventlistener\n */\n addEventListener>(\n eventName: K,\n // $FlowIssue[incompatible-type] - Flow bug with unions and generics (T128099423)\n handler: (...$ElementType) => void,\n ): EventSubscription {\n const deviceEventName = EventNames.get(eventName);\n return deviceEventName == null\n ? {remove(): void {}}\n : // $FlowFixMe[incompatible-call]\n RCTDeviceEventEmitter.addListener(deviceEventName, handler);\n },\n\n /**\n * Set accessibility focus to a React component.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#setaccessibilityfocus\n */\n setAccessibilityFocus(reactTag: number): void {\n legacySendAccessibilityEvent(reactTag, 'focus');\n },\n\n /**\n * Send a named accessibility event to a HostComponent.\n */\n sendAccessibilityEvent(\n handle: HostInstance,\n eventType: AccessibilityEventTypes,\n ) {\n // iOS only supports 'focus' event types\n if (Platform.OS === 'ios' && eventType === 'click') {\n return;\n }\n // route through React renderer to distinguish between Fabric and non-Fabric handles\n sendAccessibilityEvent(handle, eventType);\n },\n\n /**\n * Post a string to be announced by the screen reader.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#announceforaccessibility\n */\n announceForAccessibility(announcement: string): void {\n if (Platform.OS === 'android' || Platform.OS === 'windows') {\n NativeAccessibilityInfo?.announceForAccessibility(announcement);\n } else {\n NativeAccessibilityManagerIOS?.announceForAccessibility(announcement);\n }\n },\n\n /**\n * Post a string to be announced by the screen reader.\n * - `announcement`: The string announced by the screen reader.\n * - `options`: An object that configures the reading options.\n * - `queue`: The announcement will be queued behind existing announcements. iOS only.\n */\n announceForAccessibilityWithOptions(\n announcement: string,\n options: {queue?: boolean},\n ): void {\n if (Platform.OS === 'android' || Platform.OS === 'windows') {\n NativeAccessibilityInfo?.announceForAccessibility(announcement);\n } else {\n if (NativeAccessibilityManagerIOS?.announceForAccessibilityWithOptions) {\n NativeAccessibilityManagerIOS?.announceForAccessibilityWithOptions(\n announcement,\n options,\n );\n } else {\n NativeAccessibilityManagerIOS?.announceForAccessibility(announcement);\n }\n }\n },\n\n /**\n * Get the recommended timeout for changes to the UI needed by this user.\n *\n * See https://reactnative.dev/docs/accessibilityinfo#getrecommendedtimeoutmillis\n */\n getRecommendedTimeoutMillis(originalTimeout: number): Promise {\n if (Platform.OS === 'android' || Platform.OS === 'windows') {\n return new Promise((resolve, reject) => {\n if (NativeAccessibilityInfo?.getRecommendedTimeoutMillis) {\n NativeAccessibilityInfo.getRecommendedTimeoutMillis(\n originalTimeout,\n resolve,\n );\n } else {\n resolve(originalTimeout);\n }\n });\n } else {\n return Promise.resolve(originalTimeout);\n }\n },\n};\n\nexport default AccessibilityInfo;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {IEventEmitter} from '../vendor/emitter/EventEmitter';\n\nimport {beginEvent, endEvent} from '../Performance/Systrace';\nimport EventEmitter from '../vendor/emitter/EventEmitter';\n\n// FIXME: use typed events\n/* $FlowFixMe[unclear-type] unclear type of events */\ntype RCTDeviceEventDefinitions = {[name: string]: Array};\n\n/**\n * Global EventEmitter used by the native platform to emit events to JavaScript.\n * Events are identified by globally unique event names.\n *\n * NativeModules that emit events should instead subclass `NativeEventEmitter`.\n */\nclass RCTDeviceEventEmitterImpl extends EventEmitter {\n // Add systrace to RCTDeviceEventEmitter.emit method for debugging\n emit>(\n eventType: TEvent,\n ...args: RCTDeviceEventDefinitions[TEvent]\n ): void {\n beginEvent(() => `RCTDeviceEventEmitter.emit#${eventType}`);\n super.emit(eventType, ...args);\n endEvent();\n }\n}\nconst RCTDeviceEventEmitter: IEventEmitter =\n new RCTDeviceEventEmitterImpl();\n\nObject.defineProperty(global, '__rctDeviceEventEmitter', {\n configurable: true,\n value: RCTDeviceEventEmitter,\n});\n\nexport default (RCTDeviceEventEmitter: IEventEmitter);\n","var superPropBase = require(\"./superPropBase.js\");\nfunction _get() {\n return module.exports = _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) {\n var p = superPropBase(e, t);\n if (p) {\n var n = Object.getOwnPropertyDescriptor(p, t);\n return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value;\n }\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _get.apply(null, arguments);\n}\nmodule.exports = _get, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nfunction _superPropBase(t, o) {\n for (; !{}.hasOwnProperty.call(t, o) && null !== (t = getPrototypeOf(t)););\n return t;\n}\nmodule.exports = _superPropBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n// $FlowFixMe[unclear-type] unclear type of events\ntype UnsafeObject = Object;\n\nexport interface EventSubscription {\n remove(): void;\n}\n\nexport interface IEventEmitter<\n TEventToArgsMap: $ReadOnly>>,\n> {\n addListener>(\n eventType: TEvent,\n listener: (...args: TEventToArgsMap[TEvent]) => mixed,\n context?: mixed,\n ): EventSubscription;\n\n emit>(\n eventType: TEvent,\n ...args: TEventToArgsMap[TEvent]\n ): void;\n\n removeAllListeners>(eventType?: ?TEvent): void;\n\n listenerCount>(eventType: TEvent): number;\n}\n\ninterface Registration {\n +context: mixed;\n +listener: (...args: TArgs) => mixed;\n +remove: () => void;\n}\n\ntype Registry<\n TEventToArgsMap: $ReadOnly>>,\n> = {\n [K in keyof TEventToArgsMap]: Set>,\n};\n\n/**\n * EventEmitter manages listeners and publishes events to them.\n *\n * EventEmitter accepts a single type parameter that defines the valid events\n * and associated listener argument(s).\n *\n * @example\n *\n * const emitter = new EventEmitter<{\n * success: [number, string],\n * error: [Error],\n * }>();\n *\n * emitter.on('success', (statusCode, responseText) => {...});\n * emitter.emit('success', 200, '...');\n *\n * emitter.on('error', error => {...});\n * emitter.emit('error', new Error('Resource not found'));\n *\n */\nexport default class EventEmitter<\n TEventToArgsMap: $ReadOnly<\n Record>,\n > = $ReadOnly>>,\n> implements IEventEmitter\n{\n // $FlowFixMe[incompatible-type]\n #registry: Registry = {};\n\n /**\n * Registers a listener that is called when the supplied event is emitted.\n * Returns a subscription that has a `remove` method to undo registration.\n */\n addListener>(\n eventType: TEvent,\n listener: (...args: TEventToArgsMap[TEvent]) => mixed,\n context: mixed,\n ): EventSubscription {\n if (typeof listener !== 'function') {\n throw new TypeError(\n 'EventEmitter.addListener(...): 2nd argument must be a function.',\n );\n }\n const registrations = allocate<\n TEventToArgsMap,\n $Keys,\n TEventToArgsMap[TEvent],\n >(this.#registry, eventType);\n const registration: Registration = {\n context,\n listener,\n remove(): void {\n registrations.delete(registration);\n },\n };\n registrations.add(registration);\n return registration;\n }\n\n /**\n * Emits the supplied event. Additional arguments supplied to `emit` will be\n * passed through to each of the registered listeners.\n *\n * If a listener modifies the listeners registered for the same event, those\n * changes will not be reflected in the current invocation of `emit`.\n */\n emit>(\n eventType: TEvent,\n ...args: TEventToArgsMap[TEvent]\n ): void {\n const registrations: ?Set> =\n this.#registry[eventType];\n if (registrations != null) {\n // Copy `registrations` to take a snapshot when we invoke `emit`, in case\n // registrations are added or removed when listeners are invoked.\n for (const registration of Array.from(registrations)) {\n // $FlowFixMe[incompatible-call]\n registration.listener.apply(registration.context, args);\n }\n }\n }\n\n /**\n * Removes all registered listeners.\n */\n removeAllListeners>(\n eventType?: ?TEvent,\n ): void {\n if (eventType == null) {\n // $FlowFixMe[incompatible-type]\n this.#registry = {};\n } else {\n delete this.#registry[eventType];\n }\n }\n\n /**\n * Returns the number of registered listeners for the supplied event.\n */\n listenerCount>(eventType: TEvent): number {\n const registrations: ?Set> =\n this.#registry[eventType];\n return registrations == null ? 0 : registrations.size;\n }\n}\n\nfunction allocate<\n TEventToArgsMap: $ReadOnly>>,\n TEvent: $Keys,\n TEventArgs: TEventToArgsMap[TEvent],\n>(\n registry: Registry,\n eventType: TEvent,\n): Set> {\n let registrations: ?Set> =\n registry[eventType];\n if (registrations == null) {\n registrations = new Set();\n registry[eventType] = registrations;\n }\n return registrations;\n}\n","function _classPrivateFieldBase(e, t) {\n if (!{}.hasOwnProperty.call(e, t)) throw new TypeError(\"attempted to use private field on non-instance\");\n return e;\n}\nmodule.exports = _classPrivateFieldBase, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var id = 0;\nfunction _classPrivateFieldKey(e) {\n return \"__private_\" + id++ + \"_\" + e;\n}\nmodule.exports = _classPrivateFieldKey, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * @format\n * @flow strict\n */\n\nimport type {\n Platform as PlatformType,\n PlatformSelectSpec,\n} from './PlatformTypes';\n\nimport NativePlatformConstantsWin from './NativePlatformConstantsWin';\n\nconst Platform: PlatformType = {\n __constants: null,\n OS: 'windows',\n // $FlowFixMe[unsafe-getters-setters]\n get Version(): number {\n // $FlowFixMe[object-this-reference]\n return this.constants.osVersion;\n },\n // $FlowFixMe[unsafe-getters-setters]\n get constants(): {\n isTesting: boolean,\n isDisableAnimations?: boolean,\n reactNativeVersion: {\n major: number,\n minor: number,\n patch: number,\n prerelease: ?string,\n },\n reactNativeWindowsVersion: {\n // [Windows]\n major: number,\n minor: number,\n patch: number,\n },\n osVersion: number,\n } {\n // $FlowFixMe[object-this-reference]\n if (this.__constants == null) {\n // $FlowFixMe[object-this-reference]\n this.__constants = NativePlatformConstantsWin.getConstants();\n }\n // $FlowFixMe[object-this-reference]\n return this.__constants;\n },\n // $FlowFixMe[unsafe-getters-setters]\n get isTesting(): boolean {\n if (__DEV__) {\n // $FlowFixMe[object-this-reference]\n return this.constants.isTesting;\n }\n return false;\n },\n // $FlowFixMe[unsafe-getters-setters]\n get isDisableAnimations(): boolean {\n // $FlowFixMe[object-this-reference]\n return this.constants.isDisableAnimations ?? this.isTesting;\n },\n // $FlowFixMe[unsafe-getters-setters]\n get isTV(): boolean {\n // $FlowFixMe[object-this-reference]\n return false;\n },\n select: (spec: PlatformSelectSpec): T =>\n 'windows' in spec\n ? // $FlowFixMe[incompatible-return]\n spec.windows\n : 'native' in spec\n ? // $FlowFixMe[incompatible-return]\n spec.native\n : // $FlowFixMe[incompatible-return]\n spec.default,\n};\n\nexport default Platform;\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * @format\n * @flow strict\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativePlatformConstantsWindows';\nimport NativePlatformConstantsWin from '../../src/private/specs_DEPRECATED/modules/NativePlatformConstantsWindows';\nexport default NativePlatformConstantsWin;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport type ReactNativeVersionAndroid = {\n major: number,\n minor: number,\n patch: number,\n prerelease: ?string,\n};\n\nexport type PlatformConstantsWindows = {|\n isTesting: boolean,\n isDisableAnimations?: boolean,\n reactNativeVersion: ReactNativeVersionAndroid,\n reactNativeWindowsVersion: {|\n major: number,\n minor: number,\n patch: number,\n |},\n osVersion: number,\n|};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => PlatformConstantsWindows;\n}\n\nexport default (TurboModuleRegistry.getEnforcing(\n 'PlatformConstants',\n): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from './RCTExport';\n\nimport invariant from 'invariant';\n\nconst NativeModules = require('../BatchedBridge/NativeModules').default;\n\nconst turboModuleProxy = global.__turboModuleProxy;\n\nfunction requireModule(name: string): ?T {\n if (turboModuleProxy != null) {\n const module: ?T = turboModuleProxy(name);\n if (module != null) {\n return module;\n }\n }\n\n if (\n global.RN$Bridgeless !== true ||\n global.RN$TurboInterop === true ||\n global.RN$UnifiedNativeModuleProxy === true\n ) {\n const legacyModule: ?T = NativeModules[name];\n if (legacyModule != null) {\n return legacyModule;\n }\n }\n\n return null;\n}\n\nexport function get(name: string): ?T {\n return requireModule(name);\n}\n\nexport function getEnforcing(name: string): T {\n const module = requireModule(name);\n invariant(\n module != null,\n `TurboModuleRegistry.getEnforcing(...): '${name}' could not be found. ` +\n 'Verify that a module by this name is registered in the native binary.',\n );\n return module;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\nimport type {ExtendedError} from '../Core/ExtendedError';\n\nconst BatchedBridge = require('./BatchedBridge').default;\nconst invariant = require('invariant');\n\nexport type ModuleConfig = [\n string /* name */,\n ?{...} /* constants */,\n ?$ReadOnlyArray /* functions */,\n ?$ReadOnlyArray /* promise method IDs */,\n ?$ReadOnlyArray /* sync method IDs */,\n];\n\nexport type MethodType = 'async' | 'promise' | 'sync';\n\nfunction genModule(\n config: ?ModuleConfig,\n moduleID: number,\n): ?{\n name: string,\n module?: {...},\n ...\n} {\n if (!config) {\n return null;\n }\n\n const [moduleName, constants, methods, promiseMethods, syncMethods] = config;\n invariant(\n !moduleName.startsWith('RCT') && !moduleName.startsWith('RK'),\n \"Module name prefixes should've been stripped by the native side \" +\n \"but wasn't for \" +\n moduleName,\n );\n\n if (!constants && !methods) {\n // Module contents will be filled in lazily later\n return {name: moduleName};\n }\n\n const module: {[string]: mixed} = {};\n methods &&\n methods.forEach((methodName, methodID) => {\n const isPromise =\n (promiseMethods && arrayContains(promiseMethods, methodID)) || false;\n const isSync =\n (syncMethods && arrayContains(syncMethods, methodID)) || false;\n invariant(\n !isPromise || !isSync,\n 'Cannot have a method that is both async and a sync hook',\n );\n const methodType = isPromise ? 'promise' : isSync ? 'sync' : 'async';\n module[methodName] = genMethod(moduleID, methodID, methodType);\n });\n\n Object.assign(module, constants);\n\n if (module.getConstants == null) {\n module.getConstants = () => constants || Object.freeze({});\n } else {\n console.warn(\n `Unable to define method 'getConstants()' on NativeModule '${moduleName}'. NativeModule '${moduleName}' already has a constant or method called 'getConstants'. Please remove it.`,\n );\n }\n\n if (__DEV__) {\n BatchedBridge.createDebugLookup(moduleID, moduleName, methods);\n }\n\n return {name: moduleName, module};\n}\n\n// export this method as a global so we can call it from native\nglobal.__fbGenNativeModule = genModule;\n\nfunction loadModule(name: string, moduleID: number): ?{...} {\n invariant(\n global.nativeRequireModuleConfig,\n \"Can't lazily create module without nativeRequireModuleConfig\",\n );\n const config = global.nativeRequireModuleConfig(name);\n const info = genModule(config, moduleID);\n return info && info.module;\n}\n\nfunction genMethod(moduleID: number, methodID: number, type: MethodType) {\n let fn = null;\n if (type === 'promise') {\n fn = function promiseMethodWrapper(...args: Array) {\n // In case we reject, capture a useful stack trace here.\n /* $FlowFixMe[class-object-subtyping] added when improving typing for\n * this parameters */\n // $FlowFixMe[incompatible-type]\n const enqueueingFrameError: ExtendedError = new Error();\n return new Promise((resolve, reject) => {\n BatchedBridge.enqueueNativeCall(\n moduleID,\n methodID,\n args,\n data => resolve(data),\n errorData =>\n reject(\n updateErrorWithErrorData(\n (errorData: $FlowFixMe),\n enqueueingFrameError,\n ),\n ),\n );\n });\n };\n } else {\n fn = function nonPromiseMethodWrapper(...args: Array) {\n const lastArg = args.length > 0 ? args[args.length - 1] : null;\n const secondLastArg = args.length > 1 ? args[args.length - 2] : null;\n const hasSuccessCallback = typeof lastArg === 'function';\n const hasErrorCallback = typeof secondLastArg === 'function';\n hasErrorCallback &&\n invariant(\n hasSuccessCallback,\n 'Cannot have a non-function arg after a function arg.',\n );\n // $FlowFixMe[incompatible-type]\n const onSuccess: ?(mixed) => void = hasSuccessCallback ? lastArg : null;\n // $FlowFixMe[incompatible-type]\n const onFail: ?(mixed) => void = hasErrorCallback ? secondLastArg : null;\n // $FlowFixMe[unsafe-addition]\n const callbackCount = hasSuccessCallback + hasErrorCallback;\n const newArgs = args.slice(0, args.length - callbackCount);\n if (type === 'sync') {\n return BatchedBridge.callNativeSyncHook(\n moduleID,\n methodID,\n newArgs,\n onFail,\n onSuccess,\n );\n } else {\n BatchedBridge.enqueueNativeCall(\n moduleID,\n methodID,\n newArgs,\n onFail,\n onSuccess,\n );\n }\n };\n }\n // $FlowFixMe[prop-missing]\n fn.type = type;\n return fn;\n}\n\nfunction arrayContains(array: $ReadOnlyArray, value: T): boolean {\n return array.indexOf(value) !== -1;\n}\n\nfunction updateErrorWithErrorData(\n errorData: {message: string, ...},\n error: ExtendedError,\n): ExtendedError {\n /* $FlowFixMe[class-object-subtyping] added when improving typing for this\n * parameters */\n // $FlowFixMe[incompatible-return]\n return Object.assign(error, errorData || {});\n}\n\n/* $FlowFixMe[unclear-type] unclear type of NativeModules */\nlet NativeModules: {[moduleName: string]: any, ...} = {};\nif (global.nativeModuleProxy) {\n NativeModules = global.nativeModuleProxy;\n} else {\n const bridgeConfig = global.__fbBatchedBridgeConfig;\n invariant(\n bridgeConfig,\n '__fbBatchedBridgeConfig is not set, cannot invoke native modules',\n );\n\n const defineLazyObjectProperty =\n require('../Utilities/defineLazyObjectProperty').default;\n (bridgeConfig.remoteModuleConfig || []).forEach(\n (config: ModuleConfig, moduleID: number) => {\n // Initially this config will only contain the module name when running in JSC. The actual\n // configuration of the module will be lazily loaded.\n const info = genModule(config, moduleID);\n if (!info) {\n return;\n }\n\n if (info.module) {\n NativeModules[info.name] = info.module;\n }\n // If there's no module config, define a lazy getter\n else {\n defineLazyObjectProperty(NativeModules, info.name, {\n get: () => loadModule(info.name, moduleID),\n });\n }\n },\n );\n}\n\nexport default NativeModules;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\n/**\n * Defines a lazily evaluated property on the supplied `object`.\n */\nfunction defineLazyObjectProperty(\n object: interface {},\n name: string,\n descriptor: {\n get: () => T,\n enumerable?: boolean,\n writable?: boolean,\n ...\n },\n): void {\n const {get} = descriptor;\n const enumerable = descriptor.enumerable !== false;\n const writable = descriptor.writable !== false;\n\n let value;\n let valueSet = false;\n function getValue(): T {\n // WORKAROUND: A weird infinite loop occurs where calling `getValue` calls\n // `setValue` which calls `Object.defineProperty` which somehow triggers\n // `getValue` again. Adding `valueSet` breaks this loop.\n if (!valueSet) {\n // Calling `get()` here can trigger an infinite loop if it fails to\n // remove the getter on the property, which can happen when executing\n // JS in a V8 context. `valueSet = true` will break this loop, and\n // sets the value of the property to undefined, until the code in `get()`\n // finishes, at which point the property is set to the correct value.\n valueSet = true;\n setValue(get());\n }\n return value;\n }\n function setValue(newValue: T): void {\n value = newValue;\n valueSet = true;\n Object.defineProperty(object, name, {\n value: newValue,\n configurable: true,\n enumerable,\n writable,\n });\n }\n\n Object.defineProperty(object, name, {\n get: getValue,\n set: setValue,\n configurable: true,\n enumerable,\n });\n}\n\nexport default defineLazyObjectProperty;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport UIManager from '../../ReactNative/UIManager';\nimport nullthrows from 'nullthrows';\n\n/**\n * This is a function exposed to the React Renderer that can be used by the\n * pre-Fabric renderer to emit accessibility events to pre-Fabric nodes.\n */\nfunction legacySendAccessibilityEvent(\n reactTag: number,\n eventType: string,\n): void {\n if (eventType === 'focus') {\n nullthrows(UIManager.sendAccessibilityEvent)(\n reactTag,\n UIManager.getConstants().AccessibilityEventTypes.typeViewFocused,\n );\n }\n if (eventType === 'click') {\n nullthrows(UIManager.sendAccessibilityEvent)(\n reactTag,\n UIManager.getConstants().AccessibilityEventTypes.typeViewClicked,\n );\n }\n}\n\nexport default legacySendAccessibilityEvent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {UIManagerJSInterface} from '../Types/UIManagerJSInterface';\n\nimport {getFabricUIManager} from './FabricUIManager';\nimport nullthrows from 'nullthrows';\n\nfunction isFabricReactTag(reactTag: number): boolean {\n // React reserves even numbers for Fabric.\n return reactTag % 2 === 0;\n}\n\nconst UIManagerImpl: UIManagerJSInterface =\n global.RN$Bridgeless === true\n ? require('./BridgelessUIManager').default\n : require('./PaperUIManager').default;\n\n// $FlowFixMe[cannot-spread-interface]\nconst UIManager: UIManagerJSInterface = {\n ...UIManagerImpl,\n measure(\n reactTag: number,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n pageX: number,\n pageY: number,\n ) => void,\n ): void {\n if (isFabricReactTag(reactTag)) {\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n if (shadowNode) {\n FabricUIManager.measure(shadowNode, callback);\n } else {\n console.warn(`measure cannot find view with tag #${reactTag}`);\n // $FlowFixMe[incompatible-call]\n callback();\n }\n } else {\n // Paper\n UIManagerImpl.measure(reactTag, callback);\n }\n },\n\n measureInWindow(\n reactTag: number,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ): void {\n if (isFabricReactTag(reactTag)) {\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n if (shadowNode) {\n FabricUIManager.measureInWindow(shadowNode, callback);\n } else {\n console.warn(`measure cannot find view with tag #${reactTag}`);\n // $FlowFixMe[incompatible-call]\n callback();\n }\n } else {\n // Paper\n UIManagerImpl.measureInWindow(reactTag, callback);\n }\n },\n\n measureLayout(\n reactTag: number,\n ancestorReactTag: number,\n errorCallback: (error: Object) => void,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ): void {\n if (isFabricReactTag(reactTag)) {\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n const ancestorShadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(ancestorReactTag);\n\n if (!shadowNode || !ancestorShadowNode) {\n return;\n }\n\n FabricUIManager.measureLayout(\n shadowNode,\n ancestorShadowNode,\n errorCallback,\n callback,\n );\n } else {\n // Paper\n UIManagerImpl.measureLayout(\n reactTag,\n ancestorReactTag,\n errorCallback,\n callback,\n );\n }\n },\n\n measureLayoutRelativeToParent(\n reactTag: number,\n errorCallback: (error: Object) => void,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ): void {\n if (isFabricReactTag(reactTag)) {\n console.warn(\n 'RCTUIManager.measureLayoutRelativeToParent method is deprecated and it will not be implemented in newer versions of RN (Fabric) - T47686450',\n );\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n if (shadowNode) {\n FabricUIManager.measure(\n shadowNode,\n (left, top, width, height, pageX, pageY) => {\n callback(left, top, width, height);\n },\n );\n }\n } else {\n // Paper\n UIManagerImpl.measureLayoutRelativeToParent(\n reactTag,\n errorCallback,\n callback,\n );\n }\n },\n\n dispatchViewManagerCommand(\n reactTag: number,\n commandName: number | string,\n commandArgs: any[],\n ) {\n // Sometimes, libraries directly pass in the output of `findNodeHandle` to\n // this function without checking if it's null. This guards against that\n // case. We throw early here in Javascript so we can get a JS stacktrace\n // instead of a harder-to-debug native Java or Objective-C stacktrace.\n if (typeof reactTag !== 'number') {\n throw new Error('dispatchViewManagerCommand: found null reactTag');\n }\n\n if (isFabricReactTag(reactTag)) {\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n if (shadowNode) {\n // Transform the accidental CommandID into a CommandName which is the stringified number.\n // The interop layer knows how to convert this number into the right method name.\n // Stringify a string is a no-op, so it's safe.\n commandName = `${commandName}`;\n FabricUIManager.dispatchCommand(shadowNode, commandName, commandArgs);\n }\n } else {\n UIManagerImpl.dispatchViewManagerCommand(\n reactTag,\n // We have some legacy components that are actually already using strings. ¯\\_(ツ)_/¯\n // $FlowFixMe[incompatible-call]\n commandName,\n commandArgs,\n );\n }\n },\n};\n\nexport default UIManager;\n","'use strict';\n\nfunction nullthrows(x, message) {\n if (x != null) {\n return x;\n }\n var error = new Error(message !== undefined ? message : 'Got unexpected ' + x);\n error.framesToPop = 1; // Skip nullthrows's own stack frame.\n throw error;\n}\n\nmodule.exports = nullthrows;\nmodule.exports.default = nullthrows;\n\nObject.defineProperty(module.exports, '__esModule', {value: true});\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {RootTag} from '../Types/RootTagTypes';\nimport type {UIManagerJSInterface} from '../Types/UIManagerJSInterface';\n\nimport {unstable_hasComponent} from '../NativeComponent/NativeComponentRegistryUnstable';\nimport defineLazyObjectProperty from '../Utilities/defineLazyObjectProperty';\nimport Platform from '../Utilities/Platform';\nimport {getFabricUIManager} from './FabricUIManager';\nimport nullthrows from 'nullthrows';\n\nfunction raiseSoftError(methodName: string, details?: string): void {\n console.error(\n `[ReactNative Architecture][JS] '${methodName}' is not available in the new React Native architecture.` +\n (details ? ` ${details}` : ''),\n );\n}\n\nconst getUIManagerConstants: ?() => {[viewManagerName: string]: Object} =\n global.RN$LegacyInterop_UIManager_getConstants;\n\nconst getUIManagerConstantsCached = (function () {\n let wasCalledOnce = false;\n let result = {};\n return (): {[viewManagerName: string]: Object} => {\n if (!wasCalledOnce) {\n result = nullthrows(getUIManagerConstants)();\n wasCalledOnce = true;\n }\n return result;\n };\n})();\n\nconst getConstantsForViewManager: ?(viewManagerName: string) => ?Object =\n global.RN$LegacyInterop_UIManager_getConstantsForViewManager;\n\nconst getDefaultEventTypes: ?() => Object =\n global.RN$LegacyInterop_UIManager_getDefaultEventTypes;\n\nconst getDefaultEventTypesCached = (function () {\n let wasCalledOnce = false;\n let result = null;\n return (): Object => {\n if (!wasCalledOnce) {\n result = nullthrows(getDefaultEventTypes)();\n wasCalledOnce = true;\n }\n return result;\n };\n})();\n\n/**\n * UIManager.js overrides these APIs.\n * Pull them out from the BridgelessUIManager implementation. So, we can ignore them.\n */\nconst UIManagerJSOverridenAPIs = {\n measure: (\n reactTag: number,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n pageX: number,\n pageY: number,\n ) => void,\n ): void => {\n raiseSoftError('measure');\n },\n measureInWindow: (\n reactTag: number,\n callback: (x: number, y: number, width: number, height: number) => void,\n ): void => {\n raiseSoftError('measureInWindow');\n },\n measureLayout: (\n reactTag: number,\n ancestorReactTag: number,\n errorCallback: (error: Object) => void,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ): void => {\n raiseSoftError('measureLayout');\n },\n measureLayoutRelativeToParent: (\n reactTag: number,\n errorCallback: (error: Object) => void,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ): void => {\n raiseSoftError('measureLayoutRelativeToParent');\n },\n dispatchViewManagerCommand: (\n reactTag: number,\n commandID: number,\n commandArgs: ?Array,\n ): void => {\n raiseSoftError('dispatchViewManagerCommand');\n },\n};\n\n/**\n * Leave Unimplemented: The only thing that called these methods was the paper renderer.\n * In OSS, the New Architecture will just use the Fabric renderer, which uses\n * different APIs.\n */\nconst UIManagerJSUnusedInNewArchAPIs = {\n createView: (\n reactTag: number,\n viewName: string,\n rootTag: RootTag,\n props: Object,\n ): void => {\n raiseSoftError('createView');\n },\n updateView: (reactTag: number, viewName: string, props: Object): void => {\n raiseSoftError('updateView');\n },\n setChildren: (containerTag: number, reactTags: Array): void => {\n raiseSoftError('setChildren');\n },\n manageChildren: (\n containerTag: number,\n moveFromIndices: Array,\n moveToIndices: Array,\n addChildReactTags: Array,\n addAtIndices: Array,\n removeAtIndices: Array,\n ): void => {\n raiseSoftError('manageChildren');\n },\n setJSResponder: (reactTag: number, blockNativeResponder: boolean): void => {\n raiseSoftError('setJSResponder');\n },\n clearJSResponder: (): void => {\n raiseSoftError('clearJSResponder');\n },\n};\n\n/**\n * Leave unimplemented: These APIs are deprecated in UIManager. We will eventually remove\n * them from React Native.\n */\nconst UIManagerJSDeprecatedPlatformAPIs = Platform.select({\n android: {},\n});\n\nconst UIManagerJSPlatformAPIs = Platform.select({\n android: {\n getConstantsForViewManager: (viewManagerName: string): ?Object => {\n if (getConstantsForViewManager) {\n return getConstantsForViewManager(viewManagerName);\n }\n\n raiseSoftError('getConstantsForViewManager');\n return {};\n },\n getDefaultEventTypes: (): Array => {\n if (getDefaultEventTypes) {\n return getDefaultEventTypesCached();\n }\n\n raiseSoftError('getDefaultEventTypes');\n return [];\n },\n setLayoutAnimationEnabledExperimental: (enabled: boolean): void => {\n if (__DEV__) {\n console.warn(\n 'setLayoutAnimationEnabledExperimental is currently a no-op in the New Architecture.',\n );\n }\n },\n sendAccessibilityEvent: (reactTag: number, eventType: number): void => {\n // Keep this in sync with java:FabricUIManager.sendAccessibilityEventFromJS\n // and legacySendAccessibilityEvent.android.js\n const AccessibilityEvent = {\n TYPE_VIEW_FOCUSED: 0x00000008,\n TYPE_WINDOW_STATE_CHANGED: 0x00000020,\n TYPE_VIEW_CLICKED: 0x00000001,\n TYPE_VIEW_HOVER_ENTER: 0x00000080,\n };\n\n let eventName = null;\n if (eventType === AccessibilityEvent.TYPE_VIEW_FOCUSED) {\n eventName = 'focus';\n } else if (eventType === AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED) {\n eventName = 'windowStateChange';\n } else if (eventType === AccessibilityEvent.TYPE_VIEW_CLICKED) {\n eventName = 'click';\n } else if (eventType === AccessibilityEvent.TYPE_VIEW_HOVER_ENTER) {\n eventName = 'viewHoverEnter';\n } else {\n console.error(\n `sendAccessibilityEvent() dropping event: Called with unsupported eventType: ${eventType}`,\n );\n return;\n }\n\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n if (!shadowNode) {\n console.error(\n `sendAccessibilityEvent() dropping event: Cannot find view with tag #${reactTag}`,\n );\n return;\n }\n\n FabricUIManager.sendAccessibilityEvent(shadowNode, eventName);\n },\n },\n ios: {\n /**\n * TODO(T174674274): Implement lazy loading of legacy view managers in the new architecture.\n *\n * Leave this unimplemented until we implement lazy loading of legacy modules and view managers in the new architecture.\n */\n lazilyLoadView: (name: string): Object => {\n raiseSoftError('lazilyLoadView');\n return {};\n },\n focus: (reactTag: number): void => {\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n if (!shadowNode) {\n console.error(`focus() noop: Cannot find view with tag #${reactTag}`);\n return;\n }\n FabricUIManager.dispatchCommand(shadowNode, 'focus', []);\n },\n blur: (reactTag: number): void => {\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n if (!shadowNode) {\n console.error(`blur() noop: Cannot find view with tag #${reactTag}`);\n return;\n }\n FabricUIManager.dispatchCommand(shadowNode, 'blur', []);\n },\n },\n});\n\nconst UIManagerJS: UIManagerJSInterface & {[string]: any} = {\n ...UIManagerJSOverridenAPIs,\n ...UIManagerJSDeprecatedPlatformAPIs,\n ...UIManagerJSPlatformAPIs,\n ...UIManagerJSUnusedInNewArchAPIs,\n getViewManagerConfig: (viewManagerName: string): mixed => {\n if (getUIManagerConstants) {\n const constants = getUIManagerConstantsCached();\n if (\n !constants[viewManagerName] &&\n UIManagerJS.getConstantsForViewManager\n ) {\n constants[viewManagerName] =\n UIManagerJS.getConstantsForViewManager(viewManagerName);\n }\n return constants[viewManagerName];\n } else {\n raiseSoftError(\n `getViewManagerConfig('${viewManagerName}')`,\n `If '${viewManagerName}' has a ViewManager and you want to retrieve its native ViewConfig, please turn on the native ViewConfig interop layer. If you want to see if this component is registered with React Native, please call hasViewManagerConfig('${viewManagerName}') instead.`,\n );\n return null;\n }\n },\n hasViewManagerConfig: (viewManagerName: string): boolean => {\n return unstable_hasComponent(viewManagerName);\n },\n getConstants: (): Object => {\n if (getUIManagerConstants) {\n return getUIManagerConstantsCached();\n } else {\n raiseSoftError('getConstants');\n return null;\n }\n },\n findSubviewIn: (\n reactTag: number,\n point: Array,\n callback: (\n nativeViewTag: number,\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ): void => {\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode = FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n\n if (!shadowNode) {\n console.error(\n `findSubviewIn() noop: Cannot find view with reactTag ${reactTag}`,\n );\n return;\n }\n\n FabricUIManager.findNodeAtPoint(\n shadowNode,\n point[0],\n point[1],\n function (internalInstanceHandle) {\n if (internalInstanceHandle == null) {\n console.error('findSubviewIn(): Cannot find node at point');\n return;\n }\n\n let instanceHandle: Object = internalInstanceHandle;\n let node = instanceHandle.stateNode.node;\n\n if (!node) {\n console.error('findSubviewIn(): Cannot find node at point');\n return;\n }\n\n let nativeViewTag: number =\n instanceHandle.stateNode.canonical.nativeTag;\n\n FabricUIManager.measure(\n node,\n function (x, y, width, height, pageX, pageY) {\n callback(nativeViewTag, pageX, pageY, width, height);\n },\n );\n },\n );\n },\n viewIsDescendantOf: (\n reactTag: number,\n ancestorReactTag: number,\n callback: (result: Array) => void,\n ): void => {\n const FabricUIManager = nullthrows(getFabricUIManager());\n const shadowNode = FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);\n if (!shadowNode) {\n console.error(\n `viewIsDescendantOf() noop: Cannot find view with reactTag ${reactTag}`,\n );\n return;\n }\n\n const ancestorShadowNode =\n FabricUIManager.findShadowNodeByTag_DEPRECATED(ancestorReactTag);\n if (!ancestorShadowNode) {\n console.error(\n `viewIsDescendantOf() noop: Cannot find view with ancestorReactTag ${ancestorReactTag}`,\n );\n return;\n }\n\n // Keep this in sync with ReadOnlyNode.js\n const DOCUMENT_POSITION_CONTAINED_BY = 16;\n\n let result = FabricUIManager.compareDocumentPosition(\n ancestorShadowNode,\n shadowNode,\n );\n\n // eslint-disable-next-line no-bitwise\n let isAncestor = (result & DOCUMENT_POSITION_CONTAINED_BY) !== 0;\n\n callback([isAncestor]);\n },\n configureNextLayoutAnimation: (\n config: Object,\n callback: () => void,\n errorCallback: (error: Object) => void,\n ): void => {\n const FabricUIManager = nullthrows(getFabricUIManager());\n FabricUIManager.configureNextLayoutAnimation(\n config,\n callback,\n errorCallback,\n );\n },\n};\n\nif (getUIManagerConstants) {\n Object.keys(getUIManagerConstantsCached()).forEach(viewConfigName => {\n UIManagerJS[viewConfigName] = getUIManagerConstantsCached()[viewConfigName];\n });\n\n if (UIManagerJS.getConstants().ViewManagerNames) {\n UIManagerJS.getConstants().ViewManagerNames.forEach(viewManagerName => {\n defineLazyObjectProperty(UIManagerJS, viewManagerName, {\n get: () =>\n nullthrows(UIManagerJS.getConstantsForViewManager)(viewManagerName),\n });\n });\n }\n}\n\nexport default UIManagerJS;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport type {\n MeasureInWindowOnSuccessCallback,\n MeasureLayoutOnSuccessCallback,\n MeasureOnSuccessCallback,\n} from '../../src/private/types/HostInstance';\nimport type {NativeElementReference} from '../../src/private/webapis/dom/nodes/specs/NativeDOM';\nimport type {\n InternalInstanceHandle,\n LayoutAnimationConfig,\n Node,\n} from '../Renderer/shims/ReactNativeTypes';\nimport type {RootTag} from '../Types/RootTagTypes';\n\nimport defineLazyObjectProperty from '../Utilities/defineLazyObjectProperty';\n\nexport type NodeSet = Array;\nexport type NodeProps = {...};\nexport interface Spec {\n +createNode: (\n reactTag: number,\n viewName: string,\n rootTag: RootTag,\n props: NodeProps,\n instanceHandle: InternalInstanceHandle,\n ) => Node;\n +cloneNode: (node: Node) => Node;\n +cloneNodeWithNewChildren: (node: Node) => Node;\n +cloneNodeWithNewProps: (node: Node, newProps: NodeProps) => Node;\n +cloneNodeWithNewChildrenAndProps: (node: Node, newProps: NodeProps) => Node;\n +createChildSet: (rootTag: RootTag) => NodeSet;\n +appendChild: (parentNode: Node, child: Node) => Node;\n +appendChildToSet: (childSet: NodeSet, child: Node) => void;\n +completeRoot: (rootTag: RootTag, childSet: NodeSet) => void;\n +measure: (\n node: Node | NativeElementReference,\n callback: MeasureOnSuccessCallback,\n ) => void;\n +measureInWindow: (\n node: Node | NativeElementReference,\n callback: MeasureInWindowOnSuccessCallback,\n ) => void;\n +measureLayout: (\n node: Node | NativeElementReference,\n relativeNode: Node | NativeElementReference,\n onFail: () => void,\n onSuccess: MeasureLayoutOnSuccessCallback,\n ) => void;\n +configureNextLayoutAnimation: (\n config: LayoutAnimationConfig,\n callback: () => void, // check what is returned here\n errorCallback: () => void,\n ) => void;\n +sendAccessibilityEvent: (node: Node, eventType: string) => void;\n +findShadowNodeByTag_DEPRECATED: (reactTag: number) => ?Node;\n +setNativeProps: (\n node: Node | NativeElementReference,\n newProps: NodeProps,\n ) => void;\n +dispatchCommand: (\n node: Node,\n commandName: string,\n args: Array,\n ) => void;\n +findNodeAtPoint: (\n node: Node,\n locationX: number,\n locationY: number,\n callback: (instanceHandle: ?InternalInstanceHandle) => void,\n ) => void;\n +compareDocumentPosition: (\n node: Node | NativeElementReference,\n otherNode: Node | NativeElementReference,\n ) => number;\n +getBoundingClientRect: (\n node: Node | NativeElementReference,\n includeTransform: boolean,\n ) => ?[\n /* x: */ number,\n /* y: */ number,\n /* width: */ number,\n /* height: */ number,\n ];\n}\n\nlet nativeFabricUIManagerProxy: ?Spec;\n\n// This is a list of all the methods in global.nativeFabricUIManager that we'll\n// cache in JavaScript, as the current implementation of the binding\n// creates a new host function every time methods are accessed.\nconst CACHED_PROPERTIES = [\n 'createNode',\n 'cloneNode',\n 'cloneNodeWithNewChildren',\n 'cloneNodeWithNewProps',\n 'cloneNodeWithNewChildrenAndProps',\n 'createChildSet',\n 'appendChild',\n 'appendChildToSet',\n 'completeRoot',\n 'measure',\n 'measureInWindow',\n 'measureLayout',\n 'configureNextLayoutAnimation',\n 'sendAccessibilityEvent',\n 'findShadowNodeByTag_DEPRECATED',\n 'setNativeProps',\n 'dispatchCommand',\n 'compareDocumentPosition',\n 'getBoundingClientRect',\n];\n\n// This is exposed as a getter because apps using the legacy renderer AND\n// Fabric can define the binding lazily. If we evaluated the global and cached\n// it in the module we might be caching an `undefined` value before it is set.\nexport function getFabricUIManager(): ?Spec {\n if (\n nativeFabricUIManagerProxy == null &&\n global.nativeFabricUIManager != null\n ) {\n nativeFabricUIManagerProxy = createProxyWithCachedProperties(\n global.nativeFabricUIManager,\n CACHED_PROPERTIES,\n );\n }\n return nativeFabricUIManagerProxy;\n}\n\n/**\n *\n * Returns an object that caches the specified properties the first time they\n * are accessed, and falls back to the original object for other properties.\n */\nfunction createProxyWithCachedProperties(\n implementation: Spec,\n propertiesToCache: $ReadOnlyArray,\n): Spec {\n const proxy = Object.create(implementation);\n for (const propertyName of propertiesToCache) {\n defineLazyObjectProperty(proxy, propertyName, {\n // $FlowExpectedError[prop-missing]\n get: () => implementation[propertyName],\n });\n }\n return proxy;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nlet componentNameToExists: Map = new Map();\n\n/**\n * Unstable API. Do not use!\n *\n * This method returns if the component with name received as a parameter\n * is registered in the native platform.\n */\nexport function unstable_hasComponent(name: string): boolean {\n let hasNativeComponent = componentNameToExists.get(name);\n if (hasNativeComponent == null) {\n if (global.__nativeComponentRegistry__hasComponent) {\n hasNativeComponent = global.__nativeComponentRegistry__hasComponent(name);\n componentNameToExists.set(name, hasNativeComponent);\n } else {\n throw `unstable_hasComponent('${name}'): Global function is not registered`;\n }\n }\n return hasNativeComponent;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {RootTag} from '../Types/RootTagTypes';\nimport type {UIManagerJSInterface} from '../Types/UIManagerJSInterface';\n\nimport NativeUIManager from './NativeUIManager';\nimport nullthrows from 'nullthrows';\n\nconst NativeModules = require('../BatchedBridge/NativeModules').default;\nconst defineLazyObjectProperty =\n require('../Utilities/defineLazyObjectProperty').default;\nconst Platform = require('../Utilities/Platform').default;\nconst UIManagerProperties = require('./UIManagerProperties').default;\n\nconst viewManagerConfigs: {[string]: any | null} = {};\n\nconst triedLoadingConfig = new Set();\n\nlet NativeUIManagerConstants = {};\nlet isNativeUIManagerConstantsSet = false;\nfunction getConstants(): Object {\n if (!isNativeUIManagerConstantsSet) {\n NativeUIManagerConstants = NativeUIManager.getConstants();\n isNativeUIManagerConstantsSet = true;\n }\n return NativeUIManagerConstants;\n}\n\nfunction getViewManagerConfig(viewManagerName: string): any {\n if (\n viewManagerConfigs[viewManagerName] === undefined &&\n NativeUIManager.getConstantsForViewManager\n ) {\n try {\n viewManagerConfigs[viewManagerName] =\n NativeUIManager.getConstantsForViewManager(viewManagerName);\n } catch (e) {\n console.error(\n \"NativeUIManager.getConstantsForViewManager('\" +\n viewManagerName +\n \"') threw an exception.\",\n e,\n );\n viewManagerConfigs[viewManagerName] = null;\n }\n }\n\n const config = viewManagerConfigs[viewManagerName];\n if (config) {\n return config;\n }\n\n // If we're in the Chrome Debugger, let's not even try calling the sync\n // method.\n if (!global.nativeCallSyncHook) {\n return config;\n }\n\n if (\n NativeUIManager.lazilyLoadView &&\n !triedLoadingConfig.has(viewManagerName)\n ) {\n const result = nullthrows(NativeUIManager.lazilyLoadView)(viewManagerName);\n triedLoadingConfig.add(viewManagerName);\n if (result != null && result.viewConfig != null) {\n getConstants()[viewManagerName] = result.viewConfig;\n lazifyViewManagerConfig(viewManagerName);\n }\n }\n\n return viewManagerConfigs[viewManagerName];\n}\n\n// $FlowFixMe[cannot-spread-interface]\nconst UIManagerJS: UIManagerJSInterface = {\n ...NativeUIManager,\n createView(\n reactTag: number,\n viewName: string,\n rootTag: RootTag,\n props: Object,\n ): void {\n if (Platform.OS === 'ios' && viewManagerConfigs[viewName] === undefined) {\n // This is necessary to force the initialization of native viewManager\n // classes in iOS when using static ViewConfigs\n getViewManagerConfig(viewName);\n }\n NativeUIManager.createView(reactTag, viewName, rootTag, props);\n },\n};\n\n// [Windows The spread operator doesn't work on JSI turbomodules, so use this instead\nfor (const propName of Object.getOwnPropertyNames(\n Object.getPrototypeOf(NativeUIManager),\n)) {\n // $FlowFixMe\n UIManagerJS[propName] = NativeUIManager[propName];\n}\n// Windows]\n\n/* $FlowFixMe(>=0.123.0 site=react_native_fb) This comment suppresses an error\n * found when Flow v0.123.0 was deployed. To see the error, delete this comment\n * and run Flow. */\n//const UIManagerJS = {\n// ...NativeUIManager,\n// $FlowFixMe\nUIManagerJS.getConstants = getConstants;\n// },\n// $FlowFixMe\nUIManagerJS.getViewManagerConfig = getViewManagerConfig;\n// $FlowFixMe\nUIManagerJS.hasViewManagerConfig = (viewManagerName: string) =>\n getViewManagerConfig(viewManagerName) != null;\n\n//};\n\n// TODO (T45220498): Remove this.\n// 3rd party libs may be calling `NativeModules.UIManager.getViewManagerConfig()`\n// instead of `UIManager.getViewManagerConfig()` off UIManager.js.\n// This is a workaround for now.\n// [Windows - This is incompatible with running UIManager as a JSI object.\n// getViewManagerConfig is implemented on the JSI object, so we don't\n// need to hook this unless we are running in webdebugger\nif (!global.nativeCallSyncHook)\n // $FlowFixMe\n NativeUIManager.getViewManagerConfig = UIManagerJS.getViewManagerConfig;\n\nfunction lazifyViewManagerConfig(viewName: string) {\n const viewConfig = getConstants()[viewName];\n viewManagerConfigs[viewName] = viewConfig;\n if (viewConfig.Manager) {\n defineLazyObjectProperty(viewConfig, 'Constants', {\n get: () => {\n const viewManager = NativeModules[viewConfig.Manager];\n const constants: {[string]: mixed} = {};\n viewManager &&\n Object.keys(viewManager).forEach(key => {\n const value = viewManager[key];\n if (typeof value !== 'function') {\n constants[key] = value;\n }\n });\n return constants;\n },\n });\n defineLazyObjectProperty(viewConfig, 'Commands', {\n get: () => {\n const viewManager = NativeModules[viewConfig.Manager];\n const commands: {[string]: number} = {};\n let index = 0;\n viewManager &&\n Object.keys(viewManager).forEach(key => {\n const value = viewManager[key];\n if (typeof value === 'function') {\n commands[key] = index++;\n }\n });\n return commands;\n },\n });\n }\n}\n\n/**\n * Copies the ViewManager constants and commands into UIManager. This is\n * only needed for iOS, which puts the constants in the ViewManager\n * namespace instead of UIManager, unlike Android.\n */\nif (Platform.OS === 'ios') {\n Object.keys(getConstants()).forEach(viewName => {\n lazifyViewManagerConfig(viewName);\n });\n} else if (getConstants().ViewManagerNames) {\n NativeUIManager.getConstants().ViewManagerNames.forEach(viewManagerName => {\n defineLazyObjectProperty(NativeUIManager, viewManagerName, {\n get: () =>\n nullthrows(NativeUIManager.getConstantsForViewManager)(viewManagerName),\n });\n });\n}\n\nif (!global.nativeCallSyncHook) {\n Object.keys(getConstants()).forEach(viewManagerName => {\n if (!UIManagerProperties.includes(viewManagerName)) {\n if (!viewManagerConfigs[viewManagerName]) {\n viewManagerConfigs[viewManagerName] = getConstants()[viewManagerName];\n }\n defineLazyObjectProperty(NativeUIManager, viewManagerName, {\n get: () => {\n console.warn(\n `Accessing view manager configs directly off UIManager via UIManager['${viewManagerName}'] ` +\n `is no longer supported. Use UIManager.getViewManagerConfig('${viewManagerName}') instead.`,\n );\n // $FlowFixMe\n return UIManagerJS.getViewManagerConfig(viewManagerName);\n },\n });\n }\n });\n}\n\nexport default UIManagerJS;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeUIManager';\nimport NativeUIManager from '../../src/private/specs_DEPRECATED/modules/NativeUIManager';\nexport default NativeUIManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {RootTag} from '../../../../Libraries/TurboModule/RCTExport';\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport type MeasureOnSuccessCallback = (\n x: number,\n y: number,\n width: number,\n height: number,\n pageX: number,\n pageY: number,\n) => void;\n\nexport type MeasureInWindowOnSuccessCallback = (\n x: number,\n y: number,\n width: number,\n height: number,\n) => void;\n\nexport type MeasureLayoutOnSuccessCallback = (\n left: number,\n top: number,\n width: number,\n height: number,\n) => void;\n\nexport interface Spec extends TurboModule {\n +getConstants: () => Object;\n +createView: (\n reactTag: number,\n viewName: string,\n rootTag: RootTag,\n props: Object,\n ) => void;\n +updateView: (reactTag: number, viewName: string, props: Object) => void;\n +findSubviewIn: (\n reactTag: number,\n point: Array,\n callback: (\n nativeViewTag: number,\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ) => void;\n /**\n * Used to call a native view method from JavaScript\n *\n * reactTag - Id of react view.\n * commandID - Id of the native method that should be called.\n * commandArgs - Args of the native method that we can pass from JS to native.\n */\n +dispatchViewManagerCommand: (\n reactTag: number,\n commandID: number, // number || string\n commandArgs?: Array,\n ) => void;\n /**\n * Determines the location on screen, width, and height of the given view and\n * returns the values via an async callback. If successful, the callback will\n * be called with the following arguments:\n *\n * - x\n * - y\n * - width\n * - height\n * - pageX\n * - pageY\n *\n * Note that these measurements are not available until after the rendering\n * has been completed in native. If you need the measurements as soon as\n * possible, consider using the [`onLayout`\n * prop](docs/view.html#onlayout) instead.\n *\n * @deprecated Use `ref.measure` instead.\n */\n +measure: (reactTag: number, callback: MeasureOnSuccessCallback) => void;\n /**\n * Determines the location of the given view in the window and returns the\n * values via an async callback. If the React root view is embedded in\n * another native view, this will give you the absolute coordinates. If\n * successful, the callback will be called with the following\n * arguments:\n *\n * - x\n * - y\n * - width\n * - height\n *\n * Note that these measurements are not available until after the rendering\n * has been completed in native.\n *\n * @deprecated Use `ref.measureInWindow` instead.\n */\n +measureInWindow: (\n reactTag: number,\n callback: MeasureInWindowOnSuccessCallback,\n ) => void;\n +viewIsDescendantOf: (\n reactTag: number,\n ancestorReactTag: number,\n callback: (result: Array) => void,\n ) => void;\n /**\n * Like [`measure()`](#measure), but measures the view relative an ancestor,\n * specified as `relativeToNativeNode`. This means that the returned x, y\n * are relative to the origin x, y of the ancestor view.\n *\n * As always, to obtain a native node handle for a component, you can use\n * `React.findNodeHandle(component)`.\n *\n * @deprecated Use `ref.measureLayout` instead.\n */\n +measureLayout: (\n reactTag: number,\n ancestorReactTag: number,\n errorCallback: (error: Object) => void,\n callback: MeasureLayoutOnSuccessCallback,\n ) => void;\n +measureLayoutRelativeToParent: (\n reactTag: number,\n errorCallback: (error: Object) => void,\n callback: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void,\n ) => void;\n +setJSResponder: (reactTag: number, blockNativeResponder: boolean) => void;\n +clearJSResponder: () => void;\n +configureNextLayoutAnimation: (\n config: Object,\n callback: () => void, // check what is returned here\n errorCallback: (error: Object) => void,\n ) => void;\n +setChildren: (containerTag: number, reactTags: Array) => void;\n +manageChildren: (\n containerTag: number,\n moveFromIndices: Array,\n moveToIndices: Array,\n addChildReactTags: Array,\n addAtIndices: Array,\n removeAtIndices: Array,\n ) => void;\n\n // Android only\n +getConstantsForViewManager?: (viewManagerName: string) => ?Object;\n +getDefaultEventTypes?: () => Array;\n /**\n * Automatically animates views to their new positions when the\n * next layout happens.\n *\n * A common way to use this API is to call it before calling `setState`.\n *\n * Note that in order to get this to work on **Android** you need to set the following flags via `UIManager`:\n *\n * ```js\n * UIManager.setLayoutAnimationEnabledExperimental && UIManager.setLayoutAnimationEnabledExperimental(true);\n * ```\n */\n +setLayoutAnimationEnabledExperimental?: (enabled: boolean) => void;\n +sendAccessibilityEvent?: (reactTag: number, eventType: number) => void;\n\n // ios only\n +lazilyLoadView?: (name: string) => Object; // revisit return\n +focus?: (reactTag: number) => void;\n +blur?: (reactTag: number) => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing('UIManager'): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n'use strict';\n\n/**\n * The list of non-ViewManager related UIManager properties.\n *\n * In an effort to improve startup performance by lazily loading view managers,\n * the interface to access view managers will change from\n * UIManager['viewManagerName'] to UIManager.getViewManagerConfig('viewManagerName').\n * By using a function call instead of a property access, the UIManager will\n * be able to initialize and load the required view manager from native\n * synchronously. All of React Native's core components have been updated to\n * use getViewManagerConfig(). For the next few releases, any usage of\n * UIManager['viewManagerName'] will result in a warning. Because React Native\n * does not support Proxy objects, a view manager access is implied if any of\n * UIManager's properties that are not one of the properties below is being\n * accessed. Once UIManager property accesses for view managers has been fully\n * deprecated, this file will also be removed.\n */\nconst UIManagerProperties: $ReadOnlyArray = [\n 'clearJSResponder',\n 'configureNextLayoutAnimation',\n 'createView',\n 'dispatchViewManagerCommand',\n 'findSubviewIn',\n 'getConstantsForViewManager',\n 'getDefaultEventTypes',\n 'manageChildren',\n 'measure',\n 'measureInWindow',\n 'measureLayout',\n 'measureLayoutRelativeToParent',\n 'removeRootView',\n 'sendAccessibilityEvent',\n 'setChildren',\n 'setJSResponder',\n 'setLayoutAnimationEnabledExperimental',\n 'updateView',\n 'viewIsDescendantOf',\n 'LazyViewManagersEnabled',\n 'ViewManagerNames',\n 'StyleConstants',\n 'AccessibilityEventTypes',\n 'UIView',\n 'getViewManagerConfig',\n 'hasViewManagerConfig',\n 'blur',\n 'focus',\n 'genericBubblingEventTypes',\n 'genericDirectEventTypes',\n 'lazilyLoadView',\n];\n\nexport default UIManagerProperties;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo';\nimport NativeAccessibilityInfo from '../../../src/private/specs_DEPRECATED/modules/NativeAccessibilityInfo';\nexport default NativeAccessibilityInfo;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +isReduceMotionEnabled: (\n onSuccess: (isReduceMotionEnabled: boolean) => void,\n ) => void;\n +isInvertColorsEnabled?: (\n onSuccess: (isInvertColorsEnabled: boolean) => void,\n ) => void;\n +isHighTextContrastEnabled?: (\n onSuccess: (isHighTextContrastEnabled: boolean) => void,\n ) => void;\n +isTouchExplorationEnabled: (\n onSuccess: (isScreenReaderEnabled: boolean) => void,\n ) => void;\n +isAccessibilityServiceEnabled?: ?(\n onSuccess: (isAccessibilityServiceEnabled: boolean) => void,\n ) => void;\n +setAccessibilityFocus: (reactTag: number) => void;\n +announceForAccessibility: (announcement: string) => void;\n +getRecommendedTimeoutMillis?: (\n mSec: number,\n onSuccess: (recommendedTimeoutMillis: number) => void,\n ) => void;\n +isGrayscaleEnabled?: (\n onSuccess: (isGrayscaleEnabled: boolean) => void,\n ) => void;\n}\n\nexport default (TurboModuleRegistry.get('AccessibilityInfo'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeAccessibilityManager';\nimport NativeAccessibilityManager from '../../../src/private/specs_DEPRECATED/modules/NativeAccessibilityManager';\nexport default NativeAccessibilityManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +getCurrentBoldTextState: (\n onSuccess: (isBoldTextEnabled: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +getCurrentGrayscaleState: (\n onSuccess: (isGrayscaleEnabled: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +getCurrentInvertColorsState: (\n onSuccess: (isInvertColorsEnabled: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +getCurrentReduceMotionState: (\n onSuccess: (isReduceMotionEnabled: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +getCurrentDarkerSystemColorsState?: (\n onSuccess: (isDarkerSystemColorsEnabled: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +getCurrentPrefersCrossFadeTransitionsState?: (\n onSuccess: (prefersCrossFadeTransitions: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +getCurrentReduceTransparencyState: (\n onSuccess: (isReduceTransparencyEnabled: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +getCurrentVoiceOverState: (\n onSuccess: (isScreenReaderEnabled: boolean) => void,\n onError: (error: Object) => void,\n ) => void;\n +setAccessibilityContentSizeMultipliers: (JSMultipliers: {\n +extraSmall?: ?number,\n +small?: ?number,\n +medium?: ?number,\n +large?: ?number,\n +extraLarge?: ?number,\n +extraExtraLarge?: ?number,\n +extraExtraExtraLarge?: ?number,\n +accessibilityMedium?: ?number,\n +accessibilityLarge?: ?number,\n +accessibilityExtraLarge?: ?number,\n +accessibilityExtraExtraLarge?: ?number,\n +accessibilityExtraExtraExtraLarge?: ?number,\n }) => void;\n +setAccessibilityFocus: (reactTag: number) => void;\n +announceForAccessibility: (announcement: string) => void;\n +announceForAccessibilityWithOptions?: (\n announcement: string,\n options: {queue?: boolean},\n ) => void;\n}\n\nexport default (TurboModuleRegistry.get('AccessibilityManager'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n/**\n * This module exists to allow apps to select their renderer implementation\n * (e.g.: Fabric-only, Paper-only) without having to pull all the renderer\n * implementations into their app bundle, which affects app size.\n *\n * By default, the setup will be:\n * -> RendererProxy\n * -> RendererImplementation (which uses Fabric or Paper depending on a flag at runtime)\n *\n * But this will allow a setup like this without duplicating logic:\n * -> RendererProxy (fork)\n * -> RendererImplementation (which uses Fabric or Paper depending on a flag at runtime)\n * or -> OtherImplementation (which uses Fabric only)\n */\n\nexport * from './RendererImplementation';\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {HostInstance} from '../../src/private/types/HostInstance';\nimport type {\n InternalInstanceHandle,\n Node,\n} from '../Renderer/shims/ReactNativeTypes';\nimport type {ElementRef, ElementType} from 'react';\n\nimport {\n onCaughtError,\n onRecoverableError,\n onUncaughtError,\n} from '../../src/private/renderer/errorhandling/ErrorHandlers';\nimport {type RootTag} from './RootTag';\nexport function renderElement({\n element,\n rootTag,\n useFabric,\n useConcurrentRoot,\n}: {\n element: React.MixedElement,\n rootTag: number,\n useFabric: boolean,\n useConcurrentRoot: boolean,\n}): void {\n if (useFabric) {\n require('../Renderer/shims/ReactFabric').default.render(\n element,\n rootTag,\n null,\n useConcurrentRoot,\n {\n onCaughtError,\n onUncaughtError,\n onRecoverableError,\n },\n );\n } else {\n require('../Renderer/shims/ReactNative').default.render(\n element,\n rootTag,\n undefined,\n {\n onCaughtError,\n onUncaughtError,\n onRecoverableError,\n },\n );\n }\n}\n\nexport function findHostInstance_DEPRECATED(\n componentOrHandle: ?(ElementRef | number),\n): ?HostInstance {\n return require('../Renderer/shims/ReactNative').default.findHostInstance_DEPRECATED(\n componentOrHandle,\n );\n}\n\nexport function findNodeHandle(\n componentOrHandle: ?(ElementRef | number),\n): ?number {\n return require('../Renderer/shims/ReactNative').default.findNodeHandle(\n componentOrHandle,\n );\n}\n\nexport function dispatchCommand(\n handle: HostInstance,\n command: string,\n args: Array,\n): void {\n if (global.RN$Bridgeless === true) {\n // Note: this function has the same implementation in the legacy and new renderer.\n // However, evaluating the old renderer comes with some side effects.\n return require('../Renderer/shims/ReactFabric').default.dispatchCommand(\n handle,\n command,\n args,\n );\n } else {\n return require('../Renderer/shims/ReactNative').default.dispatchCommand(\n handle,\n command,\n args,\n );\n }\n}\n\nexport function sendAccessibilityEvent(\n handle: HostInstance,\n eventType: string,\n): void {\n return require('../Renderer/shims/ReactNative').default.sendAccessibilityEvent(\n handle,\n eventType,\n );\n}\n\n/**\n * This method is used by AppRegistry to unmount a root when using the old\n * React Native renderer (Paper).\n */\nexport function unmountComponentAtNodeAndRemoveContainer(rootTag: RootTag) {\n // $FlowExpectedError[incompatible-type] rootTag is an opaque type so we can't really cast it as is.\n const rootTagAsNumber: number = rootTag;\n require('../Renderer/shims/ReactNative').default.unmountComponentAtNodeAndRemoveContainer(\n rootTagAsNumber,\n );\n}\n\nexport function unstable_batchedUpdates(\n fn: T => void,\n bookkeeping: T,\n): void {\n // This doesn't actually do anything when batching updates for a Fabric root.\n return require('../Renderer/shims/ReactNative').default.unstable_batchedUpdates(\n fn,\n bookkeeping,\n );\n}\n\nexport function isProfilingRenderer(): boolean {\n return Boolean(__DEV__);\n}\n\nexport function isChildPublicInstance(\n parentInstance: HostInstance,\n childInstance: HostInstance,\n): boolean {\n return require('../Renderer/shims/ReactNative').default.isChildPublicInstance(\n parentInstance,\n childInstance,\n );\n}\n\nexport function getNodeFromInternalInstanceHandle(\n internalInstanceHandle: InternalInstanceHandle,\n): ?Node {\n // This is only available in Fabric\n return require('../Renderer/shims/ReactFabric').default.getNodeFromInternalInstanceHandle(\n internalInstanceHandle,\n );\n}\n\nexport function getPublicInstanceFromInternalInstanceHandle(\n internalInstanceHandle: InternalInstanceHandle,\n): mixed /*PublicInstance | PublicTextInstance | null*/ {\n // This is only available in Fabric\n return require('../Renderer/shims/ReactFabric').default.getPublicInstanceFromInternalInstanceHandle(\n internalInstanceHandle,\n );\n}\n\nexport function getPublicInstanceFromRootTag(\n rootTag: number,\n): mixed /*PublicRootInstance | null*/ {\n // This is only available in Fabric\n return require('../Renderer/shims/ReactFabric').default.getPublicInstanceFromRootTag(\n rootTag,\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @noformat\n * @nolint\n * @flow\n * @generated SignedSource<>\n */\n\n'use strict';\n\nimport {BatchedBridge} from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface';\n\nimport type {ReactFabricType} from './ReactNativeTypes';\n\nlet ReactFabric: ReactFabricType;\n\nif (__DEV__) {\n ReactFabric = require('../implementations/ReactFabric-dev');\n} else {\n ReactFabric = require('../implementations/ReactFabric-prod');\n}\n\nglobal.RN$stopSurface = ReactFabric.stopSurface;\n\nif (global.RN$Bridgeless !== true) {\n BatchedBridge.registerCallableModule('ReactFabric', ReactFabric);\n}\n\nexport default ReactFabric;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @noflow\n * @nolint\n * @preventMunge\n * @generated SignedSource<<558b9dfa7f6550519be8c208c6bc0eef>>\n *\n * This file was sync'd from the facebook/react repository.\n */\n\n\"use strict\";\nrequire(\"react-native/Libraries/ReactPrivate/ReactNativePrivateInitializeCore\");\nvar ReactNativePrivateInterface = require(\"react-native/Libraries/ReactPrivate/ReactNativePrivateInterface\"),\n React = require(\"react\"),\n Scheduler = require(\"scheduler\"),\n isArrayImpl = Array.isArray,\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_PROVIDER_TYPE = Symbol.for(\"react.provider\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nSymbol.for(\"react.debug_trace_mode\");\nvar REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\");\nSymbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.tracing_marker\");\nvar REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar assign = Object.assign,\n prefix,\n suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" ()\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"\") &&\n (frame = frame.replace(\"\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return (fiber = describeNativeComponentFrame(fiber.type, !1)), fiber;\n case 11:\n return (\n (fiber = describeNativeComponentFrame(fiber.type.render, !1)), fiber\n );\n case 1:\n return (fiber = describeNativeComponentFrame(fiber.type, !0)), fiber;\n default:\n return \"\";\n }\n}\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\";\n do\n (info += describeFiber(workInProgress)),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n}\nvar REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar hasError = !1,\n caughtError = null,\n getFiberCurrentPropsFromNode$1 = null,\n getInstanceFromNode$1 = null,\n getNodeFromInstance$1 = null;\nfunction executeDispatch(event, listener, inst) {\n event.currentTarget = getNodeFromInstance$1(inst);\n try {\n listener(event);\n } catch (error) {\n hasError || ((hasError = !0), (caughtError = error));\n }\n event.currentTarget = null;\n}\nfunction executeDirectDispatch(event) {\n var dispatchListener = event._dispatchListeners,\n dispatchInstance = event._dispatchInstances;\n if (isArrayImpl(dispatchListener)) throw Error(\"Invalid `event`.\");\n event.currentTarget = dispatchListener\n ? getNodeFromInstance$1(dispatchInstance)\n : null;\n dispatchListener = dispatchListener ? dispatchListener(event) : null;\n event.currentTarget = null;\n event._dispatchListeners = null;\n event._dispatchInstances = null;\n return dispatchListener;\n}\nfunction functionThatReturnsTrue() {\n return !0;\n}\nfunction functionThatReturnsFalse() {\n return !1;\n}\nfunction SyntheticEvent(\n dispatchConfig,\n targetInst,\n nativeEvent,\n nativeEventTarget\n) {\n this.dispatchConfig = dispatchConfig;\n this._targetInst = targetInst;\n this.nativeEvent = nativeEvent;\n this._dispatchInstances = this._dispatchListeners = null;\n dispatchConfig = this.constructor.Interface;\n for (var propName in dispatchConfig)\n dispatchConfig.hasOwnProperty(propName) &&\n ((targetInst = dispatchConfig[propName])\n ? (this[propName] = targetInst(nativeEvent))\n : \"target\" === propName\n ? (this.target = nativeEventTarget)\n : (this[propName] = nativeEvent[propName]));\n this.isDefaultPrevented = (\n null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue\n )\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n}\nassign(SyntheticEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue && (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble && (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function () {\n this.isPersistent = functionThatReturnsTrue;\n },\n isPersistent: functionThatReturnsFalse,\n destructor: function () {\n var Interface = this.constructor.Interface,\n propName;\n for (propName in Interface) this[propName] = null;\n this.nativeEvent = this._targetInst = this.dispatchConfig = null;\n this.isPropagationStopped = this.isDefaultPrevented =\n functionThatReturnsFalse;\n this._dispatchInstances = this._dispatchListeners = null;\n }\n});\nSyntheticEvent.Interface = {\n type: null,\n target: null,\n currentTarget: function () {\n return null;\n },\n eventPhase: null,\n bubbles: null,\n cancelable: null,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: null,\n isTrusted: null\n};\nSyntheticEvent.extend = function (Interface) {\n function E() {}\n function Class() {\n return Super.apply(this, arguments);\n }\n var Super = this;\n E.prototype = Super.prototype;\n var prototype = new E();\n assign(prototype, Class.prototype);\n Class.prototype = prototype;\n Class.prototype.constructor = Class;\n Class.Interface = assign({}, Super.Interface, Interface);\n Class.extend = Super.extend;\n addEventPoolingTo(Class);\n return Class;\n};\naddEventPoolingTo(SyntheticEvent);\nfunction createOrGetPooledEvent(\n dispatchConfig,\n targetInst,\n nativeEvent,\n nativeInst\n) {\n if (this.eventPool.length) {\n var instance = this.eventPool.pop();\n this.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst);\n return instance;\n }\n return new this(dispatchConfig, targetInst, nativeEvent, nativeInst);\n}\nfunction releasePooledEvent(event) {\n if (!(event instanceof this))\n throw Error(\n \"Trying to release an event instance into a pool of a different type.\"\n );\n event.destructor();\n 10 > this.eventPool.length && this.eventPool.push(event);\n}\nfunction addEventPoolingTo(EventConstructor) {\n EventConstructor.getPooled = createOrGetPooledEvent;\n EventConstructor.eventPool = [];\n EventConstructor.release = releasePooledEvent;\n}\nvar ResponderSyntheticEvent = SyntheticEvent.extend({\n touchHistory: function () {\n return null;\n }\n});\nfunction isStartish(topLevelType) {\n return \"topTouchStart\" === topLevelType;\n}\nfunction isMoveish(topLevelType) {\n return \"topTouchMove\" === topLevelType;\n}\nvar startDependencies = [\"topTouchStart\"],\n moveDependencies = [\"topTouchMove\"],\n endDependencies = [\"topTouchCancel\", \"topTouchEnd\"],\n touchBank = [],\n touchHistory = {\n touchBank: touchBank,\n numberActiveTouches: 0,\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\nfunction timestampForTouch(touch) {\n return touch.timeStamp || touch.timestamp;\n}\nfunction getTouchIdentifier(_ref) {\n _ref = _ref.identifier;\n if (null == _ref) throw Error(\"Touch object is missing identifier.\");\n return _ref;\n}\nfunction recordTouchStart(touch) {\n var identifier = getTouchIdentifier(touch),\n touchRecord = touchBank[identifier];\n touchRecord\n ? ((touchRecord.touchActive = !0),\n (touchRecord.startPageX = touch.pageX),\n (touchRecord.startPageY = touch.pageY),\n (touchRecord.startTimeStamp = timestampForTouch(touch)),\n (touchRecord.currentPageX = touch.pageX),\n (touchRecord.currentPageY = touch.pageY),\n (touchRecord.currentTimeStamp = timestampForTouch(touch)),\n (touchRecord.previousPageX = touch.pageX),\n (touchRecord.previousPageY = touch.pageY),\n (touchRecord.previousTimeStamp = timestampForTouch(touch)))\n : ((touchRecord = {\n touchActive: !0,\n startPageX: touch.pageX,\n startPageY: touch.pageY,\n startTimeStamp: timestampForTouch(touch),\n currentPageX: touch.pageX,\n currentPageY: touch.pageY,\n currentTimeStamp: timestampForTouch(touch),\n previousPageX: touch.pageX,\n previousPageY: touch.pageY,\n previousTimeStamp: timestampForTouch(touch)\n }),\n (touchBank[identifier] = touchRecord));\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\nfunction recordTouchMove(touch) {\n var touchRecord = touchBank[getTouchIdentifier(touch)];\n touchRecord &&\n ((touchRecord.touchActive = !0),\n (touchRecord.previousPageX = touchRecord.currentPageX),\n (touchRecord.previousPageY = touchRecord.currentPageY),\n (touchRecord.previousTimeStamp = touchRecord.currentTimeStamp),\n (touchRecord.currentPageX = touch.pageX),\n (touchRecord.currentPageY = touch.pageY),\n (touchRecord.currentTimeStamp = timestampForTouch(touch)),\n (touchHistory.mostRecentTimeStamp = timestampForTouch(touch)));\n}\nfunction recordTouchEnd(touch) {\n var touchRecord = touchBank[getTouchIdentifier(touch)];\n touchRecord &&\n ((touchRecord.touchActive = !1),\n (touchRecord.previousPageX = touchRecord.currentPageX),\n (touchRecord.previousPageY = touchRecord.currentPageY),\n (touchRecord.previousTimeStamp = touchRecord.currentTimeStamp),\n (touchRecord.currentPageX = touch.pageX),\n (touchRecord.currentPageY = touch.pageY),\n (touchRecord.currentTimeStamp = timestampForTouch(touch)),\n (touchHistory.mostRecentTimeStamp = timestampForTouch(touch)));\n}\nvar instrumentationCallback,\n ResponderTouchHistoryStore = {\n instrument: function (callback) {\n instrumentationCallback = callback;\n },\n recordTouchTrack: function (topLevelType, nativeEvent) {\n null != instrumentationCallback &&\n instrumentationCallback(topLevelType, nativeEvent);\n if (isMoveish(topLevelType))\n nativeEvent.changedTouches.forEach(recordTouchMove);\n else if (isStartish(topLevelType))\n nativeEvent.changedTouches.forEach(recordTouchStart),\n (touchHistory.numberActiveTouches = nativeEvent.touches.length),\n 1 === touchHistory.numberActiveTouches &&\n (touchHistory.indexOfSingleActiveTouch =\n nativeEvent.touches[0].identifier);\n else if (\n \"topTouchEnd\" === topLevelType ||\n \"topTouchCancel\" === topLevelType\n )\n if (\n (nativeEvent.changedTouches.forEach(recordTouchEnd),\n (touchHistory.numberActiveTouches = nativeEvent.touches.length),\n 1 === touchHistory.numberActiveTouches)\n )\n for (\n topLevelType = 0;\n topLevelType < touchBank.length;\n topLevelType++\n )\n if (\n ((nativeEvent = touchBank[topLevelType]),\n null != nativeEvent && nativeEvent.touchActive)\n ) {\n touchHistory.indexOfSingleActiveTouch = topLevelType;\n break;\n }\n },\n touchHistory: touchHistory\n };\nfunction accumulate(current, next) {\n if (null == next)\n throw Error(\"Accumulated items must not be null or undefined.\");\n return null == current\n ? next\n : isArrayImpl(current)\n ? current.concat(next)\n : isArrayImpl(next)\n ? [current].concat(next)\n : [current, next];\n}\nfunction accumulateInto(current, next) {\n if (null == next)\n throw Error(\"Accumulated items must not be null or undefined.\");\n if (null == current) return next;\n if (isArrayImpl(current)) {\n if (isArrayImpl(next)) return current.push.apply(current, next), current;\n current.push(next);\n return current;\n }\n return isArrayImpl(next) ? [current].concat(next) : [current, next];\n}\nfunction forEachAccumulated(arr, cb, scope) {\n Array.isArray(arr) ? arr.forEach(cb, scope) : arr && cb.call(scope, arr);\n}\nvar responderInst = null,\n trackedTouchCount = 0;\nfunction changeResponder(nextResponderInst, blockHostResponder) {\n var oldResponderInst = responderInst;\n responderInst = nextResponderInst;\n if (null !== ResponderEventPlugin.GlobalResponderHandler)\n ResponderEventPlugin.GlobalResponderHandler.onChange(\n oldResponderInst,\n nextResponderInst,\n blockHostResponder\n );\n}\nvar eventTypes = {\n startShouldSetResponder: {\n phasedRegistrationNames: {\n bubbled: \"onStartShouldSetResponder\",\n captured: \"onStartShouldSetResponderCapture\"\n },\n dependencies: startDependencies\n },\n scrollShouldSetResponder: {\n phasedRegistrationNames: {\n bubbled: \"onScrollShouldSetResponder\",\n captured: \"onScrollShouldSetResponderCapture\"\n },\n dependencies: [\"topScroll\"]\n },\n selectionChangeShouldSetResponder: {\n phasedRegistrationNames: {\n bubbled: \"onSelectionChangeShouldSetResponder\",\n captured: \"onSelectionChangeShouldSetResponderCapture\"\n },\n dependencies: [\"topSelectionChange\"]\n },\n moveShouldSetResponder: {\n phasedRegistrationNames: {\n bubbled: \"onMoveShouldSetResponder\",\n captured: \"onMoveShouldSetResponderCapture\"\n },\n dependencies: moveDependencies\n },\n responderStart: {\n registrationName: \"onResponderStart\",\n dependencies: startDependencies\n },\n responderMove: {\n registrationName: \"onResponderMove\",\n dependencies: moveDependencies\n },\n responderEnd: {\n registrationName: \"onResponderEnd\",\n dependencies: endDependencies\n },\n responderRelease: {\n registrationName: \"onResponderRelease\",\n dependencies: endDependencies\n },\n responderTerminationRequest: {\n registrationName: \"onResponderTerminationRequest\",\n dependencies: []\n },\n responderGrant: { registrationName: \"onResponderGrant\", dependencies: [] },\n responderReject: { registrationName: \"onResponderReject\", dependencies: [] },\n responderTerminate: {\n registrationName: \"onResponderTerminate\",\n dependencies: []\n }\n};\nfunction getParent$1(inst) {\n do inst = inst.return;\n while (inst && 5 !== inst.tag);\n return inst ? inst : null;\n}\nfunction traverseTwoPhase$1(inst, fn, arg) {\n for (var path = []; inst; ) path.push(inst), (inst = getParent$1(inst));\n for (inst = path.length; 0 < inst--; ) fn(path[inst], \"captured\", arg);\n for (inst = 0; inst < path.length; inst++) fn(path[inst], \"bubbled\", arg);\n}\nfunction getListener$1(inst, registrationName) {\n inst = inst.stateNode;\n if (null === inst) return null;\n inst = getFiberCurrentPropsFromNode$1(inst);\n if (null === inst) return null;\n if ((inst = inst[registrationName]) && \"function\" !== typeof inst)\n throw Error(\n \"Expected `\" +\n registrationName +\n \"` listener to be a function, instead got a value of `\" +\n typeof inst +\n \"` type.\"\n );\n return inst;\n}\nfunction accumulateDirectionalDispatches$1(inst, phase, event) {\n if (\n (phase = getListener$1(\n inst,\n event.dispatchConfig.phasedRegistrationNames[phase]\n ))\n )\n (event._dispatchListeners = accumulateInto(\n event._dispatchListeners,\n phase\n )),\n (event._dispatchInstances = accumulateInto(\n event._dispatchInstances,\n inst\n ));\n}\nfunction accumulateDirectDispatchesSingle$1(event) {\n if (event && event.dispatchConfig.registrationName) {\n var inst = event._targetInst;\n if (inst && event && event.dispatchConfig.registrationName) {\n var listener = getListener$1(inst, event.dispatchConfig.registrationName);\n listener &&\n ((event._dispatchListeners = accumulateInto(\n event._dispatchListeners,\n listener\n )),\n (event._dispatchInstances = accumulateInto(\n event._dispatchInstances,\n inst\n )));\n }\n }\n}\nfunction accumulateTwoPhaseDispatchesSingleSkipTarget(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n var targetInst = event._targetInst;\n targetInst = targetInst ? getParent$1(targetInst) : null;\n traverseTwoPhase$1(targetInst, accumulateDirectionalDispatches$1, event);\n }\n}\nfunction accumulateTwoPhaseDispatchesSingle$1(event) {\n event &&\n event.dispatchConfig.phasedRegistrationNames &&\n traverseTwoPhase$1(\n event._targetInst,\n accumulateDirectionalDispatches$1,\n event\n );\n}\nvar ResponderEventPlugin = {\n _getResponder: function () {\n return responderInst;\n },\n eventTypes: eventTypes,\n extractEvents: function (\n topLevelType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n if (isStartish(topLevelType)) trackedTouchCount += 1;\n else if (\n \"topTouchEnd\" === topLevelType ||\n \"topTouchCancel\" === topLevelType\n )\n if (0 <= trackedTouchCount) --trackedTouchCount;\n else return null;\n ResponderTouchHistoryStore.recordTouchTrack(topLevelType, nativeEvent);\n if (\n targetInst &&\n ((\"topScroll\" === topLevelType && !nativeEvent.responderIgnoreScroll) ||\n (0 < trackedTouchCount && \"topSelectionChange\" === topLevelType) ||\n isStartish(topLevelType) ||\n isMoveish(topLevelType))\n ) {\n var shouldSetEventType = isStartish(topLevelType)\n ? eventTypes.startShouldSetResponder\n : isMoveish(topLevelType)\n ? eventTypes.moveShouldSetResponder\n : \"topSelectionChange\" === topLevelType\n ? eventTypes.selectionChangeShouldSetResponder\n : eventTypes.scrollShouldSetResponder;\n if (responderInst)\n b: {\n var JSCompiler_temp = responderInst;\n for (\n var depthA = 0, tempA = JSCompiler_temp;\n tempA;\n tempA = getParent$1(tempA)\n )\n depthA++;\n tempA = 0;\n for (var tempB = targetInst; tempB; tempB = getParent$1(tempB))\n tempA++;\n for (; 0 < depthA - tempA; )\n (JSCompiler_temp = getParent$1(JSCompiler_temp)), depthA--;\n for (; 0 < tempA - depthA; )\n (targetInst = getParent$1(targetInst)), tempA--;\n for (; depthA--; ) {\n if (\n JSCompiler_temp === targetInst ||\n JSCompiler_temp === targetInst.alternate\n )\n break b;\n JSCompiler_temp = getParent$1(JSCompiler_temp);\n targetInst = getParent$1(targetInst);\n }\n JSCompiler_temp = null;\n }\n else JSCompiler_temp = targetInst;\n targetInst = JSCompiler_temp;\n JSCompiler_temp = targetInst === responderInst;\n shouldSetEventType = ResponderSyntheticEvent.getPooled(\n shouldSetEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n );\n shouldSetEventType.touchHistory =\n ResponderTouchHistoryStore.touchHistory;\n JSCompiler_temp\n ? forEachAccumulated(\n shouldSetEventType,\n accumulateTwoPhaseDispatchesSingleSkipTarget\n )\n : forEachAccumulated(\n shouldSetEventType,\n accumulateTwoPhaseDispatchesSingle$1\n );\n b: {\n JSCompiler_temp = shouldSetEventType._dispatchListeners;\n targetInst = shouldSetEventType._dispatchInstances;\n if (isArrayImpl(JSCompiler_temp))\n for (\n depthA = 0;\n depthA < JSCompiler_temp.length &&\n !shouldSetEventType.isPropagationStopped();\n depthA++\n ) {\n if (\n JSCompiler_temp[depthA](shouldSetEventType, targetInst[depthA])\n ) {\n JSCompiler_temp = targetInst[depthA];\n break b;\n }\n }\n else if (\n JSCompiler_temp &&\n JSCompiler_temp(shouldSetEventType, targetInst)\n ) {\n JSCompiler_temp = targetInst;\n break b;\n }\n JSCompiler_temp = null;\n }\n shouldSetEventType._dispatchInstances = null;\n shouldSetEventType._dispatchListeners = null;\n shouldSetEventType.isPersistent() ||\n shouldSetEventType.constructor.release(shouldSetEventType);\n if (JSCompiler_temp && JSCompiler_temp !== responderInst)\n if (\n ((shouldSetEventType = ResponderSyntheticEvent.getPooled(\n eventTypes.responderGrant,\n JSCompiler_temp,\n nativeEvent,\n nativeEventTarget\n )),\n (shouldSetEventType.touchHistory =\n ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(\n shouldSetEventType,\n accumulateDirectDispatchesSingle$1\n ),\n (targetInst = !0 === executeDirectDispatch(shouldSetEventType)),\n responderInst)\n )\n if (\n ((depthA = ResponderSyntheticEvent.getPooled(\n eventTypes.responderTerminationRequest,\n responderInst,\n nativeEvent,\n nativeEventTarget\n )),\n (depthA.touchHistory = ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(depthA, accumulateDirectDispatchesSingle$1),\n (tempA =\n !depthA._dispatchListeners || executeDirectDispatch(depthA)),\n depthA.isPersistent() || depthA.constructor.release(depthA),\n tempA)\n ) {\n depthA = ResponderSyntheticEvent.getPooled(\n eventTypes.responderTerminate,\n responderInst,\n nativeEvent,\n nativeEventTarget\n );\n depthA.touchHistory = ResponderTouchHistoryStore.touchHistory;\n forEachAccumulated(depthA, accumulateDirectDispatchesSingle$1);\n var JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n [shouldSetEventType, depthA]\n );\n changeResponder(JSCompiler_temp, targetInst);\n } else\n (shouldSetEventType = ResponderSyntheticEvent.getPooled(\n eventTypes.responderReject,\n JSCompiler_temp,\n nativeEvent,\n nativeEventTarget\n )),\n (shouldSetEventType.touchHistory =\n ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(\n shouldSetEventType,\n accumulateDirectDispatchesSingle$1\n ),\n (JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n shouldSetEventType\n ));\n else\n (JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n shouldSetEventType\n )),\n changeResponder(JSCompiler_temp, targetInst);\n else JSCompiler_temp$jscomp$0 = null;\n } else JSCompiler_temp$jscomp$0 = null;\n shouldSetEventType = responderInst && isStartish(topLevelType);\n JSCompiler_temp = responderInst && isMoveish(topLevelType);\n targetInst =\n responderInst &&\n (\"topTouchEnd\" === topLevelType || \"topTouchCancel\" === topLevelType);\n if (\n (shouldSetEventType = shouldSetEventType\n ? eventTypes.responderStart\n : JSCompiler_temp\n ? eventTypes.responderMove\n : targetInst\n ? eventTypes.responderEnd\n : null)\n )\n (shouldSetEventType = ResponderSyntheticEvent.getPooled(\n shouldSetEventType,\n responderInst,\n nativeEvent,\n nativeEventTarget\n )),\n (shouldSetEventType.touchHistory =\n ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(\n shouldSetEventType,\n accumulateDirectDispatchesSingle$1\n ),\n (JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n shouldSetEventType\n ));\n shouldSetEventType = responderInst && \"topTouchCancel\" === topLevelType;\n if (\n (topLevelType =\n responderInst &&\n !shouldSetEventType &&\n (\"topTouchEnd\" === topLevelType || \"topTouchCancel\" === topLevelType))\n )\n a: {\n if ((topLevelType = nativeEvent.touches) && 0 !== topLevelType.length)\n for (\n JSCompiler_temp = 0;\n JSCompiler_temp < topLevelType.length;\n JSCompiler_temp++\n )\n if (\n ((targetInst = topLevelType[JSCompiler_temp].target),\n null !== targetInst &&\n void 0 !== targetInst &&\n 0 !== targetInst)\n ) {\n depthA = getInstanceFromNode$1(targetInst);\n b: {\n for (targetInst = responderInst; depthA; ) {\n if (\n targetInst === depthA ||\n targetInst === depthA.alternate\n ) {\n targetInst = !0;\n break b;\n }\n depthA = getParent$1(depthA);\n }\n targetInst = !1;\n }\n if (targetInst) {\n topLevelType = !1;\n break a;\n }\n }\n topLevelType = !0;\n }\n if (\n (topLevelType = shouldSetEventType\n ? eventTypes.responderTerminate\n : topLevelType\n ? eventTypes.responderRelease\n : null)\n )\n (nativeEvent = ResponderSyntheticEvent.getPooled(\n topLevelType,\n responderInst,\n nativeEvent,\n nativeEventTarget\n )),\n (nativeEvent.touchHistory = ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(nativeEvent, accumulateDirectDispatchesSingle$1),\n (JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n nativeEvent\n )),\n changeResponder(null);\n return JSCompiler_temp$jscomp$0;\n },\n GlobalResponderHandler: null,\n injection: {\n injectGlobalResponderHandler: function (GlobalResponderHandler) {\n ResponderEventPlugin.GlobalResponderHandler = GlobalResponderHandler;\n }\n }\n },\n eventPluginOrder = null,\n namesToPlugins = {};\nfunction recomputePluginOrdering() {\n if (eventPluginOrder)\n for (var pluginName in namesToPlugins) {\n var pluginModule = namesToPlugins[pluginName],\n pluginIndex = eventPluginOrder.indexOf(pluginName);\n if (-1 >= pluginIndex)\n throw Error(\n \"EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `\" +\n (pluginName + \"`.\")\n );\n if (!plugins[pluginIndex]) {\n if (!pluginModule.extractEvents)\n throw Error(\n \"EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `\" +\n (pluginName + \"` does not.\")\n );\n plugins[pluginIndex] = pluginModule;\n pluginIndex = pluginModule.eventTypes;\n for (var eventName in pluginIndex) {\n var JSCompiler_inline_result = void 0;\n var dispatchConfig = pluginIndex[eventName];\n if (eventNameDispatchConfigs.hasOwnProperty(eventName))\n throw Error(\n \"EventPluginRegistry: More than one plugin attempted to publish the same event name, `\" +\n (eventName + \"`.\")\n );\n eventNameDispatchConfigs[eventName] = dispatchConfig;\n var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\n if (phasedRegistrationNames) {\n for (JSCompiler_inline_result in phasedRegistrationNames)\n phasedRegistrationNames.hasOwnProperty(\n JSCompiler_inline_result\n ) &&\n publishRegistrationName(\n phasedRegistrationNames[JSCompiler_inline_result],\n pluginModule\n );\n JSCompiler_inline_result = !0;\n } else\n dispatchConfig.registrationName\n ? (publishRegistrationName(\n dispatchConfig.registrationName,\n pluginModule\n ),\n (JSCompiler_inline_result = !0))\n : (JSCompiler_inline_result = !1);\n if (!JSCompiler_inline_result)\n throw Error(\n \"EventPluginRegistry: Failed to publish event `\" +\n eventName +\n \"` for plugin `\" +\n pluginName +\n \"`.\"\n );\n }\n }\n }\n}\nfunction publishRegistrationName(registrationName, pluginModule) {\n if (registrationNameModules[registrationName])\n throw Error(\n \"EventPluginRegistry: More than one plugin attempted to publish the same registration name, `\" +\n (registrationName + \"`.\")\n );\n registrationNameModules[registrationName] = pluginModule;\n}\nvar plugins = [],\n eventNameDispatchConfigs = {},\n registrationNameModules = {};\nfunction getListener(inst, registrationName) {\n inst = inst.stateNode;\n if (null === inst) return null;\n inst = getFiberCurrentPropsFromNode$1(inst);\n if (null === inst) return null;\n if ((inst = inst[registrationName]) && \"function\" !== typeof inst)\n throw Error(\n \"Expected `\" +\n registrationName +\n \"` listener to be a function, instead got a value of `\" +\n typeof inst +\n \"` type.\"\n );\n return inst;\n}\nvar customBubblingEventTypes =\n ReactNativePrivateInterface.ReactNativeViewConfigRegistry\n .customBubblingEventTypes,\n customDirectEventTypes =\n ReactNativePrivateInterface.ReactNativeViewConfigRegistry\n .customDirectEventTypes;\nfunction accumulateDirectionalDispatches(inst, phase, event) {\n if (\n (phase = getListener(\n inst,\n event.dispatchConfig.phasedRegistrationNames[phase]\n ))\n )\n (event._dispatchListeners = accumulateInto(\n event._dispatchListeners,\n phase\n )),\n (event._dispatchInstances = accumulateInto(\n event._dispatchInstances,\n inst\n ));\n}\nfunction traverseTwoPhase(inst, fn, arg, skipBubbling) {\n for (var path = []; inst; ) {\n path.push(inst);\n do inst = inst.return;\n while (inst && 5 !== inst.tag);\n inst = inst ? inst : null;\n }\n for (inst = path.length; 0 < inst--; ) fn(path[inst], \"captured\", arg);\n if (skipBubbling) fn(path[0], \"bubbled\", arg);\n else\n for (inst = 0; inst < path.length; inst++) fn(path[inst], \"bubbled\", arg);\n}\nfunction accumulateTwoPhaseDispatchesSingle(event) {\n event &&\n event.dispatchConfig.phasedRegistrationNames &&\n traverseTwoPhase(\n event._targetInst,\n accumulateDirectionalDispatches,\n event,\n !1\n );\n}\nfunction accumulateDirectDispatchesSingle(event) {\n if (event && event.dispatchConfig.registrationName) {\n var inst = event._targetInst;\n if (inst && event && event.dispatchConfig.registrationName) {\n var listener = getListener(inst, event.dispatchConfig.registrationName);\n listener &&\n ((event._dispatchListeners = accumulateInto(\n event._dispatchListeners,\n listener\n )),\n (event._dispatchInstances = accumulateInto(\n event._dispatchInstances,\n inst\n )));\n }\n }\n}\nif (eventPluginOrder)\n throw Error(\n \"EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.\"\n );\neventPluginOrder = Array.prototype.slice.call([\n \"ResponderEventPlugin\",\n \"ReactNativeBridgeEventPlugin\"\n]);\nrecomputePluginOrdering();\nvar injectedNamesToPlugins$jscomp$inline_281 = {\n ResponderEventPlugin: ResponderEventPlugin,\n ReactNativeBridgeEventPlugin: {\n eventTypes: {},\n extractEvents: function (\n topLevelType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n if (null == targetInst) return null;\n var bubbleDispatchConfig = customBubblingEventTypes[topLevelType],\n directDispatchConfig = customDirectEventTypes[topLevelType];\n if (!bubbleDispatchConfig && !directDispatchConfig)\n throw Error(\n 'Unsupported top level event type \"' + topLevelType + '\" dispatched'\n );\n topLevelType = SyntheticEvent.getPooled(\n bubbleDispatchConfig || directDispatchConfig,\n targetInst,\n nativeEvent,\n nativeEventTarget\n );\n if (bubbleDispatchConfig)\n null != topLevelType &&\n null != topLevelType.dispatchConfig.phasedRegistrationNames &&\n topLevelType.dispatchConfig.phasedRegistrationNames.skipBubbling\n ? topLevelType &&\n topLevelType.dispatchConfig.phasedRegistrationNames &&\n traverseTwoPhase(\n topLevelType._targetInst,\n accumulateDirectionalDispatches,\n topLevelType,\n !0\n )\n : forEachAccumulated(\n topLevelType,\n accumulateTwoPhaseDispatchesSingle\n );\n else if (directDispatchConfig)\n forEachAccumulated(topLevelType, accumulateDirectDispatchesSingle);\n else return null;\n return topLevelType;\n }\n }\n },\n isOrderingDirty$jscomp$inline_282 = !1,\n pluginName$jscomp$inline_283;\nfor (pluginName$jscomp$inline_283 in injectedNamesToPlugins$jscomp$inline_281)\n if (\n injectedNamesToPlugins$jscomp$inline_281.hasOwnProperty(\n pluginName$jscomp$inline_283\n )\n ) {\n var pluginModule$jscomp$inline_284 =\n injectedNamesToPlugins$jscomp$inline_281[pluginName$jscomp$inline_283];\n if (\n !namesToPlugins.hasOwnProperty(pluginName$jscomp$inline_283) ||\n namesToPlugins[pluginName$jscomp$inline_283] !==\n pluginModule$jscomp$inline_284\n ) {\n if (namesToPlugins[pluginName$jscomp$inline_283])\n throw Error(\n \"EventPluginRegistry: Cannot inject two different event plugins using the same name, `\" +\n (pluginName$jscomp$inline_283 + \"`.\")\n );\n namesToPlugins[pluginName$jscomp$inline_283] =\n pluginModule$jscomp$inline_284;\n isOrderingDirty$jscomp$inline_282 = !0;\n }\n }\nisOrderingDirty$jscomp$inline_282 && recomputePluginOrdering();\nvar emptyObject = {},\n removedKeys = null,\n removedKeyCount = 0,\n deepDifferOptions = { unsafelyIgnoreFunctions: !0 };\nfunction defaultDiffer(prevProp, nextProp) {\n return \"object\" !== typeof nextProp || null === nextProp\n ? !0\n : ReactNativePrivateInterface.deepDiffer(\n prevProp,\n nextProp,\n deepDifferOptions\n );\n}\nfunction restoreDeletedValuesInNestedArray(\n updatePayload,\n node,\n validAttributes\n) {\n if (isArrayImpl(node))\n for (var i = node.length; i-- && 0 < removedKeyCount; )\n restoreDeletedValuesInNestedArray(\n updatePayload,\n node[i],\n validAttributes\n );\n else if (node && 0 < removedKeyCount)\n for (i in removedKeys)\n if (removedKeys[i]) {\n var nextProp = node[i];\n if (void 0 !== nextProp) {\n var attributeConfig = validAttributes[i];\n if (attributeConfig) {\n \"function\" === typeof nextProp && (nextProp = !0);\n \"undefined\" === typeof nextProp && (nextProp = null);\n if (\"object\" !== typeof attributeConfig)\n updatePayload[i] = nextProp;\n else if (\n \"function\" === typeof attributeConfig.diff ||\n \"function\" === typeof attributeConfig.process\n )\n (nextProp =\n \"function\" === typeof attributeConfig.process\n ? attributeConfig.process(nextProp)\n : nextProp),\n (updatePayload[i] = nextProp);\n removedKeys[i] = !1;\n removedKeyCount--;\n }\n }\n }\n}\nfunction diffNestedProperty(\n updatePayload,\n prevProp,\n nextProp,\n validAttributes\n) {\n if (!updatePayload && prevProp === nextProp) return updatePayload;\n if (!prevProp || !nextProp)\n return nextProp\n ? addNestedProperty(updatePayload, nextProp, validAttributes)\n : prevProp\n ? clearNestedProperty(updatePayload, prevProp, validAttributes)\n : updatePayload;\n if (!isArrayImpl(prevProp) && !isArrayImpl(nextProp))\n return diffProperties(updatePayload, prevProp, nextProp, validAttributes);\n if (isArrayImpl(prevProp) && isArrayImpl(nextProp)) {\n var minLength =\n prevProp.length < nextProp.length ? prevProp.length : nextProp.length,\n i;\n for (i = 0; i < minLength; i++)\n updatePayload = diffNestedProperty(\n updatePayload,\n prevProp[i],\n nextProp[i],\n validAttributes\n );\n for (; i < prevProp.length; i++)\n updatePayload = clearNestedProperty(\n updatePayload,\n prevProp[i],\n validAttributes\n );\n for (; i < nextProp.length; i++)\n updatePayload = addNestedProperty(\n updatePayload,\n nextProp[i],\n validAttributes\n );\n return updatePayload;\n }\n return isArrayImpl(prevProp)\n ? diffProperties(\n updatePayload,\n ReactNativePrivateInterface.flattenStyle(prevProp),\n nextProp,\n validAttributes\n )\n : diffProperties(\n updatePayload,\n prevProp,\n ReactNativePrivateInterface.flattenStyle(nextProp),\n validAttributes\n );\n}\nfunction addNestedProperty(updatePayload, nextProp, validAttributes) {\n if (!nextProp) return updatePayload;\n if (!isArrayImpl(nextProp))\n return diffProperties(\n updatePayload,\n emptyObject,\n nextProp,\n validAttributes\n );\n for (var i = 0; i < nextProp.length; i++)\n updatePayload = addNestedProperty(\n updatePayload,\n nextProp[i],\n validAttributes\n );\n return updatePayload;\n}\nfunction clearNestedProperty(updatePayload, prevProp, validAttributes) {\n if (!prevProp) return updatePayload;\n if (!isArrayImpl(prevProp))\n return diffProperties(\n updatePayload,\n prevProp,\n emptyObject,\n validAttributes\n );\n for (var i = 0; i < prevProp.length; i++)\n updatePayload = clearNestedProperty(\n updatePayload,\n prevProp[i],\n validAttributes\n );\n return updatePayload;\n}\nfunction diffProperties(updatePayload, prevProps, nextProps, validAttributes) {\n var attributeConfig, propKey;\n for (propKey in nextProps)\n if ((attributeConfig = validAttributes[propKey])) {\n var prevProp = prevProps[propKey];\n var nextProp = nextProps[propKey];\n \"function\" === typeof nextProp &&\n ((nextProp = !0), \"function\" === typeof prevProp && (prevProp = !0));\n \"undefined\" === typeof nextProp &&\n ((nextProp = null),\n \"undefined\" === typeof prevProp && (prevProp = null));\n removedKeys && (removedKeys[propKey] = !1);\n if (updatePayload && void 0 !== updatePayload[propKey])\n if (\"object\" !== typeof attributeConfig)\n updatePayload[propKey] = nextProp;\n else {\n if (\n \"function\" === typeof attributeConfig.diff ||\n \"function\" === typeof attributeConfig.process\n )\n (attributeConfig =\n \"function\" === typeof attributeConfig.process\n ? attributeConfig.process(nextProp)\n : nextProp),\n (updatePayload[propKey] = attributeConfig);\n }\n else if (prevProp !== nextProp)\n if (\"object\" !== typeof attributeConfig)\n defaultDiffer(prevProp, nextProp) &&\n ((updatePayload || (updatePayload = {}))[propKey] = nextProp);\n else if (\n \"function\" === typeof attributeConfig.diff ||\n \"function\" === typeof attributeConfig.process\n ) {\n if (\n void 0 === prevProp ||\n (\"function\" === typeof attributeConfig.diff\n ? attributeConfig.diff(prevProp, nextProp)\n : defaultDiffer(prevProp, nextProp))\n )\n (attributeConfig =\n \"function\" === typeof attributeConfig.process\n ? attributeConfig.process(nextProp)\n : nextProp),\n ((updatePayload || (updatePayload = {}))[propKey] =\n attributeConfig);\n } else\n (removedKeys = null),\n (removedKeyCount = 0),\n (updatePayload = diffNestedProperty(\n updatePayload,\n prevProp,\n nextProp,\n attributeConfig\n )),\n 0 < removedKeyCount &&\n updatePayload &&\n (restoreDeletedValuesInNestedArray(\n updatePayload,\n nextProp,\n attributeConfig\n ),\n (removedKeys = null));\n }\n for (var propKey$5 in prevProps)\n void 0 === nextProps[propKey$5] &&\n (!(attributeConfig = validAttributes[propKey$5]) ||\n (updatePayload && void 0 !== updatePayload[propKey$5]) ||\n ((prevProp = prevProps[propKey$5]),\n void 0 !== prevProp &&\n (\"object\" !== typeof attributeConfig ||\n \"function\" === typeof attributeConfig.diff ||\n \"function\" === typeof attributeConfig.process\n ? (((updatePayload || (updatePayload = {}))[propKey$5] = null),\n removedKeys || (removedKeys = {}),\n removedKeys[propKey$5] ||\n ((removedKeys[propKey$5] = !0), removedKeyCount++))\n : (updatePayload = clearNestedProperty(\n updatePayload,\n prevProp,\n attributeConfig\n )))));\n return updatePayload;\n}\nfunction fastAddProperties(payload, props, validAttributes) {\n if (isArrayImpl(props)) {\n for (var i = 0; i < props.length; i++)\n payload = fastAddProperties(payload, props[i], validAttributes);\n return payload;\n }\n for (i in props) {\n var prop = props[i],\n attributeConfig = validAttributes[i];\n if (null != attributeConfig) {\n var newValue = void 0;\n if (void 0 === prop)\n if (payload && void 0 !== payload[i]) newValue = null;\n else continue;\n else\n \"function\" === typeof prop\n ? (newValue = !0)\n : \"object\" !== typeof attributeConfig\n ? (newValue = prop)\n : \"function\" === typeof attributeConfig.process\n ? (newValue = attributeConfig.process(prop))\n : \"function\" === typeof attributeConfig.diff && (newValue = prop);\n void 0 !== newValue\n ? (payload || (payload = {}), (payload[i] = newValue))\n : (payload = fastAddProperties(payload, prop, attributeConfig));\n }\n }\n return payload;\n}\nfunction batchedUpdatesImpl(fn, bookkeeping) {\n return fn(bookkeeping);\n}\nvar isInsideEventHandler = !1;\nfunction batchedUpdates$1(fn, bookkeeping) {\n if (isInsideEventHandler) return fn(bookkeeping);\n isInsideEventHandler = !0;\n try {\n return batchedUpdatesImpl(fn, bookkeeping);\n } finally {\n isInsideEventHandler = !1;\n }\n}\nvar eventQueue = null;\nfunction executeDispatchesAndReleaseTopLevel(e) {\n if (e) {\n var dispatchListeners = e._dispatchListeners,\n dispatchInstances = e._dispatchInstances;\n if (isArrayImpl(dispatchListeners))\n for (\n var i = 0;\n i < dispatchListeners.length && !e.isPropagationStopped();\n i++\n )\n executeDispatch(e, dispatchListeners[i], dispatchInstances[i]);\n else\n dispatchListeners &&\n executeDispatch(e, dispatchListeners, dispatchInstances);\n e._dispatchListeners = null;\n e._dispatchInstances = null;\n e.isPersistent() || e.constructor.release(e);\n }\n}\nfunction dispatchEvent(target, topLevelType, nativeEvent) {\n var eventTarget = null;\n if (null != target) {\n var stateNode = target.stateNode;\n null != stateNode && (eventTarget = getPublicInstance(stateNode));\n }\n batchedUpdates$1(function () {\n var event = { eventName: topLevelType, nativeEvent: nativeEvent };\n ReactNativePrivateInterface.RawEventEmitter.emit(topLevelType, event);\n ReactNativePrivateInterface.RawEventEmitter.emit(\"*\", event);\n event = eventTarget;\n for (\n var events = null, legacyPlugins = plugins, i = 0;\n i < legacyPlugins.length;\n i++\n ) {\n var possiblePlugin = legacyPlugins[i];\n possiblePlugin &&\n (possiblePlugin = possiblePlugin.extractEvents(\n topLevelType,\n target,\n nativeEvent,\n event\n )) &&\n (events = accumulateInto(events, possiblePlugin));\n }\n event = events;\n null !== event && (eventQueue = accumulateInto(eventQueue, event));\n event = eventQueue;\n eventQueue = null;\n if (event) {\n forEachAccumulated(event, executeDispatchesAndReleaseTopLevel);\n if (eventQueue)\n throw Error(\n \"processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.\"\n );\n if (hasError)\n throw (\n ((event = caughtError), (hasError = !1), (caughtError = null), event)\n );\n }\n });\n}\nvar scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log$1 = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null;\nfunction onCommitRoot(root) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberRoot)\n try {\n injectedHook.onCommitFiberRoot(\n rendererID,\n root,\n void 0,\n 128 === (root.current.flags & 128)\n );\n } catch (err) {}\n}\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar nextTransitionLane = 128,\n nextRetryLane = 4194304;\nfunction getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 4194176;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n}\nfunction getNextLanes(root, wipLanes) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n warmLanes = root.warmLanes;\n root = 0 !== root.finishedLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : root ||\n ((warmLanes = nonIdlePendingLanes & ~warmLanes),\n 0 !== warmLanes &&\n (nextLanes = getHighestPriorityLanes(warmLanes)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : root ||\n ((warmLanes = pendingLanes & ~warmLanes),\n 0 !== warmLanes &&\n (nextLanes = getHighestPriorityLanes(warmLanes))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (warmLanes = wipLanes & -wipLanes),\n suspendedLanes >= warmLanes ||\n (32 === suspendedLanes && 0 !== (warmLanes & 4194176)))\n ? wipLanes\n : nextLanes;\n}\nfunction checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n}\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n return currentTime + 250;\n case 16:\n case 32:\n case 64:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction claimNextTransitionLane() {\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n 0 === (nextTransitionLane & 4194176) && (nextTransitionLane = 128);\n return lane;\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n}\nfunction createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n}\nfunction markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n}\nfunction markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$10 = 31 - clz32(remainingLanes),\n lane = 1 << index$10;\n entanglements[index$10] = 0;\n expirationTimes[index$10] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$10];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$10] = null, index$10 = 0;\n index$10 < hiddenUpdatesForLane.length;\n index$10++\n ) {\n var update = hiddenUpdatesForLane[index$10];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n}\nfunction markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 4194218);\n}\nfunction markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$11 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$11;\n (lane & entangledLanes) | (root[index$11] & entangledLanes) &&\n (root[index$11] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n}\nfunction lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n}\nfunction getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n}\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(\"Unable to find node on an unmounted component.\");\n}\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate)\n throw Error(\"Unable to find node on an unmounted component.\");\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(\"Unable to find node on an unmounted component.\");\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$12 = parentA.child; child$12; ) {\n if (child$12 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$12 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$12 = child$12.sibling;\n }\n if (!didFindChild) {\n for (child$12 = parentB.child; child$12; ) {\n if (child$12 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$12 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$12 = child$12.sibling;\n }\n if (!didFindChild)\n throw Error(\n \"Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.\"\n );\n }\n }\n if (a.alternate !== b)\n throw Error(\n \"Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n if (3 !== a.tag)\n throw Error(\"Unable to find node on an unmounted component.\");\n return a.stateNode.current === a ? fiber : alternate;\n}\nfunction findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n}\nvar valueStack = [],\n index = -1;\nfunction createCursor(defaultValue) {\n return { current: defaultValue };\n}\nfunction pop(cursor) {\n 0 > index ||\n ((cursor.current = valueStack[index]), (valueStack[index] = null), index--);\n}\nfunction push(cursor, value) {\n index++;\n valueStack[index] = cursor.current;\n cursor.current = value;\n}\nvar emptyContextObject = {};\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n CapturedStacks = new WeakMap();\nfunction createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n}\nvar contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null);\nfunction pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n fiber = PROD_HOST_CONTEXT;\n pop(contextStackCursor);\n push(contextStackCursor, fiber);\n}\nfunction popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n}\nfunction pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber);\n var context = contextStackCursor.current;\n context !== context &&\n (push(contextFiberStackCursor, fiber), push(contextStackCursor, context));\n}\nfunction popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n (HostTransitionContext._currentValue2 = null));\n}\nvar hydrationErrors = null,\n concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0;\nfunction finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n}\nfunction enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n isHidden &&\n null !== update &&\n 3 === sourceFiber.tag &&\n ((parent = sourceFiber.stateNode),\n (isHidden = 31 - clz32(lane)),\n (parent = parent.hiddenUpdates),\n (sourceFiber = parent[isHidden]),\n null === sourceFiber\n ? (parent[isHidden] = [update])\n : sourceFiber.push(update),\n (update.lane = lane | 536870912));\n}\nfunction getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(\n \"Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.\"\n ))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n}\nvar firstScheduledRoot = null,\n lastScheduledRoot = null,\n didScheduleMicrotask = !1,\n mightHavePendingSyncWork = !1,\n isFlushingWork = !1,\n currentEventTransitionLane = 0;\nfunction ensureRootIsScheduled(root) {\n root !== lastScheduledRoot &&\n null === root.next &&\n (null === lastScheduledRoot\n ? (firstScheduledRoot = lastScheduledRoot = root)\n : (lastScheduledRoot = lastScheduledRoot.next = root));\n mightHavePendingSyncWork = !0;\n didScheduleMicrotask ||\n ((didScheduleMicrotask = !0),\n scheduleImmediateTask(processRootScheduleInMicrotask));\n}\nfunction flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {\n if (!isFlushingWork && mightHavePendingSyncWork) {\n isFlushingWork = !0;\n do {\n var didPerformSomeWork = !1;\n for (var root = firstScheduledRoot; null !== root; ) {\n if (!onlyLegacy || 0 === root.tag)\n if (0 !== syncTransitionLanes) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) var JSCompiler_inline_result = 0;\n else {\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n JSCompiler_inline_result =\n (1 << (31 - clz32(42 | syncTransitionLanes) + 1)) - 1;\n JSCompiler_inline_result &=\n pendingLanes & ~(suspendedLanes & ~pingedLanes);\n JSCompiler_inline_result =\n JSCompiler_inline_result & 201326677\n ? (JSCompiler_inline_result & 201326677) | 1\n : JSCompiler_inline_result\n ? JSCompiler_inline_result | 2\n : 0;\n }\n 0 !== JSCompiler_inline_result &&\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root, JSCompiler_inline_result));\n } else\n (JSCompiler_inline_result = workInProgressRootRenderLanes),\n (JSCompiler_inline_result = getNextLanes(\n root,\n root === workInProgressRoot ? JSCompiler_inline_result : 0\n )),\n 0 === (JSCompiler_inline_result & 3) ||\n checkIfRootIsPrerendering(root, JSCompiler_inline_result) ||\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root, JSCompiler_inline_result));\n root = root.next;\n }\n } while (didPerformSomeWork);\n isFlushingWork = !1;\n }\n}\nfunction processRootScheduleInMicrotask() {\n mightHavePendingSyncWork = didScheduleMicrotask = !1;\n 0 !== currentEventTransitionLane && (currentEventTransitionLane = 0);\n for (\n var currentTime = now(), prev = null, root = firstScheduledRoot;\n null !== root;\n\n ) {\n var next = root.next,\n nextLanes = scheduleTaskForRootDuringMicrotask(root, currentTime);\n 0 === nextLanes\n ? ((root.next = null),\n null === prev ? (firstScheduledRoot = next) : (prev.next = next),\n null === next && (lastScheduledRoot = prev))\n : ((prev = root),\n 0 !== (nextLanes & 3) && (mightHavePendingSyncWork = !0));\n root = next;\n }\n flushSyncWorkAcrossRoots_impl(0, !1);\n}\nfunction scheduleTaskForRootDuringMicrotask(root, currentTime) {\n for (\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n expirationTimes = root.expirationTimes,\n lanes = root.pendingLanes & -62914561;\n 0 < lanes;\n\n ) {\n var index$8 = 31 - clz32(lanes),\n lane = 1 << index$8,\n expirationTime = expirationTimes[index$8];\n if (-1 === expirationTime) {\n if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))\n expirationTimes[index$8] = computeExpirationTime(lane, currentTime);\n } else expirationTime <= currentTime && (root.expiredLanes |= lane);\n lanes &= ~lane;\n }\n currentTime = workInProgressRoot;\n suspendedLanes = workInProgressRootRenderLanes;\n suspendedLanes = getNextLanes(\n root,\n root === currentTime ? suspendedLanes : 0\n );\n pingedLanes = root.callbackNode;\n if (\n 0 === suspendedLanes ||\n (root === currentTime && 2 === workInProgressSuspendedReason) ||\n null !== root.cancelPendingCommit\n )\n return (\n null !== pingedLanes &&\n null !== pingedLanes &&\n cancelCallback$1(pingedLanes),\n (root.callbackNode = null),\n (root.callbackPriority = 0)\n );\n if (\n 0 === (suspendedLanes & 3) ||\n checkIfRootIsPrerendering(root, suspendedLanes)\n ) {\n currentTime = suspendedLanes & -suspendedLanes;\n if (currentTime === root.callbackPriority) return currentTime;\n null !== pingedLanes && cancelCallback$1(pingedLanes);\n switch (lanesToEventPriority(suspendedLanes)) {\n case 2:\n case 8:\n suspendedLanes = UserBlockingPriority;\n break;\n case 32:\n suspendedLanes = NormalPriority$1;\n break;\n case 268435456:\n suspendedLanes = IdlePriority;\n break;\n default:\n suspendedLanes = NormalPriority$1;\n }\n pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root);\n suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);\n root.callbackPriority = currentTime;\n root.callbackNode = suspendedLanes;\n return currentTime;\n }\n null !== pingedLanes && null !== pingedLanes && cancelCallback$1(pingedLanes);\n root.callbackPriority = 2;\n root.callbackNode = null;\n return 2;\n}\nfunction performWorkOnRootViaSchedulerTask(root, didTimeout) {\n var originalCallbackNode = root.callbackNode;\n if (flushPassiveEffects() && root.callbackNode !== originalCallbackNode)\n return null;\n var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;\n workInProgressRootRenderLanes$jscomp$0 = getNextLanes(\n root,\n root === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0\n );\n if (0 === workInProgressRootRenderLanes$jscomp$0) return null;\n performWorkOnRoot(root, workInProgressRootRenderLanes$jscomp$0, didTimeout);\n scheduleTaskForRootDuringMicrotask(root, now());\n return null != root.callbackNode && root.callbackNode === originalCallbackNode\n ? performWorkOnRootViaSchedulerTask.bind(null, root)\n : null;\n}\nfunction performSyncWorkOnRoot(root, lanes) {\n if (flushPassiveEffects()) return null;\n performWorkOnRoot(root, lanes, !0);\n}\nfunction scheduleImmediateTask(cb) {\n supportsMicrotasks\n ? scheduleMicrotask(function () {\n 0 !== (executionContext & 6)\n ? scheduleCallback$3(ImmediatePriority, cb)\n : cb();\n })\n : scheduleCallback$3(ImmediatePriority, cb);\n}\nfunction requestTransitionLane() {\n 0 === currentEventTransitionLane &&\n (currentEventTransitionLane = claimNextTransitionLane());\n return currentEventTransitionLane;\n}\nvar currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null;\nfunction entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n}\nfunction pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n}\nfunction chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n}\nvar hasForceUpdate = !1;\nfunction initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n}\nfunction createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194176))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n}\nvar didReadFromEntangledAsyncAction = !1;\nfunction suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n}\nfunction processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(instance, newState, updateLane);\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n}\nfunction callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(\n \"Invalid argument passed as callback. Expected a function. Instead received: \" +\n callback\n );\n callback.call(context);\n}\nfunction commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n}\nvar SuspenseException = Error(\n \"Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\\n\\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`\"\n ),\n SuspenseyCommitException = Error(\n \"Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React.\"\n ),\n noopSuspenseyCommitThenable = { then: function () {} };\nfunction isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n}\nfunction noop() {}\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop, noop), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop, noop);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(\n \"async/await is not yet supported in Client Components, only Server Components. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.\"\n );\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable)\n throw Error(\n \"Expected a suspended thenable. This is a bug in React. Please file an issue.\"\n );\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction checkIfUseWrappedInAsyncCatch(rejectedReason) {\n if (rejectedReason === SuspenseException)\n throw Error(\n \"Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.\"\n );\n}\nvar thenableState$1 = null,\n thenableIndexCounter$1 = 0;\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n return trackUsedThenable(thenableState$1, thenable, index);\n}\nfunction coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n}\nfunction throwOnInvalidObjectType(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(\n 'A React Element from an older version of React was rendered. This is not supported. It can happen if:\\n- Multiple copies of the \"react\" package is used.\\n- A library pre-bundled an old copy of \"react\" or \"react/jsx-runtime\".\\n- A compiler tries to \"inline\" JSX instead of using the runtime.'\n );\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n}\nfunction resolveLazy(lazyType) {\n var init = lazyType._init;\n return init(lazyType._payload);\n}\nfunction createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 33554434), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 33554434;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 33554434);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return createChild(returnFiber, newChild, lanes);\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber), resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren)\n throw Error(\"An iterable object provided no iterator.\");\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber), resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.children || []);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key)\n throw Error(\n \"An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.\"\n );\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter$1 = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState$1 = null;\n return firstChildFiber;\n } catch (x) {\n if (\n x === SuspenseException ||\n (0 === (returnFiber.mode & 1) &&\n \"object\" === typeof x &&\n null !== x &&\n \"function\" === typeof x.then)\n )\n throw x;\n var fiber = createFiberImplClass(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n}\nvar reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0);\nfunction pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n}\nfunction reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n}\nfunction popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n}\nvar suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null;\nfunction pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n}\nfunction pushOffscreenSuspenseHandler(fiber) {\n if (22 === fiber.tag) {\n if (\n (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary)\n ) {\n var current = fiber.alternate;\n null !== current &&\n null !== current.memoizedState &&\n (shellBoundary = fiber);\n }\n } else reuseSuspenseHandlerOnStack(fiber);\n}\nfunction reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n}\nfunction popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n}\nvar suspenseStackCursor = createCursor(0);\nfunction findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (null !== state && (null === state.dehydrated || shim$1() || shim$1()))\n return node;\n } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n}\nvar renderLanes = 0,\n currentlyRenderingFiber$1 = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n thenableIndexCounter = 0,\n thenableState = null,\n globalClientIdCounter = 0;\nfunction throwInvalidHookError() {\n throw Error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n}\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n}\nfunction renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber$1 = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n}\nfunction finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter = 0;\n thenableState = null;\n if (didRenderTooFewHooks)\n throw Error(\n \"Rendered fewer hooks than expected. This may be caused by an accidental early return statement.\"\n );\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n}\nfunction renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber$1 = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);\n thenableIndexCounter = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders)\n throw Error(\n \"Too many re-renders. React limits the number of renders to prevent an infinite loop.\"\n );\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n}\nfunction TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber$1.flags |= 1024);\n return maybeThenable;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n}\nfunction resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter = 0;\n thenableState = null;\n}\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n}\nfunction updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber$1.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber$1.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber$1.alternate)\n throw Error(\n \"Update hook called on initial render. This is likely a bug in React. Please file an issue.\"\n );\n throw Error(\"Rendered more hooks than during the previous render.\");\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber$1.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n}\nvar createFunctionComponentUpdateQueue;\ncreateFunctionComponentUpdateQueue = function () {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n};\nfunction useThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n thenable = trackUsedThenable(thenableState, thenable, index);\n index = currentlyRenderingFiber$1;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n}\nfunction use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(\"An unsupported type was passed to use(): \" + String(usable));\n}\nfunction useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber$1.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber$1.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber$1.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n}\nfunction updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue)\n throw Error(\n \"Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)\"\n );\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$45 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$45 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$45 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber$1.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber$1.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$45 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n}\nfunction rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue)\n throw Error(\n \"Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)\"\n );\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n}\nfunction updateSyncExternalStore(subscribe, getSnapshot) {\n var fiber = currentlyRenderingFiber$1,\n hook = updateWorkInProgressHook();\n var nextSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n nextSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = nextSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, hook, subscribe), [\n subscribe\n ]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushEffect(\n 9,\n updateStoreInstance.bind(null, fiber, hook, nextSnapshot, getSnapshot),\n { destroy: void 0 },\n null\n );\n if (null === workInProgressRoot)\n throw Error(\n \"Expected a work-in-progress root. This is a bug in React. Please file an issue.\"\n );\n 0 !== (renderLanes & 60) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n return nextSnapshot;\n}\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber$1.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber$1.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n}\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n}\nfunction subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n}\nfunction mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n}\nfunction updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n}\nfunction dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n) {\n if (isRenderPhaseUpdate(fiber))\n throw Error(\"Cannot update form state while rendering.\");\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n}\nfunction runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$49) {\n onActionError(actionQueue, node, error$49);\n }\n}\nfunction handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n}\nfunction onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n}\nfunction onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n}\nfunction notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n}\nfunction actionStateReducer(oldState, newState) {\n return newState;\n}\nfunction mountActionState(action, initialStateProp) {\n var stateHook = mountWorkInProgressHook();\n stateHook.memoizedState = stateHook.baseState = initialStateProp;\n var stateQueue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n stateHook.queue = stateQueue;\n stateHook = dispatchSetState.bind(\n null,\n currentlyRenderingFiber$1,\n stateQueue\n );\n stateQueue.dispatch = stateHook;\n stateQueue = mountStateImpl(!1);\n var setPendingState = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber$1,\n !1,\n stateQueue.queue\n );\n stateQueue = mountWorkInProgressHook();\n var actionQueue = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n stateQueue.queue = actionQueue;\n stateHook = dispatchActionState.bind(\n null,\n currentlyRenderingFiber$1,\n actionQueue,\n setPendingState,\n stateHook\n );\n actionQueue.dispatch = stateHook;\n stateQueue.memoizedState = action;\n return [initialStateProp, stateHook, !1];\n}\nfunction updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n}\nfunction updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n currentStateHook =\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n ? useThenable(currentStateHook)\n : currentStateHook;\n var actionQueueHook = updateWorkInProgressHook(),\n actionQueue = actionQueueHook.queue,\n dispatch = actionQueue.dispatch;\n action !== actionQueueHook.memoizedState &&\n ((currentlyRenderingFiber$1.flags |= 2048),\n pushEffect(\n 9,\n actionStateActionEffect.bind(null, actionQueue, action),\n { destroy: void 0 },\n null\n ));\n return [currentStateHook, dispatch, stateHook];\n}\nfunction actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n}\nfunction rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n}\nfunction pushEffect(tag, create, inst, deps) {\n tag = { tag: tag, create: create, inst: inst, deps: deps, next: null };\n create = currentlyRenderingFiber$1.updateQueue;\n null === create &&\n ((create = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber$1.updateQueue = create));\n inst = create.lastEffect;\n null === inst\n ? (create.lastEffect = tag.next = tag)\n : ((deps = inst.next),\n (inst.next = tag),\n (tag.next = deps),\n (create.lastEffect = tag));\n return tag;\n}\nfunction updateRef() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(\n 1 | hookFlags,\n create,\n { destroy: void 0 },\n void 0 === deps ? null : deps\n );\n}\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushEffect(hookFlags, create, inst, deps))\n : ((currentlyRenderingFiber$1.flags |= fiberFlags),\n (hook.memoizedState = pushEffect(1 | hookFlags, create, inst, deps)));\n}\nfunction mountEffect(create, deps) {\n mountEffectImpl(8390656, 8, create, deps);\n}\nfunction updateEffect(create, deps) {\n updateEffectImpl(2048, 8, create, deps);\n}\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n}\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n}\nfunction imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n}\nfunction updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(4, 4, imperativeHandleEffect.bind(null, create, ref), deps);\n}\nfunction mountDebugValue() {}\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n}\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n}\nfunction mountDeferredValueImpl(hook, value, initialValue) {\n if (void 0 === initialValue || 0 !== (renderLanes & 1073741824))\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber$1.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n}\nfunction updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (0 === (renderLanes & 42))\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber$1.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n}\nfunction startTransition(fiber, queue, pendingState, finishedState, callback) {\n var previousPriority = currentUpdatePriority;\n currentUpdatePriority =\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8;\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane(fiber)\n );\n } finally {\n (currentUpdatePriority = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n}\nfunction updateId() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane(provider);\n fiber = createUpdate(lane);\n var root = enqueueUpdate(provider, fiber, lane);\n null !== root &&\n (scheduleUpdateOnFiber(root, provider, lane),\n entangleTransitions(root, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n}\nfunction dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane(fiber);\n action = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n}\nfunction dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane(fiber);\n dispatchSetStateInternal(fiber, queue, action, lane);\n}\nfunction dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n}\nfunction dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender)\n throw Error(\"Cannot update optimistic state while rendering.\");\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n}\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber$1 ||\n (null !== alternate && alternate === currentlyRenderingFiber$1)\n );\n}\nfunction enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n}\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194176)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError\n};\nContextOnlyDispatcher.useCacheRefresh = throwInvalidHookError;\nContextOnlyDispatcher.useMemoCache = throwInvalidHookError;\nContextOnlyDispatcher.useHostTransitionStatus = throwInvalidHookError;\nContextOnlyDispatcher.useFormState = throwInvalidHookError;\nContextOnlyDispatcher.useActionState = throwInvalidHookError;\nContextOnlyDispatcher.useOptimistic = throwInvalidHookError;\nvar HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber$1,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(null, currentlyRenderingFiber$1, queue);\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber$1,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot) {\n var fiber = currentlyRenderingFiber$1,\n hook = mountWorkInProgressHook();\n var nextSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(\n \"Expected a work-in-progress root. This is a bug in React. Please file an issue.\"\n );\n 0 !== (workInProgressRootRenderLanes & 60) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n hook.memoizedState = nextSnapshot;\n var inst = { value: nextSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushEffect(\n 9,\n updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot),\n { destroy: void 0 },\n null\n );\n return nextSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix,\n globalClientId = globalClientIdCounter++;\n identifierPrefix =\n \":\" + identifierPrefix + \"r\" + globalClientId.toString(32) + \":\";\n return (hook.memoizedState = identifierPrefix);\n },\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber$1\n ));\n }\n};\nHooksDispatcherOnMount.useMemoCache = useMemoCache;\nHooksDispatcherOnMount.useHostTransitionStatus = useHostTransitionStatus;\nHooksDispatcherOnMount.useFormState = mountActionState;\nHooksDispatcherOnMount.useActionState = mountActionState;\nHooksDispatcherOnMount.useOptimistic = function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber$1,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n};\nvar HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId\n};\nHooksDispatcherOnUpdate.useCacheRefresh = updateRefresh;\nHooksDispatcherOnUpdate.useMemoCache = useMemoCache;\nHooksDispatcherOnUpdate.useHostTransitionStatus = useHostTransitionStatus;\nHooksDispatcherOnUpdate.useFormState = updateActionState;\nHooksDispatcherOnUpdate.useActionState = updateActionState;\nHooksDispatcherOnUpdate.useOptimistic = function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n};\nvar HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId\n};\nHooksDispatcherOnRerender.useCacheRefresh = updateRefresh;\nHooksDispatcherOnRerender.useMemoCache = useMemoCache;\nHooksDispatcherOnRerender.useHostTransitionStatus = useHostTransitionStatus;\nHooksDispatcherOnRerender.useFormState = rerenderActionState;\nHooksDispatcherOnRerender.useActionState = rerenderActionState;\nHooksDispatcherOnRerender.useOptimistic = function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n};\nfunction applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n}\nvar classComponentUpdater = {\n isMounted: function (component) {\n return (component = component._reactInternals)\n ? getNearestMountedFiber(component) === component\n : !1;\n },\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(inst),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(inst),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(inst),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback && null !== callback && (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n};\nfunction checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n}\nfunction constructClassInstance(workInProgress, ctor, props) {\n var context = emptyContextObject,\n contextType = ctor.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n ctor = new ctor(props, context);\n workInProgress.memoizedState =\n null !== ctor.state && void 0 !== ctor.state ? ctor.state : null;\n ctor.updater = classComponentUpdater;\n workInProgress.stateNode = ctor;\n ctor._reactInternals = workInProgress;\n return ctor;\n}\nfunction callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n}\nfunction mountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n instance.props = newProps;\n instance.state = workInProgress.memoizedState;\n instance.refs = {};\n initializeUpdateQueue(workInProgress);\n var contextType = ctor.contextType;\n instance.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n instance.state = workInProgress.memoizedState;\n contextType = ctor.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(workInProgress, ctor, contextType, newProps),\n (instance.state = workInProgress.memoizedState));\n \"function\" === typeof ctor.getDerivedStateFromProps ||\n \"function\" === typeof instance.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof instance.UNSAFE_componentWillMount &&\n \"function\" !== typeof instance.componentWillMount) ||\n ((ctor = instance.state),\n \"function\" === typeof instance.componentWillMount &&\n instance.componentWillMount(),\n \"function\" === typeof instance.UNSAFE_componentWillMount &&\n instance.UNSAFE_componentWillMount(),\n ctor !== instance.state &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null),\n processUpdateQueue(workInProgress, newProps, instance, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (instance.state = workInProgress.memoizedState));\n \"function\" === typeof instance.componentDidMount &&\n (workInProgress.flags |= 4194308);\n}\nfunction resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$51 in Component)\n void 0 === newProps[propName$51] &&\n (newProps[propName$51] = Component[propName$51]);\n }\n return newProps;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction defaultOnRecoverableError(error) {\n reportGlobalError(error);\n}\nfunction logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e) {\n setTimeout(function () {\n throw e;\n });\n }\n}\nfunction logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e) {\n setTimeout(function () {\n throw e;\n });\n }\n}\nfunction createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n}\nfunction createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n}\nfunction initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n}\nfunction throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n var currentSourceFiber = sourceFiber.alternate;\n null !== currentSourceFiber &&\n propagateParentContextChanges(\n currentSourceFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n currentSourceFiber = sourceFiber.tag;\n 0 !== (sourceFiber.mode & 1) ||\n (0 !== currentSourceFiber &&\n 11 !== currentSourceFiber &&\n 15 !== currentSourceFiber) ||\n ((currentSourceFiber = sourceFiber.alternate)\n ? ((sourceFiber.updateQueue = currentSourceFiber.updateQueue),\n (sourceFiber.memoizedState = currentSourceFiber.memoizedState),\n (sourceFiber.lanes = currentSourceFiber.lanes))\n : ((sourceFiber.updateQueue = null),\n (sourceFiber.memoizedState = null)));\n currentSourceFiber = suspenseHandlerStackCursor.current;\n if (null !== currentSourceFiber) {\n switch (currentSourceFiber.tag) {\n case 13:\n return (\n sourceFiber.mode & 1 &&\n (null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === currentSourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3)),\n (currentSourceFiber.flags &= -257),\n 0 === (currentSourceFiber.mode & 1)\n ? currentSourceFiber === returnFiber\n ? (currentSourceFiber.flags |= 65536)\n : ((currentSourceFiber.flags |= 128),\n (sourceFiber.flags |= 131072),\n (sourceFiber.flags &= -52805),\n 1 === sourceFiber.tag\n ? null === sourceFiber.alternate\n ? (sourceFiber.tag = 17)\n : ((returnFiber = createUpdate(2)),\n (returnFiber.tag = 2),\n enqueueUpdate(sourceFiber, returnFiber, 2))\n : 0 === sourceFiber.tag &&\n null === sourceFiber.alternate &&\n (sourceFiber.tag = 28),\n (sourceFiber.lanes |= 2))\n : ((currentSourceFiber.flags |= 65536),\n (currentSourceFiber.lanes = rootRenderLanes)),\n value === noopSuspenseyCommitThenable\n ? (currentSourceFiber.flags |= 16384)\n : ((returnFiber = currentSourceFiber.updateQueue),\n null === returnFiber\n ? (currentSourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n currentSourceFiber.mode & 1 &&\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n if (currentSourceFiber.mode & 1)\n return (\n (currentSourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (currentSourceFiber.flags |= 16384)\n : ((returnFiber = currentSourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (currentSourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(\n \"Unexpected Suspense handler tag (\" +\n currentSourceFiber.tag +\n \"). This is a bug in React.\"\n );\n }\n if (1 === root.tag)\n return (\n attachPingListener(root, value, rootRenderLanes),\n renderDidSuspendDelayIfPossible(),\n !1\n );\n value = Error(\n \"A component suspended while responding to synchronous input. This will cause the UI to be replaced with a loading indicator. To fix, updates that suspend should be wrapped with startTransition.\"\n );\n }\n currentSourceFiber = createCapturedValueAtFiber(\n Error(\n \"There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.\",\n { cause: value }\n ),\n sourceFiber\n );\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [currentSourceFiber])\n : workInProgressRootConcurrentErrors.push(currentSourceFiber);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n do {\n switch (returnFiber.tag) {\n case 3:\n return (\n (returnFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (returnFiber.lanes |= root),\n (root = createRootErrorUpdate(returnFiber.stateNode, value, root)),\n enqueueCapturedUpdate(returnFiber, root),\n !1\n );\n case 1:\n if (\n ((sourceFiber = returnFiber.type),\n (currentSourceFiber = returnFiber.stateNode),\n 0 === (returnFiber.flags & 128) &&\n (\"function\" === typeof sourceFiber.getDerivedStateFromError ||\n (null !== currentSourceFiber &&\n \"function\" === typeof currentSourceFiber.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(\n currentSourceFiber\n )))))\n )\n return (\n (returnFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (returnFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n returnFiber,\n value\n ),\n enqueueCapturedUpdate(returnFiber, rootRenderLanes),\n !1\n );\n }\n returnFiber = returnFiber.return;\n } while (null !== returnFiber);\n return !1;\n}\nvar SelectiveHydrationException = Error(\n \"This is not a real error. It's an implementation detail of React's selective hydration feature. If this leaks into userspace, it's a bug in React. Please file an issue.\"\n ),\n didReceiveUpdate = !1;\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n}\nfunction updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n}\nfunction updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n}\nfunction updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n nextChildren = nextProps.children,\n nextIsDetached = 0 !== (workInProgress.stateNode._pendingVisibility & 2),\n prevState = null !== current ? current.memoizedState : null;\n markRef(current, workInProgress);\n if (\"hidden\" === nextProps.mode || nextIsDetached) {\n if (0 !== (workInProgress.flags & 128)) {\n nextProps =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextChildren = workInProgress.child = current.child;\n for (nextIsDetached = 0; null !== nextChildren; )\n (nextIsDetached =\n nextIsDetached | nextChildren.lanes | nextChildren.childLanes),\n (nextChildren = nextChildren.sibling);\n workInProgress.childLanes = nextIsDetached & ~nextProps;\n } else (workInProgress.childLanes = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextProps,\n renderLanes\n );\n }\n if (0 === (workInProgress.mode & 1))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (workInProgress.lanes = workInProgress.childLanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes,\n renderLanes\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nfunction deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes\n) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : { parent: CacheContext._currentValue2, pool: JSCompiler_inline_result };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n return null;\n}\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 2097664);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(\n \"Expected ref to be a function, an object returned by React.createRef(), or undefined/null.\"\n );\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 2097664;\n }\n}\nfunction updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n}\nfunction replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode)\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress),\n constructClassInstance(workInProgress, Component, nextProps),\n mountClassInstance(workInProgress, Component, nextProps, renderLanes),\n (nextProps = !0);\n else if (null === current) {\n var instance = workInProgress.stateNode,\n unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n instance.props = oldProps;\n var oldContext = instance.context,\n contextType = Component.contextType,\n nextContext = emptyContextObject;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (nextContext = readContext(contextType));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof instance.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType ||\n (\"function\" !== typeof instance.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof instance.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== nextContext) &&\n callComponentWillReceiveProps(\n workInProgress,\n instance,\n nextProps,\n nextContext\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n instance.state = oldState;\n processUpdateQueue(workInProgress, nextProps, instance, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n nextContext\n ))\n ? (contextType ||\n (\"function\" !== typeof instance.UNSAFE_componentWillMount &&\n \"function\" !== typeof instance.componentWillMount) ||\n (\"function\" === typeof instance.componentWillMount &&\n instance.componentWillMount(),\n \"function\" === typeof instance.UNSAFE_componentWillMount &&\n instance.UNSAFE_componentWillMount()),\n \"function\" === typeof instance.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof instance.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (instance.props = nextProps),\n (instance.state = oldContext),\n (instance.context = nextContext),\n (nextProps = oldProps))\n : (\"function\" === typeof instance.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n instance = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n nextContext = workInProgress.memoizedProps;\n contextType = resolveClassComponentProps(Component, nextContext);\n instance.props = contextType;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = instance.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof instance.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof instance.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof instance.componentWillReceiveProps) ||\n ((nextContext !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n instance,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n instance.state = oldState;\n processUpdateQueue(workInProgress, nextProps, instance, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n nextContext !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof instance.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof instance.componentWillUpdate) ||\n (\"function\" === typeof instance.componentWillUpdate &&\n instance.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof instance.UNSAFE_componentWillUpdate &&\n instance.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof instance.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof instance.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof instance.componentDidUpdate ||\n (nextContext === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof instance.getSnapshotBeforeUpdate ||\n (nextContext === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (instance.props = nextProps),\n (instance.state = newState),\n (instance.context = oldProps),\n (nextProps = contextType))\n : (\"function\" !== typeof instance.componentDidUpdate ||\n (nextContext === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof instance.getSnapshotBeforeUpdate ||\n (nextContext === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n return finishClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n !1,\n renderLanes\n );\n}\nfunction finishClassComponent(\n current,\n workInProgress,\n Component,\n shouldUpdate,\n hasContext,\n renderLanes\n) {\n markRef(current, workInProgress);\n hasContext = 0 !== (workInProgress.flags & 128);\n if (!shouldUpdate && !hasContext)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n shouldUpdate = workInProgress.stateNode;\n Component =\n hasContext && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : shouldUpdate.render();\n workInProgress.flags |= 1;\n null !== current && hasContext\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes);\n workInProgress.memoizedState = shouldUpdate.state;\n return workInProgress.child;\n}\nvar SUSPENDED_MARKER = { dehydrated: null, treeContext: null, retryLane: 0 };\nfunction mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n}\nfunction getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n}\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n var nextPrimaryChildren = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = workInProgress.mode),\n (didSuspend = workInProgress.child),\n (nextPrimaryChildren = {\n mode: \"hidden\",\n children: nextPrimaryChildren\n }),\n 0 === (showFallback & 1) && null !== didSuspend\n ? ((didSuspend.childLanes = 0),\n (didSuspend.pendingProps = nextPrimaryChildren))\n : (didSuspend = createFiberFromOffscreen(\n nextPrimaryChildren,\n showFallback,\n 0,\n null\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (didSuspend.return = workInProgress),\n (nextProps.return = workInProgress),\n (didSuspend.sibling = nextProps),\n (workInProgress.child = didSuspend),\n (nextPrimaryChildren = workInProgress.child),\n (nextPrimaryChildren.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n nextProps\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n nextPrimaryChildren = current.memoizedState;\n if (null !== nextPrimaryChildren && null !== nextPrimaryChildren.dehydrated) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (nextProps = createFiberFromOffscreen(\n { mode: \"visible\", children: nextProps.children },\n showFallback,\n 0,\n null\n )),\n (nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n 0 !== (workInProgress.mode & 1) &&\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress = nextPrimaryChildren));\n else if ((pushPrimaryTreeSuspenseHandler(workInProgress), shim$1()))\n (JSCompiler_temp = shim$1().digest),\n (nextProps = Error(\n \"The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering.\"\n )),\n (nextProps.stack = \"\"),\n (nextProps.digest = JSCompiler_temp),\n (JSCompiler_temp = { value: nextProps, source: null, stack: null }),\n null === hydrationErrors\n ? (hydrationErrors = [JSCompiler_temp])\n : hydrationErrors.push(JSCompiler_temp),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ));\n else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_temp)\n ) {\n JSCompiler_temp = workInProgressRoot;\n if (null !== JSCompiler_temp) {\n nextProps = renderLanes & -renderLanes;\n if (0 !== (nextProps & 42)) nextProps = 1;\n else\n switch (nextProps) {\n case 2:\n nextProps = 1;\n break;\n case 8:\n nextProps = 4;\n break;\n case 32:\n nextProps = 16;\n break;\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n nextProps = 64;\n break;\n case 268435456:\n nextProps = 134217728;\n break;\n default:\n nextProps = 0;\n }\n nextProps =\n 0 !== (nextProps & (JSCompiler_temp.suspendedLanes | renderLanes))\n ? 0\n : nextProps;\n if (0 !== nextProps && nextProps !== nextPrimaryChildren.retryLane)\n throw (\n ((nextPrimaryChildren.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),\n SelectiveHydrationException)\n );\n }\n shim$1() || renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n shim$1()\n ? ((workInProgress.flags |= 128),\n (workInProgress.child = current.child),\n retryDehydratedSuspenseBoundary.bind(null, current),\n shim$1(),\n (workInProgress = null))\n : ((workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (showFallback) {\n reuseSuspenseHandlerOnStack(workInProgress);\n nextPrimaryChildren = nextProps.fallback;\n showFallback = workInProgress.mode;\n didSuspend = current.child;\n var currentFallbackChildFragment = didSuspend.sibling,\n primaryChildProps = { mode: \"hidden\", children: nextProps.children };\n 0 === (showFallback & 1) && workInProgress.child !== didSuspend\n ? ((nextProps = workInProgress.child),\n (nextProps.childLanes = 0),\n (nextProps.pendingProps = primaryChildProps),\n (workInProgress.deletions = null))\n : ((nextProps = createWorkInProgress(didSuspend, primaryChildProps)),\n (nextProps.subtreeFlags = didSuspend.subtreeFlags & 31457280));\n null !== currentFallbackChildFragment\n ? (nextPrimaryChildren = createWorkInProgress(\n currentFallbackChildFragment,\n nextPrimaryChildren\n ))\n : ((nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2));\n nextPrimaryChildren.return = workInProgress;\n nextProps.return = workInProgress;\n nextProps.sibling = nextPrimaryChildren;\n workInProgress.child = nextProps;\n nextProps = nextPrimaryChildren;\n nextPrimaryChildren = workInProgress.child;\n showFallback = current.child.memoizedState;\n null === showFallback\n ? (showFallback = mountSuspenseOffscreenState(renderLanes))\n : ((didSuspend = showFallback.cachePool),\n null !== didSuspend\n ? ((currentFallbackChildFragment = CacheContext._currentValue2),\n (didSuspend =\n didSuspend.parent !== currentFallbackChildFragment\n ? {\n parent: currentFallbackChildFragment,\n pool: currentFallbackChildFragment\n }\n : didSuspend))\n : (didSuspend = getSuspendedCache()),\n (showFallback = {\n baseLanes: showFallback.baseLanes | renderLanes,\n cachePool: didSuspend\n }));\n nextPrimaryChildren.memoizedState = showFallback;\n nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n );\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return nextProps;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n JSCompiler_temp = current.child;\n current = JSCompiler_temp.sibling;\n JSCompiler_temp = createWorkInProgress(JSCompiler_temp, {\n mode: \"visible\",\n children: nextProps.children\n });\n 0 === (workInProgress.mode & 1) && (JSCompiler_temp.lanes = renderLanes);\n JSCompiler_temp.return = workInProgress;\n JSCompiler_temp.sibling = null;\n null !== current &&\n ((renderLanes = workInProgress.deletions),\n null === renderLanes\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : renderLanes.push(current));\n workInProgress.child = JSCompiler_temp;\n workInProgress.memoizedState = null;\n return JSCompiler_temp;\n}\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = createFiberFromOffscreen(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode,\n 0,\n null\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n}\nfunction retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n}\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\nfunction initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode\n) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode));\n}\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n reconcileChildren(current, workInProgress, nextProps.children, renderLanes);\n nextProps = suspenseStackCursor.current;\n if (0 !== (nextProps & 2))\n (nextProps = (nextProps & 1) | 2), (workInProgress.flags |= 128);\n else {\n if (null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n nextProps &= 1;\n }\n push(suspenseStackCursor, nextProps);\n if (0 === (workInProgress.mode & 1)) workInProgress.memoizedState = null;\n else\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child),\n (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode\n );\n break;\n case \"backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode\n );\n break;\n case \"together\":\n initSuspenseListRenderState(workInProgress, !1, null, null, void 0);\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n}\nfunction resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress) {\n 0 === (workInProgress.mode & 1) &&\n null !== current &&\n ((current.alternate = null),\n (workInProgress.alternate = null),\n (workInProgress.flags |= 2));\n}\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(\"Resuming work not yet implemented.\");\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n}\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n}\nfunction attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 13:\n var state = workInProgress.memoizedState;\n if (null !== state) {\n if (null !== state.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n state = 0 !== (renderLanes & workInProgress.childLanes);\n state ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (state)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (state) break;\n else return null;\n case 22:\n case 23:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(current, workInProgress, renderLanes)\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\nfunction beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else didReceiveUpdate = !1;\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n var elementType = workInProgress.elementType;\n a: {\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress);\n current = workInProgress.pendingProps;\n var init = elementType._init;\n elementType = init(elementType._payload);\n workInProgress.type = elementType;\n if (\"function\" === typeof elementType)\n shouldConstruct(elementType)\n ? ((current = resolveClassComponentProps(elementType, current)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n elementType,\n current,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n elementType,\n current,\n renderLanes\n )));\n else {\n if (void 0 !== elementType && null !== elementType)\n if (\n ((init = elementType.$$typeof), init === REACT_FORWARD_REF_TYPE)\n ) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n elementType,\n current,\n renderLanes\n );\n break a;\n } else if (init === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n elementType,\n current,\n renderLanes\n );\n break a;\n }\n workInProgress = getComponentNameFromType(elementType) || elementType;\n throw Error(\n \"Element type is invalid. Received a promise that resolves to: \" +\n workInProgress +\n \". Lazy element type must resolve to a class or function.\"\n );\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (elementType = workInProgress.type),\n (init = resolveClassComponentProps(\n elementType,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n elementType,\n init,\n renderLanes\n )\n );\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n if (null === current)\n throw Error(\"Should have a current fiber. This is a bug in React.\");\n var nextProps = workInProgress.pendingProps;\n init = workInProgress.memoizedState;\n elementType = init.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, nextProps, null, renderLanes);\n nextProps = workInProgress.memoizedState;\n var nextCache = nextProps.cache;\n pushProvider(workInProgress, CacheContext, nextCache);\n nextCache !== init.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n init = nextProps.element;\n init === elementType\n ? (workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ))\n : (reconcileChildren(current, workInProgress, init, renderLanes),\n (workInProgress = workInProgress.child));\n return workInProgress;\n case 26:\n case 27:\n case 5:\n return (\n pushHostContext(workInProgress),\n (elementType = workInProgress.pendingProps.children),\n null !== workInProgress.memoizedState &&\n ((init = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n (HostTransitionContext._currentValue2 = init)),\n markRef(current, workInProgress),\n reconcileChildren(current, workInProgress, elementType, renderLanes),\n workInProgress.child\n );\n case 6:\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (elementType = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n elementType,\n renderLanes\n ))\n : reconcileChildren(\n current,\n workInProgress,\n elementType,\n renderLanes\n ),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (elementType = workInProgress.pendingProps),\n pushProvider(workInProgress, workInProgress.type, elementType.value),\n reconcileChildren(\n current,\n workInProgress,\n elementType.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 9:\n return (\n (init = workInProgress.type._context),\n (elementType = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n (init = readContext(init)),\n (elementType = elementType(init)),\n (workInProgress.flags |= 1),\n reconcileChildren(current, workInProgress, elementType, renderLanes),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 17:\n return (\n (elementType = workInProgress.type),\n (init = resolveClassComponentProps(\n elementType,\n workInProgress.pendingProps\n )),\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress),\n (workInProgress.tag = 1),\n prepareToReadContext(workInProgress),\n constructClassInstance(workInProgress, elementType, init),\n mountClassInstance(workInProgress, elementType, init, renderLanes),\n finishClassComponent(\n null,\n workInProgress,\n elementType,\n !0,\n !1,\n renderLanes\n )\n );\n case 28:\n return (\n (elementType = workInProgress.type),\n (init = resolveClassComponentProps(\n elementType,\n workInProgress.pendingProps\n )),\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress),\n (workInProgress.tag = 0),\n updateFunctionComponent(\n null,\n workInProgress,\n elementType,\n init,\n renderLanes\n )\n );\n case 19:\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n case 22:\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (elementType = readContext(CacheContext)),\n null === current\n ? ((init = peekCacheFromPool()),\n null === init &&\n ((init = workInProgressRoot),\n (nextProps = createCache()),\n (init.pooledCache = nextProps),\n nextProps.refCount++,\n null !== nextProps && (init.pooledCacheLanes |= renderLanes),\n (init = nextProps)),\n (workInProgress.memoizedState = {\n parent: elementType,\n cache: init\n }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, init))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n (init = current.memoizedState),\n (nextProps = workInProgress.memoizedState),\n init.parent !== elementType\n ? ((init = { parent: elementType, cache: elementType }),\n (workInProgress.memoizedState = init),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n init),\n pushProvider(workInProgress, CacheContext, elementType))\n : ((elementType = nextProps.cache),\n pushProvider(workInProgress, CacheContext, elementType),\n elementType !== init.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(\n \"Unknown unit of work tag (\" +\n workInProgress.tag +\n \"). This error is likely caused by a bug in React. Please file an issue.\"\n );\n}\nvar valueCursor = createCursor(null),\n currentlyRenderingFiber = null,\n lastContextDependency = null;\nfunction pushProvider(providerFiber, context, nextValue) {\n push(valueCursor, context._currentValue2);\n context._currentValue2 = nextValue;\n}\nfunction popProvider(context) {\n context._currentValue2 = valueCursor.current;\n pop(valueCursor);\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n}\nfunction propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber)\n throw Error(\n \"We just came from a parent so we must have had a parent. This is a bug in React.\"\n );\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n}\nfunction propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent)\n throw Error(\"Should have a current fiber. This is a bug in React.\");\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent)\n throw Error(\"Should have a current fiber. This is a bug in React.\");\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n}\nfunction checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n if (\n !objectIs(\n currentDependencies.context._currentValue2,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n}\nfunction prepareToReadContext(workInProgress) {\n currentlyRenderingFiber = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n}\nfunction readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber, context);\n}\nfunction readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n}\nfunction readContextForConsumer(consumer, context) {\n var value = context._currentValue2;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer)\n throw Error(\n \"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\"\n );\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n}\nvar AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$1 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n };\nfunction createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n}\nfunction releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$1(NormalPriority, function () {\n cache.controller.abort();\n });\n}\nvar prevOnStartTransitionFinish = ReactSharedInternals.S;\nReactSharedInternals.S = function (transition, returnValue) {\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n};\nvar resumedCache = createCursor(null);\nfunction peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n}\nfunction pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n}\nfunction getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : { parent: CacheContext._currentValue2, pool: cacheFromPool };\n}\nfunction doesRequireClone(current, completedWork) {\n if (null !== current && current.child === completedWork.child) return !1;\n if (0 !== (completedWork.flags & 16)) return !0;\n for (current = completedWork.child; null !== current; ) {\n if (0 !== (current.flags & 13878) || 0 !== (current.subtreeFlags & 13878))\n return !0;\n current = current.sibling;\n }\n return !1;\n}\nfunction appendAllChildren(\n parent,\n workInProgress,\n needsVisibilityToggle,\n isHidden\n) {\n for (var node = workInProgress.child; null !== node; ) {\n if (5 === node.tag) {\n var instance = node.stateNode;\n needsVisibilityToggle &&\n isHidden &&\n (instance = cloneHiddenInstance(instance));\n appendChildNode(parent.node, instance.node);\n } else if (6 === node.tag) {\n instance = node.stateNode;\n if (needsVisibilityToggle && isHidden)\n throw Error(\"Not yet implemented.\");\n appendChildNode(parent.node, instance.node);\n } else if (4 !== node.tag)\n if (22 === node.tag && null !== node.memoizedState)\n (instance = node.child),\n null !== instance && (instance.return = node),\n appendAllChildren(parent, node, !0, !0);\n else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === workInProgress) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === workInProgress) return;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n}\nfunction appendAllChildrenToContainer(\n containerChildSet,\n workInProgress,\n needsVisibilityToggle,\n isHidden\n) {\n for (var node = workInProgress.child; null !== node; ) {\n if (5 === node.tag) {\n var instance = node.stateNode;\n needsVisibilityToggle &&\n isHidden &&\n (instance = cloneHiddenInstance(instance));\n appendChildNodeToSet(containerChildSet, instance.node);\n } else if (6 === node.tag) {\n instance = node.stateNode;\n if (needsVisibilityToggle && isHidden)\n throw Error(\"Not yet implemented.\");\n appendChildNodeToSet(containerChildSet, instance.node);\n } else if (4 !== node.tag)\n if (22 === node.tag && null !== node.memoizedState)\n (instance = node.child),\n null !== instance && (instance.return = node),\n appendAllChildrenToContainer(\n containerChildSet,\n node,\n !(\n null !== node.memoizedProps &&\n \"manual\" === node.memoizedProps.mode\n ),\n !0\n );\n else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === workInProgress) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === workInProgress) return;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n}\nfunction updateHostContainer(current, workInProgress) {\n if (doesRequireClone(current, workInProgress)) {\n current = workInProgress.stateNode;\n var container = current.containerInfo,\n newChildSet = createChildNodeSet();\n appendAllChildrenToContainer(newChildSet, workInProgress, !1, !1);\n current.pendingChildren = newChildSet;\n workInProgress.flags |= 4;\n completeRoot(container, newChildSet);\n }\n}\nfunction scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n}\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$92 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$92 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$92\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$92.sibling = null);\n }\n}\nfunction bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$93 = completedWork.child; null !== child$93; )\n (newChildLanes |= child$93.lanes | child$93.childLanes),\n (subtreeFlags |= child$93.subtreeFlags & 31457280),\n (subtreeFlags |= child$93.flags & 31457280),\n (child$93.return = completedWork),\n (child$93 = child$93.sibling);\n else\n for (child$93 = completedWork.child; null !== child$93; )\n (newChildLanes |= child$93.lanes | child$93.childLanes),\n (subtreeFlags |= child$93.subtreeFlags),\n (subtreeFlags |= child$93.flags),\n (child$93.return = completedWork),\n (child$93 = child$93.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n switch (workInProgress.tag) {\n case 28:\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n return (\n (newProps = workInProgress.stateNode),\n (renderLanes = null),\n null !== current && (renderLanes = current.memoizedState.cache),\n workInProgress.memoizedState.cache !== renderLanes &&\n (workInProgress.flags |= 2048),\n popProvider(CacheContext),\n popHostContainer(),\n newProps.pendingContext &&\n ((newProps.context = newProps.pendingContext),\n (newProps.pendingContext = null)),\n (null !== current && null !== current.child) ||\n null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n null !== hydrationErrors &&\n (queueRecoverableErrors(hydrationErrors),\n (hydrationErrors = null))),\n updateHostContainer(current, workInProgress),\n bubbleProperties(workInProgress),\n null\n );\n case 26:\n case 27:\n case 5:\n popHostContext(workInProgress);\n renderLanes = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode) {\n renderLanes = current.stateNode;\n var oldProps = current.memoizedProps;\n if (\n (current = doesRequireClone(current, workInProgress)) ||\n oldProps !== newProps\n ) {\n b: {\n oldProps = diffProperties(\n null,\n oldProps,\n newProps,\n renderLanes.canonical.viewConfig.validAttributes\n );\n renderLanes.canonical.currentProps = newProps;\n newProps = renderLanes.node;\n if (current)\n newProps =\n null !== oldProps\n ? cloneNodeWithNewChildrenAndProps(newProps, oldProps)\n : cloneNodeWithNewChildren(newProps);\n else if (null !== oldProps)\n newProps = cloneNodeWithNewProps(newProps, oldProps);\n else {\n newProps = renderLanes;\n break b;\n }\n newProps = { node: newProps, canonical: renderLanes.canonical };\n }\n newProps === renderLanes\n ? (workInProgress.stateNode = renderLanes)\n : ((workInProgress.stateNode = newProps),\n current\n ? appendAllChildren(newProps, workInProgress, !1, !1)\n : (workInProgress.flags |= 4));\n } else workInProgress.stateNode = renderLanes;\n } else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(\n \"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\"\n );\n bubbleProperties(workInProgress);\n return null;\n }\n oldProps = rootInstanceStackCursor.current;\n current = nextReactTag;\n nextReactTag += 2;\n renderLanes = getViewConfigForType(renderLanes);\n var updatePayload = fastAddProperties(\n null,\n newProps,\n renderLanes.validAttributes\n );\n oldProps = createNode(\n current,\n renderLanes.uiViewClassName,\n oldProps,\n updatePayload,\n workInProgress\n );\n updatePayload = ReactNativePrivateInterface.createPublicInstance(\n current,\n renderLanes,\n workInProgress\n );\n current = {\n node: oldProps,\n canonical: {\n nativeTag: current,\n viewConfig: renderLanes,\n currentProps: newProps,\n internalInstanceHandle: workInProgress,\n publicInstance: updatePayload\n }\n };\n appendAllChildren(current, workInProgress, !1, !1);\n workInProgress.stateNode = current;\n }\n bubbleProperties(workInProgress);\n workInProgress.flags &= -16777217;\n return null;\n case 6:\n if (current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps\n ? ((workInProgress.stateNode = createTextInstance(\n newProps,\n rootInstanceStackCursor.current,\n contextStackCursor.current,\n workInProgress\n )),\n (workInProgress.flags |= 4))\n : (workInProgress.stateNode = current.stateNode);\n else {\n if (\"string\" !== typeof newProps && null === workInProgress.stateNode)\n throw Error(\n \"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\"\n );\n workInProgress.stateNode = createTextInstance(\n newProps,\n rootInstanceStackCursor.current,\n contextStackCursor.current,\n workInProgress\n );\n }\n bubbleProperties(workInProgress);\n return null;\n case 13:\n newProps = workInProgress.memoizedState;\n if (\n null === current ||\n (null !== current.memoizedState &&\n null !== current.memoizedState.dehydrated)\n ) {\n if (null !== newProps && null !== newProps.dehydrated) {\n if (null === current) {\n throw Error(\n \"A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.\"\n );\n throw Error(\n \"Expected prepareToHydrateHostSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null);\n workInProgress.flags |= 4;\n bubbleProperties(workInProgress);\n oldProps = !1;\n } else\n null !== hydrationErrors &&\n (queueRecoverableErrors(hydrationErrors), (hydrationErrors = null)),\n (oldProps = !0);\n if (!oldProps) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n }\n popSuspenseHandler(workInProgress);\n if (0 !== (workInProgress.flags & 128))\n return (workInProgress.lanes = renderLanes), workInProgress;\n newProps = null !== newProps;\n current = null !== current && null !== current.memoizedState;\n newProps &&\n ((renderLanes = workInProgress.child),\n (oldProps = null),\n null !== renderLanes.alternate &&\n null !== renderLanes.alternate.memoizedState &&\n null !== renderLanes.alternate.memoizedState.cachePool &&\n (oldProps = renderLanes.alternate.memoizedState.cachePool.pool),\n (updatePayload = null),\n null !== renderLanes.memoizedState &&\n null !== renderLanes.memoizedState.cachePool &&\n (updatePayload = renderLanes.memoizedState.cachePool.pool),\n updatePayload !== oldProps && (renderLanes.flags |= 2048));\n newProps !== current && newProps && (workInProgress.child.flags |= 8192);\n scheduleRetryEffect(workInProgress, workInProgress.updateQueue);\n bubbleProperties(workInProgress);\n return null;\n case 4:\n return (\n popHostContainer(),\n updateHostContainer(current, workInProgress),\n bubbleProperties(workInProgress),\n null\n );\n case 10:\n return (\n popProvider(workInProgress.type), bubbleProperties(workInProgress), null\n );\n case 17:\n return bubbleProperties(workInProgress), null;\n case 19:\n pop(suspenseStackCursor);\n oldProps = workInProgress.memoizedState;\n if (null === oldProps) return bubbleProperties(workInProgress), null;\n newProps = 0 !== (workInProgress.flags & 128);\n updatePayload = oldProps.rendering;\n if (null === updatePayload)\n if (newProps) cutOffTailIfNeeded(oldProps, !1);\n else {\n if (\n 0 !== workInProgressRootExitStatus ||\n (null !== current && 0 !== (current.flags & 128))\n )\n for (current = workInProgress.child; null !== current; ) {\n updatePayload = findFirstSuspended(current);\n if (null !== updatePayload) {\n workInProgress.flags |= 128;\n cutOffTailIfNeeded(oldProps, !1);\n current = updatePayload.updateQueue;\n workInProgress.updateQueue = current;\n scheduleRetryEffect(workInProgress, current);\n workInProgress.subtreeFlags = 0;\n current = renderLanes;\n for (newProps = workInProgress.child; null !== newProps; )\n resetWorkInProgress(newProps, current),\n (newProps = newProps.sibling);\n push(\n suspenseStackCursor,\n (suspenseStackCursor.current & 1) | 2\n );\n return workInProgress.child;\n }\n current = current.sibling;\n }\n null !== oldProps.tail &&\n now() > workInProgressRootRenderTargetTime &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(oldProps, !1),\n (workInProgress.lanes = 4194304));\n }\n else {\n if (!newProps)\n if (\n ((current = findFirstSuspended(updatePayload)), null !== current)\n ) {\n if (\n ((workInProgress.flags |= 128),\n (newProps = !0),\n (current = current.updateQueue),\n (workInProgress.updateQueue = current),\n scheduleRetryEffect(workInProgress, current),\n cutOffTailIfNeeded(oldProps, !0),\n null === oldProps.tail &&\n \"hidden\" === oldProps.tailMode &&\n !updatePayload.alternate)\n )\n return bubbleProperties(workInProgress), null;\n } else\n 2 * now() - oldProps.renderingStartTime >\n workInProgressRootRenderTargetTime &&\n 536870912 !== renderLanes &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(oldProps, !1),\n (workInProgress.lanes = 4194304));\n oldProps.isBackwards\n ? ((updatePayload.sibling = workInProgress.child),\n (workInProgress.child = updatePayload))\n : ((current = oldProps.last),\n null !== current\n ? (current.sibling = updatePayload)\n : (workInProgress.child = updatePayload),\n (oldProps.last = updatePayload));\n }\n if (null !== oldProps.tail)\n return (\n (workInProgress = oldProps.tail),\n (oldProps.rendering = workInProgress),\n (oldProps.tail = workInProgress.sibling),\n (oldProps.renderingStartTime = now()),\n (workInProgress.sibling = null),\n (current = suspenseStackCursor.current),\n push(suspenseStackCursor, newProps ? (current & 1) | 2 : current & 1),\n workInProgress\n );\n bubbleProperties(workInProgress);\n return null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n (newProps = null !== workInProgress.memoizedState),\n null !== current\n ? (null !== current.memoizedState) !== newProps &&\n (workInProgress.flags |= 8192)\n : newProps && (workInProgress.flags |= 8192),\n newProps && 0 !== (workInProgress.mode & 1)\n ? 0 !== (renderLanes & 536870912) &&\n 0 === (workInProgress.flags & 128) &&\n (bubbleProperties(workInProgress),\n workInProgress.subtreeFlags & 6 && (workInProgress.flags |= 8192))\n : bubbleProperties(workInProgress),\n (newProps = workInProgress.updateQueue),\n null !== newProps &&\n scheduleRetryEffect(workInProgress, newProps.retryQueue),\n (newProps = null),\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (newProps = current.memoizedState.cachePool.pool),\n (renderLanes = null),\n null !== workInProgress.memoizedState &&\n null !== workInProgress.memoizedState.cachePool &&\n (renderLanes = workInProgress.memoizedState.cachePool.pool),\n renderLanes !== newProps && (workInProgress.flags |= 2048),\n null !== current && pop(resumedCache),\n null\n );\n case 24:\n return (\n (newProps = null),\n null !== current && (newProps = current.memoizedState.cache),\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048),\n popProvider(CacheContext),\n bubbleProperties(workInProgress),\n null\n );\n case 25:\n return null;\n case 29:\n return null;\n }\n throw Error(\n \"Unknown unit of work tag (\" +\n workInProgress.tag +\n \"). This error is likely caused by a bug in React. Please file an issue.\"\n );\n}\nfunction unwindWork(current, workInProgress) {\n switch (workInProgress.tag) {\n case 1:\n return (\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 3:\n return (\n popProvider(CacheContext),\n popHostContainer(),\n (current = workInProgress.flags),\n 0 !== (current & 65536) && 0 === (current & 128)\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 26:\n case 27:\n case 5:\n return popHostContext(workInProgress), null;\n case 13:\n popSuspenseHandler(workInProgress);\n current = workInProgress.memoizedState;\n if (\n null !== current &&\n null !== current.dehydrated &&\n null === workInProgress.alternate\n )\n throw Error(\n \"Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.\"\n );\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 19:\n return pop(suspenseStackCursor), null;\n case 4:\n return popHostContainer(), null;\n case 10:\n return popProvider(workInProgress.type), null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n null !== current && pop(resumedCache),\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 24:\n return popProvider(CacheContext), null;\n case 25:\n return null;\n default:\n return null;\n }\n}\nfunction unwindInterruptedWork(current, interruptedWork) {\n switch (interruptedWork.tag) {\n case 3:\n popProvider(CacheContext);\n popHostContainer();\n break;\n case 26:\n case 27:\n case 5:\n popHostContext(interruptedWork);\n break;\n case 4:\n popHostContainer();\n break;\n case 13:\n popSuspenseHandler(interruptedWork);\n break;\n case 19:\n pop(suspenseStackCursor);\n break;\n case 10:\n popProvider(interruptedWork.type);\n break;\n case 22:\n case 23:\n popSuspenseHandler(interruptedWork);\n popHiddenContext();\n null !== current && pop(resumedCache);\n break;\n case 24:\n popProvider(CacheContext);\n }\n}\nfunction commitHookEffectListMount(flags, finishedWork) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n lastEffect = void 0;\n var create$114 = updateQueue.create,\n inst = updateQueue.inst;\n lastEffect = create$114();\n inst.destroy = lastEffect;\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitHookEffectListUnmount(\n flags,\n finishedWork,\n nearestMountedAncestor$jscomp$0\n) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n var inst = updateQueue.inst,\n destroy = inst.destroy;\n if (void 0 !== destroy) {\n inst.destroy = void 0;\n lastEffect = finishedWork;\n var nearestMountedAncestor = nearestMountedAncestor$jscomp$0;\n try {\n destroy();\n } catch (error) {\n captureCommitPhaseError(\n lastEffect,\n nearestMountedAncestor,\n error\n );\n }\n }\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitClassCallbacks(finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n if (null !== updateQueue) {\n var instance = finishedWork.stateNode;\n try {\n commitCallbacks(updateQueue, instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\nfunction safelyCallComponentWillUnmount(\n current,\n nearestMountedAncestor,\n instance\n) {\n instance.props = resolveClassComponentProps(\n current.type,\n current.memoizedProps\n );\n instance.state = current.memoizedState;\n try {\n instance.componentWillUnmount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyAttachRef(current, nearestMountedAncestor) {\n try {\n var ref = current.ref;\n if (null !== ref) {\n var instance = current.stateNode;\n switch (current.tag) {\n case 26:\n case 27:\n case 5:\n var instanceToUse = getPublicInstance(instance);\n break;\n default:\n instanceToUse = instance;\n }\n \"function\" === typeof ref\n ? (current.refCleanup = ref(instanceToUse))\n : (ref.current = instanceToUse);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref,\n refCleanup = current.refCleanup;\n if (null !== ref)\n if (\"function\" === typeof refCleanup)\n try {\n refCleanup();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n } finally {\n (current.refCleanup = null),\n (current = current.alternate),\n null != current && (current.refCleanup = null);\n }\n else if (\"function\" === typeof ref)\n try {\n ref(null);\n } catch (error$116) {\n captureCommitPhaseError(current, nearestMountedAncestor, error$116);\n }\n else ref.current = null;\n}\nfunction commitHostMount(finishedWork) {\n try {\n throw Error(\n \"The current renderer does not support mutation. This error is likely caused by a bug in React. Please file an issue.\"\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nvar offscreenSubtreeIsHidden = !1,\n offscreenSubtreeWasHidden = !1,\n PossiblyWeakSet = \"function\" === typeof WeakSet ? WeakSet : Set,\n nextEffect = null,\n shouldFireAfterActiveInstanceBlur = !1;\nfunction commitBeforeMutationEffects(root, firstChild) {\n for (nextEffect = firstChild; null !== nextEffect; )\n if (\n ((root = nextEffect),\n (firstChild = root.child),\n 0 !== (root.subtreeFlags & 1028) && null !== firstChild)\n )\n (firstChild.return = root), (nextEffect = firstChild);\n else\n for (; null !== nextEffect; ) {\n root = nextEffect;\n var current = root.alternate;\n firstChild = root.flags;\n switch (root.tag) {\n case 0:\n break;\n case 11:\n case 15:\n break;\n case 1:\n if (0 !== (firstChild & 1024) && null !== current) {\n firstChild = void 0;\n var finishedWork = root,\n prevProps = current.memoizedProps;\n current = current.memoizedState;\n var instance = finishedWork.stateNode;\n try {\n var resolvedPrevProps = resolveClassComponentProps(\n finishedWork.type,\n prevProps,\n finishedWork.elementType === finishedWork.type\n );\n firstChild = instance.getSnapshotBeforeUpdate(\n resolvedPrevProps,\n current\n );\n instance.__reactInternalSnapshotBeforeUpdate = firstChild;\n } catch (error) {\n captureCommitPhaseError(\n finishedWork,\n finishedWork.return,\n error\n );\n }\n }\n break;\n case 3:\n break;\n case 5:\n case 26:\n case 27:\n case 6:\n case 4:\n case 17:\n break;\n default:\n if (0 !== (firstChild & 1024))\n throw Error(\n \"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n firstChild = root.sibling;\n if (null !== firstChild) {\n firstChild.return = root.return;\n nextEffect = firstChild;\n break;\n }\n nextEffect = root.return;\n }\n resolvedPrevProps = shouldFireAfterActiveInstanceBlur;\n shouldFireAfterActiveInstanceBlur = !1;\n return resolvedPrevProps;\n}\nfunction commitLayoutEffectOnFiber(finishedRoot, current, finishedWork) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitHookEffectListMount(5, finishedWork);\n break;\n case 1:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (flags & 4)\n if (((finishedRoot = finishedWork.stateNode), null === current))\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n else {\n var prevProps = resolveClassComponentProps(\n finishedWork.type,\n current.memoizedProps\n );\n current = current.memoizedState;\n try {\n finishedRoot.componentDidUpdate(\n prevProps,\n current,\n finishedRoot.__reactInternalSnapshotBeforeUpdate\n );\n } catch (error$115) {\n captureCommitPhaseError(\n finishedWork,\n finishedWork.return,\n error$115\n );\n }\n }\n flags & 64 && commitClassCallbacks(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (flags & 64 && ((flags = finishedWork.updateQueue), null !== flags)) {\n finishedRoot = null;\n if (null !== finishedWork.child)\n switch (finishedWork.child.tag) {\n case 27:\n case 5:\n finishedRoot = getPublicInstance(finishedWork.child.stateNode);\n break;\n case 1:\n finishedRoot = finishedWork.child.stateNode;\n }\n try {\n commitCallbacks(flags, finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 26:\n case 27:\n case 5:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n null === current && flags & 4 && commitHostMount(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n break;\n case 22:\n if (0 !== (finishedWork.mode & 1)) {\n if (\n ((prevProps =\n null !== finishedWork.memoizedState || offscreenSubtreeIsHidden),\n !prevProps)\n ) {\n current =\n (null !== current && null !== current.memoizedState) ||\n offscreenSubtreeWasHidden;\n var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden,\n prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevProps;\n (offscreenSubtreeWasHidden = current) &&\n !prevOffscreenSubtreeWasHidden\n ? recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n 0 !== (finishedWork.subtreeFlags & 8772)\n )\n : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n }\n } else recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 512 &&\n (\"manual\" === finishedWork.memoizedProps.mode\n ? safelyAttachRef(finishedWork, finishedWork.return)\n : safelyDetachRef(finishedWork, finishedWork.return));\n break;\n default:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n }\n}\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n null !== alternate &&\n ((fiber.alternate = null), detachFiberAfterEffects(alternate));\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null;\n fiber.stateNode = null;\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null;\n fiber.updateQueue = null;\n}\nfunction recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n parent\n) {\n for (parent = parent.child; null !== parent; )\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, parent),\n (parent = parent.sibling);\n}\nfunction commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberUnmount)\n try {\n injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);\n } catch (err) {}\n switch (deletedFiber.tag) {\n case 26:\n case 27:\n case 5:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n case 6:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 18:\n break;\n case 4:\n createChildNodeSet();\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 0:\n case 11:\n case 14:\n case 15:\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(2, deletedFiber, nearestMountedAncestor);\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(4, deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 1:\n if (!offscreenSubtreeWasHidden) {\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n var instance = deletedFiber.stateNode;\n \"function\" === typeof instance.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n deletedFiber,\n nearestMountedAncestor,\n instance\n );\n }\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 21:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 22:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n deletedFiber.mode & 1\n ? ((offscreenSubtreeWasHidden =\n (instance = offscreenSubtreeWasHidden) ||\n null !== deletedFiber.memoizedState),\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n ),\n (offscreenSubtreeWasHidden = instance))\n : recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n default:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n }\n}\nfunction getRetryCache(finishedWork) {\n switch (finishedWork.tag) {\n case 13:\n case 19:\n var retryCache = finishedWork.stateNode;\n null === retryCache &&\n (retryCache = finishedWork.stateNode = new PossiblyWeakSet());\n return retryCache;\n case 22:\n return (\n (finishedWork = finishedWork.stateNode),\n (retryCache = finishedWork._retryCache),\n null === retryCache &&\n (retryCache = finishedWork._retryCache = new PossiblyWeakSet()),\n retryCache\n );\n default:\n throw Error(\n \"Unexpected Suspense handler tag (\" +\n finishedWork.tag +\n \"). This is a bug in React.\"\n );\n }\n}\nfunction attachSuspenseRetryListeners(finishedWork, wakeables) {\n var retryCache = getRetryCache(finishedWork);\n wakeables.forEach(function (wakeable) {\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n retryCache.has(wakeable) ||\n (retryCache.add(wakeable), wakeable.then(retry, retry));\n });\n}\nfunction recursivelyTraverseMutationEffects(root, parentFiber) {\n var deletions = parentFiber.deletions;\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n commitDeletionEffectsOnFiber(root, parentFiber, childToDelete);\n var alternate = childToDelete.alternate;\n null !== alternate && (alternate.return = null);\n childToDelete.return = null;\n }\n if (parentFiber.subtreeFlags & 13878)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitMutationEffectsOnFiber(parentFiber, root),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitMutationEffectsOnFiber(finishedWork, root) {\n var current = finishedWork.alternate,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n (commitHookEffectListUnmount(3, finishedWork, finishedWork.return),\n commitHookEffectListMount(3, finishedWork),\n commitHookEffectListUnmount(5, finishedWork, finishedWork.return));\n break;\n case 1:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n flags & 64 &&\n offscreenSubtreeIsHidden &&\n ((finishedWork = finishedWork.updateQueue),\n null !== finishedWork &&\n ((flags = finishedWork.callbacks),\n null !== flags &&\n ((current = finishedWork.shared.hiddenCallbacks),\n (finishedWork.shared.hiddenCallbacks =\n null === current ? flags : current.concat(flags)))));\n break;\n case 26:\n case 27:\n case 5:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n break;\n case 6:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 3:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 4:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 12:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 13:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n finishedWork.child.flags & 8192 &&\n ((current = null !== current && null !== current.memoizedState),\n null === finishedWork.memoizedState ||\n current ||\n (globalMostRecentFallbackTime = now()));\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 22:\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n var isHidden = null !== finishedWork.memoizedState,\n wasHidden = null !== current && null !== current.memoizedState;\n if (finishedWork.mode & 1) {\n var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden,\n prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden || isHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || wasHidden;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n } else recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n root = finishedWork.stateNode;\n root._current = finishedWork;\n root._visibility &= -3;\n root._visibility |= root._pendingVisibility & 2;\n flags & 8192 &&\n ((root._visibility = isHidden\n ? root._visibility & -2\n : root._visibility | 1),\n isHidden &&\n ((isHidden = offscreenSubtreeIsHidden || offscreenSubtreeWasHidden),\n null === current ||\n wasHidden ||\n isHidden ||\n (0 !== (finishedWork.mode & 1) &&\n recursivelyTraverseDisappearLayoutEffects(finishedWork))));\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((current = flags.retryQueue),\n null !== current &&\n ((flags.retryQueue = null),\n attachSuspenseRetryListeners(finishedWork, current))));\n break;\n case 19:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 21:\n break;\n default:\n recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork);\n }\n}\nfunction commitReconciliationEffects(finishedWork) {\n var flags = finishedWork.flags;\n flags & 2 && (finishedWork.flags &= -3);\n flags & 4096 && (finishedWork.flags &= -4097);\n}\nfunction recursivelyTraverseLayoutEffects(root, parentFiber) {\n if (parentFiber.subtreeFlags & 8772)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitLayoutEffectOnFiber(root, parentFiber.alternate, parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction recursivelyTraverseDisappearLayoutEffects(parentFiber) {\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedWork = parentFiber;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookEffectListUnmount(4, finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 1:\n safelyDetachRef(finishedWork, finishedWork.return);\n var instance = finishedWork.stateNode;\n \"function\" === typeof instance.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n finishedWork,\n finishedWork.return,\n instance\n );\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 26:\n case 27:\n case 5:\n safelyDetachRef(finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 22:\n safelyDetachRef(finishedWork, finishedWork.return);\n null === finishedWork.memoizedState &&\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n default:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseReappearLayoutEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n includeWorkInProgressEffects\n) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var current = parentFiber.alternate,\n finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(4, finishedWork);\n break;\n case 1:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n current = finishedWork;\n finishedRoot = current.stateNode;\n if (\"function\" === typeof finishedRoot.componentDidMount)\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n current = finishedWork;\n finishedRoot = current.updateQueue;\n if (null !== finishedRoot) {\n var instance = current.stateNode;\n try {\n var hiddenCallbacks = finishedRoot.shared.hiddenCallbacks;\n if (null !== hiddenCallbacks)\n for (\n finishedRoot.shared.hiddenCallbacks = null, finishedRoot = 0;\n finishedRoot < hiddenCallbacks.length;\n finishedRoot++\n )\n callCallback(hiddenCallbacks[finishedRoot], instance);\n } catch (error) {\n captureCommitPhaseError(current, current.return, error);\n }\n }\n includeWorkInProgressEffects &&\n flags & 64 &&\n commitClassCallbacks(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 26:\n case 27:\n case 5:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n null === current &&\n flags & 4 &&\n commitHostMount(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n break;\n case 13:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n default:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitOffscreenPassiveMountEffects(current, finishedWork) {\n var previousCache = null;\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (previousCache = current.memoizedState.cachePool.pool);\n current = null;\n null !== finishedWork.memoizedState &&\n null !== finishedWork.memoizedState.cachePool &&\n (current = finishedWork.memoizedState.cachePool.pool);\n current !== previousCache &&\n (null != current && current.refCount++,\n null != previousCache && releaseCache(previousCache));\n}\nfunction commitCachePassiveMountEffect(current, finishedWork) {\n current = null;\n null !== finishedWork.alternate &&\n (current = finishedWork.alternate.memoizedState.cache);\n finishedWork = finishedWork.memoizedState.cache;\n finishedWork !== current &&\n (finishedWork.refCount++, null != current && releaseCache(current));\n}\nfunction recursivelyTraversePassiveMountEffects(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveMountOnFiber(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n ),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitPassiveMountOnFiber(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 && commitHookEffectListMount(9, finishedWork);\n break;\n case 3:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n ((finishedRoot = null),\n null !== finishedWork.alternate &&\n (finishedRoot = finishedWork.alternate.memoizedState.cache),\n (finishedWork = finishedWork.memoizedState.cache),\n finishedWork !== finishedRoot &&\n (finishedWork.refCount++,\n null != finishedRoot && releaseCache(finishedRoot)));\n break;\n case 12:\n if (flags & 2048) {\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n finishedRoot = finishedWork.stateNode;\n try {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n id = _finishedWork$memoize2.id,\n onPostCommit = _finishedWork$memoize2.onPostCommit;\n \"function\" === typeof onPostCommit &&\n onPostCommit(\n id,\n null === finishedWork.alternate ? \"mount\" : \"update\",\n finishedRoot.passiveEffectDuration,\n -0\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n } else\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 23:\n break;\n case 22:\n _finishedWork$memoize2 = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? _finishedWork$memoize2._visibility & 4\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : finishedWork.mode & 1\n ? recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : ((_finishedWork$memoize2._visibility |= 4),\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n ))\n : _finishedWork$memoize2._visibility & 4\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : ((_finishedWork$memoize2._visibility |= 4),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n 0 !== (finishedWork.subtreeFlags & 10256)\n ));\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n }\n}\nfunction recursivelyTraverseReconnectPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n committedLanes$jscomp$0,\n committedTransitions$jscomp$0,\n includeWorkInProgressEffects\n) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 10256);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n committedLanes = committedLanes$jscomp$0,\n committedTransitions = committedTransitions$jscomp$0,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(8, finishedWork);\n break;\n case 23:\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? instance._visibility & 4\n ? recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n )\n : finishedWork.mode & 1\n ? recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : ((instance._visibility |= 4),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ))\n : ((instance._visibility |= 4),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ));\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseAtomicPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber\n) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 22:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nvar suspenseyCommitFlag = 8192;\nfunction recursivelyAccumulateSuspenseyCommit(parentFiber) {\n if (parentFiber.subtreeFlags & suspenseyCommitFlag)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n accumulateSuspenseyCommitOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction accumulateSuspenseyCommitOnFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n recursivelyAccumulateSuspenseyCommit(fiber);\n fiber.flags & suspenseyCommitFlag &&\n null !== fiber.memoizedState &&\n shim();\n break;\n case 5:\n recursivelyAccumulateSuspenseyCommit(fiber);\n break;\n case 3:\n case 4:\n recursivelyAccumulateSuspenseyCommit(fiber);\n break;\n case 22:\n if (null === fiber.memoizedState) {\n var current = fiber.alternate;\n null !== current && null !== current.memoizedState\n ? ((current = suspenseyCommitFlag),\n (suspenseyCommitFlag = 16777216),\n recursivelyAccumulateSuspenseyCommit(fiber),\n (suspenseyCommitFlag = current))\n : recursivelyAccumulateSuspenseyCommit(fiber);\n }\n break;\n default:\n recursivelyAccumulateSuspenseyCommit(fiber);\n }\n}\nfunction detachAlternateSiblings(parentFiber) {\n var previousFiber = parentFiber.alternate;\n if (\n null !== previousFiber &&\n ((parentFiber = previousFiber.child), null !== parentFiber)\n ) {\n previousFiber.child = null;\n do\n (previousFiber = parentFiber.sibling),\n (parentFiber.sibling = null),\n (parentFiber = previousFiber);\n while (null !== parentFiber);\n }\n}\nfunction recursivelyTraversePassiveUnmountEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveUnmountOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n finishedWork.flags & 2048 &&\n commitHookEffectListUnmount(9, finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 12:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState &&\n instance._visibility & 4 &&\n (null === finishedWork.return || 13 !== finishedWork.return.tag)\n ? ((instance._visibility &= -5),\n recursivelyTraverseDisconnectPassiveEffects(finishedWork))\n : recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n default:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n }\n}\nfunction recursivelyTraverseDisconnectPassiveEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n deletions = parentFiber;\n switch (deletions.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, deletions, deletions.return);\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n break;\n case 22:\n i = deletions.stateNode;\n i._visibility & 4 &&\n ((i._visibility &= -5),\n recursivelyTraverseDisconnectPassiveEffects(deletions));\n break;\n default:\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n deletedSubtreeRoot,\n nearestMountedAncestor\n) {\n for (; null !== nextEffect; ) {\n var fiber = nextEffect;\n switch (fiber.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, fiber, nearestMountedAncestor);\n break;\n case 23:\n case 22:\n if (\n null !== fiber.memoizedState &&\n null !== fiber.memoizedState.cachePool\n ) {\n var cache = fiber.memoizedState.cachePool.pool;\n null != cache && cache.refCount++;\n }\n break;\n case 24:\n releaseCache(fiber.memoizedState.cache);\n }\n cache = fiber.child;\n if (null !== cache) (cache.return = fiber), (nextEffect = cache);\n else\n a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {\n cache = nextEffect;\n var sibling = cache.sibling,\n returnFiber = cache.return;\n detachFiberAfterEffects(cache);\n if (cache === fiber) {\n nextEffect = null;\n break a;\n }\n if (null !== sibling) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n break a;\n }\n nextEffect = returnFiber;\n }\n }\n}\nvar DefaultAsyncDispatcher = {\n getCacheForType: function (resourceType) {\n var cache = readContext(CacheContext),\n cacheForType = cache.data.get(resourceType);\n void 0 === cacheForType &&\n ((cacheForType = resourceType()),\n cache.data.set(resourceType, cacheForType));\n return cacheForType;\n }\n },\n PossiblyWeakMap = \"function\" === typeof WeakMap ? WeakMap : Map,\n executionContext = 0,\n workInProgressRoot = null,\n workInProgress = null,\n workInProgressRootRenderLanes = 0,\n workInProgressSuspendedReason = 0,\n workInProgressThrownValue = null,\n workInProgressRootDidSkipSuspendedSiblings = !1,\n workInProgressRootIsPrerendering = !1,\n workInProgressRootDidAttachPingListener = !1,\n entangledRenderLanes = 0,\n workInProgressRootExitStatus = 0,\n workInProgressRootSkippedLanes = 0,\n workInProgressRootInterleavedUpdatedLanes = 0,\n workInProgressRootPingedLanes = 0,\n workInProgressDeferredLane = 0,\n workInProgressSuspendedRetryLanes = 0,\n workInProgressRootConcurrentErrors = null,\n workInProgressRootRecoverableErrors = null,\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1,\n globalMostRecentFallbackTime = 0,\n workInProgressRootRenderTargetTime = Infinity,\n workInProgressTransitions = null,\n legacyErrorBoundariesThatAlreadyFailed = null,\n rootDoesHavePassiveEffects = !1,\n rootWithPendingPassiveEffects = null,\n pendingPassiveEffectsLanes = 0,\n pendingPassiveEffectsRemainingLanes = 0,\n pendingPassiveTransitions = null,\n nestedUpdateCount = 0,\n rootWithNestedUpdates = null;\nfunction requestUpdateLane(fiber) {\n return 0 === (fiber.mode & 1)\n ? 2\n : 0 !== (executionContext & 2) && 0 !== workInProgressRootRenderLanes\n ? workInProgressRootRenderLanes & -workInProgressRootRenderLanes\n : null !== ReactSharedInternals.T\n ? ((fiber = currentEntangledLane),\n 0 !== fiber ? fiber : requestTransitionLane())\n : resolveUpdatePriority();\n}\nfunction requestDeferredLane() {\n 0 === workInProgressDeferredLane &&\n (workInProgressDeferredLane =\n 0 !== (workInProgressRootRenderLanes & 536870912)\n ? 536870912\n : claimNextTransitionLane());\n var suspenseHandler = suspenseHandlerStackCursor.current;\n null !== suspenseHandler && (suspenseHandler.flags |= 32);\n return workInProgressDeferredLane;\n}\nfunction scheduleUpdateOnFiber(root, fiber, lane) {\n if (\n (root === workInProgressRoot && 2 === workInProgressSuspendedReason) ||\n null !== root.cancelPendingCommit\n )\n prepareFreshStack(root, 0),\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n markRootUpdated$1(root, lane);\n if (0 === (executionContext & 2) || root !== workInProgressRoot)\n root === workInProgressRoot &&\n (0 === (executionContext & 2) &&\n (workInProgressRootInterleavedUpdatedLanes |= lane),\n 4 === workInProgressRootExitStatus &&\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n )),\n ensureRootIsScheduled(root),\n 2 === lane &&\n 0 === executionContext &&\n 0 === (fiber.mode & 1) &&\n ((workInProgressRootRenderTargetTime = now() + 500),\n flushSyncWorkAcrossRoots_impl(0, !0));\n}\nfunction performWorkOnRoot(root$jscomp$0, lanes, forceSync) {\n if (0 !== (executionContext & 6))\n throw Error(\"Should not already be working.\");\n var shouldTimeSlice =\n (!forceSync &&\n 0 === (lanes & 60) &&\n 0 === (lanes & root$jscomp$0.expiredLanes)) ||\n checkIfRootIsPrerendering(root$jscomp$0, lanes),\n exitStatus = shouldTimeSlice\n ? renderRootConcurrent(root$jscomp$0, lanes)\n : renderRootSync(root$jscomp$0, lanes, !0),\n renderWasConcurrent = shouldTimeSlice;\n do {\n if (0 === exitStatus) {\n workInProgressRootIsPrerendering &&\n !shouldTimeSlice &&\n markRootSuspended(root$jscomp$0, lanes, 0, !1);\n break;\n } else if (6 === exitStatus)\n markRootSuspended(\n root$jscomp$0,\n lanes,\n 0,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n else {\n forceSync = root$jscomp$0.current.alternate;\n if (\n renderWasConcurrent &&\n !isRenderConsistentWithExternalStores(forceSync)\n ) {\n exitStatus = renderRootSync(root$jscomp$0, lanes, !1);\n renderWasConcurrent = !1;\n continue;\n }\n if (0 !== root$jscomp$0.tag && 2 === exitStatus) {\n renderWasConcurrent = lanes;\n if (root$jscomp$0.errorRecoveryDisabledLanes & renderWasConcurrent)\n var JSCompiler_inline_result = 0;\n else\n (JSCompiler_inline_result = root$jscomp$0.pendingLanes & -536870913),\n (JSCompiler_inline_result =\n 0 !== JSCompiler_inline_result\n ? JSCompiler_inline_result\n : JSCompiler_inline_result & 536870912\n ? 536870912\n : 0);\n if (0 !== JSCompiler_inline_result) {\n lanes = JSCompiler_inline_result;\n a: {\n var root = root$jscomp$0;\n exitStatus = workInProgressRootConcurrentErrors;\n JSCompiler_inline_result = renderRootSync(\n root,\n JSCompiler_inline_result,\n !1\n );\n if (2 !== JSCompiler_inline_result) {\n if (workInProgressRootDidAttachPingListener) {\n root.errorRecoveryDisabledLanes |= renderWasConcurrent;\n workInProgressRootInterleavedUpdatedLanes |=\n renderWasConcurrent;\n exitStatus = 4;\n break a;\n }\n renderWasConcurrent = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = exitStatus;\n null !== renderWasConcurrent &&\n queueRecoverableErrors(renderWasConcurrent);\n }\n exitStatus = JSCompiler_inline_result;\n }\n renderWasConcurrent = !1;\n if (2 !== exitStatus) continue;\n }\n }\n if (1 === exitStatus) {\n prepareFreshStack(root$jscomp$0, 0);\n markRootSuspended(root$jscomp$0, lanes, 0, !0);\n break;\n }\n a: {\n shouldTimeSlice = root$jscomp$0;\n renderWasConcurrent = exitStatus;\n switch (renderWasConcurrent) {\n case 0:\n case 1:\n throw Error(\"Root did not complete. This is a bug in React.\");\n case 4:\n if ((lanes & 4194176) === lanes) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n break a;\n }\n break;\n case 2:\n workInProgressRootRecoverableErrors = null;\n break;\n case 3:\n case 5:\n break;\n default:\n throw Error(\"Unknown root exit status.\");\n }\n shouldTimeSlice.finishedWork = forceSync;\n shouldTimeSlice.finishedLanes = lanes;\n if (\n (lanes & 62914560) === lanes &&\n 3 === renderWasConcurrent &&\n ((renderWasConcurrent = globalMostRecentFallbackTime + 300 - now()),\n 10 < renderWasConcurrent)\n ) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n if (0 !== getNextLanes(shouldTimeSlice, 0)) break a;\n shouldTimeSlice.timeoutHandle = scheduleTimeout(\n commitRootWhenReady.bind(\n null,\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n 2,\n -0,\n 0\n ),\n renderWasConcurrent\n );\n break a;\n }\n commitRootWhenReady(\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n 0,\n -0,\n 0\n );\n }\n }\n break;\n } while (1);\n ensureRootIsScheduled(root$jscomp$0);\n}\nfunction queueRecoverableErrors(errors) {\n null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = errors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n errors\n );\n}\nfunction commitRootWhenReady(\n root,\n finishedWork,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n didSkipSuspendedSiblings,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n) {\n lanes = finishedWork.subtreeFlags;\n (lanes & 8192 || 16785408 === (lanes & 16785408)) &&\n accumulateSuspenseyCommitOnFiber(finishedWork);\n finishedWork = ReactSharedInternals.T;\n lanes = currentUpdatePriority;\n try {\n (currentUpdatePriority = 2),\n (ReactSharedInternals.T = null),\n commitRootImpl(\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n );\n } finally {\n (ReactSharedInternals.T = finishedWork), (currentUpdatePriority = lanes);\n }\n}\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n for (var node = finishedWork; ; ) {\n var tag = node.tag;\n if (\n (0 === tag || 11 === tag || 15 === tag) &&\n node.flags & 16384 &&\n ((tag = node.updateQueue),\n null !== tag && ((tag = tag.stores), null !== tag))\n )\n for (var i = 0; i < tag.length; i++) {\n var check = tag[i],\n getSnapshot = check.getSnapshot;\n check = check.value;\n try {\n if (!objectIs(getSnapshot(), check)) return !1;\n } catch (error) {\n return !1;\n }\n }\n tag = node.child;\n if (node.subtreeFlags & 16384 && null !== tag)\n (tag.return = node), (node = tag);\n else {\n if (node === finishedWork) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === finishedWork) return !0;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n return !0;\n}\nfunction markRootSuspended(\n root,\n suspendedLanes,\n spawnedLane,\n didAttemptEntireTree\n) {\n suspendedLanes &= ~workInProgressRootPingedLanes;\n suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes;\n didAttemptEntireTree && (root.warmLanes |= suspendedLanes);\n didAttemptEntireTree = root.expirationTimes;\n for (var lanes = suspendedLanes; 0 < lanes; ) {\n var index$9 = 31 - clz32(lanes),\n lane = 1 << index$9;\n didAttemptEntireTree[index$9] = -1;\n lanes &= ~lane;\n }\n 0 !== spawnedLane &&\n markSpawnedDeferredLane(root, spawnedLane, suspendedLanes);\n}\nfunction resetWorkInProgressStack() {\n if (null !== workInProgress) {\n if (0 === workInProgressSuspendedReason)\n var interruptedWork = workInProgress.return;\n else\n (interruptedWork = workInProgress),\n (lastContextDependency = currentlyRenderingFiber = null),\n resetHooksOnUnwind(interruptedWork),\n (thenableState$1 = null),\n (thenableIndexCounter$1 = 0),\n (interruptedWork = workInProgress);\n for (; null !== interruptedWork; )\n unwindInterruptedWork(interruptedWork.alternate, interruptedWork),\n (interruptedWork = interruptedWork.return);\n workInProgress = null;\n }\n}\nfunction prepareFreshStack(root, lanes) {\n root.finishedWork = null;\n root.finishedLanes = 0;\n var timeoutHandle = root.timeoutHandle;\n -1 !== timeoutHandle &&\n ((root.timeoutHandle = -1), cancelTimeout(timeoutHandle));\n timeoutHandle = root.cancelPendingCommit;\n null !== timeoutHandle &&\n ((root.cancelPendingCommit = null), timeoutHandle());\n resetWorkInProgressStack();\n workInProgressRoot = root;\n workInProgress = timeoutHandle = createWorkInProgress(root.current, null);\n workInProgressRootRenderLanes = lanes;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n workInProgressRootDidSkipSuspendedSiblings = !1;\n workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root, lanes);\n workInProgressRootDidAttachPingListener = !1;\n workInProgressSuspendedRetryLanes =\n workInProgressDeferredLane =\n workInProgressRootPingedLanes =\n workInProgressRootInterleavedUpdatedLanes =\n workInProgressRootSkippedLanes =\n workInProgressRootExitStatus =\n 0;\n workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors =\n null;\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1;\n 0 !== (lanes & 8) && (lanes |= lanes & 32);\n var allEntangledLanes = root.entangledLanes;\n if (0 !== allEntangledLanes)\n for (\n root = root.entanglements, allEntangledLanes &= lanes;\n 0 < allEntangledLanes;\n\n ) {\n var index$7 = 31 - clz32(allEntangledLanes),\n lane = 1 << index$7;\n lanes |= root[index$7];\n allEntangledLanes &= ~lane;\n }\n entangledRenderLanes = lanes;\n finishQueueingConcurrentUpdates();\n return timeoutHandle;\n}\nfunction handleThrow(root, thrownValue) {\n currentlyRenderingFiber$1 = null;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n thrownValue === SuspenseException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 3))\n : thrownValue === SuspenseyCommitException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 4))\n : (workInProgressSuspendedReason =\n thrownValue === SelectiveHydrationException\n ? 8\n : null !== thrownValue &&\n \"object\" === typeof thrownValue &&\n \"function\" === typeof thrownValue.then\n ? 6\n : 1);\n workInProgressThrownValue = thrownValue;\n null === workInProgress &&\n ((workInProgressRootExitStatus = 1),\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n ));\n}\nfunction pushDispatcher() {\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;\n}\nfunction pushAsyncDispatcher() {\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n return prevAsyncDispatcher;\n}\nfunction renderDidSuspendDelayIfPossible() {\n workInProgressRootExitStatus = 4;\n workInProgressRootDidSkipSuspendedSiblings ||\n ((workInProgressRootRenderLanes & 4194176) !==\n workInProgressRootRenderLanes &&\n null !== suspenseHandlerStackCursor.current) ||\n (workInProgressRootIsPrerendering = !0);\n (0 === (workInProgressRootSkippedLanes & 134217727) &&\n 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727)) ||\n null === workInProgressRoot ||\n markRootSuspended(\n workInProgressRoot,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n}\nfunction renderRootSync(root, lanes, shouldYieldForPrerendering) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes)\n (workInProgressTransitions = null), prepareFreshStack(root, lanes);\n lanes = !1;\n var exitStatus = workInProgressRootExitStatus;\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n var unitOfWork = workInProgress,\n thrownValue = workInProgressThrownValue;\n switch (workInProgressSuspendedReason) {\n case 8:\n resetWorkInProgressStack();\n exitStatus = 6;\n break a;\n case 3:\n case 2:\n case 6:\n null === suspenseHandlerStackCursor.current && (lanes = !0);\n var reason = workInProgressSuspendedReason;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n if (\n shouldYieldForPrerendering &&\n workInProgressRootIsPrerendering\n ) {\n exitStatus = 0;\n break a;\n }\n break;\n default:\n (reason = workInProgressSuspendedReason),\n (workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n }\n }\n workLoopSync();\n exitStatus = workInProgressRootExitStatus;\n break;\n } catch (thrownValue$129) {\n handleThrow(root, thrownValue$129);\n }\n while (1);\n lanes && root.shellSuspendCounter++;\n lastContextDependency = currentlyRenderingFiber = null;\n executionContext = prevExecutionContext;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n null === workInProgress &&\n ((workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0),\n finishQueueingConcurrentUpdates());\n return exitStatus;\n}\nfunction workLoopSync() {\n for (; null !== workInProgress; ) performUnitOfWork(workInProgress);\n}\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes\n ? ((workInProgressTransitions = null),\n (workInProgressRootRenderTargetTime = now() + 500),\n prepareFreshStack(root, lanes))\n : (workInProgressRootIsPrerendering = checkIfRootIsPrerendering(\n root,\n lanes\n ));\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n lanes = workInProgress;\n var thrownValue = workInProgressThrownValue;\n b: switch (workInProgressSuspendedReason) {\n case 1:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 1);\n break;\n case 2:\n if (isThenableResolved(thrownValue)) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n replaySuspendedUnitOfWork(lanes);\n break;\n }\n lanes = function () {\n 2 === workInProgressSuspendedReason &&\n workInProgressRoot === root &&\n (workInProgressSuspendedReason = 7);\n ensureRootIsScheduled(root);\n };\n thrownValue.then(lanes, lanes);\n break a;\n case 3:\n workInProgressSuspendedReason = 7;\n break a;\n case 4:\n workInProgressSuspendedReason = 5;\n break a;\n case 7:\n isThenableResolved(thrownValue)\n ? ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n replaySuspendedUnitOfWork(lanes))\n : ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 7));\n break;\n case 5:\n var resource = null;\n switch (workInProgress.tag) {\n case 26:\n resource = workInProgress.memoizedState;\n case 5:\n case 27:\n var hostFiber = workInProgress;\n if (resource ? shim(resource) : 1) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n var sibling = hostFiber.sibling;\n if (null !== sibling) workInProgress = sibling;\n else {\n var returnFiber = hostFiber.return;\n null !== returnFiber\n ? ((workInProgress = returnFiber),\n completeUnitOfWork(returnFiber))\n : (workInProgress = null);\n }\n break b;\n }\n }\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 5);\n break;\n case 6:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 6);\n break;\n case 8:\n resetWorkInProgressStack();\n workInProgressRootExitStatus = 6;\n break a;\n default:\n throw Error(\"Unexpected SuspendedReason. This is a bug in React.\");\n }\n }\n workLoopConcurrent();\n break;\n } catch (thrownValue$131) {\n handleThrow(root, thrownValue$131);\n }\n while (1);\n lastContextDependency = currentlyRenderingFiber = null;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n executionContext = prevExecutionContext;\n if (null !== workInProgress) return 0;\n workInProgressRoot = null;\n workInProgressRootRenderLanes = 0;\n finishQueueingConcurrentUpdates();\n return workInProgressRootExitStatus;\n}\nfunction workLoopConcurrent() {\n for (; null !== workInProgress && !shouldYield(); )\n performUnitOfWork(workInProgress);\n}\nfunction performUnitOfWork(unitOfWork) {\n var next = beginWork(unitOfWork.alternate, unitOfWork, entangledRenderLanes);\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction replaySuspendedUnitOfWork(unitOfWork) {\n var next = unitOfWork;\n var current = next.alternate;\n switch (next.tag) {\n case 15:\n case 0:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type,\n void 0,\n workInProgressRootRenderLanes\n );\n break;\n case 11:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type.render,\n next.ref,\n workInProgressRootRenderLanes\n );\n break;\n case 5:\n resetHooksOnUnwind(next);\n default:\n unwindInterruptedWork(current, next),\n (next = workInProgress =\n resetWorkInProgress(next, entangledRenderLanes)),\n (next = beginWork(current, next, entangledRenderLanes));\n }\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction throwAndUnwindWorkLoop(\n root,\n unitOfWork,\n thrownValue,\n suspendedReason\n) {\n lastContextDependency = currentlyRenderingFiber = null;\n resetHooksOnUnwind(unitOfWork);\n thenableState$1 = null;\n thenableIndexCounter$1 = 0;\n var returnFiber = unitOfWork.return;\n try {\n if (\n throwException(\n root,\n returnFiber,\n unitOfWork,\n thrownValue,\n workInProgressRootRenderLanes\n )\n ) {\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n } catch (error) {\n if (null !== returnFiber) throw ((workInProgress = returnFiber), error);\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n if (unitOfWork.flags & 32768) {\n if (1 === suspendedReason) root = !0;\n else if (\n workInProgressRootIsPrerendering ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n )\n root = !1;\n else if (\n ((workInProgressRootDidSkipSuspendedSiblings = root = !0),\n 2 === suspendedReason || 3 === suspendedReason || 6 === suspendedReason)\n )\n (suspendedReason = suspenseHandlerStackCursor.current),\n null !== suspendedReason &&\n 13 === suspendedReason.tag &&\n (suspendedReason.flags |= 16384);\n unwindUnitOfWork(unitOfWork, root);\n } else completeUnitOfWork(unitOfWork);\n}\nfunction completeUnitOfWork(unitOfWork) {\n var completedWork = unitOfWork;\n do {\n if (0 !== (completedWork.flags & 32768)) {\n unwindUnitOfWork(\n completedWork,\n workInProgressRootDidSkipSuspendedSiblings\n );\n return;\n }\n unitOfWork = completedWork.return;\n var next = completeWork(\n completedWork.alternate,\n completedWork,\n entangledRenderLanes\n );\n if (null !== next) {\n workInProgress = next;\n return;\n }\n completedWork = completedWork.sibling;\n if (null !== completedWork) {\n workInProgress = completedWork;\n return;\n }\n workInProgress = completedWork = unitOfWork;\n } while (null !== completedWork);\n 0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 5);\n}\nfunction unwindUnitOfWork(unitOfWork, skipSiblings) {\n do {\n var next = unwindWork(unitOfWork.alternate, unitOfWork);\n if (null !== next) {\n next.flags &= 32767;\n workInProgress = next;\n return;\n }\n next = unitOfWork.return;\n null !== next &&\n ((next.flags |= 32768), (next.subtreeFlags = 0), (next.deletions = null));\n if (\n !skipSiblings &&\n ((unitOfWork = unitOfWork.sibling), null !== unitOfWork)\n ) {\n workInProgress = unitOfWork;\n return;\n }\n workInProgress = unitOfWork = next;\n } while (null !== unitOfWork);\n workInProgressRootExitStatus = 6;\n workInProgress = null;\n}\nfunction commitRootImpl(\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n renderPriorityLevel,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n do flushPassiveEffects();\n while (null !== rootWithPendingPassiveEffects);\n if (0 !== (executionContext & 6))\n throw Error(\"Should not already be working.\");\n var finishedWork = root.finishedWork;\n didIncludeRenderPhaseUpdate = root.finishedLanes;\n if (null === finishedWork) return null;\n root.finishedWork = null;\n root.finishedLanes = 0;\n if (finishedWork === root.current)\n throw Error(\n \"Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.\"\n );\n root.callbackNode = null;\n root.callbackPriority = 0;\n root.cancelPendingCommit = null;\n var remainingLanes = finishedWork.lanes | finishedWork.childLanes;\n remainingLanes |= concurrentlyUpdatedLanes;\n markRootFinished(\n root,\n didIncludeRenderPhaseUpdate,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n root === workInProgressRoot &&\n ((workInProgress = workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0));\n (0 === (finishedWork.subtreeFlags & 10256) &&\n 0 === (finishedWork.flags & 10256)) ||\n rootDoesHavePassiveEffects ||\n ((rootDoesHavePassiveEffects = !0),\n (pendingPassiveEffectsRemainingLanes = remainingLanes),\n (pendingPassiveTransitions = transitions),\n scheduleCallback(NormalPriority$1, function () {\n flushPassiveEffects(!0);\n return null;\n }));\n transitions = 0 !== (finishedWork.flags & 15990);\n 0 !== (finishedWork.subtreeFlags & 15990) || transitions\n ? ((transitions = ReactSharedInternals.T),\n (ReactSharedInternals.T = null),\n (spawnedLane = currentUpdatePriority),\n (currentUpdatePriority = 2),\n (updatedLanes = executionContext),\n (executionContext |= 4),\n commitBeforeMutationEffects(root, finishedWork),\n commitMutationEffectsOnFiber(finishedWork, root),\n (root.current = finishedWork),\n commitLayoutEffectOnFiber(root, finishedWork.alternate, finishedWork),\n requestPaint(),\n (executionContext = updatedLanes),\n (currentUpdatePriority = spawnedLane),\n (ReactSharedInternals.T = transitions))\n : (root.current = finishedWork);\n rootDoesHavePassiveEffects\n ? ((rootDoesHavePassiveEffects = !1),\n (rootWithPendingPassiveEffects = root),\n (pendingPassiveEffectsLanes = didIncludeRenderPhaseUpdate))\n : releaseRootPooledCache(root, remainingLanes);\n remainingLanes = root.pendingLanes;\n 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);\n onCommitRoot(finishedWork.stateNode, renderPriorityLevel);\n ensureRootIsScheduled(root);\n if (null !== recoverableErrors)\n for (\n renderPriorityLevel = root.onRecoverableError, finishedWork = 0;\n finishedWork < recoverableErrors.length;\n finishedWork++\n )\n (remainingLanes = recoverableErrors[finishedWork]),\n renderPriorityLevel(remainingLanes.value, {\n componentStack: remainingLanes.stack\n });\n 0 !== (pendingPassiveEffectsLanes & 3) &&\n 0 !== root.tag &&\n flushPassiveEffects();\n remainingLanes = root.pendingLanes;\n 0 !== (didIncludeRenderPhaseUpdate & 4194218) && 0 !== (remainingLanes & 42)\n ? root === rootWithNestedUpdates\n ? nestedUpdateCount++\n : ((nestedUpdateCount = 0), (rootWithNestedUpdates = root))\n : (nestedUpdateCount = 0);\n flushSyncWorkAcrossRoots_impl(0, !1);\n return null;\n}\nfunction releaseRootPooledCache(root, remainingLanes) {\n 0 === (root.pooledCacheLanes &= remainingLanes) &&\n ((remainingLanes = root.pooledCache),\n null != remainingLanes &&\n ((root.pooledCache = null), releaseCache(remainingLanes)));\n}\nfunction flushPassiveEffects() {\n if (null !== rootWithPendingPassiveEffects) {\n var root = rootWithPendingPassiveEffects,\n remainingLanes = pendingPassiveEffectsRemainingLanes;\n pendingPassiveEffectsRemainingLanes = 0;\n var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes),\n prevTransition = ReactSharedInternals.T,\n previousPriority = currentUpdatePriority;\n try {\n currentUpdatePriority = 32 > renderPriority ? 32 : renderPriority;\n ReactSharedInternals.T = null;\n if (null === rootWithPendingPassiveEffects)\n var JSCompiler_inline_result = !1;\n else {\n renderPriority = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root$jscomp$0 = rootWithPendingPassiveEffects,\n lanes = pendingPassiveEffectsLanes;\n rootWithPendingPassiveEffects = null;\n pendingPassiveEffectsLanes = 0;\n if (0 !== (executionContext & 6))\n throw Error(\"Cannot flush passive effects while already rendering.\");\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n commitPassiveUnmountOnFiber(root$jscomp$0.current);\n commitPassiveMountOnFiber(\n root$jscomp$0,\n root$jscomp$0.current,\n lanes,\n renderPriority\n );\n executionContext = prevExecutionContext;\n flushSyncWorkAcrossRoots_impl(0, !1);\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onPostCommitFiberRoot\n )\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0);\n } catch (err) {}\n JSCompiler_inline_result = !0;\n }\n return JSCompiler_inline_result;\n } finally {\n (currentUpdatePriority = previousPriority),\n (ReactSharedInternals.T = prevTransition),\n releaseRootPooledCache(root, remainingLanes);\n }\n }\n return !1;\n}\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);\n rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);\n null !== rootFiber &&\n (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));\n}\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {\n if (3 === sourceFiber.tag)\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);\n else\n for (; null !== nearestMountedAncestor; ) {\n if (3 === nearestMountedAncestor.tag) {\n captureCommitPhaseErrorOnRoot(\n nearestMountedAncestor,\n sourceFiber,\n error\n );\n break;\n } else if (1 === nearestMountedAncestor.tag) {\n var instance = nearestMountedAncestor.stateNode;\n if (\n \"function\" ===\n typeof nearestMountedAncestor.type.getDerivedStateFromError ||\n (\"function\" === typeof instance.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(instance)))\n ) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n error = createClassErrorUpdate(2);\n instance = enqueueUpdate(nearestMountedAncestor, error, 2);\n null !== instance &&\n (initializeClassErrorUpdate(\n error,\n instance,\n nearestMountedAncestor,\n sourceFiber\n ),\n markRootUpdated$1(instance, 2),\n ensureRootIsScheduled(instance));\n break;\n }\n }\n nearestMountedAncestor = nearestMountedAncestor.return;\n }\n}\nfunction attachPingListener(root, wakeable, lanes) {\n var pingCache = root.pingCache;\n if (null === pingCache) {\n pingCache = root.pingCache = new PossiblyWeakMap();\n var threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else\n (threadIDs = pingCache.get(wakeable)),\n void 0 === threadIDs &&\n ((threadIDs = new Set()), pingCache.set(wakeable, threadIDs));\n threadIDs.has(lanes) ||\n ((workInProgressRootDidAttachPingListener = !0),\n threadIDs.add(lanes),\n (root = pingSuspendedRoot.bind(null, root, wakeable, lanes)),\n wakeable.then(root, root));\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n null !== pingCache && pingCache.delete(wakeable);\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n root.warmLanes &= ~pingedLanes;\n workInProgressRoot === root &&\n (workInProgressRootRenderLanes & pingedLanes) === pingedLanes &&\n (4 === workInProgressRootExitStatus ||\n (3 === workInProgressRootExitStatus &&\n (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes &&\n 300 > now() - globalMostRecentFallbackTime)\n ? 0 === (executionContext & 2) && prepareFreshStack(root, 0)\n : (workInProgressRootPingedLanes |= pingedLanes),\n workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes &&\n (workInProgressSuspendedRetryLanes = 0));\n ensureRootIsScheduled(root);\n}\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n 0 === retryLane &&\n (retryLane = 0 === (boundaryFiber.mode & 1) ? 2 : claimNextRetryLane());\n boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n null !== boundaryFiber &&\n (markRootUpdated$1(boundaryFiber, retryLane),\n ensureRootIsScheduled(boundaryFiber));\n}\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState,\n retryLane = 0;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = 0;\n switch (boundaryFiber.tag) {\n case 13:\n var retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n break;\n case 19:\n retryCache = boundaryFiber.stateNode;\n break;\n case 22:\n retryCache = boundaryFiber.stateNode._retryCache;\n break;\n default:\n throw Error(\n \"Pinged unknown suspense boundary type. This is probably a bug in React.\"\n );\n }\n null !== retryCache && retryCache.delete(wakeable);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction scheduleCallback(priorityLevel, callback) {\n return scheduleCallback$3(priorityLevel, callback);\n}\nfunction FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n}\nfunction createFiberImplClass(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n}\nfunction shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n}\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiberImplClass(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 31457280;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n}\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 31457282;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n}\nfunction createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type) fiberTag = 5;\n else\n a: switch (type) {\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 8;\n 0 !== (mode & 1) && (mode |= 16);\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiberImplClass(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiberImplClass(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiberImplClass(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_OFFSCREEN_TYPE:\n return createFiberFromOffscreen(pendingProps, mode, lanes, key);\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n \"Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: \" +\n ((null === type ? \"null\" : typeof type) + \".\")\n );\n owner = null;\n }\n key = createFiberImplClass(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiberImplClass(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n}\nfunction createFiberFromOffscreen(pendingProps, mode, lanes, key) {\n pendingProps = createFiberImplClass(22, pendingProps, key, mode);\n pendingProps.elementType = REACT_OFFSCREEN_TYPE;\n pendingProps.lanes = lanes;\n var primaryChildInstance = {\n _visibility: 1,\n _pendingVisibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null,\n _current: null,\n detach: function () {\n var fiber = primaryChildInstance._current;\n if (null === fiber)\n throw Error(\n \"Calling Offscreen.detach before instance handle has been set.\"\n );\n if (0 === (primaryChildInstance._pendingVisibility & 2)) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root &&\n ((primaryChildInstance._pendingVisibility |= 2),\n scheduleUpdateOnFiber(root, fiber, 2));\n }\n },\n attach: function () {\n var fiber = primaryChildInstance._current;\n if (null === fiber)\n throw Error(\n \"Calling Offscreen.detach before instance handle has been set.\"\n );\n if (0 !== (primaryChildInstance._pendingVisibility & 2)) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root &&\n ((primaryChildInstance._pendingVisibility &= -3),\n scheduleUpdateOnFiber(root, fiber, 2));\n }\n }\n };\n pendingProps.stateNode = primaryChildInstance;\n return pendingProps;\n}\nfunction createFiberFromText(content, mode, lanes) {\n content = createFiberImplClass(6, content, null, mode);\n content.lanes = lanes;\n return content;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n mode = createFiberImplClass(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n}\nfunction FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n formState\n) {\n this.tag = tag;\n this.containerInfo = containerInfo;\n this.finishedWork =\n this.pingCache =\n this.current =\n this.pendingChildren =\n null;\n this.timeoutHandle = -1;\n this.callbackNode =\n this.next =\n this.pendingContext =\n this.context =\n this.cancelPendingCommit =\n null;\n this.callbackPriority = 0;\n this.expirationTimes = createLaneMap(-1);\n this.entangledLanes =\n this.shellSuspendCounter =\n this.errorRecoveryDisabledLanes =\n this.finishedLanes =\n this.expiredLanes =\n this.warmLanes =\n this.pingedLanes =\n this.suspendedLanes =\n this.pendingLanes =\n 0;\n this.entanglements = createLaneMap(0);\n this.hiddenUpdates = createLaneMap(null);\n this.identifierPrefix = identifierPrefix;\n this.onUncaughtError = onUncaughtError;\n this.onCaughtError = onCaughtError;\n this.onRecoverableError = onRecoverableError;\n this.pooledCache = null;\n this.pooledCacheLanes = 0;\n this.formState = formState;\n this.incompleteTransitions = new Map();\n}\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nfunction findHostInstance(component) {\n var fiber = component._reactInternals;\n if (void 0 === fiber) {\n if (\"function\" === typeof component.render)\n throw Error(\"Unable to find node on an unmounted component.\");\n component = Object.keys(component).join(\",\");\n throw Error(\n \"Argument appears to not be a ReactComponent. Keys: \" + component\n );\n }\n component = findCurrentFiberUsingSlowPath(fiber);\n component = null !== component ? findCurrentHostFiberImpl(component) : null;\n return null === component ? null : getPublicInstance(component.stateNode);\n}\nfunction updateContainer(element, container, parentComponent, callback) {\n parentComponent = container.current;\n var lane = requestUpdateLane(parentComponent);\n null === container.context\n ? (container.context = emptyContextObject)\n : (container.pendingContext = emptyContextObject);\n container = createUpdate(lane);\n container.payload = { element: element };\n callback = void 0 === callback ? null : callback;\n null !== callback && (container.callback = callback);\n element = enqueueUpdate(parentComponent, container, lane);\n null !== element &&\n (scheduleUpdateOnFiber(element, parentComponent, lane),\n entangleTransitions(element, parentComponent, lane));\n return lane;\n}\nfunction getInspectorDataForInstance() {\n throw Error(\"getInspectorDataForInstance() is not available in production\");\n}\nfunction shim$1() {\n throw Error(\n \"The current renderer does not support hydration. This error is likely caused by a bug in React. Please file an issue.\"\n );\n}\nfunction shim() {\n throw Error(\n \"The current renderer does not support Resources. This error is likely caused by a bug in React. Please file an issue.\"\n );\n}\nvar _nativeFabricUIManage = nativeFabricUIManager,\n createNode = _nativeFabricUIManage.createNode,\n cloneNodeWithNewChildren = _nativeFabricUIManage.cloneNodeWithNewChildren,\n cloneNodeWithNewChildrenAndProps =\n _nativeFabricUIManage.cloneNodeWithNewChildrenAndProps,\n cloneNodeWithNewProps = _nativeFabricUIManage.cloneNodeWithNewProps,\n createChildNodeSet = _nativeFabricUIManage.createChildSet,\n appendChildNode = _nativeFabricUIManage.appendChild,\n appendChildNodeToSet = _nativeFabricUIManage.appendChildToSet,\n completeRoot = _nativeFabricUIManage.completeRoot,\n registerEventHandler = _nativeFabricUIManage.registerEventHandler,\n FabricDiscretePriority = _nativeFabricUIManage.unstable_DiscreteEventPriority,\n fabricGetCurrentEventPriority =\n _nativeFabricUIManage.unstable_getCurrentEventPriority,\n extraDevToolsConfig = {\n getInspectorDataForInstance: getInspectorDataForInstance,\n getInspectorDataForViewTag: function () {\n throw Error(\n \"getInspectorDataForViewTag() is not available in production\"\n );\n },\n getInspectorDataForViewAtPoint: function () {\n throw Error(\n \"getInspectorDataForViewAtPoint() is not available in production.\"\n );\n }\n },\n getViewConfigForType =\n ReactNativePrivateInterface.ReactNativeViewConfigRegistry.get,\n nextReactTag = 2;\nregisterEventHandler && registerEventHandler(dispatchEvent);\nvar PROD_HOST_CONTEXT = { isInAParentText: !0 };\nfunction createTextInstance(\n text,\n rootContainerInstance,\n hostContext,\n internalInstanceHandle\n) {\n hostContext = nextReactTag;\n nextReactTag += 2;\n return {\n node: createNode(\n hostContext,\n \"RCTRawText\",\n rootContainerInstance,\n { text: text },\n internalInstanceHandle\n )\n };\n}\nfunction getPublicInstance(instance) {\n return null != instance.canonical && null != instance.canonical.publicInstance\n ? instance.canonical.publicInstance\n : null != instance._nativeTag\n ? instance\n : null;\n}\nvar currentUpdatePriority = 0;\nfunction resolveUpdatePriority() {\n if (0 !== currentUpdatePriority) return currentUpdatePriority;\n var currentEventPriority = fabricGetCurrentEventPriority\n ? fabricGetCurrentEventPriority()\n : null;\n if (null != currentEventPriority)\n switch (currentEventPriority) {\n case FabricDiscretePriority:\n return 2;\n }\n return 32;\n}\nvar scheduleTimeout = setTimeout,\n cancelTimeout = clearTimeout;\nfunction cloneHiddenInstance(instance) {\n var node = instance.node;\n var JSCompiler_inline_result = fastAddProperties(\n null,\n { style: { display: \"none\" } },\n instance.canonical.viewConfig.validAttributes\n );\n return {\n node: cloneNodeWithNewProps(node, JSCompiler_inline_result),\n canonical: instance.canonical\n };\n}\nvar HostTransitionContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Provider: null,\n Consumer: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n },\n supportsMicrotasks =\n \"undefined\" !== typeof RN$enableMicrotasksInReact &&\n !!RN$enableMicrotasksInReact,\n scheduleMicrotask =\n \"function\" === typeof queueMicrotask ? queueMicrotask : scheduleTimeout;\nfunction getInstanceFromNode(node) {\n return null != node.canonical && null != node.canonical.internalInstanceHandle\n ? node.canonical.internalInstanceHandle\n : node;\n}\ngetFiberCurrentPropsFromNode$1 = function (instance) {\n return instance.canonical.currentProps;\n};\ngetInstanceFromNode$1 = getInstanceFromNode;\ngetNodeFromInstance$1 = function (fiber) {\n fiber = getPublicInstance(fiber.stateNode);\n if (null == fiber) throw Error(\"Could not find host instance from fiber\");\n return fiber;\n};\nResponderEventPlugin.injection.injectGlobalResponderHandler({\n onChange: function (from, to, blockNativeResponder) {\n from &&\n from.stateNode &&\n nativeFabricUIManager.setIsJSResponder(\n from.stateNode.node,\n !1,\n blockNativeResponder || !1\n );\n to &&\n to.stateNode &&\n nativeFabricUIManager.setIsJSResponder(\n to.stateNode.node,\n !0,\n blockNativeResponder || !1\n );\n }\n});\nif (\n \"function\" !==\n typeof ReactNativePrivateInterface.ReactFiberErrorDialog.showErrorDialog\n)\n throw Error(\n \"Expected ReactFiberErrorDialog.showErrorDialog to be a function.\"\n );\nfunction nativeOnUncaughtError(error, errorInfo) {\n !1 !==\n ReactNativePrivateInterface.ReactFiberErrorDialog.showErrorDialog({\n errorBoundary: null,\n error: error,\n componentStack:\n null != errorInfo.componentStack ? errorInfo.componentStack : \"\"\n }) && reportGlobalError(error);\n}\nfunction nativeOnCaughtError(error, errorInfo) {\n !1 !==\n ReactNativePrivateInterface.ReactFiberErrorDialog.showErrorDialog({\n errorBoundary: errorInfo.errorBoundary,\n error: error,\n componentStack:\n null != errorInfo.componentStack ? errorInfo.componentStack : \"\"\n }) && console.error(error);\n}\nbatchedUpdatesImpl = function (fn, a) {\n var prevExecutionContext = executionContext;\n executionContext |= 1;\n try {\n return fn(a);\n } finally {\n (executionContext = prevExecutionContext),\n 0 === executionContext &&\n ((workInProgressRootRenderTargetTime = now() + 500),\n flushSyncWorkAcrossRoots_impl(0, !0));\n }\n};\nvar roots = new Map(),\n internals$jscomp$inline_1147 = {\n bundleType: 0,\n version: \"19.0.0\",\n rendererPackageName: \"react-native-renderer\",\n currentDispatcherRef: ReactSharedInternals,\n findFiberByHostInstance: getInstanceFromNode,\n reconcilerVersion: \"19.0.0\"\n };\nnull !== extraDevToolsConfig &&\n (internals$jscomp$inline_1147.rendererConfig = extraDevToolsConfig);\nif (\"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {\n var hook$jscomp$inline_1463 = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (\n !hook$jscomp$inline_1463.isDisabled &&\n hook$jscomp$inline_1463.supportsFiber\n )\n try {\n (rendererID = hook$jscomp$inline_1463.inject(\n internals$jscomp$inline_1147\n )),\n (injectedHook = hook$jscomp$inline_1463);\n } catch (err) {}\n}\nexports.createPortal = function (children, containerTag) {\n return createPortal$1(\n children,\n containerTag,\n null,\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null\n );\n};\nexports.dispatchCommand = function (handle, command, args) {\n var nativeTag =\n null != handle._nativeTag\n ? handle._nativeTag\n : ReactNativePrivateInterface.getNativeTagFromPublicInstance(handle);\n null != nativeTag &&\n ((handle = ReactNativePrivateInterface.getNodeFromPublicInstance(handle)),\n null != handle\n ? nativeFabricUIManager.dispatchCommand(handle, command, args)\n : ReactNativePrivateInterface.UIManager.dispatchViewManagerCommand(\n nativeTag,\n command,\n args\n ));\n};\nexports.findHostInstance_DEPRECATED = function (componentOrHandle) {\n return null == componentOrHandle\n ? null\n : componentOrHandle.canonical && componentOrHandle.canonical.publicInstance\n ? componentOrHandle.canonical.publicInstance\n : componentOrHandle._nativeTag\n ? componentOrHandle\n : findHostInstance(componentOrHandle);\n};\nexports.findNodeHandle = function (componentOrHandle) {\n if (null == componentOrHandle) return null;\n if (\"number\" === typeof componentOrHandle) return componentOrHandle;\n if (componentOrHandle._nativeTag) return componentOrHandle._nativeTag;\n if (\n null != componentOrHandle.canonical &&\n null != componentOrHandle.canonical.nativeTag\n )\n return componentOrHandle.canonical.nativeTag;\n var nativeTag =\n ReactNativePrivateInterface.getNativeTagFromPublicInstance(\n componentOrHandle\n );\n if (nativeTag) return nativeTag;\n componentOrHandle = findHostInstance(componentOrHandle);\n return null == componentOrHandle\n ? componentOrHandle\n : null != componentOrHandle._nativeTag\n ? componentOrHandle._nativeTag\n : ReactNativePrivateInterface.getNativeTagFromPublicInstance(\n componentOrHandle\n );\n};\nexports.getInspectorDataForInstance = getInspectorDataForInstance;\nexports.getNodeFromInternalInstanceHandle = function (internalInstanceHandle) {\n return (\n internalInstanceHandle &&\n internalInstanceHandle.stateNode &&\n internalInstanceHandle.stateNode.node\n );\n};\nexports.getPublicInstanceFromInternalInstanceHandle = function (\n internalInstanceHandle\n) {\n var instance = internalInstanceHandle.stateNode;\n return null == instance\n ? null\n : 6 === internalInstanceHandle.tag\n ? (null == instance.publicInstance &&\n (instance.publicInstance =\n ReactNativePrivateInterface.createPublicTextInstance(\n internalInstanceHandle\n )),\n instance.publicInstance)\n : getPublicInstance(internalInstanceHandle.stateNode);\n};\nexports.isChildPublicInstance = function () {\n throw Error(\"isChildPublicInstance() is not available in production.\");\n};\nexports.render = function (\n element,\n containerTag,\n callback,\n concurrentRoot,\n options\n) {\n var root = roots.get(containerTag);\n if (!root) {\n root = nativeOnUncaughtError;\n var onCaughtError = nativeOnCaughtError,\n onRecoverableError = defaultOnRecoverableError;\n options &&\n void 0 !== options.onUncaughtError &&\n (root = options.onUncaughtError);\n options &&\n void 0 !== options.onCaughtError &&\n (onCaughtError = options.onCaughtError);\n options &&\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError);\n concurrentRoot = concurrentRoot ? 1 : 0;\n options = new FiberRootNode(\n containerTag,\n concurrentRoot,\n !1,\n \"\",\n root,\n onCaughtError,\n onRecoverableError,\n null\n );\n concurrentRoot = createFiberImplClass(\n 3,\n null,\n null,\n 1 === concurrentRoot ? 1 : 0\n );\n options.current = concurrentRoot;\n concurrentRoot.stateNode = options;\n root = createCache();\n root.refCount++;\n options.pooledCache = root;\n root.refCount++;\n concurrentRoot.memoizedState = {\n element: null,\n isDehydrated: !1,\n cache: root\n };\n initializeUpdateQueue(concurrentRoot);\n root = options;\n roots.set(containerTag, root);\n }\n updateContainer(element, root, null, callback);\n a: if (((element = root.current), element.child))\n switch (element.child.tag) {\n case 27:\n case 5:\n element = getPublicInstance(element.child.stateNode);\n break a;\n default:\n element = element.child.stateNode;\n }\n else element = null;\n return element;\n};\nexports.sendAccessibilityEvent = function (handle, eventType) {\n var nativeTag =\n null != handle._nativeTag\n ? handle._nativeTag\n : ReactNativePrivateInterface.getNativeTagFromPublicInstance(handle);\n null != nativeTag &&\n ((handle = ReactNativePrivateInterface.getNodeFromPublicInstance(handle)),\n null != handle\n ? nativeFabricUIManager.sendAccessibilityEvent(handle, eventType)\n : ReactNativePrivateInterface.legacySendAccessibilityEvent(\n nativeTag,\n eventType\n ));\n};\nexports.stopSurface = function (containerTag) {\n var root = roots.get(containerTag);\n root &&\n updateContainer(null, root, null, function () {\n roots.delete(containerTag);\n });\n};\nexports.unmountComponentAtNode = function (containerTag) {\n this.stopSurface(containerTag);\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport '../Core/InitializeCore';\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use client';\n\n/**\n * Sets up global variables typical in most JavaScript environments.\n *\n * 1. Global timers (via `setTimeout` etc).\n * 2. Global console object.\n * 3. Hooks for printing stack traces with source maps.\n *\n * Leaves enough room in the environment for implementing your own:\n *\n * 1. Require system.\n * 2. Bridged modules.\n *\n */\n\n'use strict';\n\nconst start = Date.now();\n\nrequire('./setUpGlobals');\nrequire('../../src/private/setup/setUpDOM').default();\nrequire('./setUpPerformance');\nrequire('./polyfillPromise');\nrequire('./setUpTimers');\nif (__DEV__) {\n require('./setUpReactDevTools');\n}\nrequire('./setUpErrorHandling');\nrequire('./setUpRegeneratorRuntime');\nrequire('./setUpXHR');\nrequire('./setUpAlert');\nrequire('./setUpNavigator');\nrequire('./setUpBatchedBridge');\nrequire('./setUpSegmentFetcher');\nif (__DEV__) {\n require('./checkNativeVersion');\n require('./setUpDeveloperTools');\n require('../LogBox/LogBox').default.install();\n}\n\nrequire('../ReactNative/AppRegistry');\n\nconst GlobalPerformanceLogger =\n require('../Utilities/GlobalPerformanceLogger').default;\n// We could just call GlobalPerformanceLogger.markPoint at the top of the file,\n// but then we'd be excluding the time it took to require the logger.\n// Instead, we just use Date.now and backdate the timestamp.\nGlobalPerformanceLogger.markPoint(\n 'initializeCore_start',\n GlobalPerformanceLogger.currentTimestamp() - (Date.now() - start),\n);\nGlobalPerformanceLogger.markPoint('initializeCore_end');\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n'use client';\n'use strict';\n\n/**\n * Sets up global variables for React Native.\n * You can use this module directly, or just require InitializeCore.\n */\nif (global.window === undefined) {\n // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.\n global.window = global;\n}\n\nif (global.self === undefined) {\n // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.\n global.self = global;\n}\n\n// Set up process\n// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.\nglobal.process = global.process || {};\n// $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.\nglobal.process.env = global.process.env || {};\nif (!global.process.env.NODE_ENV) {\n // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.\n global.process.env.NODE_ENV = __DEV__ ? 'development' : 'production';\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport {polyfillGlobal} from '../../../Libraries/Utilities/PolyfillFunctions';\n\nlet initialized = false;\n\nexport default function setUpDOM() {\n if (initialized) {\n return;\n }\n\n initialized = true;\n\n polyfillGlobal(\n 'DOMRect',\n () => require('../webapis/geometry/DOMRect').default,\n );\n\n polyfillGlobal(\n 'DOMRectReadOnly',\n () => require('../webapis/geometry/DOMRectReadOnly').default,\n );\n\n polyfillGlobal(\n 'DOMRectList',\n () => require('../webapis/geometry/DOMRectList').default,\n );\n\n polyfillGlobal(\n 'HTMLCollection',\n () => require('../webapis/dom/oldstylecollections/HTMLCollection').default,\n );\n\n polyfillGlobal(\n 'NodeList',\n () => require('../webapis/dom/oldstylecollections/NodeList').default,\n );\n\n polyfillGlobal(\n 'Node',\n () => require('../webapis/dom/nodes/ReadOnlyNode').default,\n );\n\n polyfillGlobal(\n 'Document',\n () => require('../webapis/dom/nodes/ReactNativeDocument').default,\n );\n\n polyfillGlobal(\n 'CharacterData',\n () => require('../webapis/dom/nodes/ReadOnlyCharacterData').default,\n );\n\n polyfillGlobal(\n 'Text',\n () => require('../webapis/dom/nodes/ReadOnlyText').default,\n );\n\n polyfillGlobal(\n 'Element',\n () => require('../webapis/dom/nodes/ReadOnlyElement').default,\n );\n\n polyfillGlobal(\n 'HTMLElement',\n () => require('../webapis/dom/nodes/ReactNativeElement').default,\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n'use strict';\n\nconst defineLazyObjectProperty = require('./defineLazyObjectProperty').default;\n\n/**\n * Sets an object's property. If a property with the same name exists, this will\n * replace it but maintain its descriptor configuration. The property will be\n * replaced with a lazy getter.\n *\n * In DEV mode the original property value will be preserved as `original[PropertyName]`\n * so that, if necessary, it can be restored. For example, if you want to route\n * network requests through DevTools (to trace them):\n *\n * global.XMLHttpRequest = global.originalXMLHttpRequest;\n *\n * @see https://github.com/facebook/react-native/issues/934\n */\nexport function polyfillObjectProperty(\n object: {...},\n name: string,\n getValue: () => T,\n): void {\n const descriptor = Object.getOwnPropertyDescriptor<$FlowFixMe>(object, name);\n if (__DEV__ && descriptor) {\n const backupName = `original${name[0].toUpperCase()}${name.slice(1)}`;\n Object.defineProperty(object, backupName, descriptor);\n }\n\n const {enumerable, writable, configurable = false} = descriptor || {};\n if (descriptor && !configurable) {\n console.error('Failed to set polyfill. ' + name + ' is not configurable.');\n return;\n }\n\n defineLazyObjectProperty(object, name, {\n get: getValue,\n enumerable: enumerable !== false,\n writable: writable !== false,\n });\n}\n\nexport function polyfillGlobal(name: string, getValue: () => T): void {\n polyfillObjectProperty(global, name, getValue);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n/**\n * The JSDoc comments in this file have been extracted from [DOMRect](https://developer.mozilla.org/en-US/docs/Web/API/DOMRect).\n * Content by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMRect/contributors.txt),\n * licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).\n */\n\nimport DOMRectReadOnly, {type DOMRectInit} from './DOMRectReadOnly';\n\n// flowlint unsafe-getters-setters:off\n\n/**\n * A `DOMRect` describes the size and position of a rectangle.\n * The type of box represented by the `DOMRect` is specified by the method or property that returned it.\n *\n * This is a (mostly) spec-compliant version of `DOMRect` (https://developer.mozilla.org/en-US/docs/Web/API/DOMRect).\n */\nexport default class DOMRect extends DOMRectReadOnly {\n /**\n * The x coordinate of the `DOMRect`'s origin.\n */\n get x(): number {\n return this.__getInternalX();\n }\n\n set x(x: ?number) {\n this.__setInternalX(x);\n }\n\n /**\n * The y coordinate of the `DOMRect`'s origin.\n */\n get y(): number {\n return this.__getInternalY();\n }\n\n set y(y: ?number) {\n this.__setInternalY(y);\n }\n\n /**\n * The width of the `DOMRect`.\n */\n get width(): number {\n return this.__getInternalWidth();\n }\n\n set width(width: ?number) {\n this.__setInternalWidth(width);\n }\n\n /**\n * The height of the `DOMRect`.\n */\n get height(): number {\n return this.__getInternalHeight();\n }\n\n set height(height: ?number) {\n this.__setInternalHeight(height);\n }\n\n /**\n * Creates a new `DOMRect` object with a given location and dimensions.\n */\n static fromRect(rect?: ?DOMRectInit): DOMRect {\n if (!rect) {\n return new DOMRect();\n }\n\n return new DOMRect(rect.x, rect.y, rect.width, rect.height);\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n/**\n * The JSDoc comments in this file have been extracted from [DOMRectReadOnly](https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly).\n * Content by [Mozilla Contributors](https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly/contributors.txt),\n * licensed under [CC-BY-SA 2.5](https://creativecommons.org/licenses/by-sa/2.5/).\n */\n\n// flowlint sketchy-null:off, unsafe-getters-setters:off\n\nexport interface DOMRectInit {\n x?: ?number;\n y?: ?number;\n width?: ?number;\n height?: ?number;\n}\n\nfunction castToNumber(value: mixed): number {\n return value ? Number(value) : 0;\n}\n\n/**\n * The `DOMRectReadOnly` interface specifies the standard properties used by `DOMRect` to define a rectangle whose properties are immutable.\n *\n * This is a (mostly) spec-compliant version of `DOMRectReadOnly` (https://developer.mozilla.org/en-US/docs/Web/API/DOMRectReadOnly).\n */\nexport default class DOMRectReadOnly {\n #x: number;\n #y: number;\n #width: number;\n #height: number;\n\n constructor(x: ?number, y: ?number, width: ?number, height: ?number) {\n this.__setInternalX(x);\n this.__setInternalY(y);\n this.__setInternalWidth(width);\n this.__setInternalHeight(height);\n }\n\n /**\n * The x coordinate of the `DOMRectReadOnly`'s origin.\n */\n get x(): number {\n return this.#x;\n }\n\n /**\n * The y coordinate of the `DOMRectReadOnly`'s origin.\n */\n get y(): number {\n return this.#y;\n }\n\n /**\n * The width of the `DOMRectReadOnly`.\n */\n get width(): number {\n return this.#width;\n }\n\n /**\n * The height of the `DOMRectReadOnly`.\n */\n get height(): number {\n return this.#height;\n }\n\n /**\n * Returns the top coordinate value of the `DOMRect` (has the same value as `y`, or `y + height` if `height` is negative).\n */\n get top(): number {\n const height = this.#height;\n const y = this.#y;\n\n if (height < 0) {\n return y + height;\n }\n\n return y;\n }\n\n /**\n * Returns the right coordinate value of the `DOMRect` (has the same value as ``x + width`, or `x` if `width` is negative).\n */\n get right(): number {\n const width = this.#width;\n const x = this.#x;\n\n if (width < 0) {\n return x;\n }\n\n return x + width;\n }\n\n /**\n * Returns the bottom coordinate value of the `DOMRect` (has the same value as `y + height`, or `y` if `height` is negative).\n */\n get bottom(): number {\n const height = this.#height;\n const y = this.#y;\n\n if (height < 0) {\n return y;\n }\n\n return y + height;\n }\n\n /**\n * Returns the left coordinate value of the `DOMRect` (has the same value as `x`, or `x + width` if `width` is negative).\n */\n get left(): number {\n const width = this.#width;\n const x = this.#x;\n\n if (width < 0) {\n return x + width;\n }\n\n return x;\n }\n\n toJSON(): {\n x: number,\n y: number,\n width: number,\n height: number,\n top: number,\n left: number,\n bottom: number,\n right: number,\n } {\n const {x, y, width, height, top, left, bottom, right} = this;\n return {x, y, width, height, top, left, bottom, right};\n }\n\n /**\n * Creates a new `DOMRectReadOnly` object with a given location and dimensions.\n */\n static fromRect(rect?: ?DOMRectInit): DOMRectReadOnly {\n if (!rect) {\n return new DOMRectReadOnly();\n }\n\n return new DOMRectReadOnly(rect.x, rect.y, rect.width, rect.height);\n }\n\n __getInternalX(): number {\n return this.#x;\n }\n\n __getInternalY(): number {\n return this.#y;\n }\n\n __getInternalWidth(): number {\n return this.#width;\n }\n\n __getInternalHeight(): number {\n return this.#height;\n }\n\n __setInternalX(x: ?number) {\n this.#x = castToNumber(x);\n }\n\n __setInternalY(y: ?number) {\n this.#y = castToNumber(y);\n }\n\n __setInternalWidth(width: ?number) {\n this.#width = castToNumber(width);\n }\n\n __setInternalHeight(height: ?number) {\n this.#height = castToNumber(height);\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type {ArrayLike} from '../utils/ArrayLikeUtils';\nimport type DOMRectReadOnly from './DOMRectReadOnly';\n\nimport {createValueIterator} from '../utils/ArrayLikeUtils';\n\n// IMPORTANT: The Flow type definition for this module is defined in `DOMRectList.js.flow`\n// because Flow only supports indexers in classes in declaration files.\n\n// $FlowIssue[prop-missing] Flow doesn't understand [Symbol.iterator]() {} and thinks this class doesn't implement the Iterable interface.\nexport default class DOMRectList implements Iterable {\n #length: number;\n\n /**\n * Use `createDOMRectList` to create instances of this class.\n *\n * @private This is not defined in the declaration file, so users will not see\n * the signature of the constructor.\n */\n constructor(elements: $ReadOnlyArray) {\n for (let i = 0; i < elements.length; i++) {\n Object.defineProperty(this, i, {\n value: elements[i],\n enumerable: true,\n configurable: false,\n writable: false,\n });\n }\n\n this.#length = elements.length;\n }\n\n get length(): number {\n return this.#length;\n }\n\n item(index: number): DOMRectReadOnly | null {\n if (index < 0 || index >= this.#length) {\n return null;\n }\n\n // assigning to the interface allows us to access the indexer property in a\n // type-safe way.\n // eslint-disable-next-line consistent-this\n const arrayLike: ArrayLike = this;\n return arrayLike[index];\n }\n\n // $FlowIssue[unsupported-syntax] Flow does not support computed properties in classes.\n [Symbol.iterator](): Iterator {\n return createValueIterator(this);\n }\n}\n\n/**\n * This is an internal method to create instances of `DOMRectList`,\n * which avoids leaking its constructor to end users.\n * We can do that because the external definition of `DOMRectList` lives in\n * `DOMRectList.js.flow`, not here.\n */\nexport function createDOMRectList(\n elements: $ReadOnlyArray,\n): DOMRectList {\n return new DOMRectList(elements);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n/**\n * This definition is different from the current built-in type `$ArrayLike`\n * provided by Flow, in that this is an interface and that one is an object.\n *\n * The difference is important because, when using objects, Flow thinks\n * a `length` property would be copied over when using the spread operator,\n * which is incorrect.\n */\nexport interface ArrayLike extends Iterable {\n // This property should've been read-only as well, but Flow doesn't handle\n // read-only indexers correctly (thinks reads are writes and fails).\n [indexer: number]: T;\n +length: number;\n}\n\nexport function* createValueIterator(arrayLike: ArrayLike): Iterator {\n for (let i = 0; i < arrayLike.length; i++) {\n yield arrayLike[i];\n }\n}\n\nexport function* createKeyIterator(\n arrayLike: ArrayLike,\n): Iterator {\n for (let i = 0; i < arrayLike.length; i++) {\n yield i;\n }\n}\n\nexport function* createEntriesIterator(\n arrayLike: ArrayLike,\n): Iterator<[number, T]> {\n for (let i = 0; i < arrayLike.length; i++) {\n yield [i, arrayLike[i]];\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type {ArrayLike} from '../../utils/ArrayLikeUtils';\n\nimport {createValueIterator} from '../../utils/ArrayLikeUtils';\n\n// IMPORTANT: The type definition for this module is defined in `HTMLCollection.js.flow`\n// because Flow only supports indexers in classes in declaration files.\n\n// $FlowIssue[prop-missing] Flow doesn't understand [Symbol.iterator]() {} and thinks this class doesn't implement the Iterable interface.\nexport default class HTMLCollection implements Iterable, ArrayLike {\n #length: number;\n\n /**\n * Use `createHTMLCollection` to create instances of this class.\n *\n * @private This is not defined in the declaration file, so users will not see\n * the signature of the constructor.\n */\n constructor(elements: $ReadOnlyArray) {\n for (let i = 0; i < elements.length; i++) {\n Object.defineProperty(this, i, {\n value: elements[i],\n enumerable: true,\n configurable: false,\n writable: false,\n });\n }\n\n this.#length = elements.length;\n }\n\n get length(): number {\n return this.#length;\n }\n\n item(index: number): T | null {\n if (index < 0 || index >= this.#length) {\n return null;\n }\n\n // assigning to the interface allows us to access the indexer property in a\n // type-safe way.\n // eslint-disable-next-line consistent-this\n const arrayLike: ArrayLike = this;\n return arrayLike[index];\n }\n\n /**\n * @deprecated Unused in React Native.\n */\n namedItem(name: string): T | null {\n return null;\n }\n\n // $FlowIssue[unsupported-syntax] Flow does not support computed properties in classes.\n [Symbol.iterator](): Iterator {\n return createValueIterator(this);\n }\n}\n\n/**\n * This is an internal method to create instances of `HTMLCollection`,\n * which avoids leaking its constructor to end users.\n * We can do that because the external definition of `HTMLCollection` lives in\n * `HTMLCollection.js.flow`, not here.\n */\nexport function createHTMLCollection(\n elements: $ReadOnlyArray,\n): HTMLCollection {\n return new HTMLCollection(elements);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type {ArrayLike} from '../../utils/ArrayLikeUtils';\n\nimport {\n createEntriesIterator,\n createKeyIterator,\n createValueIterator,\n} from '../../utils/ArrayLikeUtils';\n\n// IMPORTANT: The Flow type definition for this module is defined in `NodeList.js.flow`\n// because Flow only supports indexers in classes in declaration files.\n\n// $FlowIssue[prop-missing] Flow doesn't understand [Symbol.iterator]() {} and thinks this class doesn't implement the Iterable interface.\nexport default class NodeList implements Iterable, ArrayLike {\n #length: number;\n\n /**\n * Use `createNodeList` to create instances of this class.\n *\n * @private This is not defined in the declaration file, so users will not see\n * the signature of the constructor.\n */\n constructor(elements: $ReadOnlyArray) {\n for (let i = 0; i < elements.length; i++) {\n Object.defineProperty(this, i, {\n value: elements[i],\n writable: false,\n });\n }\n this.#length = elements.length;\n }\n\n get length(): number {\n return this.#length;\n }\n\n item(index: number): T | null {\n if (index < 0 || index >= this.#length) {\n return null;\n }\n\n // assigning to the interface allows us to access the indexer property in a\n // type-safe way.\n // eslint-disable-next-line consistent-this\n const arrayLike: ArrayLike = this;\n return arrayLike[index];\n }\n\n entries(): Iterator<[number, T]> {\n return createEntriesIterator(this);\n }\n\n forEach(\n callbackFn: (value: T, index: number, array: NodeList) => mixed,\n thisArg?: ThisType,\n ): void {\n // assigning to the interface allows us to access the indexer property in a\n // type-safe way.\n // eslint-disable-next-line consistent-this\n const arrayLike: ArrayLike = this;\n\n for (let index = 0; index < this.#length; index++) {\n if (thisArg == null) {\n callbackFn(arrayLike[index], index, this);\n } else {\n callbackFn.call(thisArg, arrayLike[index], index, this);\n }\n }\n }\n\n keys(): Iterator {\n return createKeyIterator(this);\n }\n\n values(): Iterator {\n return createValueIterator(this);\n }\n\n // $FlowIssue[unsupported-syntax] Flow does not support computed properties in classes.\n [Symbol.iterator](): Iterator {\n return createValueIterator(this);\n }\n}\n\n/**\n * This is an internal method to create instances of `NodeList`,\n * which avoids leaking its constructor to end users.\n * We can do that because the external definition of `NodeList` lives in\n * `NodeList.js.flow`, not here.\n */\nexport function createNodeList(elements: $ReadOnlyArray): NodeList {\n return new NodeList(elements);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type NodeList from '../oldstylecollections/NodeList';\nimport type {InstanceHandle} from './internals/NodeInternals';\nimport type ReactNativeDocument from './ReactNativeDocument';\nimport type ReadOnlyElement from './ReadOnlyElement';\n\nimport * as ReactNativeFeatureFlags from '../../../featureflags/ReactNativeFeatureFlags';\nimport {createNodeList} from '../oldstylecollections/NodeList';\nimport {\n getNativeNodeReference,\n getOwnerDocument,\n getPublicInstanceFromInstanceHandle,\n setInstanceHandle,\n setOwnerDocument,\n} from './internals/NodeInternals';\nimport NativeDOM from './specs/NativeDOM';\n\nexport default class ReadOnlyNode {\n constructor(\n instanceHandle: InstanceHandle,\n // This will be null for the document node itself.\n ownerDocument: ReactNativeDocument | null,\n ) {\n // This constructor is inlined in `ReactNativeElement` so if you modify\n // this make sure that their implementation stays in sync.\n setOwnerDocument(this, ownerDocument);\n setInstanceHandle(this, instanceHandle);\n }\n\n get childNodes(): NodeList {\n const childNodes = getChildNodes(this);\n return createNodeList(childNodes);\n }\n\n get firstChild(): ReadOnlyNode | null {\n const childNodes = getChildNodes(this);\n\n if (childNodes.length === 0) {\n return null;\n }\n\n return childNodes[0];\n }\n\n get isConnected(): boolean {\n const shadowNode = getNativeNodeReference(this);\n\n if (shadowNode == null) {\n return false;\n }\n\n return NativeDOM.isConnected(shadowNode);\n }\n\n get lastChild(): ReadOnlyNode | null {\n const childNodes = getChildNodes(this);\n\n if (childNodes.length === 0) {\n return null;\n }\n\n return childNodes[childNodes.length - 1];\n }\n\n get nextSibling(): ReadOnlyNode | null {\n const [siblings, position] = getNodeSiblingsAndPosition(this);\n\n if (position === siblings.length - 1) {\n // this node is the last child of its parent, so there is no next sibling.\n return null;\n }\n\n return siblings[position + 1];\n }\n\n /**\n * @abstract\n */\n get nodeName(): string {\n throw new TypeError(\n '`nodeName` is abstract and must be implemented in a subclass of `ReadOnlyNode`',\n );\n }\n\n /**\n * @abstract\n */\n get nodeType(): number {\n throw new TypeError(\n '`nodeType` is abstract and must be implemented in a subclass of `ReadOnlyNode`',\n );\n }\n\n /**\n * @abstract\n */\n get nodeValue(): string | null {\n throw new TypeError(\n '`nodeValue` is abstract and must be implemented in a subclass of `ReadOnlyNode`',\n );\n }\n\n get ownerDocument(): ReactNativeDocument | null {\n return getOwnerDocument(this);\n }\n\n get parentElement(): ReadOnlyElement | null {\n const parentNode = this.parentNode;\n\n if (parentNode instanceof getReadOnlyElementClass()) {\n return parentNode;\n }\n\n return null;\n }\n\n get parentNode(): ReadOnlyNode | null {\n const shadowNode = getNativeNodeReference(this);\n\n if (shadowNode == null) {\n return null;\n }\n\n const parentInstanceHandle = NativeDOM.getParentNode(shadowNode);\n\n if (parentInstanceHandle == null) {\n return null;\n }\n\n return getPublicInstanceFromInstanceHandle(parentInstanceHandle) ?? null;\n }\n\n get previousSibling(): ReadOnlyNode | null {\n const [siblings, position] = getNodeSiblingsAndPosition(this);\n\n if (position === 0) {\n // this node is the first child of its parent, so there is no previous sibling.\n return null;\n }\n\n return siblings[position - 1];\n }\n\n /**\n * @abstract\n */\n get textContent(): string {\n throw new TypeError(\n '`textContent` is abstract and must be implemented in a subclass of `ReadOnlyNode`',\n );\n }\n\n compareDocumentPosition(otherNode: ReadOnlyNode): number {\n // Quick check to avoid having to call into Fabric if the nodes are the same.\n if (otherNode === this) {\n return 0;\n }\n\n const shadowNode = getNativeNodeReference(this);\n const otherShadowNode = getNativeNodeReference(otherNode);\n\n if (shadowNode == null || otherShadowNode == null) {\n return ReadOnlyNode.DOCUMENT_POSITION_DISCONNECTED;\n }\n\n return NativeDOM.compareDocumentPosition(shadowNode, otherShadowNode);\n }\n\n contains(otherNode: ReadOnlyNode): boolean {\n if (otherNode === this) {\n return true;\n }\n\n const position = this.compareDocumentPosition(otherNode);\n // eslint-disable-next-line no-bitwise\n return (position & ReadOnlyNode.DOCUMENT_POSITION_CONTAINED_BY) !== 0;\n }\n\n getRootNode(): ReadOnlyNode {\n if (ReactNativeFeatureFlags.enableDOMDocumentAPI()) {\n if (this.isConnected) {\n // If this is the document node, then the root node is itself.\n return this.ownerDocument ?? this;\n }\n\n return this;\n } else {\n // eslint-disable-next-line consistent-this\n let lastKnownParent: ReadOnlyNode = this;\n let nextPossibleParent: ?ReadOnlyNode = this.parentNode;\n\n while (nextPossibleParent != null) {\n lastKnownParent = nextPossibleParent;\n nextPossibleParent = nextPossibleParent.parentNode;\n }\n\n return lastKnownParent;\n }\n }\n\n hasChildNodes(): boolean {\n return getChildNodes(this).length > 0;\n }\n\n /*\n * Node types, as returned by the `nodeType` property.\n */\n\n /**\n * Type of Element, HTMLElement and ReactNativeElement instances.\n */\n static ELEMENT_NODE: number = 1;\n /**\n * Currently Unused in React Native.\n */\n static ATTRIBUTE_NODE: number = 2;\n /**\n * Text nodes.\n */\n static TEXT_NODE: number = 3;\n /**\n * @deprecated Unused in React Native.\n */\n static CDATA_SECTION_NODE: number = 4;\n /**\n * @deprecated\n */\n static ENTITY_REFERENCE_NODE: number = 5;\n /**\n * @deprecated\n */\n static ENTITY_NODE: number = 6;\n /**\n * @deprecated Unused in React Native.\n */\n static PROCESSING_INSTRUCTION_NODE: number = 7;\n /**\n * @deprecated Unused in React Native.\n */\n static COMMENT_NODE: number = 8;\n /**\n * Document nodes.\n */\n static DOCUMENT_NODE: number = 9;\n /**\n * @deprecated Unused in React Native.\n */\n static DOCUMENT_TYPE_NODE: number = 10;\n /**\n * @deprecated Unused in React Native.\n */\n static DOCUMENT_FRAGMENT_NODE: number = 11;\n /**\n * @deprecated\n */\n static NOTATION_NODE: number = 12;\n\n /*\n * Document position flags. Used to check the return value of\n * `compareDocumentPosition()`.\n */\n\n /**\n * Both nodes are in different documents.\n */\n static DOCUMENT_POSITION_DISCONNECTED: number = 1;\n /**\n * `otherNode` precedes the node in either a pre-order depth-first traversal of a tree containing both\n * (e.g., as an ancestor or previous sibling or a descendant of a previous sibling or previous sibling of an ancestor)\n * or (if they are disconnected) in an arbitrary but consistent ordering.\n */\n static DOCUMENT_POSITION_PRECEDING: number = 2;\n /**\n * `otherNode` follows the node in either a pre-order depth-first traversal of a tree containing both\n * (e.g., as a descendant or following sibling or a descendant of a following sibling or following sibling of an ancestor)\n * or (if they are disconnected) in an arbitrary but consistent ordering.\n */\n static DOCUMENT_POSITION_FOLLOWING: number = 4;\n /**\n * `otherNode` is an ancestor of the node.\n */\n static DOCUMENT_POSITION_CONTAINS: number = 8;\n /**\n * `otherNode` is a descendant of the node.\n */\n static DOCUMENT_POSITION_CONTAINED_BY: number = 16;\n /**\n * @deprecated Unused in React Native.\n */\n static DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number = 32;\n}\n\nexport function getChildNodes(\n node: ReadOnlyNode,\n): $ReadOnlyArray {\n const shadowNode = getNativeNodeReference(node);\n\n if (shadowNode == null) {\n return [];\n }\n\n const childNodeInstanceHandles = NativeDOM.getChildNodes(shadowNode);\n return childNodeInstanceHandles\n .map(instanceHandle => getPublicInstanceFromInstanceHandle(instanceHandle))\n .filter(Boolean);\n}\n\nfunction getNodeSiblingsAndPosition(\n node: ReadOnlyNode,\n): [$ReadOnlyArray, number] {\n const parent = node.parentNode;\n if (parent == null) {\n // This node is the root or it's disconnected.\n return [[node], 0];\n }\n\n const siblings = getChildNodes(parent);\n const position = siblings.indexOf(node);\n\n if (position === -1) {\n throw new TypeError(\"Missing node in parent's child node list\");\n }\n\n return [siblings, position];\n}\n\nlet ReadOnlyElementClass;\nfunction getReadOnlyElementClass(): Class {\n if (ReadOnlyElementClass == null) {\n // We initialize this lazily to avoid a require cycle.\n ReadOnlyElementClass = require('./ReadOnlyElement').default;\n }\n return ReadOnlyElementClass;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @generated SignedSource<<3e68d888bf4d8ac71b63571a639d265b>>\n * @flow strict\n */\n\n/**\n * IMPORTANT: Do NOT modify this file directly.\n *\n * To change the definition of the flags, edit\n * packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js.\n *\n * To regenerate this code, run the following script from the repo root:\n * yarn featureflags --update\n */\n\nimport {\n type Getter,\n type OverridesFor,\n createJavaScriptFlagGetter,\n createNativeFlagGetter,\n setOverrides,\n} from './ReactNativeFeatureFlagsBase';\n\nexport type ReactNativeFeatureFlagsJsOnly = $ReadOnly<{\n jsOnlyTestFlag: Getter,\n animatedShouldDebounceQueueFlush: Getter,\n animatedShouldUseSingleOp: Getter,\n avoidStateUpdateInAnimatedPropsMemo: Getter,\n disableInteractionManager: Getter,\n enableAccessToHostTreeInFabric: Getter,\n enableAnimatedClearImmediateFix: Getter,\n enableDOMDocumentAPI: Getter,\n fixVirtualizeListCollapseWindowSize: Getter,\n isLayoutAnimationEnabled: Getter,\n scheduleAnimatedCleanupInMicrotask: Getter,\n shouldUseAnimatedObjectForTransform: Getter,\n shouldUseRemoveClippedSubviewsAsDefaultOnIOS: Getter,\n shouldUseSetNativePropsInFabric: Getter,\n useRefsForTextInputState: Getter,\n}>;\n\nexport type ReactNativeFeatureFlagsJsOnlyOverrides = OverridesFor;\n\nexport type ReactNativeFeatureFlags = $ReadOnly<{\n ...ReactNativeFeatureFlagsJsOnly,\n commonTestFlag: Getter,\n commonTestFlagWithoutNativeImplementation: Getter,\n disableMountItemReorderingAndroid: Getter,\n enableAccumulatedUpdatesInRawPropsAndroid: Getter,\n enableBridgelessArchitecture: Getter,\n enableCppPropsIteratorSetter: Getter,\n enableEagerRootViewAttachment: Getter,\n enableFabricLogs: Getter,\n enableFabricRenderer: Getter,\n enableIOSViewClipToPaddingBox: Getter,\n enableImagePrefetchingAndroid: Getter,\n enableJSRuntimeGCOnMemoryPressureOnIOS: Getter,\n enableLayoutAnimationsOnAndroid: Getter,\n enableLayoutAnimationsOnIOS: Getter,\n enableLongTaskAPI: Getter,\n enableNativeCSSParsing: Getter,\n enableNewBackgroundAndBorderDrawables: Getter,\n enablePreciseSchedulingForPremountItemsOnAndroid: Getter,\n enablePropsUpdateReconciliationAndroid: Getter,\n enableReportEventPaintTime: Getter,\n enableSynchronousStateUpdates: Getter,\n enableUIConsistency: Getter,\n enableViewCulling: Getter,\n enableViewRecycling: Getter,\n enableViewRecyclingForText: Getter,\n enableViewRecyclingForView: Getter,\n excludeYogaFromRawProps: Getter,\n fixDifferentiatorEmittingUpdatesWithWrongParentTag: Getter,\n fixMappingOfEventPrioritiesBetweenFabricAndReact: Getter,\n fixMountingCoordinatorReportedPendingTransactionsOnAndroid: Getter,\n fuseboxEnabledRelease: Getter,\n fuseboxNetworkInspectionEnabled: Getter,\n lazyAnimationCallbacks: Getter,\n removeTurboModuleManagerDelegateMutex: Getter,\n throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS: Getter,\n traceTurboModulePromiseRejectionsOnAndroid: Getter,\n useAlwaysAvailableJSErrorHandling: Getter,\n useEditTextStockAndroidFocusBehavior: Getter,\n useFabricInterop: Getter,\n useNativeViewConfigsInBridgelessMode: Getter,\n useOptimizedEventBatchingOnAndroid: Getter,\n useRawPropsJsiValue: Getter,\n useTurboModuleInterop: Getter,\n useTurboModules: Getter,\n}>;\n\n/**\n * JS-only flag for testing. Do NOT modify.\n */\nexport const jsOnlyTestFlag: Getter = createJavaScriptFlagGetter('jsOnlyTestFlag', false);\n\n/**\n * Enables an experimental flush-queue debouncing in Animated.js.\n */\nexport const animatedShouldDebounceQueueFlush: Getter = createJavaScriptFlagGetter('animatedShouldDebounceQueueFlush', false);\n\n/**\n * Enables an experimental mega-operation for Animated.js that replaces many calls to native with a single call into native, to reduce JSI/JNI traffic.\n */\nexport const animatedShouldUseSingleOp: Getter = createJavaScriptFlagGetter('animatedShouldUseSingleOp', false);\n\n/**\n * Changes `useAnimatedPropsMemo` to avoid state updates to invalidate the cached `AnimatedProps`.\n */\nexport const avoidStateUpdateInAnimatedPropsMemo: Getter = createJavaScriptFlagGetter('avoidStateUpdateInAnimatedPropsMemo', false);\n\n/**\n * Disables InteractionManager and replaces its scheduler with `setImmediate`.\n */\nexport const disableInteractionManager: Getter = createJavaScriptFlagGetter('disableInteractionManager', false);\n\n/**\n * Enables access to the host tree in Fabric using DOM-compatible APIs.\n */\nexport const enableAccessToHostTreeInFabric: Getter = createJavaScriptFlagGetter('enableAccessToHostTreeInFabric', false);\n\n/**\n * Enables an experimental to use the proper clearIntermediate instead of calling the wrong clearTimeout and canceling another timer.\n */\nexport const enableAnimatedClearImmediateFix: Getter = createJavaScriptFlagGetter('enableAnimatedClearImmediateFix', true);\n\n/**\n * Enables the DOM Document API, exposing instaces of document through `getRootNode` and `ownerDocument`, and providing access to the `documentElement` representing the root node. This flag will be short-lived, only to test the Document API specifically, and then it will be collapsed into the enableAccessToHostTreeInFabric flag.\n */\nexport const enableDOMDocumentAPI: Getter = createJavaScriptFlagGetter('enableDOMDocumentAPI', false);\n\n/**\n * Fixing an edge case where the current window size is not properly calculated with fast scrolling. Window size collapsed to 1 element even if windowSize more than the current amount of elements\n */\nexport const fixVirtualizeListCollapseWindowSize: Getter = createJavaScriptFlagGetter('fixVirtualizeListCollapseWindowSize', false);\n\n/**\n * Function used to enable / disabled Layout Animations in React Native.\n */\nexport const isLayoutAnimationEnabled: Getter = createJavaScriptFlagGetter('isLayoutAnimationEnabled', true);\n\n/**\n * Changes the cleanup of`AnimatedProps` to occur in a microtask instead of synchronously during effect cleanup (for unmount) or subsequent mounts (for updates).\n */\nexport const scheduleAnimatedCleanupInMicrotask: Getter = createJavaScriptFlagGetter('scheduleAnimatedCleanupInMicrotask', false);\n\n/**\n * Enables use of AnimatedObject for animating transform values.\n */\nexport const shouldUseAnimatedObjectForTransform: Getter = createJavaScriptFlagGetter('shouldUseAnimatedObjectForTransform', false);\n\n/**\n * removeClippedSubviews prop will be used as the default in FlatList on iOS to match Android\n */\nexport const shouldUseRemoveClippedSubviewsAsDefaultOnIOS: Getter = createJavaScriptFlagGetter('shouldUseRemoveClippedSubviewsAsDefaultOnIOS', false);\n\n/**\n * Enables use of setNativeProps in JS driven animations.\n */\nexport const shouldUseSetNativePropsInFabric: Getter = createJavaScriptFlagGetter('shouldUseSetNativePropsInFabric', true);\n\n/**\n * Enable a variant of TextInput that moves some state to refs to avoid unnecessary re-renders\n */\nexport const useRefsForTextInputState: Getter = createJavaScriptFlagGetter('useRefsForTextInputState', false);\n\n/**\n * Common flag for testing. Do NOT modify.\n */\nexport const commonTestFlag: Getter = createNativeFlagGetter('commonTestFlag', false);\n/**\n * Common flag for testing (without native implementation). Do NOT modify.\n */\nexport const commonTestFlagWithoutNativeImplementation: Getter = createNativeFlagGetter('commonTestFlagWithoutNativeImplementation', false);\n/**\n * Prevent FabricMountingManager from reordering mountitems, which may lead to invalid state on the UI thread\n */\nexport const disableMountItemReorderingAndroid: Getter = createNativeFlagGetter('disableMountItemReorderingAndroid', false);\n/**\n * When enabled, Andoid will accumulate updates in rawProps to reduce the number of mounting instructions for cascading rerenders.\n */\nexport const enableAccumulatedUpdatesInRawPropsAndroid: Getter = createNativeFlagGetter('enableAccumulatedUpdatesInRawPropsAndroid', false);\n/**\n * Feature flag to enable the new bridgeless architecture. Note: Enabling this will force enable the following flags: `useTurboModules` & `enableFabricRenderer.\n */\nexport const enableBridgelessArchitecture: Getter = createNativeFlagGetter('enableBridgelessArchitecture', false);\n/**\n * Enable prop iterator setter-style construction of Props in C++ (this flag is not used in Java).\n */\nexport const enableCppPropsIteratorSetter: Getter = createNativeFlagGetter('enableCppPropsIteratorSetter', false);\n/**\n * Feature flag to configure eager attachment of the root view/initialisation of the JS code.\n */\nexport const enableEagerRootViewAttachment: Getter = createNativeFlagGetter('enableEagerRootViewAttachment', false);\n/**\n * This feature flag enables logs for Fabric.\n */\nexport const enableFabricLogs: Getter = createNativeFlagGetter('enableFabricLogs', false);\n/**\n * Enables the use of the Fabric renderer in the whole app.\n */\nexport const enableFabricRenderer: Getter = createNativeFlagGetter('enableFabricRenderer', false);\n/**\n * iOS Views will clip to their padding box vs border box\n */\nexport const enableIOSViewClipToPaddingBox: Getter = createNativeFlagGetter('enableIOSViewClipToPaddingBox', false);\n/**\n * When enabled, Andoid will build and initiate image prefetch requests on ImageShadowNode::layout\n */\nexport const enableImagePrefetchingAndroid: Getter = createNativeFlagGetter('enableImagePrefetchingAndroid', false);\n/**\n * Trigger JS runtime GC on memory pressure event on iOS\n */\nexport const enableJSRuntimeGCOnMemoryPressureOnIOS: Getter = createNativeFlagGetter('enableJSRuntimeGCOnMemoryPressureOnIOS', false);\n/**\n * When enabled, LayoutAnimations API will animate state changes on Android.\n */\nexport const enableLayoutAnimationsOnAndroid: Getter = createNativeFlagGetter('enableLayoutAnimationsOnAndroid', false);\n/**\n * When enabled, LayoutAnimations API will animate state changes on iOS.\n */\nexport const enableLayoutAnimationsOnIOS: Getter = createNativeFlagGetter('enableLayoutAnimationsOnIOS', true);\n/**\n * Enables the reporting of long tasks through `PerformanceObserver`. Only works if the event loop is enabled.\n */\nexport const enableLongTaskAPI: Getter = createNativeFlagGetter('enableLongTaskAPI', false);\n/**\n * Parse CSS strings using the Fabric CSS parser instead of ViewConfig processing\n */\nexport const enableNativeCSSParsing: Getter = createNativeFlagGetter('enableNativeCSSParsing', false);\n/**\n * Use BackgroundDrawable and BorderDrawable instead of CSSBackgroundDrawable\n */\nexport const enableNewBackgroundAndBorderDrawables: Getter = createNativeFlagGetter('enableNewBackgroundAndBorderDrawables', false);\n/**\n * Moves execution of pre-mount items to outside the choregrapher in the main thread, so we can estimate idle time more precisely (Android only).\n */\nexport const enablePreciseSchedulingForPremountItemsOnAndroid: Getter = createNativeFlagGetter('enablePreciseSchedulingForPremountItemsOnAndroid', false);\n/**\n * When enabled, Android will receive prop updates based on the differences between the last rendered shadow node and the last committed shadow node.\n */\nexport const enablePropsUpdateReconciliationAndroid: Getter = createNativeFlagGetter('enablePropsUpdateReconciliationAndroid', false);\n/**\n * Report paint time inside the Event Timing API implementation (PerformanceObserver).\n */\nexport const enableReportEventPaintTime: Getter = createNativeFlagGetter('enableReportEventPaintTime', false);\n/**\n * Dispatches state updates synchronously in Fabric (e.g.: updates the scroll position in the shadow tree synchronously from the main thread).\n */\nexport const enableSynchronousStateUpdates: Getter = createNativeFlagGetter('enableSynchronousStateUpdates', false);\n/**\n * Ensures that JavaScript always has a consistent view of the state of the UI (e.g.: commits done in other threads are not immediately propagated to JS during its execution).\n */\nexport const enableUIConsistency: Getter = createNativeFlagGetter('enableUIConsistency', false);\n/**\n * Enables View Culling: as soon as a view goes off screen, it can be reused anywhere in the UI and pieced together with other items to create new UI elements.\n */\nexport const enableViewCulling: Getter = createNativeFlagGetter('enableViewCulling', false);\n/**\n * Enables View Recycling. When enabled, individual ViewManagers must still opt-in.\n */\nexport const enableViewRecycling: Getter = createNativeFlagGetter('enableViewRecycling', false);\n/**\n * Enables View Recycling for via ReactTextView/ReactTextViewManager.\n */\nexport const enableViewRecyclingForText: Getter = createNativeFlagGetter('enableViewRecyclingForText', true);\n/**\n * Enables View Recycling for via ReactViewGroup/ReactViewManager.\n */\nexport const enableViewRecyclingForView: Getter = createNativeFlagGetter('enableViewRecyclingForView', true);\n/**\n * When enabled, rawProps in Props will not include Yoga specific props.\n */\nexport const excludeYogaFromRawProps: Getter = createNativeFlagGetter('excludeYogaFromRawProps', false);\n/**\n * Fixes a bug in Differentiator where parent views may be referenced before they're created\n */\nexport const fixDifferentiatorEmittingUpdatesWithWrongParentTag: Getter = createNativeFlagGetter('fixDifferentiatorEmittingUpdatesWithWrongParentTag', true);\n/**\n * Uses the default event priority instead of the discreet event priority by default when dispatching events from Fabric to React.\n */\nexport const fixMappingOfEventPrioritiesBetweenFabricAndReact: Getter = createNativeFlagGetter('fixMappingOfEventPrioritiesBetweenFabricAndReact', false);\n/**\n * Fixes a limitation on Android where the mounting coordinator would report there are no pending transactions but some of them were actually not processed due to the use of the push model.\n */\nexport const fixMountingCoordinatorReportedPendingTransactionsOnAndroid: Getter = createNativeFlagGetter('fixMountingCoordinatorReportedPendingTransactionsOnAndroid', false);\n/**\n * Flag determining if the React Native DevTools (Fusebox) CDP backend should be enabled in release builds. This flag is global and should not be changed across React Host lifetimes.\n */\nexport const fuseboxEnabledRelease: Getter = createNativeFlagGetter('fuseboxEnabledRelease', false);\n/**\n * Enable network inspection support in the React Native DevTools CDP backend. This flag is global and should not be changed across React Host lifetimes.\n */\nexport const fuseboxNetworkInspectionEnabled: Getter = createNativeFlagGetter('fuseboxNetworkInspectionEnabled', false);\n/**\n * Only enqueue Choreographer calls if there is an ongoing animation, instead of enqueueing every frame.\n */\nexport const lazyAnimationCallbacks: Getter = createNativeFlagGetter('lazyAnimationCallbacks', false);\n/**\n * When enabled, mutex _turboModuleManagerDelegateMutex in RCTTurboModuleManager will not be used\n */\nexport const removeTurboModuleManagerDelegateMutex: Getter = createNativeFlagGetter('removeTurboModuleManagerDelegateMutex', false);\n/**\n * Throw an exception instead of deadlocking when a TurboModule that requires main queue setup is initialized during a synchronous render on iOS.\n */\nexport const throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS: Getter = createNativeFlagGetter('throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS', false);\n/**\n * Enables storing js caller stack when creating promise in native module. This is useful in case of Promise rejection and tracing the cause.\n */\nexport const traceTurboModulePromiseRejectionsOnAndroid: Getter = createNativeFlagGetter('traceTurboModulePromiseRejectionsOnAndroid', false);\n/**\n * In Bridgeless mode, use the always available javascript error reporting pipeline.\n */\nexport const useAlwaysAvailableJSErrorHandling: Getter = createNativeFlagGetter('useAlwaysAvailableJSErrorHandling', false);\n/**\n * If true, focusing in ReactEditText will mainly use stock Android requestFocus() behavior. If false it will use legacy custom focus behavior.\n */\nexport const useEditTextStockAndroidFocusBehavior: Getter = createNativeFlagGetter('useEditTextStockAndroidFocusBehavior', true);\n/**\n * Should this application enable the Fabric Interop Layer for Android? If yes, the application will behave so that it can accept non-Fabric components and render them on Fabric. This toggle is controlling extra logic such as custom event dispatching that are needed for the Fabric Interop Layer to work correctly.\n */\nexport const useFabricInterop: Getter = createNativeFlagGetter('useFabricInterop', false);\n/**\n * When enabled, the native view configs are used in bridgeless mode.\n */\nexport const useNativeViewConfigsInBridgelessMode: Getter = createNativeFlagGetter('useNativeViewConfigsInBridgelessMode', false);\n/**\n * Uses an optimized mechanism for event batching on Android that does not need to wait for a Choreographer frame callback.\n */\nexport const useOptimizedEventBatchingOnAndroid: Getter = createNativeFlagGetter('useOptimizedEventBatchingOnAndroid', false);\n/**\n * Instead of using folly::dynamic as internal representation in RawProps and RawValue, use jsi::Value\n */\nexport const useRawPropsJsiValue: Getter = createNativeFlagGetter('useRawPropsJsiValue', false);\n/**\n * In Bridgeless mode, should legacy NativeModules use the TurboModule system?\n */\nexport const useTurboModuleInterop: Getter = createNativeFlagGetter('useTurboModuleInterop', false);\n/**\n * When enabled, NativeModules will be executed by using the TurboModule system\n */\nexport const useTurboModules: Getter = createNativeFlagGetter('useTurboModules', false);\n\n/**\n * Overrides the feature flags with the provided methods.\n * NOTE: Only JS-only flags can be overridden from JavaScript using this API.\n */\nexport const override = setOverrides;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {\n ReactNativeFeatureFlagsJsOnly,\n ReactNativeFeatureFlagsJsOnlyOverrides,\n} from './ReactNativeFeatureFlags';\n\nimport NativeReactNativeFeatureFlags from './specs/NativeReactNativeFeatureFlags';\n\nconst accessedFeatureFlags: Set = new Set();\nlet overrides: ?ReactNativeFeatureFlagsJsOnlyOverrides;\n\nexport type Getter = () => T;\n\n// This defines the types for the overrides object, whose methods also receive\n// the default value as a parameter.\nexport type OverridesFor = Partial<{\n [key in keyof T]: (ReturnType) => ReturnType,\n}>;\n\nfunction createGetter(\n configName: string,\n customValueGetter: Getter,\n defaultValue: T,\n): Getter {\n let cachedValue: ?T;\n\n return () => {\n if (cachedValue == null) {\n cachedValue = customValueGetter() ?? defaultValue;\n }\n return cachedValue;\n };\n}\n\nexport function createJavaScriptFlagGetter<\n K: $Keys,\n>(\n configName: K,\n defaultValue: ReturnType,\n): Getter> {\n return createGetter(\n configName,\n () => {\n accessedFeatureFlags.add(configName);\n return overrides?.[configName]?.(defaultValue);\n },\n defaultValue,\n );\n}\n\ntype NativeFeatureFlags = $NonMaybeType;\n\nexport function createNativeFlagGetter>(\n configName: K,\n defaultValue: ReturnType<$NonMaybeType>,\n skipUnavailableNativeModuleError: boolean = false,\n): Getter>> {\n return createGetter(\n configName,\n () => {\n maybeLogUnavailableNativeModuleError(configName);\n return NativeReactNativeFeatureFlags?.[configName]?.();\n },\n defaultValue,\n );\n}\n\nexport function getOverrides(): ?ReactNativeFeatureFlagsJsOnlyOverrides {\n return overrides;\n}\n\nexport function setOverrides(\n newOverrides: ReactNativeFeatureFlagsJsOnlyOverrides,\n): void {\n if (overrides != null) {\n throw new Error('Feature flags cannot be overridden more than once');\n }\n\n if (accessedFeatureFlags.size > 0) {\n const accessedFeatureFlagsStr = Array.from(accessedFeatureFlags).join(', ');\n throw new Error(\n `Feature flags were accessed before being overridden: ${accessedFeatureFlagsStr}`,\n );\n }\n\n overrides = newOverrides;\n}\n\nconst reportedConfigNames: Set = new Set();\n\nfunction maybeLogUnavailableNativeModuleError(configName: string): void {\n if (!NativeReactNativeFeatureFlags && !reportedConfigNames.has(configName)) {\n reportedConfigNames.add(configName);\n console.error(\n `Could not access feature flag '${configName}' because native module method was not available`,\n );\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @generated SignedSource<<0d611c17d522627c59a68d083eb6b6dc>>\n * @flow strict\n */\n\n/**\n * IMPORTANT: Do NOT modify this file directly.\n *\n * To change the definition of the flags, edit\n * packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js.\n *\n * To regenerate this code, run the following script from the repo root:\n * yarn featureflags --update\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +commonTestFlag?: () => boolean;\n +commonTestFlagWithoutNativeImplementation?: () => boolean;\n +disableMountItemReorderingAndroid?: () => boolean;\n +enableAccumulatedUpdatesInRawPropsAndroid?: () => boolean;\n +enableBridgelessArchitecture?: () => boolean;\n +enableCppPropsIteratorSetter?: () => boolean;\n +enableEagerRootViewAttachment?: () => boolean;\n +enableFabricLogs?: () => boolean;\n +enableFabricRenderer?: () => boolean;\n +enableIOSViewClipToPaddingBox?: () => boolean;\n +enableImagePrefetchingAndroid?: () => boolean;\n +enableJSRuntimeGCOnMemoryPressureOnIOS?: () => boolean;\n +enableLayoutAnimationsOnAndroid?: () => boolean;\n +enableLayoutAnimationsOnIOS?: () => boolean;\n +enableLongTaskAPI?: () => boolean;\n +enableNativeCSSParsing?: () => boolean;\n +enableNewBackgroundAndBorderDrawables?: () => boolean;\n +enablePreciseSchedulingForPremountItemsOnAndroid?: () => boolean;\n +enablePropsUpdateReconciliationAndroid?: () => boolean;\n +enableReportEventPaintTime?: () => boolean;\n +enableSynchronousStateUpdates?: () => boolean;\n +enableUIConsistency?: () => boolean;\n +enableViewCulling?: () => boolean;\n +enableViewRecycling?: () => boolean;\n +enableViewRecyclingForText?: () => boolean;\n +enableViewRecyclingForView?: () => boolean;\n +excludeYogaFromRawProps?: () => boolean;\n +fixDifferentiatorEmittingUpdatesWithWrongParentTag?: () => boolean;\n +fixMappingOfEventPrioritiesBetweenFabricAndReact?: () => boolean;\n +fixMountingCoordinatorReportedPendingTransactionsOnAndroid?: () => boolean;\n +fuseboxEnabledRelease?: () => boolean;\n +fuseboxNetworkInspectionEnabled?: () => boolean;\n +lazyAnimationCallbacks?: () => boolean;\n +removeTurboModuleManagerDelegateMutex?: () => boolean;\n +throwExceptionInsteadOfDeadlockOnTurboModuleSetupDuringSyncRenderIOS?: () => boolean;\n +traceTurboModulePromiseRejectionsOnAndroid?: () => boolean;\n +useAlwaysAvailableJSErrorHandling?: () => boolean;\n +useEditTextStockAndroidFocusBehavior?: () => boolean;\n +useFabricInterop?: () => boolean;\n +useNativeViewConfigsInBridgelessMode?: () => boolean;\n +useOptimizedEventBatchingOnAndroid?: () => boolean;\n +useRawPropsJsiValue?: () => boolean;\n +useTurboModuleInterop?: () => boolean;\n +useTurboModules?: () => boolean;\n}\n\nconst NativeReactNativeFeatureFlags: ?Spec = TurboModuleRegistry.get(\n 'NativeReactNativeFeatureFlagsCxx',\n);\n\nexport default NativeReactNativeFeatureFlags;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {RootTag} from '../../../../../../Libraries/ReactNative/RootTag';\nimport type {Node as ShadowNode} from '../../../../../../Libraries/Renderer/shims/ReactNativeTypes';\nimport type {TurboModule} from '../../../../../../Libraries/TurboModule/RCTExport';\nimport type {InstanceHandle} from '../internals/NodeInternals';\n\nimport * as TurboModuleRegistry from '../../../../../../Libraries/TurboModule/TurboModuleRegistry';\nimport nullthrows from 'nullthrows';\n\nexport opaque type NativeElementReference = ShadowNode;\nexport opaque type NativeTextReference = ShadowNode;\n\nexport type NativeNodeReference =\n | NativeElementReference\n | NativeTextReference\n | RootTag;\n\nexport type MeasureInWindowOnSuccessCallback = (\n x: number,\n y: number,\n width: number,\n height: number,\n) => void;\n\nexport type MeasureOnSuccessCallback = (\n x: number,\n y: number,\n width: number,\n height: number,\n pageX: number,\n pageY: number,\n) => void;\n\nexport type MeasureLayoutOnSuccessCallback = (\n left: number,\n top: number,\n width: number,\n height: number,\n) => void;\n\nexport interface Spec extends TurboModule {\n /*\n * Methods from the `Node` interface (for `ReadOnlyNode`).\n */\n\n +compareDocumentPosition: (\n nativeNodeReference: mixed /* NativeNodeReference */,\n otherNativeNodeReference: mixed /* NativeNodeReference */,\n ) => number;\n\n +getChildNodes: (\n nativeNodeReference: mixed /* NativeNodeReference */,\n ) => $ReadOnlyArray /* $ReadOnlyArray */;\n\n +getParentNode: (\n nativeNodeReference: mixed /* NativeNodeReference */,\n ) => mixed /* ?InstanceHandle */;\n\n +isConnected: (\n nativeNodeReference: mixed /* NativeNodeReference */,\n ) => boolean;\n\n /*\n * Methods from the `Element` interface (for `ReactNativeElement`).\n */\n\n +getBorderWidth: (\n nativeElementReference: mixed /* NativeElementReference */,\n ) => $ReadOnlyArray /* [topWidth: number, rightWidth: number, bottomWidth: number, leftWidth: number] */;\n\n +getBoundingClientRect: (\n nativeElementReference: mixed /* NativeElementReference */,\n includeTransform: boolean,\n ) => $ReadOnlyArray /* [x: number, y: number, width: number, height: number] */;\n\n +getInnerSize: (\n nativeElementReference: mixed /* NativeElementReference */,\n ) => $ReadOnlyArray /* [width: number, height: number] */;\n\n +getScrollPosition: (\n nativeElementReference: mixed /* NativeElementReference */,\n ) => $ReadOnlyArray /* [scrollLeft: number, scrollTop: number] */;\n\n +getScrollSize: (\n nativeElementReference: mixed /* NativeElementReference */,\n ) => $ReadOnlyArray /* [scrollWidth: number, scrollHeight: number] */;\n\n +getTagName: (\n nativeElementReference: mixed /* NativeElementReference */,\n ) => string;\n\n +getTextContent: (\n nativeElementReference: mixed /* NativeElementReference */,\n ) => string;\n\n +hasPointerCapture: (\n nativeElementReference: mixed /* NativeElementReference */,\n pointerId: number,\n ) => boolean;\n\n +releasePointerCapture: (\n nativeElementReference: mixed /* NativeElementReference */,\n pointerId: number,\n ) => void;\n\n +setPointerCapture: (\n nativeElementReference: mixed /* NativeElementReference */,\n pointerId: number,\n ) => void;\n\n /*\n * Methods from the `HTMLElement` interface (for `ReactNativeElement`).\n */\n\n +getOffset: (\n nativeElementReference: mixed /* NativeElementReference */,\n ) => $ReadOnlyArray /* [offsetParent: ?InstanceHandle, top: number, left: number] */;\n\n /*\n * Special methods to handle the root node.\n */\n\n +linkRootNode?: (\n rootTag: number /* RootTag */,\n instanceHandle: mixed /* InstanceHandle */,\n ) => mixed /* ?NativeElementReference */;\n\n /**\n * Legacy layout APIs (for `ReactNativeElement`).\n */\n\n +measure: (\n nativeElementReference: mixed,\n callback: MeasureOnSuccessCallback,\n ) => void;\n\n +measureInWindow: (\n nativeElementReference: mixed,\n callback: MeasureInWindowOnSuccessCallback,\n ) => void;\n\n +measureLayout: (\n nativeElementReference: mixed,\n relativeNode: mixed,\n onFail: () => void,\n onSuccess: MeasureLayoutOnSuccessCallback,\n ) => void;\n}\n\nconst RawNativeDOM = (TurboModuleRegistry.get('NativeDOMCxx'): ?Spec);\n\n// This is the actual interface of this module, but the native module codegen\n// isn't expressive enough yet.\nexport interface RefinedSpec {\n /*\n * Methods from the `Node` interface (for `ReadOnlyNode`).\n */\n\n /**\n * This is a React Native implementation of `Node.prototype.compareDocumentPosition`\n * (see https://developer.mozilla.org/en-US/docs/Web/API/Node/compareDocumentPosition).\n *\n * It uses the version of the shadow nodes that are present in the current\n * revision of the shadow tree (if any). If any of the nodes is not present,\n * it just indicates they are disconnected.\n */\n +compareDocumentPosition: (\n nativeNodeReference: NativeNodeReference,\n otherNativeNodeReference: NativeNodeReference,\n ) => number;\n\n /**\n * This is a React Native implementation of `Node.prototype.childNodes`\n * (see https://developer.mozilla.org/en-US/docs/Web/API/Node/childNodes).\n *\n * If a version of the given shadow node is present in the current revision\n * of an active shadow tree, it returns an array of instance handles of its\n * children. Otherwise, it returns an empty array.\n */\n +getChildNodes: (\n nativeNodeReference: NativeNodeReference,\n ) => $ReadOnlyArray;\n\n /**\n * This is a React Native implementation of `Node.prototype.parentNode`\n * (see https://developer.mozilla.org/en-US/docs/Web/API/Node/parentNode).\n *\n * If a version of the given shadow node is present in the current revision of\n * an active shadow tree, it returns the instance handle of its parent.\n * Otherwise, it returns `null`.\n */\n +getParentNode: (nativeNodeReference: NativeNodeReference) => ?InstanceHandle;\n\n /**\n * This is a React Native implementation of `Node.prototype.isConnected`\n * (see https://developer.mozilla.org/en-US/docs/Web/API/Node/isConnected).\n *\n * Indicates whether a version of the given shadow node is present in the\n * current revision of an active shadow tree.\n */\n +isConnected: (nativeNodeReference: NativeNodeReference) => boolean;\n\n /*\n * Methods from the `Element` interface (for `ReactNativeElement`).\n */\n\n /**\n * This is a method to access the border size of a shadow node, to implement\n * these methods:\n * - `Element.prototype.clientLeft`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientLeft.\n * - `Element.prototype.clientTop`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientTop.\n *\n * It uses the version of the shadow node that is present in the current\n * revision of the shadow tree. If the node is not present, it is not\n * displayed (because any of its ancestors or itself have 'display: none'), or\n * it has an inline display, it returns `undefined`. Otherwise, it returns its\n * border size.\n */\n +getBorderWidth: (\n nativeElementReference: NativeElementReference,\n ) => $ReadOnly<\n [\n /* topWidth: */ number,\n /* rightWidth: */ number,\n /* bottomWidth: */ number,\n /* leftWidth: */ number,\n ],\n >;\n\n /**\n * This is a React Native implementation of `Element.prototype.getBoundingClientRect`\n * (see https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClientRect).\n *\n * This is similar to `measureInWindow`, except it's explicitly synchronous\n * (returns the result instead of passing it to a callback).\n *\n * It allows indicating whether to include transforms so it can also be used\n * to implement methods like [`offsetWidth`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetWidth)\n * and [`offsetHeight`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetHeight).\n */\n +getBoundingClientRect: (\n nativeElementReference: NativeElementReference,\n includeTransform: boolean,\n ) => $ReadOnly<\n [\n /* x: */ number,\n /* y: */ number,\n /* width: */ number,\n /* height: */ number,\n ],\n >;\n\n /**\n * This is a method to access the inner size of a shadow node, to implement\n * these methods:\n * - `Element.prototype.clientWidth`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientWidth.\n * - `Element.prototype.clientHeight`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/clientHeight.\n *\n * It uses the version of the shadow node that is present in the current\n * revision of the shadow tree. If the node is not present, it is not\n * displayed (because any of its ancestors or itself have 'display: none'), or\n * it has an inline display, it returns `undefined`. Otherwise, it returns its\n * inner size.\n */\n +getInnerSize: (\n nativeElementReference: NativeElementReference,\n ) => $ReadOnly<[/* width: */ number, /* height: */ number]>;\n\n /**\n * This is a method to access scroll information for a shadow node, to\n * implement these methods:\n * - `Element.prototype.scrollLeft`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft.\n * - `Element.prototype.scrollTop`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollTop.\n *\n * It uses the version of the shadow node that is present in the current\n * revision of the shadow tree. If the node is not present or is not displayed\n * (because any of its ancestors or itself have 'display: none'), it returns\n * `undefined`. Otherwise, it returns the scroll position.\n */\n +getScrollPosition: (\n nativeElementReference: NativeElementReference,\n ) => $ReadOnly<[/* scrollLeft: */ number, /* scrollTop: */ number]>;\n\n /**\n *\n * This is a method to access the scroll information of a shadow node, to\n * implement these methods:\n * - `Element.prototype.scrollWidth`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollWidth.\n * - `Element.prototype.scrollHeight`: see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight.\n *\n * It uses the version of the shadow node that is present in the current\n * revision of the shadow tree. If the node is not present or is not displayed\n * (because any of its ancestors or itself have 'display: none'), it returns\n * `undefined`. Otherwise, it returns the scroll size.\n */\n +getScrollSize: (\n nativeElementReference: NativeElementReference,\n ) => $ReadOnly<[/* scrollWidth: */ number, /* scrollHeight: */ number]>;\n\n /**\n * This is a method to access the normalized tag name of a shadow node, to\n * implement `Element.prototype.tagName` (see https://developer.mozilla.org/en-US/docs/Web/API/Element/tagName).\n */\n +getTagName: (nativeElementReference: NativeElementReference) => string;\n\n /**\n * This is a React Native implementation of `Element.prototype.textContent`\n * (see https://developer.mozilla.org/en-US/docs/Web/API/Element/textContent).\n *\n * It uses the version of the shadow node that is present in the current\n * revision of the shadow tree.\n * If the version is present, is traverses all its children in DFS and\n * concatenates all the text contents. Otherwise, it returns an empty string.\n *\n * This is also used to access the text content of text nodes, which does not\n * need any traversal.\n */\n +getTextContent: (nativeNodeReference: NativeNodeReference) => string;\n\n +hasPointerCapture: (\n nativeElementReference: NativeElementReference,\n pointerId: number,\n ) => boolean;\n\n +releasePointerCapture: (\n nativeElementReference: NativeElementReference,\n pointerId: number,\n ) => void;\n\n +setPointerCapture: (\n nativeElementReference: NativeElementReference,\n pointerId: number,\n ) => void;\n\n /**\n * This is a method to access the offset information for a shadow node, to\n * implement these methods:\n * - `HTMLElement.prototype.offsetParent`: see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent.\n * - `HTMLElement.prototype.offsetTop`: see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetTop.\n * - `HTMLElement.prototype.offsetLeft`: see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetLeft.\n *\n * It uses the version of the shadow node that is present in the current\n * revision of the shadow tree. If the node is not present or is not\n * displayed (because any of its ancestors or itself have 'display: none'),\n * it returns `undefined`. Otherwise, it returns its parent (as all nodes in\n * React Native are currently \"positioned\") and its offset relative to its\n * parent.\n */\n +getOffset: (\n nativeElementReference: NativeElementReference,\n ) => $ReadOnly<\n [\n /* offsetParent: */ ?InstanceHandle,\n /* top: */ number,\n /* left: */ number,\n ],\n >;\n\n /*\n * Special methods to handle the root node.\n */\n\n /**\n * In React Native, surfaces that represent trees (similar to a `Document` on\n * Web) are created in native first, and then populated from JavaScript.\n *\n * Because React does not create this special node, we need a way to link\n * the JavaScript instance with that node, which is what this method allows.\n *\n * It also allows the implementation of `Node.prototype.ownerDocument` and\n * `Node.prototype.getRootNode`\n * (see https://developer.mozilla.org/en-US/docs/Web/API/Node/ownerDocument and\n * https://developer.mozilla.org/en-US/docs/Web/API/Node/getRootNode).\n *\n * Returns a shadow node representing the root node if it is still mounted.\n */\n +linkRootNode: (\n rootTag: RootTag,\n instanceHandle: InstanceHandle,\n ) => ?NativeElementReference;\n\n /**\n * Legacy layout APIs\n */\n\n +measure: (\n nativeElementReference: NativeElementReference,\n callback: MeasureOnSuccessCallback,\n ) => void;\n\n +measureInWindow: (\n nativeElementReference: NativeElementReference,\n callback: MeasureInWindowOnSuccessCallback,\n ) => void;\n\n +measureLayout: (\n nativeElementReference: NativeElementReference,\n relativeNode: NativeElementReference,\n onFail: () => void,\n onSuccess: MeasureLayoutOnSuccessCallback,\n ) => void;\n}\n\nconst NativeDOM: RefinedSpec = {\n /*\n * Methods from the `Node` interface (for `ReadOnlyNode`).\n */\n\n compareDocumentPosition(nativeNodeReference, otherNativeNodeReference) {\n return nullthrows(RawNativeDOM).compareDocumentPosition(\n nativeNodeReference,\n otherNativeNodeReference,\n );\n },\n\n getChildNodes(nativeNodeReference) {\n // $FlowExpectedError[incompatible-cast]\n return (nullthrows(RawNativeDOM).getChildNodes(\n nativeNodeReference,\n ): $ReadOnlyArray);\n },\n\n getParentNode(nativeNodeReference) {\n // $FlowExpectedError[incompatible-cast]\n return (nullthrows(RawNativeDOM).getParentNode(\n nativeNodeReference,\n ): ?InstanceHandle);\n },\n\n isConnected(nativeNodeReference) {\n return nullthrows(RawNativeDOM).isConnected(nativeNodeReference);\n },\n\n /*\n * Methods from the `Element` interface (for `ReactNativeElement`).\n */\n\n getBorderWidth(nativeNodeReference) {\n // $FlowExpectedError[incompatible-cast]\n return (nullthrows(RawNativeDOM).getBorderWidth(\n nativeNodeReference,\n ): $ReadOnly<\n [\n /* topWidth: */ number,\n /* rightWidth: */ number,\n /* bottomWidth: */ number,\n /* leftWidth: */ number,\n ],\n >);\n },\n\n getBoundingClientRect(nativeNodeReference, includeTransform: boolean) {\n // $FlowExpectedError[incompatible-cast]\n return (nullthrows(RawNativeDOM).getBoundingClientRect(\n nativeNodeReference,\n includeTransform,\n ): $ReadOnly<\n [\n /* x: */ number,\n /* y: */ number,\n /* width: */ number,\n /* height: */ number,\n ],\n >);\n },\n\n getInnerSize(nativeNodeReference) {\n // $FlowExpectedError[incompatible-cast]\n return (nullthrows(RawNativeDOM).getInnerSize(\n nativeNodeReference,\n ): $ReadOnly<[/* width: */ number, /* height: */ number]>);\n },\n\n getScrollPosition(nativeNodeReference) {\n // $FlowExpectedError[incompatible-cast]\n return (nullthrows(RawNativeDOM).getScrollPosition(\n nativeNodeReference,\n ): $ReadOnly<[/* scrollLeft: */ number, /* scrollTop: */ number]>);\n },\n\n getScrollSize(nativeNodeReference) {\n // $FlowExpectedError[incompatible-cast]\n return (nullthrows(RawNativeDOM).getScrollSize(\n nativeNodeReference,\n ): $ReadOnly<[/* scrollWidth: */ number, /* scrollHeight: */ number]>);\n },\n\n getTagName(nativeNodeReference) {\n return nullthrows(RawNativeDOM).getTagName(nativeNodeReference);\n },\n\n getTextContent(nativeNodeReference) {\n return nullthrows(RawNativeDOM).getTextContent(nativeNodeReference);\n },\n\n hasPointerCapture(nativeNodeReference, pointerId) {\n return nullthrows(RawNativeDOM).hasPointerCapture(\n nativeNodeReference,\n pointerId,\n );\n },\n\n releasePointerCapture(nativeNodeReference, pointerId) {\n return nullthrows(RawNativeDOM).releasePointerCapture(\n nativeNodeReference,\n pointerId,\n );\n },\n\n setPointerCapture(nativeNodeReference, pointerId) {\n return nullthrows(RawNativeDOM).setPointerCapture(\n nativeNodeReference,\n pointerId,\n );\n },\n\n /*\n * Methods from the `HTMLElement` interface (for `ReactNativeElement`).\n */\n\n getOffset(nativeNodeReference) {\n // $FlowExpectedError[incompatible-cast]\n return (nullthrows(RawNativeDOM).getOffset(nativeNodeReference): $ReadOnly<\n [\n /* offsetParent: */ ?InstanceHandle,\n /* top: */ number,\n /* left: */ number,\n ],\n >);\n },\n\n /*\n * Special methods to handle the root node.\n */\n\n linkRootNode(rootTag, instanceHandle) {\n // $FlowExpectedError[incompatible-cast]\n return (nullthrows(RawNativeDOM?.linkRootNode)(\n // $FlowExpectedError[incompatible-call]\n rootTag,\n instanceHandle,\n ): ?NativeElementReference);\n },\n\n /**\n * Legacy layout APIs\n */\n\n measure(nativeNodeReference, callback) {\n return nullthrows(RawNativeDOM).measure(nativeNodeReference, callback);\n },\n\n measureInWindow(nativeNodeReference, callback) {\n return nullthrows(RawNativeDOM).measureInWindow(\n nativeNodeReference,\n callback,\n );\n },\n\n measureLayout(nativeNodeReference, relativeNode, onFail, onSuccess) {\n return nullthrows(RawNativeDOM).measureLayout(\n nativeNodeReference,\n relativeNode,\n onFail,\n onSuccess,\n );\n },\n};\n\nexport default NativeDOM;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {InternalInstanceHandle} from '../../../../../../Libraries/Renderer/shims/ReactNativeTypes';\nimport type ReactNativeDocument from '../ReactNativeDocument';\nimport type ReadOnlyCharacterData from '../ReadOnlyCharacterData';\nimport type ReadOnlyElement from '../ReadOnlyElement';\nimport type ReadOnlyNode from '../ReadOnlyNode';\nimport type {\n NativeElementReference,\n NativeNodeReference,\n NativeTextReference,\n} from '../specs/NativeDOM';\nimport type {ReactNativeDocumentElementInstanceHandle} from './ReactNativeDocumentElementInstanceHandle';\nimport type {ReactNativeDocumentInstanceHandle} from './ReactNativeDocumentInstanceHandle';\n\nimport {\n getNativeElementReferenceFromReactNativeDocumentElementInstanceHandle,\n getPublicInstanceFromReactNativeDocumentElementInstanceHandle,\n isReactNativeDocumentElementInstanceHandle,\n} from './ReactNativeDocumentElementInstanceHandle';\nimport {\n getNativeNodeReferenceFromReactNativeDocumentInstanceHandle,\n getPublicInstanceFromReactNativeDocumentInstanceHandle,\n isReactNativeDocumentInstanceHandle,\n} from './ReactNativeDocumentInstanceHandle';\n\nexport type InstanceHandle =\n | InternalInstanceHandle // component managed by React\n | ReactNativeDocumentElementInstanceHandle // root element managed by React Native\n | ReactNativeDocumentInstanceHandle; // document node managed by React Native\n\nlet RendererProxy;\nfunction getRendererProxy() {\n if (RendererProxy == null) {\n // Lazy import Fabric here to avoid DOM Node APIs classes from having side-effects.\n // With a static import we can't use these classes for Paper-only variants.\n RendererProxy = require('../../../../../../Libraries/ReactNative/RendererProxy');\n }\n return RendererProxy;\n}\n\nconst INSTANCE_HANDLE_KEY = Symbol('internalInstanceHandle');\nconst OWNER_DOCUMENT_KEY = Symbol('ownerDocument');\n\nexport function getInstanceHandle(node: ReadOnlyNode): InstanceHandle {\n // $FlowExpectedError[prop-missing]\n return node[INSTANCE_HANDLE_KEY];\n}\n\nexport function setInstanceHandle(\n node: ReadOnlyNode,\n instanceHandle: InstanceHandle,\n): void {\n // $FlowExpectedError[prop-missing]\n node[INSTANCE_HANDLE_KEY] = instanceHandle;\n}\n\nexport function getOwnerDocument(\n node: ReadOnlyNode,\n): ReactNativeDocument | null {\n // $FlowExpectedError[prop-missing]\n return node[OWNER_DOCUMENT_KEY] ?? null;\n}\n\nexport function setOwnerDocument(\n node: ReadOnlyNode,\n ownerDocument: ReactNativeDocument | null,\n): void {\n // $FlowExpectedError[prop-missing]\n node[OWNER_DOCUMENT_KEY] = ownerDocument;\n}\n\nexport function getPublicInstanceFromInstanceHandle(\n instanceHandle: InstanceHandle,\n): ?ReadOnlyNode {\n if (isReactNativeDocumentInstanceHandle(instanceHandle)) {\n return getPublicInstanceFromReactNativeDocumentInstanceHandle(\n instanceHandle,\n );\n }\n\n if (isReactNativeDocumentElementInstanceHandle(instanceHandle)) {\n return getPublicInstanceFromReactNativeDocumentElementInstanceHandle(\n instanceHandle,\n );\n }\n\n const mixedPublicInstance =\n getRendererProxy().getPublicInstanceFromInternalInstanceHandle(\n instanceHandle,\n );\n\n // $FlowExpectedError[incompatible-return] React defines public instances as \"mixed\" because it can't access the definition from React Native.\n return mixedPublicInstance;\n}\n\nexport function getNativeNodeReference(\n node: ReadOnlyNode,\n): ?NativeNodeReference {\n const instanceHandle = getInstanceHandle(node);\n\n if (isReactNativeDocumentInstanceHandle(instanceHandle)) {\n return getNativeNodeReferenceFromReactNativeDocumentInstanceHandle(\n instanceHandle,\n );\n }\n\n if (isReactNativeDocumentElementInstanceHandle(instanceHandle)) {\n return getNativeElementReferenceFromReactNativeDocumentElementInstanceHandle(\n instanceHandle,\n );\n }\n\n // $FlowExpectedError[incompatible-return]\n return getRendererProxy().getNodeFromInternalInstanceHandle(instanceHandle);\n}\n\nexport function getNativeElementReference(\n node: ReadOnlyElement,\n): ?NativeElementReference {\n // $FlowExpectedError[incompatible-cast] We know ReadOnlyElement instances provide InternalInstanceHandle\n const instanceHandle = getInstanceHandle(node) as InternalInstanceHandle;\n\n // $FlowExpectedError[incompatible-return]\n return getRendererProxy().getNodeFromInternalInstanceHandle(instanceHandle);\n}\n\nexport function getNativeTextReference(\n node: ReadOnlyCharacterData,\n): ?NativeTextReference {\n // $FlowExpectedError[incompatible-cast] We know ReadOnlyText instances provide InternalInstanceHandle\n const instanceHandle = getInstanceHandle(node) as InternalInstanceHandle;\n\n // $FlowExpectedError[incompatible-return]\n return getRendererProxy().getNodeFromInternalInstanceHandle(instanceHandle);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {RootTag} from '../../../../../../Libraries/ReactNative/RootTag';\nimport type ReactNativeDocument from '../ReactNativeDocument';\nimport type {NativeNodeReference} from '../specs/NativeDOM';\n\nimport * as RendererProxy from '../../../../../../Libraries/ReactNative/RendererProxy';\n\nexport opaque type ReactNativeDocumentInstanceHandle = RootTag;\n\nexport function createReactNativeDocumentInstanceHandle(\n rootTag: RootTag,\n): ReactNativeDocumentInstanceHandle {\n return rootTag;\n}\n\nexport function getNativeNodeReferenceFromReactNativeDocumentInstanceHandle(\n instanceHandle: ReactNativeDocumentInstanceHandle,\n): ?NativeNodeReference {\n return instanceHandle;\n}\n\nexport function getPublicInstanceFromReactNativeDocumentInstanceHandle(\n instanceHandle: ReactNativeDocumentInstanceHandle,\n): ?ReactNativeDocument {\n // $FlowExpectedError[incompatible-return] React defines public instances as \"mixed\" because it can't access the definition from React Native.\n return RendererProxy.getPublicInstanceFromRootTag(Number(instanceHandle));\n}\n\nexport function isReactNativeDocumentInstanceHandle(\n instanceHandle: mixed,\n // $FlowExpectedError[incompatible-type-guard]\n): instanceHandle is ReactNativeDocumentInstanceHandle {\n // $FlowFixMe[incompatible-type-guard]\n return typeof instanceHandle === 'number' && instanceHandle % 10 === 1;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type ReadOnlyNode from '../ReadOnlyNode';\nimport type {NativeElementReference} from '../specs/NativeDOM';\n\nclass ReactNativeDocumentElementInstanceHandleImpl {\n publicInstance: ?ReadOnlyNode;\n nativeElementReference: ?NativeElementReference;\n}\n\nexport opaque type ReactNativeDocumentElementInstanceHandle = ReactNativeDocumentElementInstanceHandleImpl;\n\nexport function createReactNativeDocumentElementInstanceHandle(): ReactNativeDocumentElementInstanceHandle {\n return new ReactNativeDocumentElementInstanceHandleImpl();\n}\n\nexport function getNativeElementReferenceFromReactNativeDocumentElementInstanceHandle(\n instanceHandle: ReactNativeDocumentElementInstanceHandle,\n): ?NativeElementReference {\n return instanceHandle.nativeElementReference;\n}\n\nexport function setNativeElementReferenceForReactNativeDocumentElementInstanceHandle(\n instanceHandle: ReactNativeDocumentElementInstanceHandle,\n nativeElementReference: ?NativeElementReference,\n): void {\n instanceHandle.nativeElementReference = nativeElementReference;\n}\n\nexport function getPublicInstanceFromReactNativeDocumentElementInstanceHandle(\n instanceHandle: ReactNativeDocumentElementInstanceHandle,\n): ?ReadOnlyNode {\n return instanceHandle.publicInstance;\n}\n\nexport function setPublicInstanceForReactNativeDocumentElementInstanceHandle(\n instanceHandle: ReactNativeDocumentElementInstanceHandle,\n publicInstance: ?ReadOnlyNode,\n): void {\n instanceHandle.publicInstance = publicInstance;\n}\n\nexport function isReactNativeDocumentElementInstanceHandle(\n instanceHandle: mixed,\n): instanceHandle is ReactNativeDocumentElementInstanceHandle {\n return instanceHandle instanceof ReactNativeDocumentElementInstanceHandleImpl;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type HTMLCollection from '../oldstylecollections/HTMLCollection';\n\nimport DOMRect from '../../geometry/DOMRect';\nimport {createHTMLCollection} from '../oldstylecollections/HTMLCollection';\nimport {\n getInstanceHandle,\n getNativeElementReference,\n} from './internals/NodeInternals';\nimport {getElementSibling} from './internals/Traversal';\nimport ReadOnlyNode, {getChildNodes} from './ReadOnlyNode';\nimport NativeDOM from './specs/NativeDOM';\n\nexport default class ReadOnlyElement extends ReadOnlyNode {\n get childElementCount(): number {\n return getChildElements(this).length;\n }\n\n get children(): HTMLCollection {\n return createHTMLCollection(getChildElements(this));\n }\n\n get clientHeight(): number {\n const node = getNativeElementReference(this);\n\n if (node != null) {\n const innerSize = NativeDOM.getInnerSize(node);\n return innerSize[1];\n }\n\n return 0;\n }\n\n get clientLeft(): number {\n const node = getNativeElementReference(this);\n\n if (node != null) {\n const borderSize = NativeDOM.getBorderWidth(node);\n return borderSize[3];\n }\n\n return 0;\n }\n\n get clientTop(): number {\n const node = getNativeElementReference(this);\n\n if (node != null) {\n const borderSize = NativeDOM.getBorderWidth(node);\n return borderSize[0];\n }\n\n return 0;\n }\n\n get clientWidth(): number {\n const node = getNativeElementReference(this);\n\n if (node != null) {\n const innerSize = NativeDOM.getInnerSize(node);\n return innerSize[0];\n }\n\n return 0;\n }\n\n get firstElementChild(): ReadOnlyElement | null {\n const childElements = getChildElements(this);\n\n if (childElements.length === 0) {\n return null;\n }\n\n return childElements[0];\n }\n\n get id(): string {\n const instanceHandle = getInstanceHandle(this);\n // TODO: migrate off this private React API\n // $FlowExpectedError[incompatible-use]\n const props = instanceHandle?.stateNode?.canonical?.currentProps;\n return props?.id ?? props?.nativeID ?? '';\n }\n\n get lastElementChild(): ReadOnlyElement | null {\n const childElements = getChildElements(this);\n\n if (childElements.length === 0) {\n return null;\n }\n\n return childElements[childElements.length - 1];\n }\n\n get nextElementSibling(): ReadOnlyElement | null {\n return getElementSibling(this, 'next');\n }\n\n get nodeName(): string {\n return this.tagName;\n }\n\n get nodeType(): number {\n return ReadOnlyNode.ELEMENT_NODE;\n }\n\n get nodeValue(): string | null {\n return null;\n }\n\n set nodeValue(value: string): void {}\n\n get previousElementSibling(): ReadOnlyElement | null {\n return getElementSibling(this, 'previous');\n }\n\n get scrollHeight(): number {\n const node = getNativeElementReference(this);\n\n if (node != null) {\n const scrollSize = NativeDOM.getScrollSize(node);\n return scrollSize[1];\n }\n\n return 0;\n }\n\n get scrollLeft(): number {\n const node = getNativeElementReference(this);\n\n if (node != null) {\n const scrollPosition = NativeDOM.getScrollPosition(node);\n return scrollPosition[0];\n }\n\n return 0;\n }\n\n get scrollTop(): number {\n const node = getNativeElementReference(this);\n\n if (node != null) {\n const scrollPosition = NativeDOM.getScrollPosition(node);\n return scrollPosition[1];\n }\n\n return 0;\n }\n\n get scrollWidth(): number {\n const node = getNativeElementReference(this);\n\n if (node != null) {\n const scrollSize = NativeDOM.getScrollSize(node);\n return scrollSize[0];\n }\n\n return 0;\n }\n\n get tagName(): string {\n const node = getNativeElementReference(this);\n\n if (node != null) {\n return NativeDOM.getTagName(node);\n }\n\n return '';\n }\n\n get textContent(): string {\n const node = getNativeElementReference(this);\n\n if (node != null) {\n return NativeDOM.getTextContent(node);\n }\n\n return '';\n }\n\n getBoundingClientRect(): DOMRect {\n return getBoundingClientRect(this, {includeTransform: true});\n }\n\n /**\n * Pointer Capture APIs\n */\n hasPointerCapture(pointerId: number): boolean {\n const node = getNativeElementReference(this);\n if (node != null) {\n return NativeDOM.hasPointerCapture(node, pointerId);\n }\n return false;\n }\n\n setPointerCapture(pointerId: number): void {\n const node = getNativeElementReference(this);\n if (node != null) {\n NativeDOM.setPointerCapture(node, pointerId);\n }\n }\n\n releasePointerCapture(pointerId: number): void {\n const node = getNativeElementReference(this);\n if (node != null) {\n NativeDOM.releasePointerCapture(node, pointerId);\n }\n }\n}\n\nfunction getChildElements(node: ReadOnlyNode): $ReadOnlyArray {\n // $FlowIssue[incompatible-call]\n return getChildNodes(node).filter(\n childNode => childNode instanceof ReadOnlyElement,\n );\n}\n\n/**\n * The public API for `getBoundingClientRect` always includes transform,\n * so we use this internal version to get the data without transform to\n * implement methods like `offsetWidth` and `offsetHeight`.\n */\nexport function getBoundingClientRect(\n element: ReadOnlyElement,\n {includeTransform}: {includeTransform: boolean},\n): DOMRect {\n const node = getNativeElementReference(element);\n\n if (node != null) {\n const rect = NativeDOM.getBoundingClientRect(node, includeTransform);\n return new DOMRect(rect[0], rect[1], rect[2], rect[3]);\n }\n\n // Empty rect if any of the above failed\n return new DOMRect(0, 0, 0, 0);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type ReadOnlyElement from '../ReadOnlyElement';\nimport type ReadOnlyNode from '../ReadOnlyNode';\n\nimport {getChildNodes} from '../ReadOnlyNode';\n\n// We initialize this lazily to avoid a require cycle\n// (`ReadOnlyElement` also depends on `Traversal`).\nlet ReadOnlyElementClass: Class;\n\nexport function getElementSibling(\n node: ReadOnlyNode,\n direction: 'next' | 'previous',\n): ReadOnlyElement | null {\n const parent = node.parentNode;\n if (parent == null) {\n // This node is the root or it's disconnected.\n return null;\n }\n\n const childNodes = getChildNodes(parent);\n\n const startPosition = childNodes.indexOf(node);\n if (startPosition === -1) {\n return null;\n }\n\n const increment = direction === 'next' ? 1 : -1;\n\n let position = startPosition + increment;\n\n if (ReadOnlyElementClass == null) {\n // We initialize this lazily to avoid a require cycle.\n ReadOnlyElementClass = require('../ReadOnlyElement').default;\n }\n\n while (\n childNodes[position] != null &&\n !(childNodes[position] instanceof ReadOnlyElementClass)\n ) {\n position = position + increment;\n }\n\n return childNodes[position] ?? null;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type {RootTag} from '../../../../../Libraries/ReactNative/RootTag';\nimport type {ViewConfig} from '../../../../../Libraries/Renderer/shims/ReactNativeTypes';\nimport type HTMLCollection from '../oldstylecollections/HTMLCollection';\nimport type {ReactNativeDocumentInstanceHandle} from './internals/ReactNativeDocumentInstanceHandle';\nimport type ReadOnlyElement from './ReadOnlyElement';\n\nimport {createHTMLCollection} from '../oldstylecollections/HTMLCollection';\nimport {\n createReactNativeDocumentElementInstanceHandle,\n setNativeElementReferenceForReactNativeDocumentElementInstanceHandle,\n setPublicInstanceForReactNativeDocumentElementInstanceHandle,\n} from './internals/ReactNativeDocumentElementInstanceHandle';\nimport {createReactNativeDocumentInstanceHandle} from './internals/ReactNativeDocumentInstanceHandle';\nimport ReactNativeElement from './ReactNativeElement';\nimport ReadOnlyNode from './ReadOnlyNode';\nimport NativeDOM from './specs/NativeDOM';\n\nexport default class ReactNativeDocument extends ReadOnlyNode {\n _documentElement: ReactNativeElement;\n\n constructor(\n rootTag: RootTag,\n instanceHandle: ReactNativeDocumentInstanceHandle,\n ) {\n super(instanceHandle, null);\n this._documentElement = createDocumentElement(rootTag, this);\n }\n\n get childElementCount(): number {\n // just `documentElement`.\n return 1;\n }\n\n get children(): HTMLCollection {\n return createHTMLCollection([this.documentElement]);\n }\n\n get documentElement(): ReactNativeElement {\n return this._documentElement;\n }\n\n get firstElementChild(): ReadOnlyElement | null {\n return this.documentElement;\n }\n\n get lastElementChild(): ReadOnlyElement | null {\n return this.documentElement;\n }\n\n get nodeName(): string {\n return '#document';\n }\n\n get nodeType(): number {\n return ReadOnlyNode.DOCUMENT_NODE;\n }\n\n get nodeValue(): null {\n return null;\n }\n\n // $FlowExpectedError[incompatible-extend] This is defined as returning string in Node, but it's actually null in Document.\n get textContent(): null {\n return null;\n }\n}\n\nfunction createDocumentElement(\n rootTag: RootTag,\n ownerDocument: ReactNativeDocument,\n): ReactNativeElement {\n // In the case of the document object, React does not create an instance\n // handle for it, so we create a custom one.\n const instanceHandle = createReactNativeDocumentElementInstanceHandle();\n\n // $FlowExpectedError[incompatible-type]\n const rootTagIsNumber: number = rootTag;\n // $FlowExpectedError[incompatible-type]\n const viewConfig: ViewConfig = null;\n\n const documentElement = new ReactNativeElement(\n rootTagIsNumber,\n viewConfig,\n instanceHandle,\n ownerDocument,\n );\n\n // The root shadow node was created ahead of time without an instance\n // handle, so we need to link them now.\n const rootShadowNode = NativeDOM.linkRootNode(rootTag, instanceHandle);\n setNativeElementReferenceForReactNativeDocumentElementInstanceHandle(\n instanceHandle,\n rootShadowNode,\n );\n setPublicInstanceForReactNativeDocumentElementInstanceHandle(\n instanceHandle,\n documentElement,\n );\n\n return documentElement;\n}\n\nexport function createReactNativeDocument(\n rootTag: RootTag,\n): ReactNativeDocument {\n const instanceHandle = createReactNativeDocumentInstanceHandle(rootTag);\n const document = new ReactNativeDocument(rootTag, instanceHandle);\n return document;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type {\n InternalInstanceHandle,\n Node as ShadowNode,\n ViewConfig,\n} from '../../../../../Libraries/Renderer/shims/ReactNativeTypes';\nimport type {\n HostInstance,\n LegacyHostInstanceMethods,\n MeasureInWindowOnSuccessCallback,\n MeasureLayoutOnSuccessCallback,\n MeasureOnSuccessCallback,\n} from '../../../types/HostInstance';\nimport type {InstanceHandle} from './internals/NodeInternals';\nimport type ReactNativeDocument from './ReactNativeDocument';\n\nimport TextInputState from '../../../../../Libraries/Components/TextInput/TextInputState';\nimport {getFabricUIManager} from '../../../../../Libraries/ReactNative/FabricUIManager';\nimport {create as createAttributePayload} from '../../../../../Libraries/ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload';\nimport warnForStyleProps from '../../../../../Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps';\nimport {\n getNativeElementReference,\n getPublicInstanceFromInstanceHandle,\n setInstanceHandle,\n setOwnerDocument,\n} from './internals/NodeInternals';\nimport ReadOnlyElement, {getBoundingClientRect} from './ReadOnlyElement';\nimport NativeDOM from './specs/NativeDOM';\nimport nullthrows from 'nullthrows';\n\nconst noop = () => {};\n\n// Ideally, this class would be exported as-is, but this implementation is\n// significantly slower than the existing `ReactFabricHostComponent`.\n// This is a very hot code path (this class is instantiated once per rendered\n// host component in the tree) and we can't regress performance here.\n//\n// This implementation is slower because this is a subclass and we have to call\n// super(), which is a very slow operation the way that Babel transforms it at\n// the moment.\n//\n// The optimization we're doing is using an old-style function constructor,\n// where we're not required to use `super()`, and we make that constructor\n// extend this class so it inherits all the methods and it sets the class\n// hierarchy correctly.\n//\n// An alternative implementation was to implement the constructor as a function\n// returning a manually constructed instance using `Object.create()` but that\n// was slower than this method because the engine has to create an object than\n// we then discard to create a new one.\n\nclass ReactNativeElement\n extends ReadOnlyElement\n implements LegacyHostInstanceMethods\n{\n // These need to be accessible from `ReactFabricPublicInstanceUtils`.\n __nativeTag: number;\n __internalInstanceHandle: InstanceHandle;\n\n __viewConfig: ViewConfig;\n\n // This constructor isn't really used. See the `ReactNativeElement` function\n // below.\n constructor(\n tag: number,\n viewConfig: ViewConfig,\n instanceHandle: InstanceHandle,\n ownerDocument: ReactNativeDocument,\n ) {\n super(instanceHandle, ownerDocument);\n\n this.__nativeTag = tag;\n this.__internalInstanceHandle = instanceHandle;\n this.__viewConfig = viewConfig;\n }\n\n get offsetHeight(): number {\n return Math.round(\n getBoundingClientRect(this, {includeTransform: false}).height,\n );\n }\n\n get offsetLeft(): number {\n const node = getNativeElementReference(this);\n\n if (node != null) {\n const offset = NativeDOM.getOffset(node);\n return Math.round(offset[2]);\n }\n\n return 0;\n }\n\n get offsetParent(): ReadOnlyElement | null {\n const node = getNativeElementReference(this);\n\n if (node != null) {\n const offset = NativeDOM.getOffset(node);\n // For children of the root node we currently return offset data\n // but a `null` parent because the root node is not accessible\n // in JavaScript yet.\n if (offset[0] != null) {\n const offsetParentInstanceHandle = offset[0];\n const offsetParent = getPublicInstanceFromInstanceHandle(\n offsetParentInstanceHandle,\n );\n // $FlowExpectedError[incompatible-type] The value returned by `getOffset` is always an instance handle for `ReadOnlyElement`.\n const offsetParentElement: ReadOnlyElement | null = offsetParent;\n return offsetParentElement;\n }\n }\n\n return null;\n }\n\n get offsetTop(): number {\n const node = getNativeElementReference(this);\n\n if (node != null) {\n const offset = NativeDOM.getOffset(node);\n return Math.round(offset[1]);\n }\n\n return 0;\n }\n\n get offsetWidth(): number {\n return Math.round(\n getBoundingClientRect(this, {includeTransform: false}).width,\n );\n }\n\n /**\n * React Native compatibility methods\n */\n\n blur(): void {\n TextInputState.blurTextInput(this);\n }\n\n focus() {\n TextInputState.focusTextInput(this);\n }\n\n measure(callback: MeasureOnSuccessCallback) {\n const node = getNativeElementReference(this);\n if (node != null) {\n // $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.\n const shadowNode: ShadowNode = node;\n nullthrows(getFabricUIManager()).measure(shadowNode, callback);\n }\n }\n\n measureInWindow(callback: MeasureInWindowOnSuccessCallback) {\n const node = getNativeElementReference(this);\n if (node != null) {\n // $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.\n const shadowNode: ShadowNode = node;\n nullthrows(getFabricUIManager()).measureInWindow(shadowNode, callback);\n }\n }\n\n measureLayout(\n relativeToNativeNode: number | HostInstance,\n onSuccess: MeasureLayoutOnSuccessCallback,\n onFail?: () => void /* currently unused */,\n ) {\n if (!(relativeToNativeNode instanceof ReactNativeElement)) {\n if (__DEV__) {\n console.error(\n 'Warning: ref.measureLayout must be called with a ref to a native component.',\n );\n }\n\n return;\n }\n\n const toStateNode = getNativeElementReference(this);\n const fromStateNode = getNativeElementReference(relativeToNativeNode);\n\n if (toStateNode != null && fromStateNode != null) {\n // $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.\n const toStateShadowNode: ShadowNode = toStateNode;\n // $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.\n const fromStateShadowNode: ShadowNode = fromStateNode;\n\n nullthrows(getFabricUIManager()).measureLayout(\n toStateShadowNode,\n fromStateShadowNode,\n onFail != null ? onFail : noop,\n onSuccess != null ? onSuccess : noop,\n );\n }\n }\n\n setNativeProps(nativeProps: {...}): void {\n if (__DEV__) {\n warnForStyleProps(nativeProps, this.__viewConfig.validAttributes);\n }\n\n const updatePayload = createAttributePayload(\n nativeProps,\n this.__viewConfig.validAttributes,\n );\n\n const node = getNativeElementReference(this);\n\n if (node != null && updatePayload != null) {\n // $FlowExpectedError[incompatible-type] This is an element instance so the native node reference is always a shadow node.\n const shadowNode: ShadowNode = node;\n nullthrows(getFabricUIManager()).setNativeProps(\n shadowNode,\n updatePayload,\n );\n }\n }\n}\n\ntype ReactNativeElementT = ReactNativeElement;\n\nfunction replaceConstructorWithoutSuper(\n ReactNativeElementClass: Class,\n): Class {\n // Alternative constructor just implemented to provide a better performance than\n // calling super() in the original class.\n // eslint-disable-next-line no-shadow\n function ReactNativeElement(\n this: ReactNativeElementT,\n tag: number,\n viewConfig: ViewConfig,\n internalInstanceHandle: InternalInstanceHandle,\n ownerDocument: ReactNativeDocument,\n ) {\n // Inlined from `ReadOnlyNode`\n setOwnerDocument(this, ownerDocument);\n setInstanceHandle(this, internalInstanceHandle);\n\n this.__nativeTag = tag;\n this.__internalInstanceHandle = internalInstanceHandle;\n this.__viewConfig = viewConfig;\n }\n\n ReactNativeElement.prototype = ReactNativeElementClass.prototype;\n\n // $FlowExpectedError[incompatible-return]\n return ReactNativeElement;\n}\n\nexport default replaceConstructorWithoutSuper(\n ReactNativeElement,\n) as typeof ReactNativeElement;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n// This class is responsible for coordinating the \"focused\" state for\n// TextInputs. All calls relating to the keyboard should be funneled\n// through here.\n\nimport type {HostInstance} from '../../../src/private/types/HostInstance';\n\nimport {Commands as AndroidTextInputCommands} from '../../Components/TextInput/AndroidTextInputNativeComponent';\nimport {Commands as iOSTextInputCommands} from '../../Components/TextInput/RCTSingelineTextInputNativeComponent';\nimport {Commands as WindowsTextInputCommands} from '../../Components/TextInput/WindowsTextInputNativeComponent';\n\nconst {findNodeHandle} = require('../../ReactNative/RendererProxy');\nconst Platform = require('../../Utilities/Platform').default;\n\nlet currentlyFocusedInputRef: ?HostInstance = null;\nconst inputs = new Set();\n\nfunction currentlyFocusedInput(): ?HostInstance {\n return currentlyFocusedInputRef;\n}\n\n/**\n * Returns the ID of the currently focused text field, if one exists\n * If no text field is focused it returns null\n */\nfunction currentlyFocusedField(): ?number {\n if (__DEV__) {\n console.error(\n 'currentlyFocusedField is deprecated and will be removed in a future release. Use currentlyFocusedInput',\n );\n }\n\n return findNodeHandle(currentlyFocusedInputRef);\n}\n\nfunction focusInput(textField: ?HostInstance): void {\n if (currentlyFocusedInputRef !== textField && textField != null) {\n currentlyFocusedInputRef = textField;\n }\n}\n\nfunction blurInput(textField: ?HostInstance): void {\n if (currentlyFocusedInputRef === textField && textField != null) {\n currentlyFocusedInputRef = null;\n }\n}\n\nfunction focusField(textFieldID: ?number): void {\n if (__DEV__) {\n console.error('focusField no longer works. Use focusInput');\n }\n\n return;\n}\n\nfunction blurField(textFieldID: ?number) {\n if (__DEV__) {\n console.error('blurField no longer works. Use blurInput');\n }\n\n return;\n}\n\n/**\n * @param {number} TextInputID id of the text field to focus\n * Focuses the specified text field\n * noop if the text field was already focused or if the field is not editable\n */\nfunction focusTextInput(textField: ?HostInstance) {\n if (typeof textField === 'number') {\n if (__DEV__) {\n console.error(\n 'focusTextInput must be called with a host component. Passing a react tag is deprecated.',\n );\n }\n\n return;\n }\n\n // [Windows\n if (Platform.OS === 'windows' && textField != null) {\n // On Windows, we cannot test if the currentlyFocusedInputRef equals the\n // target ref because the call to focus on the target ref may occur before\n // an onBlur event for the target ref has been dispatched to JS but after\n // the target ref has lost native focus.\n focusInput(textField);\n WindowsTextInputCommands.focus(textField);\n // Windows]\n } else if (textField != null) {\n const fieldCanBeFocused =\n currentlyFocusedInputRef !== textField &&\n // $FlowFixMe - `currentProps` is missing in `NativeMethods`\n textField.currentProps?.editable !== false;\n\n if (!fieldCanBeFocused) {\n return;\n }\n focusInput(textField);\n if (Platform.OS === 'ios') {\n // This isn't necessarily a single line text input\n // But commands don't actually care as long as the thing being passed in\n // actually has a command with that name. So this should work with single\n // and multiline text inputs. Ideally we'll merge them into one component\n // in the future.\n iOSTextInputCommands.focus(textField);\n } else if (Platform.OS === 'android') {\n AndroidTextInputCommands.focus(textField);\n }\n }\n}\n\n/**\n * @param {number} textFieldID id of the text field to unfocus\n * Unfocuses the specified text field\n * noop if it wasn't focused\n */\nfunction blurTextInput(textField: ?HostInstance) {\n if (typeof textField === 'number') {\n if (__DEV__) {\n console.error(\n 'blurTextInput must be called with a host component. Passing a react tag is deprecated.',\n );\n }\n\n return;\n }\n\n if (currentlyFocusedInputRef === textField && textField != null) {\n blurInput(textField);\n if (Platform.OS === 'ios') {\n // This isn't necessarily a single line text input\n // But commands don't actually care as long as the thing being passed in\n // actually has a command with that name. So this should work with single\n // and multiline text inputs. Ideally we'll merge them into one component\n // in the future.\n iOSTextInputCommands.blur(textField);\n } else if (Platform.OS === 'android') {\n AndroidTextInputCommands.blur(textField);\n }\n // [Windows\n else if (Platform.OS === 'windows') {\n WindowsTextInputCommands.blur(textField);\n }\n // Windows]\n }\n}\n\nfunction registerInput(textField: HostInstance) {\n if (typeof textField === 'number') {\n if (__DEV__) {\n console.error(\n 'registerInput must be called with a host component. Passing a react tag is deprecated.',\n );\n }\n\n return;\n }\n\n inputs.add(textField);\n}\n\nfunction unregisterInput(textField: HostInstance) {\n if (typeof textField === 'number') {\n if (__DEV__) {\n console.error(\n 'unregisterInput must be called with a host component. Passing a react tag is deprecated.',\n );\n }\n\n return;\n }\n inputs.delete(textField);\n}\n\nfunction isTextInput(textField: HostInstance): boolean {\n if (typeof textField === 'number') {\n if (__DEV__) {\n console.error(\n 'isTextInput must be called with a host component. Passing a react tag is deprecated.',\n );\n }\n\n return false;\n }\n\n return inputs.has(textField);\n}\n\nconst TextInputState = {\n currentlyFocusedInput,\n focusInput,\n blurInput,\n\n currentlyFocusedField,\n focusField,\n blurField,\n focusTextInput,\n blurTextInput,\n registerInput,\n unregisterInput,\n isTextInput,\n};\n\nexport default TextInputState;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';\nimport type {\n ColorValue,\n TextStyleProp,\n ViewStyleProp,\n} from '../../StyleSheet/StyleSheet';\nimport type {\n BubblingEventHandler,\n DirectEventHandler,\n Double,\n Float,\n Int32,\n WithDefault,\n} from '../../Types/CodegenTypes';\nimport type {ViewProps} from '../View/ViewPropTypes';\nimport type {TextInputNativeCommands} from './TextInputNativeCommands';\n\nimport * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';\nimport codegenNativeCommands from '../../Utilities/codegenNativeCommands';\n\nexport type KeyboardType =\n // Cross Platform\n | 'default'\n | 'email-address'\n | 'numeric'\n | 'phone-pad'\n | 'number-pad'\n | 'decimal-pad'\n | 'url'\n // iOS-only\n | 'ascii-capable'\n | 'numbers-and-punctuation'\n | 'name-phone-pad'\n | 'twitter'\n | 'web-search'\n // Android-only\n | 'visible-password';\n\nexport type ReturnKeyType =\n // Cross Platform\n | 'done'\n | 'go'\n | 'next'\n | 'search'\n | 'send'\n // Android-only\n | 'none'\n | 'previous'\n // iOS-only\n | 'default'\n | 'emergency-call'\n | 'google'\n | 'join'\n | 'route'\n | 'yahoo';\n\nexport type SubmitBehavior = 'submit' | 'blurAndSubmit' | 'newline';\n\nexport type NativeProps = $ReadOnly<{\n // This allows us to inherit everything from ViewProps except for style (see below)\n // This must be commented for Fabric codegen to work.\n ...$Diff>,\n\n /**\n * Android props after this\n */\n /**\n * Specifies autocomplete hints for the system, so it can provide autofill. On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.\n * To disable autocomplete, set `autoComplete` to `off`.\n *\n * *Android Only*\n *\n * Possible values for `autoComplete` are:\n *\n * - `birthdate-day`\n * - `birthdate-full`\n * - `birthdate-month`\n * - `birthdate-year`\n * - `cc-csc`\n * - `cc-exp`\n * - `cc-exp-day`\n * - `cc-exp-month`\n * - `cc-exp-year`\n * - `cc-number`\n * - `email`\n * - `gender`\n * - `name`\n * - `name-family`\n * - `name-given`\n * - `name-middle`\n * - `name-middle-initial`\n * - `name-prefix`\n * - `name-suffix`\n * - `password`\n * - `password-new`\n * - `postal-address`\n * - `postal-address-country`\n * - `postal-address-extended`\n * - `postal-address-extended-postal-code`\n * - `postal-address-locality`\n * - `postal-address-region`\n * - `postal-code`\n * - `street-address`\n * - `sms-otp`\n * - `tel`\n * - `tel-country-code`\n * - `tel-national`\n * - `tel-device`\n * - `username`\n * - `username-new`\n * - `off`\n *\n * @platform android\n */\n autoComplete?: WithDefault<\n | 'birthdate-day'\n | 'birthdate-full'\n | 'birthdate-month'\n | 'birthdate-year'\n | 'cc-csc'\n | 'cc-exp'\n | 'cc-exp-day'\n | 'cc-exp-month'\n | 'cc-exp-year'\n | 'cc-number'\n | 'email'\n | 'gender'\n | 'name'\n | 'name-family'\n | 'name-given'\n | 'name-middle'\n | 'name-middle-initial'\n | 'name-prefix'\n | 'name-suffix'\n | 'password'\n | 'password-new'\n | 'postal-address'\n | 'postal-address-country'\n | 'postal-address-extended'\n | 'postal-address-extended-postal-code'\n | 'postal-address-locality'\n | 'postal-address-region'\n | 'postal-code'\n | 'street-address'\n | 'sms-otp'\n | 'tel'\n | 'tel-country-code'\n | 'tel-national'\n | 'tel-device'\n | 'username'\n | 'username-new'\n | 'off',\n 'off',\n >,\n\n /**\n * Sets the return key to the label. Use it instead of `returnKeyType`.\n * @platform android\n */\n returnKeyLabel?: ?string,\n\n /**\n * Sets the number of lines for a `TextInput`. Use it with multiline set to\n * `true` to be able to fill the lines.\n * @platform android\n */\n numberOfLines?: ?Int32,\n\n /**\n * When `false`, if there is a small amount of space available around a text input\n * (e.g. landscape orientation on a phone), the OS may choose to have the user edit\n * the text inside of a full screen text input mode. When `true`, this feature is\n * disabled and users will always edit the text directly inside of the text input.\n * Defaults to `false`.\n * @platform android\n */\n disableFullscreenUI?: ?boolean,\n\n /**\n * Set text break strategy on Android API Level 23+, possible values are `simple`, `highQuality`, `balanced`\n * The default value is `simple`.\n * @platform android\n */\n textBreakStrategy?: WithDefault<\n 'simple' | 'highQuality' | 'balanced',\n 'simple',\n >,\n\n /**\n * The color of the `TextInput` underline.\n * @platform android\n */\n underlineColorAndroid?: ?ColorValue,\n\n /**\n * If defined, the provided image resource will be rendered on the left.\n * The image resource must be inside `/android/app/src/main/res/drawable` and referenced\n * like\n * ```\n * \n * ```\n * @platform android\n */\n inlineImageLeft?: ?string,\n\n /**\n * Padding between the inline image, if any, and the text input itself.\n * @platform android\n */\n inlineImagePadding?: ?Int32,\n\n importantForAutofill?: string /*?(\n | 'auto'\n | 'no'\n | 'noExcludeDescendants'\n | 'yes'\n | 'yesExcludeDescendants'\n ),*/,\n\n /**\n * When `false`, it will prevent the soft keyboard from showing when the field is focused.\n * Defaults to `true`.\n */\n showSoftInputOnFocus?: ?boolean,\n\n /**\n * TextInput props after this\n */\n /**\n * Can tell `TextInput` to automatically capitalize certain characters.\n *\n * - `characters`: all characters.\n * - `words`: first letter of each word.\n * - `sentences`: first letter of each sentence (*default*).\n * - `none`: don't auto capitalize anything.\n */\n autoCapitalize?: WithDefault<\n 'none' | 'sentences' | 'words' | 'characters',\n 'none',\n >,\n\n /**\n * If `false`, disables auto-correct. The default value is `true`.\n */\n autoCorrect?: ?boolean,\n\n /**\n * If `true`, focuses the input on `componentDidMount`.\n * The default value is `false`.\n */\n autoFocus?: ?boolean,\n\n /**\n * Specifies whether fonts should scale to respect Text Size accessibility settings. The\n * default is `true`.\n */\n allowFontScaling?: ?boolean,\n\n /**\n * Specifies largest possible scale a font can reach when `allowFontScaling` is enabled.\n * Possible values:\n * `null/undefined` (default): inherit from the parent node or the global default (0)\n * `0`: no max, ignore parent/global default\n * `>= 1`: sets the maxFontSizeMultiplier of this node to this value\n */\n maxFontSizeMultiplier?: ?Float,\n\n /**\n * If `false`, text is not editable. The default value is `true`.\n */\n editable?: ?boolean,\n\n /**\n * Determines which keyboard to open, e.g.`numeric`.\n *\n * The following values work across platforms:\n *\n * - `default`\n * - `numeric`\n * - `number-pad`\n * - `decimal-pad`\n * - `email-address`\n * - `phone-pad`\n * - `url`\n *\n * *Android Only*\n *\n * The following values work on Android only:\n *\n * - `visible-password`\n */\n keyboardType?: WithDefault,\n\n /**\n * Determines how the return key should look. On Android you can also use\n * `returnKeyLabel`.\n *\n * *Cross platform*\n *\n * The following values work across platforms:\n *\n * - `done`\n * - `go`\n * - `next`\n * - `search`\n * - `send`\n *\n * *Android Only*\n *\n * The following values work on Android only:\n *\n * - `none`\n * - `previous`\n */\n returnKeyType?: WithDefault,\n\n /**\n * Limits the maximum number of characters that can be entered. Use this\n * instead of implementing the logic in JS to avoid flicker.\n */\n maxLength?: ?Int32,\n\n /**\n * If `true`, the text input can be multiple lines.\n * The default value is `false`.\n */\n multiline?: ?boolean,\n\n /**\n * Callback that is called when the text input is blurred.\n * `target` is the reactTag of the element\n */\n onBlur?: ?BubblingEventHandler<$ReadOnly<{target: Int32}>>,\n\n /**\n * Callback that is called when the text input is focused.\n * `target` is the reactTag of the element\n */\n onFocus?: ?BubblingEventHandler<$ReadOnly<{target: Int32}>>,\n\n /**\n * Callback that is called when the text input's text changes.\n * `target` is the reactTag of the element\n * TODO: differentiate between onChange and onChangeText\n */\n onChange?: ?BubblingEventHandler<\n $ReadOnly<{target: Int32, eventCount: Int32, text: string}>,\n >,\n\n /**\n * Callback that is called when the text input's text changes.\n * Changed text is passed as an argument to the callback handler.\n * TODO: differentiate between onChange and onChangeText\n */\n onChangeText?: ?BubblingEventHandler<\n $ReadOnly<{target: Int32, eventCount: Int32, text: string}>,\n >,\n\n /**\n * Callback that is called when the text input's content size changes.\n * This will be called with\n * `{ nativeEvent: { contentSize: { width, height } } }`.\n *\n * Only called for multiline text inputs.\n */\n onContentSizeChange?: ?DirectEventHandler<\n $ReadOnly<{\n target: Int32,\n contentSize: $ReadOnly<{width: Double, height: Double}>,\n }>,\n >,\n\n /**\n * Callback that is called when text input ends.\n */\n onEndEditing?: ?BubblingEventHandler<\n $ReadOnly<{target: Int32, text: string}>,\n >,\n\n /**\n * Callback that is called when the text input selection is changed.\n * This will be called with\n * `{ nativeEvent: { selection: { start, end } } }`.\n */\n onSelectionChange?: ?DirectEventHandler<\n $ReadOnly<{\n target: Int32,\n selection: $ReadOnly<{start: Double, end: Double}>,\n }>,\n >,\n\n /**\n * Callback that is called when the text input's submit button is pressed.\n * Invalid if `multiline={true}` is specified.\n */\n onSubmitEditing?: ?BubblingEventHandler<\n $ReadOnly<{target: Int32, text: string}>,\n >,\n\n /**\n * Callback that is called when a key is pressed.\n * This will be called with `{ nativeEvent: { key: keyValue } }`\n * where `keyValue` is `'Enter'` or `'Backspace'` for respective keys and\n * the typed-in character otherwise including `' '` for space.\n * Fires before `onChange` callbacks.\n */\n onKeyPress?: ?BubblingEventHandler<$ReadOnly<{target: Int32, key: string}>>,\n\n /**\n * Invoked on content scroll with `{ nativeEvent: { contentOffset: { x, y } } }`.\n * May also contain other properties from ScrollEvent but on Android contentSize\n * is not provided for performance reasons.\n */\n onScroll?: ?DirectEventHandler<\n $ReadOnly<{\n target: Int32,\n responderIgnoreScroll: boolean,\n contentInset: $ReadOnly<{\n top: Double, // always 0 on Android\n bottom: Double, // always 0 on Android\n left: Double, // always 0 on Android\n right: Double, // always 0 on Android\n }>,\n contentOffset: $ReadOnly<{\n x: Double,\n y: Double,\n }>,\n contentSize: $ReadOnly<{\n width: Double, // always 0 on Android\n height: Double, // always 0 on Android\n }>,\n layoutMeasurement: $ReadOnly<{\n width: Double,\n height: Double,\n }>,\n velocity: $ReadOnly<{\n x: Double, // always 0 on Android\n y: Double, // always 0 on Android\n }>,\n }>,\n >,\n\n /**\n * The string that will be rendered before text input has been entered.\n */\n placeholder?: ?Stringish,\n\n /**\n * The text color of the placeholder string.\n */\n placeholderTextColor?: ?ColorValue,\n\n /**\n * If `true`, the text input obscures the text entered so that sensitive text\n * like passwords stay secure. The default value is `false`. Does not work with 'multiline={true}'.\n */\n secureTextEntry?: ?boolean,\n\n /**\n * The highlight and cursor color of the text input.\n */\n selectionColor?: ?ColorValue,\n\n /**\n * The text selection handle color.\n */\n selectionHandleColor?: ?ColorValue,\n\n /**\n * The start and end of the text input's selection. Set start and end to\n * the same value to position the cursor.\n */\n selection?: ?$ReadOnly<{\n start: Int32,\n end?: ?Int32,\n }>,\n\n /**\n * The value to show for the text input. `TextInput` is a controlled\n * component, which means the native value will be forced to match this\n * value prop if provided. For most uses, this works great, but in some\n * cases this may cause flickering - one common cause is preventing edits\n * by keeping value the same. In addition to simply setting the same value,\n * either set `editable={false}`, or set/update `maxLength` to prevent\n * unwanted edits without flicker.\n */\n value?: ?string,\n\n /**\n * Provides an initial value that will change when the user starts typing.\n * Useful for simple use-cases where you do not want to deal with listening\n * to events and updating the value prop to keep the controlled state in sync.\n */\n defaultValue?: ?string,\n\n /**\n * If `true`, all text will automatically be selected on focus.\n */\n selectTextOnFocus?: ?boolean,\n\n /**\n * If `true`, the text field will blur when submitted.\n * The default value is true for single-line fields and false for\n * multiline fields. Note that for multiline fields, setting `blurOnSubmit`\n * to `true` means that pressing return will blur the field and trigger the\n * `onSubmitEditing` event instead of inserting a newline into the field.\n *\n * @deprecated\n * Note that `submitBehavior` now takes the place of `blurOnSubmit` and will\n * override any behavior defined by `blurOnSubmit`.\n * @see submitBehavior\n */\n blurOnSubmit?: ?boolean,\n\n /**\n * When the return key is pressed,\n *\n * For single line inputs:\n *\n * - `'newline`' defaults to `'blurAndSubmit'`\n * - `undefined` defaults to `'blurAndSubmit'`\n *\n * For multiline inputs:\n *\n * - `'newline'` adds a newline\n * - `undefined` defaults to `'newline'`\n *\n * For both single line and multiline inputs:\n *\n * - `'submit'` will only send a submit event and not blur the input\n * - `'blurAndSubmit`' will both blur the input and send a submit event\n */\n submitBehavior?: ?SubmitBehavior,\n\n /**\n * Note that not all Text styles are supported, an incomplete list of what is not supported includes:\n *\n * - `borderLeftWidth`\n * - `borderTopWidth`\n * - `borderRightWidth`\n * - `borderBottomWidth`\n * - `borderTopLeftRadius`\n * - `borderTopRightRadius`\n * - `borderBottomRightRadius`\n * - `borderBottomLeftRadius`\n *\n * see [Issue#7070](https://github.com/facebook/react-native/issues/7070)\n * for more detail.\n *\n * [Styles](docs/style.html)\n */\n // TODO: figure out what to do with this style prop for codegen/Fabric purposes\n // This must be commented for Fabric codegen to work; it's currently not possible\n // to override the default View style prop in codegen.\n style?: ?TextStyleProp,\n\n /**\n * If `true`, caret is hidden. The default value is `false`.\n * This property is supported only for single-line TextInput component on iOS.\n */\n caretHidden?: ?boolean,\n\n /*\n * If `true`, contextMenuHidden is hidden. The default value is `false`.\n */\n contextMenuHidden?: ?boolean,\n\n /**\n * The following are props that `BaseTextShadowNode` takes. It is unclear if they\n * are used by TextInput.\n */\n textShadowColor?: ?ColorValue,\n textShadowRadius?: ?Float,\n textDecorationLine?: ?string,\n fontStyle?: ?string,\n textShadowOffset?: ?$ReadOnly<{width?: ?Double, height?: ?Double}>,\n lineHeight?: ?Float,\n textTransform?: ?string,\n color?: ?Int32,\n letterSpacing?: ?Float,\n fontSize?: ?Float,\n textAlign?: ?string,\n includeFontPadding?: ?boolean,\n fontWeight?: ?string,\n fontFamily?: ?string,\n\n /**\n * I cannot find where these are defined but JS complains without them.\n */\n textAlignVertical?: ?string,\n cursorColor?: ?ColorValue,\n\n /**\n * \"Private\" fields used by TextInput.js and not users of this component directly\n */\n mostRecentEventCount: Int32,\n text?: ?string,\n\n // @windows\n clearTextOnFocus?: ?boolean,\n\n // @windows\n clearTextOnSubmit?: ?boolean,\n\n // @windows\n scrollEnabled?: ?boolean,\n\n // @windows\n spellCheck?: ?boolean,\n\n // @windows\n // submitKeyEvents?\n}>;\n\ntype NativeType = HostComponent;\n\ntype NativeCommands = TextInputNativeCommands;\n\nexport const Commands: NativeCommands = codegenNativeCommands({\n supportedCommands: ['focus', 'blur', 'setTextAndSelection'],\n});\n\nexport const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {\n uiViewClassName: 'WindowsTextInput',\n bubblingEventTypes: {\n topBlur: {\n phasedRegistrationNames: {\n bubbled: 'onBlur',\n captured: 'onBlurCapture',\n },\n },\n topEndEditing: {\n phasedRegistrationNames: {\n bubbled: 'onEndEditing',\n captured: 'onEndEditingCapture',\n },\n },\n topFocus: {\n phasedRegistrationNames: {\n bubbled: 'onFocus',\n captured: 'onFocusCapture',\n },\n },\n topKeyPress: {\n phasedRegistrationNames: {\n bubbled: 'onKeyPress',\n captured: 'onKeyPressCapture',\n },\n },\n topSubmitEditing: {\n phasedRegistrationNames: {\n bubbled: 'onSubmitEditing',\n captured: 'onSubmitEditingCapture',\n },\n },\n },\n directEventTypes: {\n topTextInputScroll: {\n // [Windows] - event renamed to topTextInputScroll from toScroll\n registrationName: 'onScroll',\n },\n topTextInputBlur: {\n registrationName: 'onBlur', // [Windows] - This is bubbled event in Android\n },\n topTextInputChange: {\n registrationName: 'onChange', // [Windows] - This is bubbled event in Android\n },\n topTextInputContentSizeChange: {\n registrationName: 'onContentSizeChange', // [Windows] - This is bubbled event in Android\n },\n topTextInputEndEditing: {\n registrationName: 'onEndEditing', // [Windows] - This is bubbled event in Android\n },\n topTextInputFocus: {\n registrationName: 'onFocus', // [Windows] - This is bubbled event in Android\n },\n topTextInputKeyPress: {\n registrationName: 'onKeyPress', // [Windows] - This is bubbled event in Android\n },\n topTextInputPressIn: {\n registrationName: 'onPressIn', // [Windows] - This is bubbled event in Android\n },\n topTextInputPressOut: {\n registrationName: 'onPressOut', // [Windows] - This is bubbled event in Android\n },\n topTextInputSelectionChange: {\n registrationName: 'onSelectionChange', // [Windows] - This is bubbled event in Android\n },\n topTextInputSubmitEditing: {\n registrationName: 'onSubmitEditing', // [Windows] - This is bubbled event in Android\n },\n },\n validAttributes: {\n maxFontSizeMultiplier: true,\n adjustsFontSizeToFit: true,\n minimumFontScale: true,\n autoFocus: true,\n placeholder: true,\n inlineImagePadding: true,\n contextMenuHidden: true,\n textShadowColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n maxLength: true,\n selectTextOnFocus: true,\n textShadowRadius: true,\n underlineColorAndroid: {\n process: require('../../StyleSheet/processColor').default,\n },\n textDecorationLine: true,\n submitBehavior: true,\n textAlignVertical: true,\n fontStyle: true,\n textShadowOffset: true,\n selectionColor: {process: require('../../StyleSheet/processColor').default},\n selectionHandleColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n placeholderTextColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n importantForAutofill: true,\n lineHeight: true,\n textTransform: true,\n returnKeyType: true,\n keyboardType: true,\n multiline: true,\n color: {process: require('../../StyleSheet/processColor').default},\n autoComplete: true,\n numberOfLines: true,\n letterSpacing: true,\n returnKeyLabel: true,\n fontSize: true,\n onKeyPress: true,\n cursorColor: {process: require('../../StyleSheet/processColor').default},\n text: true,\n showSoftInputOnFocus: true,\n textAlign: true,\n autoCapitalize: true,\n autoCorrect: true,\n caretHidden: true,\n secureTextEntry: true,\n textBreakStrategy: true,\n onScroll: true,\n onContentSizeChange: true,\n disableFullscreenUI: true,\n includeFontPadding: true,\n fontWeight: true,\n fontFamily: true,\n allowFontScaling: true,\n onSelectionChange: true,\n mostRecentEventCount: true,\n inlineImageLeft: true,\n editable: true,\n fontVariant: true,\n borderBottomRightRadius: true,\n borderBottomColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderRadius: true,\n borderRightColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderColor: {process: require('../../StyleSheet/processColor').default},\n borderTopRightRadius: true,\n borderStyle: true,\n borderBottomLeftRadius: true,\n borderLeftColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderTopLeftRadius: true,\n borderTopColor: {process: require('../../StyleSheet/processColor').default},\n clearTextOnFocus: true, // [Windows]\n clearTextOnSubmit: true, // [Windows]\n scrollEnabled: true, // [Windows]\n spellCheck: true, // [Windows]\n submitKeyEvents: true, // [Windows]\n },\n};\n\nlet WindowsTextInputNativeComponent = NativeComponentRegistry.get(\n 'WindowsTextInput',\n () => __INTERNAL_VIEW_CONFIG,\n);\n\n// flowlint-next-line unclear-type:off\nexport default ((WindowsTextInputNativeComponent: any): HostComponent);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostComponent} from '../../src/private/types/HostComponent';\nimport type {\n PartialViewConfig,\n ViewConfig,\n} from '../Renderer/shims/ReactNativeTypes';\n\nimport getNativeComponentAttributes from '../ReactNative/getNativeComponentAttributes';\nimport UIManager from '../ReactNative/UIManager';\nimport * as ReactNativeViewConfigRegistry from '../Renderer/shims/ReactNativeViewConfigRegistry';\nimport * as StaticViewConfigValidator from './StaticViewConfigValidator';\nimport {createViewConfig} from './ViewConfig';\nimport invariant from 'invariant';\nimport * as React from 'react';\n\nlet getRuntimeConfig;\n\n/**\n * Configures a function that is called to determine whether a given component\n * should be registered using reflection of the native component at runtime.\n *\n * The provider should return null if the native component is unavailable in\n * the current environment.\n */\nexport function setRuntimeConfigProvider(\n runtimeConfigProvider: (name: string) => ?{\n native: boolean,\n verify: boolean,\n },\n): void {\n if (getRuntimeConfig === undefined) {\n getRuntimeConfig = runtimeConfigProvider;\n }\n}\n\n/**\n * Gets a `NativeComponent` that can be rendered by React Native.\n *\n * The supplied `viewConfigProvider` may or may not be invoked and utilized,\n * depending on how `setRuntimeConfigProvider` is configured.\n */\nexport function get(\n name: string,\n viewConfigProvider: () => PartialViewConfig,\n): HostComponent {\n ReactNativeViewConfigRegistry.register(name, () => {\n const {native, verify} = getRuntimeConfig?.(name) ?? {\n native: !global.RN$Bridgeless,\n verify: false,\n };\n\n let viewConfig: ViewConfig;\n if (native) {\n viewConfig =\n getNativeComponentAttributes(name) ??\n createViewConfig(viewConfigProvider());\n } else {\n viewConfig =\n createViewConfig(viewConfigProvider()) ??\n getNativeComponentAttributes(name);\n }\n\n invariant(\n viewConfig != null,\n 'NativeComponentRegistry.get: both static and native view config are missing for native component \"%s\".',\n name,\n );\n\n if (verify) {\n const nativeViewConfig = native\n ? viewConfig\n : getNativeComponentAttributes(name);\n\n if (nativeViewConfig == null) {\n // Defer to static view config if native view config is missing.\n return viewConfig;\n }\n\n const staticViewConfig: ViewConfig = native\n ? createViewConfig(viewConfigProvider())\n : viewConfig;\n\n const validationOutput = StaticViewConfigValidator.validate(\n name,\n nativeViewConfig,\n staticViewConfig,\n );\n\n if (validationOutput.type === 'invalid') {\n console.error(\n StaticViewConfigValidator.stringifyValidationResult(\n name,\n validationOutput,\n ),\n );\n }\n }\n\n return viewConfig;\n });\n\n // $FlowFixMe[incompatible-return] `NativeComponent` is actually string!\n return name;\n}\n\n/**\n * Same as `NativeComponentRegistry.get(...)`, except this will check either\n * the `setRuntimeConfigProvider` configuration or use native reflection (slow)\n * to determine whether this native component is available.\n *\n * If the native component is not available, a stub component is returned. Note\n * that the return value of this is not `HostComponent` because the returned\n * component instance is not guaranteed to have native methods.\n */\nexport function getWithFallback_DEPRECATED(\n name: string,\n viewConfigProvider: () => PartialViewConfig,\n): React.ComponentType {\n if (getRuntimeConfig == null) {\n // `getRuntimeConfig == null` when static view configs are disabled\n // If `setRuntimeConfigProvider` is not configured, use native reflection.\n if (hasNativeViewConfig(name)) {\n return get(name, viewConfigProvider);\n }\n } else {\n // If there is no runtime config, then the native component is unavailable.\n if (getRuntimeConfig(name) != null) {\n return get(name, viewConfigProvider);\n }\n }\n\n const FallbackNativeComponent = function (props: Config): React.Node {\n return null;\n };\n FallbackNativeComponent.displayName = `Fallback(${name})`;\n return FallbackNativeComponent;\n}\n\nfunction hasNativeViewConfig(name: string): boolean {\n invariant(getRuntimeConfig == null, 'Unexpected invocation!');\n return UIManager.getViewManagerConfig(name) != null;\n}\n\n/**\n * Unstable API. Do not use!\n *\n * This method returns if there is a StaticViewConfig registered for the\n * component name received as a parameter.\n */\nexport function unstable_hasStaticViewConfig(name: string): boolean {\n const {native} = getRuntimeConfig?.(name) ?? {\n native: true,\n };\n return !native;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport processBoxShadow from '../StyleSheet/processBoxShadow';\n\nconst ReactNativeStyleAttributes =\n require('../Components/View/ReactNativeStyleAttributes').default;\nconst resolveAssetSource = require('../Image/resolveAssetSource').default;\nconst processBackgroundImage =\n require('../StyleSheet/processBackgroundImage').default;\nconst processColor = require('../StyleSheet/processColor').default;\nconst processColorArray = require('../StyleSheet/processColorArray').default;\nconst processFilter = require('../StyleSheet/processFilter').default;\nconst insetsDiffer = require('../Utilities/differ/insetsDiffer').default;\nconst matricesDiffer = require('../Utilities/differ/matricesDiffer').default;\nconst pointsDiffer = require('../Utilities/differ/pointsDiffer').default;\nconst sizesDiffer = require('../Utilities/differ/sizesDiffer').default;\nconst UIManager = require('./UIManager').default;\nconst nullthrows = require('nullthrows');\n\nfunction getNativeComponentAttributes(uiViewClassName: string): any {\n const viewConfig = UIManager.getViewManagerConfig(uiViewClassName);\n\n if (viewConfig == null) {\n return null;\n }\n\n // TODO: This seems like a whole lot of runtime initialization for every\n // native component that can be either avoided or simplified.\n let {baseModuleName, bubblingEventTypes, directEventTypes} = viewConfig;\n let nativeProps = viewConfig.NativeProps;\n\n bubblingEventTypes = bubblingEventTypes ?? {};\n directEventTypes = directEventTypes ?? {};\n\n while (baseModuleName) {\n const baseModule = UIManager.getViewManagerConfig(baseModuleName);\n if (!baseModule) {\n baseModuleName = null;\n } else {\n bubblingEventTypes = {\n ...baseModule.bubblingEventTypes,\n ...bubblingEventTypes,\n };\n directEventTypes = {\n ...baseModule.directEventTypes,\n ...directEventTypes,\n };\n nativeProps = {\n ...baseModule.NativeProps,\n ...nativeProps,\n };\n baseModuleName = baseModule.baseModuleName;\n }\n }\n\n const validAttributes: {[string]: mixed} = {};\n\n for (const key in nativeProps) {\n const typeName = nativeProps[key];\n const diff = getDifferForType(typeName);\n const process = getProcessorForType(typeName);\n\n // If diff or process == null, omit the corresponding property from the Attribute\n // Why:\n // 1. Consistency with AttributeType flow type\n // 2. Consistency with Static View Configs, which omit the null properties\n validAttributes[key] =\n diff == null\n ? process == null\n ? true\n : {process}\n : process == null\n ? {diff}\n : {diff, process};\n }\n\n // Unfortunately, the current setup declares style properties as top-level\n // props. This makes it so we allow style properties in the `style` prop.\n // TODO: Move style properties into a `style` prop and disallow them as\n // top-level props on the native side.\n validAttributes.style = ReactNativeStyleAttributes;\n\n Object.assign(viewConfig, {\n uiViewClassName,\n validAttributes,\n bubblingEventTypes,\n directEventTypes,\n });\n\n attachDefaultEventTypes(viewConfig);\n\n return viewConfig;\n}\n\nfunction attachDefaultEventTypes(viewConfig: any) {\n // This is supported on UIManager platforms (ex: Android),\n // as lazy view managers are not implemented for all platforms.\n // See [UIManager] for details on constants and implementations.\n const constants = UIManager.getConstants();\n if (constants.ViewManagerNames || constants.LazyViewManagersEnabled) {\n // Lazy view managers enabled.\n viewConfig = merge(\n viewConfig,\n nullthrows(UIManager.getDefaultEventTypes)(),\n );\n } else {\n viewConfig.bubblingEventTypes = merge(\n viewConfig.bubblingEventTypes,\n constants.genericBubblingEventTypes,\n );\n viewConfig.directEventTypes = merge(\n viewConfig.directEventTypes,\n constants.genericDirectEventTypes,\n );\n }\n}\n\n// TODO: Figure out how to avoid all this runtime initialization cost.\nfunction merge(destination: ?Object, source: ?Object): ?Object {\n if (!source) {\n return destination;\n }\n if (!destination) {\n return source;\n }\n\n for (const key in source) {\n if (!source.hasOwnProperty(key)) {\n continue;\n }\n\n let sourceValue = source[key];\n if (destination.hasOwnProperty(key)) {\n const destinationValue = destination[key];\n if (\n typeof sourceValue === 'object' &&\n typeof destinationValue === 'object'\n ) {\n sourceValue = merge(destinationValue, sourceValue);\n }\n }\n destination[key] = sourceValue;\n }\n return destination;\n}\n\nfunction getDifferForType(\n typeName: string,\n): ?(prevProp: any, nextProp: any) => boolean {\n switch (typeName) {\n // iOS Types\n case 'CATransform3D':\n return matricesDiffer;\n case 'CGPoint':\n return pointsDiffer;\n case 'CGSize':\n return sizesDiffer;\n case 'UIEdgeInsets':\n return insetsDiffer;\n // Android Types\n case 'Point':\n return pointsDiffer;\n case 'EdgeInsets':\n return insetsDiffer;\n }\n return null;\n}\n\nfunction getProcessorForType(typeName: string): ?(nextProp: any) => any {\n switch (typeName) {\n // iOS Types\n case 'CGColor':\n case 'UIColor':\n return processColor;\n case 'CGColorArray':\n case 'UIColorArray':\n return processColorArray;\n case 'CGImage':\n case 'UIImage':\n case 'RCTImageSource':\n return resolveAssetSource;\n case 'BoxShadowArray':\n return processBoxShadow;\n case 'FilterArray':\n return processFilter;\n // Android Types\n case 'Color':\n return processColor;\n case 'ColorArray':\n return processColorArray;\n case 'Filter':\n return processFilter;\n case 'BackgroundImage':\n return processBackgroundImage;\n case 'ImageSource':\n return resolveAssetSource;\n case 'BoxShadow':\n return processBoxShadow;\n }\n return null;\n}\n\nexport default getNativeComponentAttributes;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n * @oncall react-native\n */\n\nimport type {ProcessedColorValue} from './processColor';\nimport type {BoxShadowValue} from './StyleSheetTypes';\n\nimport processColor from './processColor';\n\nexport type ParsedBoxShadow = {\n offsetX: number,\n offsetY: number,\n color?: ProcessedColorValue,\n blurRadius?: number,\n spreadDistance?: number,\n inset?: boolean,\n};\n\nexport default function processBoxShadow(\n rawBoxShadows: ?($ReadOnlyArray | string),\n): Array {\n const result: Array = [];\n if (rawBoxShadows == null) {\n return result;\n }\n\n const boxShadowList =\n typeof rawBoxShadows === 'string'\n ? parseBoxShadowString(rawBoxShadows.replace(/\\n/g, ' '))\n : rawBoxShadows;\n\n for (const rawBoxShadow of boxShadowList) {\n const parsedBoxShadow: ParsedBoxShadow = {\n offsetX: 0,\n offsetY: 0,\n };\n\n let value;\n for (const arg in rawBoxShadow) {\n switch (arg) {\n case 'offsetX':\n value =\n typeof rawBoxShadow.offsetX === 'string'\n ? parseLength(rawBoxShadow.offsetX)\n : rawBoxShadow.offsetX;\n if (value == null) {\n return [];\n }\n\n parsedBoxShadow.offsetX = value;\n break;\n case 'offsetY':\n value =\n typeof rawBoxShadow.offsetY === 'string'\n ? parseLength(rawBoxShadow.offsetY)\n : rawBoxShadow.offsetY;\n if (value == null) {\n return [];\n }\n\n parsedBoxShadow.offsetY = value;\n break;\n case 'spreadDistance':\n value =\n typeof rawBoxShadow.spreadDistance === 'string'\n ? parseLength(rawBoxShadow.spreadDistance)\n : rawBoxShadow.spreadDistance;\n if (value == null) {\n return [];\n }\n\n parsedBoxShadow.spreadDistance = value;\n break;\n case 'blurRadius':\n value =\n typeof rawBoxShadow.blurRadius === 'string'\n ? parseLength(rawBoxShadow.blurRadius)\n : rawBoxShadow.blurRadius;\n if (value == null || value < 0) {\n return [];\n }\n\n parsedBoxShadow.blurRadius = value;\n break;\n case 'color':\n const color = processColor(rawBoxShadow.color);\n if (color == null) {\n return [];\n }\n\n parsedBoxShadow.color = color;\n break;\n case 'inset':\n parsedBoxShadow.inset = rawBoxShadow.inset;\n }\n }\n result.push(parsedBoxShadow);\n }\n return result;\n}\n\nfunction parseBoxShadowString(rawBoxShadows: string): Array {\n let result: Array = [];\n\n for (const rawBoxShadow of rawBoxShadows\n .split(/,(?![^()]*\\))/) // split by comma that is not in parenthesis\n .map(bS => bS.trim())\n .filter(bS => bS !== '')) {\n const boxShadow: BoxShadowValue = {\n offsetX: 0,\n offsetY: 0,\n };\n let offsetX: number | string;\n let offsetY: number | string;\n let keywordDetectedAfterLength = false;\n\n let lengthCount = 0;\n\n // split rawBoxShadow string by all whitespaces that are not in parenthesis\n const args = rawBoxShadow.split(/\\s+(?![^(]*\\))/);\n for (const arg of args) {\n const processedColor = processColor(arg);\n if (processedColor != null) {\n if (boxShadow.color != null) {\n return [];\n }\n if (offsetX != null) {\n keywordDetectedAfterLength = true;\n }\n boxShadow.color = arg;\n continue;\n }\n\n if (arg === 'inset') {\n if (boxShadow.inset != null) {\n return [];\n }\n if (offsetX != null) {\n keywordDetectedAfterLength = true;\n }\n boxShadow.inset = true;\n continue;\n }\n\n switch (lengthCount) {\n case 0:\n offsetX = arg;\n lengthCount++;\n break;\n case 1:\n if (keywordDetectedAfterLength) {\n return [];\n }\n offsetY = arg;\n lengthCount++;\n break;\n case 2:\n if (keywordDetectedAfterLength) {\n return [];\n }\n boxShadow.blurRadius = arg;\n lengthCount++;\n break;\n case 3:\n if (keywordDetectedAfterLength) {\n return [];\n }\n boxShadow.spreadDistance = arg;\n lengthCount++;\n break;\n default:\n return [];\n }\n }\n\n if (offsetX == null || offsetY == null) {\n return [];\n }\n\n boxShadow.offsetX = offsetX;\n boxShadow.offsetY = offsetY;\n\n result.push(boxShadow);\n }\n return result;\n}\n\nfunction parseLength(length: string): ?number {\n // matches on args with units like \"1.5 5% -80deg\"\n const argsWithUnitsRegex = /([+-]?\\d*(\\.\\d+)?)([\\w\\W]+)?/g;\n const match = argsWithUnitsRegex.exec(length);\n\n if (!match || Number.isNaN(match[1])) {\n return null;\n }\n\n if (match[3] != null && match[3] !== 'px') {\n return null;\n }\n\n if (match[3] == null && match[1] !== '0') {\n return null;\n }\n\n return Number(match[1]);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nimport type {ColorValue, NativeColorValue} from './StyleSheet';\n\nconst Platform = require('../Utilities/Platform').default;\nconst normalizeColor = require('./normalizeColor').default;\n\nexport type ProcessedColorValue = number | NativeColorValue;\n\n/* eslint no-bitwise: 0 */\nfunction processColor(color?: ?(number | ColorValue)): ?ProcessedColorValue {\n if (color === undefined || color === null) {\n return color;\n }\n\n let normalizedColor = normalizeColor(color);\n if (normalizedColor === null || normalizedColor === undefined) {\n return undefined;\n }\n\n if (typeof normalizedColor === 'object') {\n const processColorObject =\n require('./PlatformColorValueTypes').processColorObject;\n\n const processedColorObj = processColorObject(normalizedColor);\n\n if (processedColorObj != null) {\n return processedColorObj;\n }\n }\n\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n\n // Converts 0xrrggbbaa into 0xaarrggbb\n normalizedColor = ((normalizedColor << 24) | (normalizedColor >>> 8)) >>> 0;\n\n if (Platform.OS === 'android') {\n // Android use 32 bit *signed* integer to represent the color\n // We utilize the fact that bitwise operations in JS also operates on\n // signed 32 bit integers, so that we can use those to convert from\n // *unsigned* to *signed* 32bit int that way.\n normalizedColor = normalizedColor | 0x0;\n }\n return normalizedColor;\n}\n\nexport default processColor;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n/* eslint no-bitwise: 0 */\n\nimport type {ProcessedColorValue} from './processColor';\nimport type {ColorValue} from './StyleSheet';\n\nimport _normalizeColor from '@react-native/normalize-colors';\n\nfunction normalizeColor(\n color: ?(ColorValue | ProcessedColorValue),\n): ?ProcessedColorValue {\n if (typeof color === 'object' && color != null) {\n const {normalizeColorObject} = require('./PlatformColorValueTypes');\n const normalizedColor = normalizeColorObject(color);\n if (normalizedColor != null) {\n return normalizedColor;\n }\n }\n\n if (typeof color === 'string' || typeof color === 'number') {\n return _normalizeColor(color);\n }\n}\n\nexport default normalizeColor;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @noflow\n */\n\n/* eslint no-bitwise: 0 */\n\n'use strict';\n\nfunction normalizeColor(color) {\n if (typeof color === 'number') {\n if (color >>> 0 === color && color >= 0 && color <= 0xffffffff) {\n return color;\n }\n return null;\n }\n\n if (typeof color !== 'string') {\n return null;\n }\n\n const matchers = getMatchers();\n let match;\n\n // Ordered based on occurrences on Facebook codebase\n if ((match = matchers.hex6.exec(color))) {\n return parseInt(match[1] + 'ff', 16) >>> 0;\n }\n\n const colorFromKeyword = normalizeKeyword(color);\n if (colorFromKeyword != null) {\n return colorFromKeyword;\n }\n\n if ((match = matchers.rgb.exec(color))) {\n return (\n ((parse255(match[1]) << 24) | // r\n (parse255(match[2]) << 16) | // g\n (parse255(match[3]) << 8) | // b\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers.rgba.exec(color))) {\n // rgba(R G B / A) notation\n if (match[6] !== undefined) {\n return (\n ((parse255(match[6]) << 24) | // r\n (parse255(match[7]) << 16) | // g\n (parse255(match[8]) << 8) | // b\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // rgba(R, G, B, A) notation\n return (\n ((parse255(match[2]) << 24) | // r\n (parse255(match[3]) << 16) | // g\n (parse255(match[4]) << 8) | // b\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hex3.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n 'ff', // a\n 16,\n ) >>> 0\n );\n }\n\n // https://drafts.csswg.org/css-color-4/#hex-notation\n if ((match = matchers.hex8.exec(color))) {\n return parseInt(match[1], 16) >>> 0;\n }\n\n if ((match = matchers.hex4.exec(color))) {\n return (\n parseInt(\n match[1] +\n match[1] + // r\n match[2] +\n match[2] + // g\n match[3] +\n match[3] + // b\n match[4] +\n match[4], // a\n 16,\n ) >>> 0\n );\n }\n\n if ((match = matchers.hsl.exec(color))) {\n return (\n (hslToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // s\n parsePercentage(match[3]), // l\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hsla.exec(color))) {\n // hsla(H S L / A) notation\n if (match[6] !== undefined) {\n return (\n (hslToRgb(\n parse360(match[6]), // h\n parsePercentage(match[7]), // s\n parsePercentage(match[8]), // l\n ) |\n parse1(match[9])) >>> // a\n 0\n );\n }\n\n // hsla(H, S, L, A) notation\n return (\n (hslToRgb(\n parse360(match[2]), // h\n parsePercentage(match[3]), // s\n parsePercentage(match[4]), // l\n ) |\n parse1(match[5])) >>> // a\n 0\n );\n }\n\n if ((match = matchers.hwb.exec(color))) {\n return (\n (hwbToRgb(\n parse360(match[1]), // h\n parsePercentage(match[2]), // w\n parsePercentage(match[3]), // b\n ) |\n 0x000000ff) >>> // a\n 0\n );\n }\n\n return null;\n}\n\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * 6 * t;\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n\nfunction hslToRgb(h, s, l) {\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n const p = 2 * l - q;\n const r = hue2rgb(p, q, h + 1 / 3);\n const g = hue2rgb(p, q, h);\n const b = hue2rgb(p, q, h - 1 / 3);\n\n return (\n (Math.round(r * 255) << 24) |\n (Math.round(g * 255) << 16) |\n (Math.round(b * 255) << 8)\n );\n}\n\nfunction hwbToRgb(h, w, b) {\n if (w + b >= 1) {\n const gray = Math.round((w * 255) / (w + b));\n\n return (gray << 24) | (gray << 16) | (gray << 8);\n }\n\n const red = hue2rgb(0, 1, h + 1 / 3) * (1 - w - b) + w;\n const green = hue2rgb(0, 1, h) * (1 - w - b) + w;\n const blue = hue2rgb(0, 1, h - 1 / 3) * (1 - w - b) + w;\n\n return (\n (Math.round(red * 255) << 24) |\n (Math.round(green * 255) << 16) |\n (Math.round(blue * 255) << 8)\n );\n}\n\nconst NUMBER = '[-+]?\\\\d*\\\\.?\\\\d+';\nconst PERCENTAGE = NUMBER + '%';\n\nfunction call(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,?\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nfunction callModern(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nfunction callWithSlashSeparator(...args) {\n return (\n '\\\\(\\\\s*(' +\n args.slice(0, args.length - 1).join(')\\\\s*,?\\\\s*(') +\n ')\\\\s*/\\\\s*(' +\n args[args.length - 1] +\n ')\\\\s*\\\\)'\n );\n}\n\nfunction commaSeparatedCall(...args) {\n return '\\\\(\\\\s*(' + args.join(')\\\\s*,\\\\s*(') + ')\\\\s*\\\\)';\n}\n\nlet cachedMatchers;\n\nfunction getMatchers() {\n if (cachedMatchers === undefined) {\n cachedMatchers = {\n rgb: new RegExp('rgb' + call(NUMBER, NUMBER, NUMBER)),\n rgba: new RegExp(\n 'rgba(' +\n commaSeparatedCall(NUMBER, NUMBER, NUMBER, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, NUMBER, NUMBER, NUMBER) +\n ')',\n ),\n hsl: new RegExp('hsl' + call(NUMBER, PERCENTAGE, PERCENTAGE)),\n hsla: new RegExp(\n 'hsla(' +\n commaSeparatedCall(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n '|' +\n callWithSlashSeparator(NUMBER, PERCENTAGE, PERCENTAGE, NUMBER) +\n ')',\n ),\n hwb: new RegExp('hwb' + callModern(NUMBER, PERCENTAGE, PERCENTAGE)),\n hex3: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex4: /^#([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#([0-9a-fA-F]{6})$/,\n hex8: /^#([0-9a-fA-F]{8})$/,\n };\n }\n return cachedMatchers;\n}\n\nfunction parse255(str) {\n const int = parseInt(str, 10);\n if (int < 0) {\n return 0;\n }\n if (int > 255) {\n return 255;\n }\n return int;\n}\n\nfunction parse360(str) {\n const int = parseFloat(str);\n return (((int % 360) + 360) % 360) / 360;\n}\n\nfunction parse1(str) {\n const num = parseFloat(str);\n if (num < 0) {\n return 0;\n }\n if (num > 1) {\n return 255;\n }\n return Math.round(num * 255);\n}\n\nfunction parsePercentage(str) {\n // parseFloat conveniently ignores the final %\n const int = parseFloat(str);\n if (int < 0) {\n return 0;\n }\n if (int > 100) {\n return 1;\n }\n return int / 100;\n}\n\nfunction normalizeKeyword(name) {\n // prettier-ignore\n switch (name) {\n case 'transparent': return 0x00000000;\n // http://www.w3.org/TR/css3-color/#svg-color\n case 'aliceblue': return 0xf0f8ffff;\n case 'antiquewhite': return 0xfaebd7ff;\n case 'aqua': return 0x00ffffff;\n case 'aquamarine': return 0x7fffd4ff;\n case 'azure': return 0xf0ffffff;\n case 'beige': return 0xf5f5dcff;\n case 'bisque': return 0xffe4c4ff;\n case 'black': return 0x000000ff;\n case 'blanchedalmond': return 0xffebcdff;\n case 'blue': return 0x0000ffff;\n case 'blueviolet': return 0x8a2be2ff;\n case 'brown': return 0xa52a2aff;\n case 'burlywood': return 0xdeb887ff;\n case 'burntsienna': return 0xea7e5dff;\n case 'cadetblue': return 0x5f9ea0ff;\n case 'chartreuse': return 0x7fff00ff;\n case 'chocolate': return 0xd2691eff;\n case 'coral': return 0xff7f50ff;\n case 'cornflowerblue': return 0x6495edff;\n case 'cornsilk': return 0xfff8dcff;\n case 'crimson': return 0xdc143cff;\n case 'cyan': return 0x00ffffff;\n case 'darkblue': return 0x00008bff;\n case 'darkcyan': return 0x008b8bff;\n case 'darkgoldenrod': return 0xb8860bff;\n case 'darkgray': return 0xa9a9a9ff;\n case 'darkgreen': return 0x006400ff;\n case 'darkgrey': return 0xa9a9a9ff;\n case 'darkkhaki': return 0xbdb76bff;\n case 'darkmagenta': return 0x8b008bff;\n case 'darkolivegreen': return 0x556b2fff;\n case 'darkorange': return 0xff8c00ff;\n case 'darkorchid': return 0x9932ccff;\n case 'darkred': return 0x8b0000ff;\n case 'darksalmon': return 0xe9967aff;\n case 'darkseagreen': return 0x8fbc8fff;\n case 'darkslateblue': return 0x483d8bff;\n case 'darkslategray': return 0x2f4f4fff;\n case 'darkslategrey': return 0x2f4f4fff;\n case 'darkturquoise': return 0x00ced1ff;\n case 'darkviolet': return 0x9400d3ff;\n case 'deeppink': return 0xff1493ff;\n case 'deepskyblue': return 0x00bfffff;\n case 'dimgray': return 0x696969ff;\n case 'dimgrey': return 0x696969ff;\n case 'dodgerblue': return 0x1e90ffff;\n case 'firebrick': return 0xb22222ff;\n case 'floralwhite': return 0xfffaf0ff;\n case 'forestgreen': return 0x228b22ff;\n case 'fuchsia': return 0xff00ffff;\n case 'gainsboro': return 0xdcdcdcff;\n case 'ghostwhite': return 0xf8f8ffff;\n case 'gold': return 0xffd700ff;\n case 'goldenrod': return 0xdaa520ff;\n case 'gray': return 0x808080ff;\n case 'green': return 0x008000ff;\n case 'greenyellow': return 0xadff2fff;\n case 'grey': return 0x808080ff;\n case 'honeydew': return 0xf0fff0ff;\n case 'hotpink': return 0xff69b4ff;\n case 'indianred': return 0xcd5c5cff;\n case 'indigo': return 0x4b0082ff;\n case 'ivory': return 0xfffff0ff;\n case 'khaki': return 0xf0e68cff;\n case 'lavender': return 0xe6e6faff;\n case 'lavenderblush': return 0xfff0f5ff;\n case 'lawngreen': return 0x7cfc00ff;\n case 'lemonchiffon': return 0xfffacdff;\n case 'lightblue': return 0xadd8e6ff;\n case 'lightcoral': return 0xf08080ff;\n case 'lightcyan': return 0xe0ffffff;\n case 'lightgoldenrodyellow': return 0xfafad2ff;\n case 'lightgray': return 0xd3d3d3ff;\n case 'lightgreen': return 0x90ee90ff;\n case 'lightgrey': return 0xd3d3d3ff;\n case 'lightpink': return 0xffb6c1ff;\n case 'lightsalmon': return 0xffa07aff;\n case 'lightseagreen': return 0x20b2aaff;\n case 'lightskyblue': return 0x87cefaff;\n case 'lightslategray': return 0x778899ff;\n case 'lightslategrey': return 0x778899ff;\n case 'lightsteelblue': return 0xb0c4deff;\n case 'lightyellow': return 0xffffe0ff;\n case 'lime': return 0x00ff00ff;\n case 'limegreen': return 0x32cd32ff;\n case 'linen': return 0xfaf0e6ff;\n case 'magenta': return 0xff00ffff;\n case 'maroon': return 0x800000ff;\n case 'mediumaquamarine': return 0x66cdaaff;\n case 'mediumblue': return 0x0000cdff;\n case 'mediumorchid': return 0xba55d3ff;\n case 'mediumpurple': return 0x9370dbff;\n case 'mediumseagreen': return 0x3cb371ff;\n case 'mediumslateblue': return 0x7b68eeff;\n case 'mediumspringgreen': return 0x00fa9aff;\n case 'mediumturquoise': return 0x48d1ccff;\n case 'mediumvioletred': return 0xc71585ff;\n case 'midnightblue': return 0x191970ff;\n case 'mintcream': return 0xf5fffaff;\n case 'mistyrose': return 0xffe4e1ff;\n case 'moccasin': return 0xffe4b5ff;\n case 'navajowhite': return 0xffdeadff;\n case 'navy': return 0x000080ff;\n case 'oldlace': return 0xfdf5e6ff;\n case 'olive': return 0x808000ff;\n case 'olivedrab': return 0x6b8e23ff;\n case 'orange': return 0xffa500ff;\n case 'orangered': return 0xff4500ff;\n case 'orchid': return 0xda70d6ff;\n case 'palegoldenrod': return 0xeee8aaff;\n case 'palegreen': return 0x98fb98ff;\n case 'paleturquoise': return 0xafeeeeff;\n case 'palevioletred': return 0xdb7093ff;\n case 'papayawhip': return 0xffefd5ff;\n case 'peachpuff': return 0xffdab9ff;\n case 'peru': return 0xcd853fff;\n case 'pink': return 0xffc0cbff;\n case 'plum': return 0xdda0ddff;\n case 'powderblue': return 0xb0e0e6ff;\n case 'purple': return 0x800080ff;\n case 'rebeccapurple': return 0x663399ff;\n case 'red': return 0xff0000ff;\n case 'rosybrown': return 0xbc8f8fff;\n case 'royalblue': return 0x4169e1ff;\n case 'saddlebrown': return 0x8b4513ff;\n case 'salmon': return 0xfa8072ff;\n case 'sandybrown': return 0xf4a460ff;\n case 'seagreen': return 0x2e8b57ff;\n case 'seashell': return 0xfff5eeff;\n case 'sienna': return 0xa0522dff;\n case 'silver': return 0xc0c0c0ff;\n case 'skyblue': return 0x87ceebff;\n case 'slateblue': return 0x6a5acdff;\n case 'slategray': return 0x708090ff;\n case 'slategrey': return 0x708090ff;\n case 'snow': return 0xfffafaff;\n case 'springgreen': return 0x00ff7fff;\n case 'steelblue': return 0x4682b4ff;\n case 'tan': return 0xd2b48cff;\n case 'teal': return 0x008080ff;\n case 'thistle': return 0xd8bfd8ff;\n case 'tomato': return 0xff6347ff;\n case 'turquoise': return 0x40e0d0ff;\n case 'violet': return 0xee82eeff;\n case 'wheat': return 0xf5deb3ff;\n case 'white': return 0xffffffff;\n case 'whitesmoke': return 0xf5f5f5ff;\n case 'yellow': return 0xffff00ff;\n case 'yellowgreen': return 0x9acd32ff;\n }\n return null;\n}\n\nmodule.exports = normalizeColor;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nimport type {ColorValue, NativeColorValue} from './StyleSheet';\nimport type {ProcessedColorValue} from './processColor';\n\n/** The actual type of the opaque NativeColorValue on Windows platform */\ntype LocalNativeColorValue = {\n windowsbrush?: Array,\n};\n\nexport const PlatformColor = (...names: Array): ColorValue => {\n /* $FlowExpectedError[incompatible-return]\n * LocalNativeColorValue is the actual type of the opaque NativeColorValue on Windows platform */\n return ({windowsbrush: names}: LocalNativeColorValue);\n};\n\nexport const normalizeColorObject = (\n color: NativeColorValue,\n): ?ProcessedColorValue => {\n /* $FlowExpectedError[incompatible-cast]\n * LocalNativeColorValue is the actual type of the opaque NativeColorValue on Windows platform */\n if ('windowsbrush' in (color: LocalNativeColorValue)) {\n return color;\n }\n return null;\n};\n\nexport const processColorObject = (\n color: NativeColorValue,\n): ?NativeColorValue => {\n return color;\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format strict-local\n * @flow strict-local\n */\n\nimport type {AnyAttributeType} from '../../Renderer/shims/ReactNativeTypes';\n\nimport * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';\nimport NativeReactNativeFeatureFlags from '../../../src/private/featureflags/specs/NativeReactNativeFeatureFlags';\nimport processAspectRatio from '../../StyleSheet/processAspectRatio';\nimport processBackgroundImage from '../../StyleSheet/processBackgroundImage';\nimport processBoxShadow from '../../StyleSheet/processBoxShadow';\nimport processColor from '../../StyleSheet/processColor';\nimport processFilter from '../../StyleSheet/processFilter';\nimport processFontVariant from '../../StyleSheet/processFontVariant';\nimport processTransform from '../../StyleSheet/processTransform';\nimport processTransformOrigin from '../../StyleSheet/processTransformOrigin';\nimport sizesDiffer from '../../Utilities/differ/sizesDiffer';\n\nconst colorAttributes = {process: processColor};\n\nconst ReactNativeStyleAttributes: {[string]: AnyAttributeType, ...} = {\n /**\n * Layout\n */\n alignContent: true,\n alignItems: true,\n alignSelf: true,\n aspectRatio: {process: processAspectRatio},\n borderBottomWidth: true,\n borderEndWidth: true,\n borderLeftWidth: true,\n borderRightWidth: true,\n borderStartWidth: true,\n borderTopWidth: true,\n boxSizing: true,\n columnGap: true,\n borderWidth: true,\n bottom: true,\n direction: true,\n display: true,\n end: true,\n flex: true,\n flexBasis: true,\n flexDirection: true,\n flexGrow: true,\n flexShrink: true,\n flexWrap: true,\n gap: true,\n height: true,\n inset: true,\n insetBlock: true,\n insetBlockEnd: true,\n insetBlockStart: true,\n insetInline: true,\n insetInlineEnd: true,\n insetInlineStart: true,\n justifyContent: true,\n left: true,\n margin: true,\n marginBlock: true,\n marginBlockEnd: true,\n marginBlockStart: true,\n marginBottom: true,\n marginEnd: true,\n marginHorizontal: true,\n marginInline: true,\n marginInlineEnd: true,\n marginInlineStart: true,\n marginLeft: true,\n marginRight: true,\n marginStart: true,\n marginTop: true,\n marginVertical: true,\n maxHeight: true,\n maxWidth: true,\n minHeight: true,\n minWidth: true,\n overflow: true,\n padding: true,\n paddingBlock: true,\n paddingBlockEnd: true,\n paddingBlockStart: true,\n paddingBottom: true,\n paddingEnd: true,\n paddingHorizontal: true,\n paddingInline: true,\n paddingInlineEnd: true,\n paddingInlineStart: true,\n paddingLeft: true,\n paddingRight: true,\n paddingStart: true,\n paddingTop: true,\n paddingVertical: true,\n position: true,\n right: true,\n rowGap: true,\n start: true,\n top: true,\n width: true,\n zIndex: true,\n\n /**\n * Shadow\n */\n elevation: true,\n shadowColor: colorAttributes,\n shadowOffset: {diff: sizesDiffer},\n shadowOpacity: true,\n shadowRadius: true,\n\n /**\n * Transform\n */\n transform: {process: processTransform},\n transformOrigin: {process: processTransformOrigin},\n\n /**\n * Filter\n */\n filter:\n NativeReactNativeFeatureFlags != null &&\n ReactNativeFeatureFlags.enableNativeCSSParsing()\n ? true\n : {\n process: processFilter,\n },\n\n /**\n * MixBlendMode\n */\n mixBlendMode: true,\n\n /**\n * Isolation\n */\n isolation: true,\n\n /*\n * BoxShadow\n */\n boxShadow:\n NativeReactNativeFeatureFlags != null &&\n ReactNativeFeatureFlags.enableNativeCSSParsing()\n ? true\n : {\n process: processBoxShadow,\n },\n\n /**\n * Linear Gradient\n */\n experimental_backgroundImage: {process: processBackgroundImage},\n\n /**\n * View\n */\n backfaceVisibility: true,\n backgroundColor: colorAttributes,\n borderBlockColor: colorAttributes,\n borderBlockEndColor: colorAttributes,\n borderBlockStartColor: colorAttributes,\n borderBottomColor: colorAttributes,\n borderBottomEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderColor: colorAttributes,\n borderCurve: true,\n borderEndColor: colorAttributes,\n borderEndEndRadius: true,\n borderEndStartRadius: true,\n borderLeftColor: colorAttributes,\n borderRadius: true,\n borderRightColor: colorAttributes,\n borderStartColor: colorAttributes,\n borderStartEndRadius: true,\n borderStartStartRadius: true,\n borderStyle: true,\n borderTopColor: colorAttributes,\n borderTopEndRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n cursor: true,\n opacity: true,\n outlineColor: colorAttributes,\n outlineOffset: true,\n outlineStyle: true,\n outlineWidth: true,\n pointerEvents: true,\n\n /**\n * Text\n */\n color: colorAttributes,\n fontFamily: true,\n fontSize: true,\n fontStyle: true,\n fontVariant: {process: processFontVariant},\n fontWeight: true,\n includeFontPadding: true,\n letterSpacing: true,\n lineHeight: true,\n textAlign: true,\n textAlignVertical: true,\n textDecorationColor: colorAttributes,\n textDecorationLine: true,\n textDecorationStyle: true,\n textShadowColor: colorAttributes,\n textShadowOffset: true,\n textShadowRadius: true,\n textTransform: true,\n userSelect: true,\n verticalAlign: true,\n writingDirection: true,\n\n /**\n * Image\n */\n overlayColor: colorAttributes,\n resizeMode: true,\n tintColor: colorAttributes,\n objectFit: true,\n};\n\nexport default ReactNativeStyleAttributes;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nconst invariant = require('invariant');\n\nfunction processAspectRatio(aspectRatio?: number | string): ?number {\n if (typeof aspectRatio === 'number') {\n return aspectRatio;\n }\n if (typeof aspectRatio !== 'string') {\n if (__DEV__) {\n invariant(\n !aspectRatio,\n 'aspectRatio must either be a number, a ratio string or `auto`. You passed: %s',\n aspectRatio,\n );\n }\n return;\n }\n\n const matches = aspectRatio.split('/').map(s => s.trim());\n\n if (matches.includes('auto')) {\n if (__DEV__) {\n invariant(\n matches.length,\n 'aspectRatio does not support `auto `. You passed: %s',\n aspectRatio,\n );\n }\n return;\n }\n\n const hasNonNumericValues = matches.some(n => Number.isNaN(Number(n)));\n if (__DEV__) {\n invariant(\n !hasNonNumericValues && (matches.length === 1 || matches.length === 2),\n 'aspectRatio must either be a number, a ratio string or `auto`. You passed: %s',\n aspectRatio,\n );\n }\n\n if (hasNonNumericValues) {\n return;\n }\n\n if (matches.length === 2) {\n return Number(matches[0]) / Number(matches[1]);\n }\n\n return Number(matches[0]);\n}\n\nexport default processAspectRatio;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nimport type {ProcessedColorValue} from './processColor';\nimport type {GradientValue} from './StyleSheetTypes';\n\nconst processColor = require('./processColor').default;\nconst DIRECTION_KEYWORD_REGEX =\n /^to\\s+(?:top|bottom|left|right)(?:\\s+(?:top|bottom|left|right))?/i;\nconst ANGLE_UNIT_REGEX = /^([+-]?\\d*\\.?\\d+)(deg|grad|rad|turn)$/i;\n\ntype LinearGradientDirection =\n | {type: 'angle', value: number}\n | {type: 'keyword', value: string};\n\n// null color indicate that the transition hint syntax is used. e.g. red, 20%, blue\ntype ColorStopColor = ProcessedColorValue | null;\n// percentage or pixel value\ntype ColorStopPosition = number | string | null;\n\ntype ParsedGradientValue = {\n type: 'linearGradient',\n direction: LinearGradientDirection,\n colorStops: $ReadOnlyArray<{\n color: ColorStopColor,\n position: ColorStopPosition,\n }>,\n};\n\nconst DEFAULT_DIRECTION: LinearGradientDirection = {\n type: 'angle',\n value: 180,\n};\n\nexport default function processBackgroundImage(\n backgroundImage: ?($ReadOnlyArray | string),\n): $ReadOnlyArray {\n let result: $ReadOnlyArray = [];\n if (backgroundImage == null) {\n return result;\n }\n\n if (typeof backgroundImage === 'string') {\n result = parseCSSLinearGradient(backgroundImage.replace(/\\n/g, ' '));\n } else if (Array.isArray(backgroundImage)) {\n for (const bgImage of backgroundImage) {\n const processedColorStops: Array<{\n color: ColorStopColor,\n position: ColorStopPosition,\n }> = [];\n for (let index = 0; index < bgImage.colorStops.length; index++) {\n const colorStop = bgImage.colorStops[index];\n const positions = colorStop.positions;\n // Color transition hint syntax (red, 20%, blue)\n if (\n colorStop.color == null &&\n Array.isArray(positions) &&\n positions.length === 1\n ) {\n const position = positions[0];\n if (\n typeof position === 'number' ||\n (typeof position === 'string' && position.endsWith('%'))\n ) {\n processedColorStops.push({\n color: null,\n position,\n });\n } else {\n // If a position is invalid, return an empty array and do not apply gradient. Same as web.\n return [];\n }\n } else {\n const processedColor = processColor(colorStop.color);\n if (processedColor == null) {\n // If a color is invalid, return an empty array and do not apply gradient. Same as web.\n return [];\n }\n if (positions != null && positions.length > 0) {\n for (const position of positions) {\n if (\n typeof position === 'number' ||\n (typeof position === 'string' && position.endsWith('%'))\n ) {\n processedColorStops.push({\n color: processedColor,\n position,\n });\n } else {\n // If a position is invalid, return an empty array and do not apply gradient. Same as web.\n return [];\n }\n }\n } else {\n processedColorStops.push({\n color: processedColor,\n position: null,\n });\n }\n }\n }\n\n let direction: LinearGradientDirection = DEFAULT_DIRECTION;\n const bgDirection =\n bgImage.direction != null ? bgImage.direction.toLowerCase() : null;\n\n if (bgDirection != null) {\n if (ANGLE_UNIT_REGEX.test(bgDirection)) {\n const parsedAngle = getAngleInDegrees(bgDirection);\n if (parsedAngle != null) {\n direction = {\n type: 'angle',\n value: parsedAngle,\n };\n } else {\n // If an angle is invalid, return an empty array and do not apply any gradient. Same as web.\n return [];\n }\n } else if (DIRECTION_KEYWORD_REGEX.test(bgDirection)) {\n const parsedDirection = getDirectionForKeyword(bgDirection);\n if (parsedDirection != null) {\n direction = parsedDirection;\n } else {\n // If a direction is invalid, return an empty array and do not apply any gradient. Same as web.\n return [];\n }\n } else {\n // If a direction is invalid, return an empty array and do not apply any gradient. Same as web.\n return [];\n }\n }\n\n result = result.concat({\n type: 'linearGradient',\n direction,\n colorStops: processedColorStops,\n });\n }\n }\n\n return result;\n}\n\nfunction parseCSSLinearGradient(\n cssString: string,\n): $ReadOnlyArray {\n const gradients = [];\n let match;\n\n // matches one or more linear-gradient functions in CSS\n const linearGradientRegex = /linear-gradient\\s*\\(((?:\\([^)]*\\)|[^())])*)\\)/gi;\n\n while ((match = linearGradientRegex.exec(cssString))) {\n const gradientContent = match[1];\n const parts = gradientContent.split(',');\n let direction: LinearGradientDirection = DEFAULT_DIRECTION;\n const trimmedDirection = parts[0].trim().toLowerCase();\n\n if (ANGLE_UNIT_REGEX.test(trimmedDirection)) {\n const parsedAngle = getAngleInDegrees(trimmedDirection);\n if (parsedAngle != null) {\n direction = {\n type: 'angle',\n value: parsedAngle,\n };\n parts.shift();\n } else {\n // If an angle is invalid, return an empty array and do not apply any gradient. Same as web.\n return [];\n }\n } else if (DIRECTION_KEYWORD_REGEX.test(trimmedDirection)) {\n const parsedDirection = getDirectionForKeyword(trimmedDirection);\n if (parsedDirection != null) {\n direction = parsedDirection;\n parts.shift();\n } else {\n // If a direction is invalid, return an empty array and do not apply any gradient. Same as web.\n return [];\n }\n }\n\n const colorStopsString = parts.join(',');\n const colorStops = [];\n // split by comma, but not if it's inside a parentheses. e.g. red, rgba(0, 0, 0, 0.5), green => [\"red\", \"rgba(0, 0, 0, 0.5)\", \"green\"]\n const stops = colorStopsString.split(/,(?![^(]*\\))/);\n let prevStop = null;\n for (let i = 0; i < stops.length; i++) {\n const stop = stops[i];\n const trimmedStop = stop.trim().toLowerCase();\n // Match function like pattern or single words\n const colorStopParts = trimmedStop.match(/\\S+\\([^)]*\\)|\\S+/g);\n if (colorStopParts == null) {\n // If a color stop is invalid, return an empty array and do not apply any gradient. Same as web.\n return [];\n }\n // Case 1: [color, position, position]\n if (colorStopParts.length === 3) {\n const color = colorStopParts[0];\n const position1 = getPositionFromCSSValue(colorStopParts[1]);\n const position2 = getPositionFromCSSValue(colorStopParts[2]);\n const processedColor = processColor(color);\n if (processedColor == null) {\n // If a color is invalid, return an empty array and do not apply any gradient. Same as web.\n return [];\n }\n\n if (position1 == null || position2 == null) {\n // If a position is invalid, return an empty array and do not apply any gradient. Same as web.\n return [];\n }\n\n colorStops.push({\n color: processedColor,\n position: position1,\n });\n colorStops.push({\n color: processedColor,\n position: position2,\n });\n }\n // Case 2: [color, position]\n else if (colorStopParts.length === 2) {\n const color = colorStopParts[0];\n const position = getPositionFromCSSValue(colorStopParts[1]);\n const processedColor = processColor(color);\n if (processedColor == null) {\n // If a color is invalid, return an empty array and do not apply any gradient. Same as web.\n return [];\n }\n if (position == null) {\n // If a position is invalid, return an empty array and do not apply any gradient. Same as web.\n return [];\n }\n colorStops.push({\n color: processedColor,\n position,\n });\n }\n // Case 3: [color]\n // Case 4: [position] => transition hint syntax\n else if (colorStopParts.length === 1) {\n const position = getPositionFromCSSValue(colorStopParts[0]);\n if (position != null) {\n // handle invalid transition hint syntax. transition hint syntax must have color before and after the position. e.g. red, 20%, blue\n if (\n (prevStop != null &&\n prevStop.length === 1 &&\n getPositionFromCSSValue(prevStop[0]) != null) ||\n i === stops.length - 1 ||\n i === 0\n ) {\n // If the last stop is a transition hint syntax, return an empty array and do not apply any gradient. Same as web.\n return [];\n }\n colorStops.push({\n color: null,\n position,\n });\n } else {\n const processedColor = processColor(colorStopParts[0]);\n if (processedColor == null) {\n // If a color is invalid, return an empty array and do not apply any gradient. Same as web.\n return [];\n }\n colorStops.push({\n color: processedColor,\n position: null,\n });\n }\n } else {\n // If a color stop is invalid, return an empty array and do not apply any gradient. Same as web.\n return [];\n }\n prevStop = colorStopParts;\n }\n\n gradients.push({\n type: 'linearGradient',\n direction,\n colorStops,\n });\n }\n\n return gradients;\n}\n\nfunction getDirectionForKeyword(direction?: string): ?LinearGradientDirection {\n if (direction == null) {\n return null;\n }\n // Remove extra whitespace\n const normalized = direction.replace(/\\s+/g, ' ').toLowerCase();\n\n switch (normalized) {\n case 'to top':\n return {type: 'angle', value: 0};\n case 'to right':\n return {type: 'angle', value: 90};\n case 'to bottom':\n return {type: 'angle', value: 180};\n case 'to left':\n return {type: 'angle', value: 270};\n case 'to top right':\n case 'to right top':\n return {type: 'keyword', value: 'to top right'};\n case 'to bottom right':\n case 'to right bottom':\n return {type: 'keyword', value: 'to bottom right'};\n case 'to top left':\n case 'to left top':\n return {type: 'keyword', value: 'to top left'};\n case 'to bottom left':\n case 'to left bottom':\n return {type: 'keyword', value: 'to bottom left'};\n default:\n return null;\n }\n}\n\nfunction getAngleInDegrees(angle?: string): ?number {\n if (angle == null) {\n return null;\n }\n const match = angle.match(ANGLE_UNIT_REGEX);\n if (!match) {\n return null;\n }\n\n const [, value, unit] = match;\n\n const numericValue = parseFloat(value);\n switch (unit) {\n case 'deg':\n return numericValue;\n case 'grad':\n return numericValue * 0.9; // 1 grad = 0.9 degrees\n case 'rad':\n return (numericValue * 180) / Math.PI;\n case 'turn':\n return numericValue * 360; // 1 turn = 360 degrees\n default:\n return null;\n }\n}\n\nfunction getPositionFromCSSValue(position: string) {\n if (position.endsWith('px')) {\n return parseFloat(position);\n }\n\n if (position.endsWith('%')) {\n return position;\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format strict-local\n * @flow\n * @oncall react-native\n */\n\n'use strict';\n\nimport type {ColorValue} from './StyleSheet';\nimport type {DropShadowValue, FilterFunction} from './StyleSheetTypes';\n\nimport processColor from './processColor';\n\ntype ParsedFilter =\n | {brightness: number}\n | {blur: number}\n | {contrast: number}\n | {grayscale: number}\n | {hueRotate: number}\n | {invert: number}\n | {opacity: number}\n | {saturate: number}\n | {sepia: number}\n | {dropShadow: ParsedDropShadow};\n\ntype ParsedDropShadow = {\n offsetX: number,\n offsetY: number,\n standardDeviation?: number,\n color?: ColorValue,\n};\n\nexport default function processFilter(\n filter: ?($ReadOnlyArray | string),\n): $ReadOnlyArray {\n let result: Array = [];\n if (filter == null) {\n return result;\n }\n\n if (typeof filter === 'string') {\n filter = filter.replace(/\\n/g, ' ');\n\n // matches on functions with args and nested functions like \"drop-shadow(10 10 10 rgba(0, 0, 0, 1))\"\n const regex = /([\\w-]+)\\(([^()]*|\\([^()]*\\)|[^()]*\\([^()]*\\)[^()]*)\\)/g;\n let matches;\n\n while ((matches = regex.exec(filter))) {\n let filterName = matches[1].toLowerCase();\n if (filterName === 'drop-shadow') {\n const dropShadow = parseDropShadow(matches[2]);\n if (dropShadow != null) {\n result.push({dropShadow});\n } else {\n return [];\n }\n } else {\n const camelizedName =\n filterName === 'drop-shadow'\n ? 'dropShadow'\n : filterName === 'hue-rotate'\n ? 'hueRotate'\n : filterName;\n const amount = _getFilterAmount(camelizedName, matches[2]);\n\n if (amount != null) {\n const filterFunction = {};\n // $FlowFixMe The key will be the correct one but flow can't see that.\n filterFunction[camelizedName] = amount;\n // $FlowFixMe The key will be the correct one but flow can't see that.\n result.push(filterFunction);\n } else {\n // If any primitive is invalid then apply none of the filters. This is how\n // web works and makes it clear that something is wrong becuase no\n // graphical effects are happening.\n return [];\n }\n }\n }\n } else if (Array.isArray(filter)) {\n for (const filterFunction of filter) {\n const [filterName, filterValue] = Object.entries(filterFunction)[0];\n if (filterName === 'dropShadow') {\n // $FlowFixMe\n const dropShadow = parseDropShadow(filterValue);\n if (dropShadow == null) {\n return [];\n }\n result.push({dropShadow});\n } else {\n const amount = _getFilterAmount(filterName, filterValue);\n\n if (amount != null) {\n const resultObject = {};\n // $FlowFixMe\n resultObject[filterName] = amount;\n // $FlowFixMe\n result.push(resultObject);\n } else {\n // If any primitive is invalid then apply none of the filters. This is how\n // web works and makes it clear that something is wrong becuase no\n // graphical effects are happening.\n return [];\n }\n }\n }\n } else {\n throw new TypeError(`${typeof filter} filter is not a string or array`);\n }\n\n return result;\n}\n\nfunction _getFilterAmount(filterName: string, filterArgs: mixed): ?number {\n let filterArgAsNumber: number;\n let unit: string;\n if (typeof filterArgs === 'string') {\n // matches on args with units like \"1.5 5% -80deg\"\n const argsWithUnitsRegex = new RegExp(/([+-]?\\d*(\\.\\d+)?)([a-zA-Z%]+)?/g);\n const match = argsWithUnitsRegex.exec(filterArgs);\n\n if (!match || isNaN(Number(match[1]))) {\n return undefined;\n }\n\n filterArgAsNumber = Number(match[1]);\n unit = match[3];\n } else if (typeof filterArgs === 'number') {\n filterArgAsNumber = filterArgs;\n } else {\n return undefined;\n }\n\n switch (filterName) {\n // Hue rotate takes some angle that can have a unit and can be\n // negative. Additionally, 0 with no unit is allowed.\n case 'hueRotate':\n if (filterArgAsNumber === 0) {\n return 0;\n }\n if (unit !== 'deg' && unit !== 'rad') {\n return undefined;\n }\n return unit === 'rad'\n ? (180 * filterArgAsNumber) / Math.PI\n : filterArgAsNumber;\n // blur takes any positive CSS length that is not a percent. In RN\n // we currently only have DIPs, so we are not parsing units here.\n case 'blur':\n if ((unit && unit !== 'px') || filterArgAsNumber < 0) {\n return undefined;\n }\n return filterArgAsNumber;\n // All other filters except take a non negative number or percentage. There\n // are no units associated with this value and percentage numbers map 1-to-1\n // to a non-percentage number (e.g. 50% == 0.5).\n case 'brightness':\n case 'contrast':\n case 'grayscale':\n case 'invert':\n case 'opacity':\n case 'saturate':\n case 'sepia':\n if ((unit && unit !== '%' && unit !== 'px') || filterArgAsNumber < 0) {\n return undefined;\n }\n if (unit === '%') {\n filterArgAsNumber /= 100;\n }\n return filterArgAsNumber;\n default:\n return undefined;\n }\n}\n\nfunction parseDropShadow(\n rawDropShadow: string | DropShadowValue,\n): ?ParsedDropShadow {\n const dropShadow =\n typeof rawDropShadow === 'string'\n ? parseDropShadowString(rawDropShadow)\n : rawDropShadow;\n\n const parsedDropShadow: ParsedDropShadow = {\n offsetX: 0,\n offsetY: 0,\n };\n let offsetX: number;\n let offsetY: number;\n\n for (const arg in dropShadow) {\n let value;\n switch (arg) {\n case 'offsetX':\n value =\n typeof dropShadow.offsetX === 'string'\n ? parseLength(dropShadow.offsetX)\n : dropShadow.offsetX;\n if (value == null) {\n return null;\n }\n offsetX = value;\n break;\n case 'offsetY':\n value =\n typeof dropShadow.offsetY === 'string'\n ? parseLength(dropShadow.offsetY)\n : dropShadow.offsetY;\n if (value == null) {\n return null;\n }\n offsetY = value;\n break;\n case 'standardDeviation':\n value =\n typeof dropShadow.standardDeviation === 'string'\n ? parseLength(dropShadow.standardDeviation)\n : dropShadow.standardDeviation;\n if (value == null || value < 0) {\n return null;\n }\n parsedDropShadow.standardDeviation = value;\n break;\n case 'color':\n const color = processColor(dropShadow.color);\n if (color == null) {\n return null;\n }\n parsedDropShadow.color = color;\n break;\n default:\n return null;\n }\n }\n\n if (offsetX == null || offsetY == null) {\n return null;\n }\n\n parsedDropShadow.offsetX = offsetX;\n parsedDropShadow.offsetY = offsetY;\n\n return parsedDropShadow;\n}\n\nfunction parseDropShadowString(rawDropShadow: string): ?DropShadowValue {\n const dropShadow: DropShadowValue = {\n offsetX: 0,\n offsetY: 0,\n };\n let offsetX: string;\n let offsetY: string;\n let lengthCount = 0;\n let keywordDetectedAfterLength = false;\n\n // split args by all whitespaces that are not in parenthesis\n for (const arg of rawDropShadow.split(/\\s+(?![^(]*\\))/)) {\n const processedColor = processColor(arg);\n if (processedColor != null) {\n if (dropShadow.color != null) {\n return null;\n }\n if (offsetX != null) {\n keywordDetectedAfterLength = true;\n }\n dropShadow.color = arg;\n continue;\n }\n\n switch (lengthCount) {\n case 0:\n offsetX = arg;\n lengthCount++;\n break;\n case 1:\n if (keywordDetectedAfterLength) {\n return null;\n }\n offsetY = arg;\n lengthCount++;\n break;\n case 2:\n if (keywordDetectedAfterLength) {\n return null;\n }\n dropShadow.standardDeviation = arg;\n lengthCount++;\n break;\n default:\n return null;\n }\n }\n if (offsetX == null || offsetY == null) {\n return null;\n }\n\n dropShadow.offsetX = offsetX;\n dropShadow.offsetY = offsetY;\n return dropShadow;\n}\n\nfunction parseLength(length: string): ?number {\n // matches on args with units like \"1.5 5% -80deg\"\n const argsWithUnitsRegex = /([+-]?\\d*(\\.\\d+)?)([\\w\\W]+)?/g;\n const match = argsWithUnitsRegex.exec(length);\n\n if (!match || Number.isNaN(match[1])) {\n return null;\n }\n\n if (match[3] != null && match[3] !== 'px') {\n return null;\n }\n\n if (match[3] == null && match[1] !== '0') {\n return null;\n }\n\n return Number(match[1]);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nimport type {____FontVariantArray_Internal} from './StyleSheetTypes';\n\nfunction processFontVariant(\n fontVariant: ____FontVariantArray_Internal | string,\n): ?____FontVariantArray_Internal {\n if (Array.isArray(fontVariant)) {\n return fontVariant;\n }\n\n // $FlowFixMe[incompatible-type]\n const match: ?____FontVariantArray_Internal = fontVariant\n .split(' ')\n .filter(Boolean);\n\n return match;\n}\n\nexport default processFontVariant;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\n\nconst stringifySafe = require('../Utilities/stringifySafe').default;\nconst invariant = require('invariant');\n\n/**\n * Generate a transform matrix based on the provided transforms, and use that\n * within the style object instead.\n *\n * This allows us to provide an API that is similar to CSS, where transforms may\n * be applied in an arbitrary order, and yet have a universal, singular\n * interface to native code.\n */\nfunction processTransform(\n transform: Array | string,\n): Array | Array {\n if (typeof transform === 'string') {\n const regex = new RegExp(/(\\w+)\\(([^)]+)\\)/g);\n const transformArray: Array = [];\n let matches;\n\n while ((matches = regex.exec(transform))) {\n const {key, value} = _getKeyAndValueFromCSSTransform(\n matches[1],\n matches[2],\n );\n\n if (value !== undefined) {\n transformArray.push({[key]: value});\n }\n }\n transform = transformArray;\n }\n\n if (__DEV__) {\n _validateTransforms(transform);\n }\n\n return transform;\n}\n\nconst _getKeyAndValueFromCSSTransform: (\n key: string,\n args: string,\n) => {key: string, value?: Array | number | string} = (\n key,\n args,\n) => {\n const argsWithUnitsRegex = new RegExp(/([+-]?\\d+(\\.\\d+)?)([a-zA-Z]+|%)?/g);\n\n switch (key) {\n case 'matrix':\n return {key, value: args.match(/[+-]?\\d+(\\.\\d+)?/g)?.map(Number)};\n case 'translate':\n case 'translate3d':\n const parsedArgs = [];\n let missingUnitOfMeasurement = false;\n\n let matches;\n while ((matches = argsWithUnitsRegex.exec(args))) {\n const value = Number(matches[1]);\n const unitOfMeasurement = matches[3];\n\n if (value !== 0 && !unitOfMeasurement) {\n missingUnitOfMeasurement = true;\n }\n\n if (unitOfMeasurement === '%') {\n parsedArgs.push(`${value}%`);\n } else {\n parsedArgs.push(value);\n }\n }\n\n if (__DEV__) {\n invariant(\n !missingUnitOfMeasurement,\n `Transform with key ${key} must have units unless the provided value is 0, found %s`,\n `${key}(${args})`,\n );\n\n if (key === 'translate') {\n invariant(\n parsedArgs?.length === 1 || parsedArgs?.length === 2,\n 'Transform with key translate must be an string with 1 or 2 parameters, found %s: %s',\n parsedArgs?.length,\n `${key}(${args})`,\n );\n } else {\n invariant(\n parsedArgs?.length === 3,\n 'Transform with key translate3d must be an string with 3 parameters, found %s: %s',\n parsedArgs?.length,\n `${key}(${args})`,\n );\n }\n }\n\n if (parsedArgs?.length === 1) {\n parsedArgs.push(0);\n }\n\n return {key: 'translate', value: parsedArgs};\n case 'translateX':\n case 'translateY':\n case 'perspective':\n const argMatches = argsWithUnitsRegex.exec(args);\n\n if (!argMatches?.length) {\n return {key, value: undefined};\n }\n\n const value = Number(argMatches[1]);\n const unitOfMeasurement = argMatches[3];\n\n if (__DEV__) {\n invariant(\n value === 0 || unitOfMeasurement,\n `Transform with key ${key} must have units unless the provided value is 0, found %s`,\n `${key}(${args})`,\n );\n }\n\n return {key, value};\n\n default:\n return {key, value: !isNaN(args) ? Number(args) : args};\n }\n};\n\nfunction _validateTransforms(transform: Array): void {\n transform.forEach(transformation => {\n const keys = Object.keys(transformation);\n invariant(\n keys.length === 1,\n 'You must specify exactly one property per transform object. Passed properties: %s',\n stringifySafe(transformation),\n );\n const key = keys[0];\n const value = transformation[key];\n if (key === 'matrix' && transform.length > 1) {\n console.error(\n 'When using a matrix transform, you must specify exactly one transform object. Passed transform: ' +\n stringifySafe(transform),\n );\n }\n _validateTransform(key, value, transformation);\n });\n}\n\nfunction _validateTransform(\n key: string,\n value: any | number | string,\n transformation: any,\n) {\n invariant(\n !value.getValue,\n 'You passed an Animated.Value to a normal component. ' +\n 'You need to wrap that component in an Animated. For example, ' +\n 'replace by .',\n );\n\n const multivalueTransforms = ['matrix', 'translate'];\n if (multivalueTransforms.indexOf(key) !== -1) {\n invariant(\n Array.isArray(value),\n 'Transform with key of %s must have an array as the value: %s',\n key,\n stringifySafe(transformation),\n );\n }\n switch (key) {\n case 'matrix':\n invariant(\n value.length === 9 || value.length === 16,\n 'Matrix transform must have a length of 9 (2d) or 16 (3d). ' +\n 'Provided matrix has a length of %s: %s',\n /* $FlowFixMe[prop-missing] (>=0.84.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.84 was deployed. To\n * see the error, delete this comment and run Flow. */\n value.length,\n stringifySafe(transformation),\n );\n break;\n case 'translate':\n invariant(\n value.length === 2 || value.length === 3,\n 'Transform with key translate must be an array of length 2 or 3, found %s: %s',\n /* $FlowFixMe[prop-missing] (>=0.84.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.84 was deployed. To\n * see the error, delete this comment and run Flow. */\n value.length,\n stringifySafe(transformation),\n );\n break;\n case 'rotateX':\n case 'rotateY':\n case 'rotateZ':\n case 'rotate':\n case 'skewX':\n case 'skewY':\n invariant(\n typeof value === 'string',\n 'Transform with key of \"%s\" must be a string: %s',\n key,\n stringifySafe(transformation),\n );\n invariant(\n value.indexOf('deg') > -1 || value.indexOf('rad') > -1,\n 'Rotate transform must be expressed in degrees (deg) or radians ' +\n '(rad): %s',\n stringifySafe(transformation),\n );\n break;\n case 'perspective':\n invariant(\n typeof value === 'number',\n 'Transform with key of \"%s\" must be a number: %s',\n key,\n stringifySafe(transformation),\n );\n invariant(\n value !== 0,\n 'Transform with key of \"%s\" cannot be zero: %s',\n key,\n stringifySafe(transformation),\n );\n break;\n case 'translateX':\n case 'translateY':\n invariant(\n typeof value === 'number' ||\n (typeof value === 'string' && value.endsWith('%')),\n 'Transform with key of \"%s\" must be number or a percentage. Passed value: %s.',\n key,\n stringifySafe(transformation),\n );\n break;\n case 'scale':\n case 'scaleX':\n case 'scaleY':\n invariant(\n typeof value === 'number',\n 'Transform with key of \"%s\" must be a number: %s',\n key,\n stringifySafe(transformation),\n );\n break;\n default:\n invariant(\n false,\n 'Invalid transform %s: %s',\n key,\n stringifySafe(transformation),\n );\n }\n}\n\nexport default processTransform;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport invariant from 'invariant';\n\nconst INDEX_X = 0;\nconst INDEX_Y = 1;\nconst INDEX_Z = 2;\n\n/* eslint-disable no-labels */\nexport default function processTransformOrigin(\n transformOrigin: Array | string,\n): Array {\n if (typeof transformOrigin === 'string') {\n const transformOriginString = transformOrigin;\n const regex = /(top|bottom|left|right|center|\\d+(?:%|px)|0)/gi;\n const transformOriginArray: Array = ['50%', '50%', 0];\n\n let index = INDEX_X;\n let matches;\n outer: while ((matches = regex.exec(transformOriginString))) {\n let nextIndex = index + 1;\n\n const value = matches[0];\n const valueLower = value.toLowerCase();\n\n switch (valueLower) {\n case 'left':\n case 'right': {\n invariant(\n index === INDEX_X,\n 'Transform-origin %s can only be used for x-position',\n value,\n );\n transformOriginArray[INDEX_X] = valueLower === 'left' ? 0 : '100%';\n break;\n }\n case 'top':\n case 'bottom': {\n invariant(\n index !== INDEX_Z,\n 'Transform-origin %s can only be used for y-position',\n value,\n );\n transformOriginArray[INDEX_Y] = valueLower === 'top' ? 0 : '100%';\n\n // Handle [[ center | left | right ] && [ center | top | bottom ]] ?\n if (index === INDEX_X) {\n const horizontal = regex.exec(transformOriginString);\n if (horizontal == null) {\n break outer;\n }\n\n switch (horizontal[0].toLowerCase()) {\n case 'left':\n transformOriginArray[INDEX_X] = 0;\n break;\n case 'right':\n transformOriginArray[INDEX_X] = '100%';\n break;\n case 'center':\n transformOriginArray[INDEX_X] = '50%';\n break;\n default:\n invariant(\n false,\n 'Could not parse transform-origin: %s',\n transformOriginString,\n );\n }\n nextIndex = INDEX_Z;\n }\n\n break;\n }\n case 'center': {\n invariant(\n index !== INDEX_Z,\n 'Transform-origin value %s cannot be used for z-position',\n value,\n );\n transformOriginArray[index] = '50%';\n break;\n }\n default: {\n if (value.endsWith('%')) {\n transformOriginArray[index] = value;\n } else {\n transformOriginArray[index] = parseFloat(value); // Remove `px`\n }\n break;\n }\n }\n\n index = nextIndex;\n }\n\n transformOrigin = transformOriginArray;\n }\n\n if (__DEV__) {\n _validateTransformOrigin(transformOrigin);\n }\n\n return transformOrigin;\n}\n\nfunction _validateTransformOrigin(transformOrigin: Array) {\n invariant(\n transformOrigin.length === 3,\n 'Transform origin must have exactly 3 values.',\n );\n const [x, y, z] = transformOrigin;\n invariant(\n typeof x === 'number' || (typeof x === 'string' && x.endsWith('%')),\n 'Transform origin x-position must be a number. Passed value: %s.',\n x,\n );\n invariant(\n typeof y === 'number' || (typeof y === 'string' && y.endsWith('%')),\n 'Transform origin y-position must be a number. Passed value: %s.',\n y,\n );\n invariant(\n typeof z === 'number',\n 'Transform origin z-position must be a number. Passed value: %s.',\n z,\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n'use strict';\n\nconst dummySize = {width: undefined, height: undefined};\ntype Size = {width: ?number, height: ?number};\n\nfunction sizesDiffer(one: Size, two: Size): boolean {\n const defaultedOne = one || dummySize;\n const defaultedTwo = two || dummySize;\n return (\n defaultedOne !== defaultedTwo &&\n (defaultedOne.width !== defaultedTwo.width ||\n defaultedOne.height !== defaultedTwo.height)\n );\n}\n\nexport default sizesDiffer;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\n/**\n * Unrolls an array comparison specially for matrices. Prioritizes\n * checking of indices that are most likely to change so that the comparison\n * bails as early as possible.\n *\n * @param {MatrixMath.Matrix} one First matrix.\n * @param {MatrixMath.Matrix} two Second matrix.\n * @return {boolean} Whether or not the two matrices differ.\n */\nfunction matricesDiffer(one: ?Array, two: ?Array): boolean {\n if (one === two) {\n return false;\n }\n return (\n !one ||\n !two ||\n one[12] !== two[12] ||\n one[13] !== two[13] ||\n one[14] !== two[14] ||\n one[5] !== two[5] ||\n one[10] !== two[10] ||\n one[0] !== two[0] ||\n one[1] !== two[1] ||\n one[2] !== two[2] ||\n one[3] !== two[3] ||\n one[4] !== two[4] ||\n one[6] !== two[6] ||\n one[7] !== two[7] ||\n one[8] !== two[8] ||\n one[9] !== two[9] ||\n one[11] !== two[11] ||\n one[15] !== two[15]\n );\n}\n\nexport default matricesDiffer;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\n\ntype Point = {\n x: ?number,\n y: ?number,\n ...\n};\n\nconst dummyPoint = {x: undefined, y: undefined};\n\nfunction pointsDiffer(one: ?Point, two: ?Point): boolean {\n one = one || dummyPoint;\n two = two || dummyPoint;\n return one !== two && (one.x !== two.x || one.y !== two.y);\n}\n\nexport default pointsDiffer;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\n\ntype Inset = {\n top: ?number,\n left: ?number,\n right: ?number,\n bottom: ?number,\n ...\n};\n\nconst dummyInsets = {\n top: undefined,\n left: undefined,\n right: undefined,\n bottom: undefined,\n};\n\nfunction insetsDiffer(one: Inset, two: Inset): boolean {\n one = one || dummyInsets;\n two = two || dummyInsets;\n return (\n one !== two &&\n (one.top !== two.top ||\n one.left !== two.left ||\n one.right !== two.right ||\n one.bottom !== two.bottom)\n );\n}\n\nexport default insetsDiffer;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nimport type {ColorValue} from './StyleSheet';\n\nimport processColor, {type ProcessedColorValue} from './processColor';\n\nconst TRANSPARENT = 0; // rgba(0, 0, 0, 0)\n\nfunction processColorArray(\n colors: ?$ReadOnlyArray,\n): ?$ReadOnlyArray {\n return colors == null ? null : colors.map(processColorElement);\n}\n\nfunction processColorElement(color: ColorValue): ProcessedColorValue {\n const value = processColor(color);\n // For invalid colors, fallback to transparent.\n if (value == null) {\n console.error('Invalid value in color array:', color);\n return TRANSPARENT;\n }\n return value;\n}\n\nexport default processColorArray;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n// Utilities for resolving an asset into a `source` for e.g. `Image`\n\nimport type {ResolvedAssetSource} from './AssetSourceResolver';\nimport typeof AssetSourceResolverT from './AssetSourceResolver';\nconst Platform = require('../Utilities/Platform').default;\nimport type {ImageSource} from './ImageSource';\n\nimport SourceCode from '../NativeModules/specs/NativeSourceCode';\n\nconst AssetSourceResolver: AssetSourceResolverT =\n require('./AssetSourceResolver').default;\nconst {pickScale} = require('./AssetUtils');\nconst AssetRegistry = require('@react-native/assets-registry/registry');\n\ntype CustomSourceTransformer = (\n resolver: AssetSourceResolver,\n) => ?ResolvedAssetSource;\n\nlet _customSourceTransformers: Array = [];\nlet _serverURL: ?string;\nlet _scriptURL: ?string;\nlet _sourceCodeScriptURL: ?string;\n\nfunction getSourceCodeScriptURL(): ?string {\n if (_sourceCodeScriptURL != null) {\n return _sourceCodeScriptURL;\n }\n\n _sourceCodeScriptURL = SourceCode.getConstants().scriptURL;\n return _sourceCodeScriptURL;\n}\n\nfunction getDevServerURL(): ?string {\n if (_serverURL === undefined) {\n const sourceCodeScriptURL = getSourceCodeScriptURL();\n const match = sourceCodeScriptURL?.match(/^https?:\\/\\/.*?\\//);\n if (match) {\n // jsBundle was loaded from network\n _serverURL = match[0];\n } else {\n // jsBundle was loaded from file\n _serverURL = null;\n }\n }\n return _serverURL;\n}\n\nfunction _coerceLocalScriptURL(scriptURL: ?string): ?string {\n if (Platform.OS === 'windows') {\n return scriptURL;\n }\n\n let normalizedScriptURL = scriptURL;\n\n if (normalizedScriptURL != null) {\n if (normalizedScriptURL.startsWith('assets://')) {\n // android: running from within assets, no offline path to use\n return null;\n }\n normalizedScriptURL = normalizedScriptURL.substring(\n 0,\n normalizedScriptURL.lastIndexOf('/') + 1,\n );\n if (!normalizedScriptURL.includes('://')) {\n // Add file protocol in case we have an absolute file path and not a URL.\n // This shouldn't really be necessary. scriptURL should be a URL.\n normalizedScriptURL = 'file://' + normalizedScriptURL;\n }\n }\n\n return normalizedScriptURL;\n}\n\nfunction getScriptURL(): ?string {\n if (_scriptURL === undefined) {\n _scriptURL = _coerceLocalScriptURL(getSourceCodeScriptURL());\n }\n return _scriptURL;\n}\n\n/**\n * `transformer` can optionally be used to apply a custom transformation when\n * resolving an asset source. This methods overrides all other custom transformers\n * that may have been previously registered.\n */\nfunction setCustomSourceTransformer(\n transformer: CustomSourceTransformer,\n): void {\n _customSourceTransformers = [transformer];\n}\n\n/**\n * Adds a `transformer` into the chain of custom source transformers, which will\n * be applied in the order registered, until one returns a non-null value.\n */\nfunction addCustomSourceTransformer(\n transformer: CustomSourceTransformer,\n): void {\n _customSourceTransformers.push(transformer);\n}\n\n/**\n * `source` is either a number (opaque type returned by require('./foo.png'))\n * or an `ImageSource` like { uri: '' }\n */\nfunction resolveAssetSource(source: ?ImageSource): ?ResolvedAssetSource {\n if (source == null || typeof source === 'object') {\n // $FlowFixMe[incompatible-exact] `source` doesn't exactly match `ResolvedAssetSource`\n // $FlowFixMe[incompatible-return] `source` doesn't exactly match `ResolvedAssetSource`\n return source;\n }\n\n const asset = AssetRegistry.getAssetByID(source);\n if (!asset) {\n return null;\n }\n\n const resolver = new AssetSourceResolver(\n getDevServerURL(),\n getScriptURL(),\n asset,\n );\n\n // Apply (chained) custom source transformers, if any\n if (_customSourceTransformers) {\n for (const customSourceTransformer of _customSourceTransformers) {\n const transformedSource = customSourceTransformer(resolver);\n if (transformedSource != null) {\n return transformedSource;\n }\n }\n }\n\n return resolver.defaultAsset();\n}\n\nresolveAssetSource.pickScale = pickScale;\nresolveAssetSource.setCustomSourceTransformer = setCustomSourceTransformer;\nresolveAssetSource.addCustomSourceTransformer = addCustomSourceTransformer;\nexport default resolveAssetSource;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeSourceCode';\nimport NativeSourceCode from '../../../src/private/specs_DEPRECATED/modules/NativeSourceCode';\nexport default NativeSourceCode;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport type SourceCodeConstants = {\n scriptURL: string,\n};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => SourceCodeConstants;\n}\n\nconst NativeModule = TurboModuleRegistry.getEnforcing('SourceCode');\nlet constants = null;\n\nconst NativeSourceCode = {\n getConstants(): SourceCodeConstants {\n if (constants == null) {\n constants = NativeModule.getConstants();\n }\n\n return constants;\n },\n};\n\nexport default NativeSourceCode;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n'use strict';\n\n/*::\nexport type AssetDestPathResolver = 'android' | 'generic';\n\nexport type PackagerAsset = {\n +__packager_asset: boolean,\n +fileSystemLocation: string,\n +httpServerLocation: string,\n +width: ?number,\n +height: ?number,\n +scales: Array,\n +hash: string,\n +name: string,\n +type: string,\n +resolver?: AssetDestPathResolver,\n ...\n};\n*/\n\nconst assets /*: Array */ = [];\n\nfunction registerAsset(asset /*: PackagerAsset */) /*: number */ {\n // `push` returns new array length, so the first asset will\n // get id 1 (not 0) to make the value truthy\n return assets.push(asset);\n}\n\nfunction getAssetByID(assetId /*: number */) /*: PackagerAsset */ {\n return assets[assetId - 1];\n}\n\nmodule.exports = {registerAsset, getAssetByID};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nexport type ResolvedAssetSource = {\n +__packager_asset: boolean,\n +width: ?number,\n +height: ?number,\n +uri: string,\n +scale: number,\n};\n\nimport type {\n AssetDestPathResolver,\n PackagerAsset,\n} from '@react-native/assets-registry/registry';\n\nconst PixelRatio = require('../Utilities/PixelRatio').default;\nconst Platform = require('../Utilities/Platform').default;\nconst {pickScale} = require('./AssetUtils');\nconst {\n getAndroidResourceFolderName,\n getAndroidResourceIdentifier,\n} = require('@react-native/assets-registry/path-support');\nconst invariant = require('invariant');\n// $FlowFixMe[untyped-import]\nconst ensureShortPath = require('./assetPaths.js'); // [Windows]\n\n// [Windows - instead of using basePath from @react-native/assets-registry/path-support]\nfunction getBasePath(asset: PackagerAsset, local: boolean) {\n let basePath = asset.httpServerLocation;\n if (basePath[0] === '/') {\n basePath = basePath.substr(1);\n }\n\n if (local) {\n const safePath = basePath.replace(/\\.\\.\\//g, '_');\n // If this asset was created with saveAssetPlugin, then we should shorten the path\n // This conditional allow compat of bundles which might have been created without the saveAssetPlugin\n // $FlowFixMe: __useShortPath not part of public type\n if (asset.__useShortPath) {\n return ensureShortPath(safePath);\n }\n return safePath;\n }\n\n return basePath;\n}\n\n/**\n * Returns a path like 'assets/AwesomeModule/icon@2x.png'\n */\nfunction getScaledAssetPath(asset: PackagerAsset, local: boolean): string {\n const scale = pickScale(asset.scales, PixelRatio.get());\n const scaleSuffix = scale === 1 ? '' : '@' + scale + 'x';\n const assetDir = getBasePath(asset, local);\n return assetDir + '/' + asset.name + scaleSuffix + '.' + asset.type;\n}\n\n/**\n * Returns a path like 'drawable-mdpi/icon.png'\n */\nfunction getAssetPathInDrawableFolder(asset: PackagerAsset): string {\n const scale = pickScale(asset.scales, PixelRatio.get());\n const drawableFolder = getAndroidResourceFolderName(asset, scale);\n const fileName = getAndroidResourceIdentifier(asset);\n return drawableFolder + '/' + fileName + '.' + asset.type;\n}\n\n/**\n * Returns true if the asset can be loaded over the network.\n *\n * This prevents an issue loading XML assets on Android. XML asset types like\n * vector drawables can only be loaded from precompiled source. Android does\n * not support loading these over the network, and AAPT precompiles data by\n * breaking path data and resource information apart into multiple files,\n * stuffing it all into the resource table. As a result, we should only attempt\n * to load resources as we would in release builds: by the resource name.\n *\n * For more information, see:\n * https://issuetracker.google.com/issues/62435069\n * https://issuetracker.google.com/issues/68293189\n */\nfunction assetSupportsNetworkLoads(asset: PackagerAsset): boolean {\n return !(asset.type === 'xml' && Platform.OS === 'android');\n}\n\nclass AssetSourceResolver {\n serverUrl: ?string;\n // where the jsbundle is being run from\n jsbundleUrl: ?string;\n // the asset to resolve\n asset: PackagerAsset;\n\n constructor(serverUrl: ?string, jsbundleUrl: ?string, asset: PackagerAsset) {\n this.serverUrl = serverUrl;\n this.jsbundleUrl = jsbundleUrl;\n this.asset = asset;\n }\n\n isLoadedFromServer(): boolean {\n return (\n this.serverUrl != null &&\n this.serverUrl !== '' &&\n assetSupportsNetworkLoads(this.asset)\n );\n }\n\n isLoadedFromFileSystem(): boolean {\n return this.jsbundleUrl != null && this.jsbundleUrl?.startsWith('file://');\n }\n\n defaultAsset(): ResolvedAssetSource {\n if (this.isLoadedFromServer()) {\n return this.assetServerURL();\n }\n\n if (this.asset.resolver != null) {\n return this.getAssetUsingResolver(this.asset.resolver);\n }\n\n if (Platform.OS === 'android') {\n return this.isLoadedFromFileSystem()\n ? this.drawableFolderInBundle()\n : this.resourceIdentifierWithoutScale();\n } else {\n return this.scaledAssetURLNearBundle();\n }\n }\n\n getAssetUsingResolver(resolver: AssetDestPathResolver): ResolvedAssetSource {\n switch (resolver) {\n case 'android':\n return this.isLoadedFromFileSystem()\n ? this.drawableFolderInBundle()\n : this.resourceIdentifierWithoutScale();\n case 'generic':\n return this.scaledAssetURLNearBundle();\n default:\n throw new Error(\n \"Don't know how to get asset via provided resolver: \" +\n resolver +\n '\\nAsset: ' +\n JSON.stringify(this.asset, null, '\\t') +\n '\\nPossible resolvers are:' +\n JSON.stringify(['android', 'generic'], null, '\\t'),\n );\n }\n }\n\n /**\n * Returns an absolute URL which can be used to fetch the asset\n * from the devserver\n */\n assetServerURL(): ResolvedAssetSource {\n invariant(this.serverUrl != null, 'need server to load from');\n return this.fromSource(\n this.serverUrl +\n getScaledAssetPath(this.asset, false) +\n '?platform=' +\n Platform.OS +\n '&hash=' +\n this.asset.hash,\n );\n }\n\n /**\n * Resolves to just the scaled asset filename\n * E.g. 'assets/AwesomeModule/icon@2x.png'\n */\n scaledAssetPath(local: boolean): ResolvedAssetSource {\n return this.fromSource(getScaledAssetPath(this.asset, local));\n }\n\n /**\n * Resolves to where the bundle is running from, with a scaled asset filename\n * E.g. 'file:///sdcard/bundle/assets/AwesomeModule/icon@2x.png'\n */\n scaledAssetURLNearBundle(): ResolvedAssetSource {\n const path = this.jsbundleUrl ?? 'file://';\n return this.fromSource(\n // Assets can have relative paths outside of the project root.\n // When bundling them we replace `../` with `_` to make sure they\n // don't end up outside of the expected assets directory.\n path + getScaledAssetPath(this.asset, true).replace(/\\.\\.\\//g, '_'),\n );\n }\n\n /**\n * The default location of assets bundled with the app, located by\n * resource identifier\n * The Android resource system picks the correct scale.\n * E.g. 'assets_awesomemodule_icon'\n */\n resourceIdentifierWithoutScale(): ResolvedAssetSource {\n invariant(\n Platform.OS === 'android',\n 'resource identifiers work on Android',\n );\n return this.fromSource(getAndroidResourceIdentifier(this.asset));\n }\n\n /**\n * If the jsbundle is running from a sideload location, this resolves assets\n * relative to its location\n * E.g. 'file:///sdcard/AwesomeModule/drawable-mdpi/icon.png'\n */\n drawableFolderInBundle(): ResolvedAssetSource {\n const path = this.jsbundleUrl ?? 'file://';\n return this.fromSource(path + getAssetPathInDrawableFolder(this.asset));\n }\n\n fromSource(source: string): ResolvedAssetSource {\n return {\n __packager_asset: true,\n width: this.asset.width,\n height: this.asset.height,\n uri: source,\n scale: pickScale(this.asset.scales, PixelRatio.get()),\n };\n }\n\n static pickScale: (scales: Array, deviceScale?: number) => number =\n pickScale;\n}\n\nexport default AssetSourceResolver;\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * Dont use flow here, since this file is used by saveAssetPlugin.js which will run without flow transform\n * @format\n */\n\n'use strict';\n\n// Some windows machines may not have long paths enabled\n// https://learn.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation\n// Assets in nested node_modules (common when using pnpm) - end up creating very long paths\n// Using this function we shorten longer paths to prevent paths from hitting the path limit\nfunction ensureShortPath(str) {\n if (str.length < 40) return str;\n\n const assetsPrefix = 'assets/';\n\n if (!str.startsWith(assetsPrefix)) {\n console.warn(`Unexpected asset uri - ${str} may not load correctly.`);\n }\n\n const postStr = str.slice(assetsPrefix.length);\n var hash = 0,\n i,\n chr;\n for (i = 0; i < postStr.length; i++) {\n chr = postStr.charCodeAt(i);\n // eslint-disable-next-line no-bitwise\n hash = (hash << 5) - hash + chr;\n // eslint-disable-next-line no-bitwise\n hash |= 0; // Convert to 32bit integer\n }\n return assetsPrefix + hash.toString();\n}\n\nmodule.exports = ensureShortPath;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport PixelRatio from '../Utilities/PixelRatio';\n\nlet cacheBreaker;\nlet warnIfCacheBreakerUnset = true;\n\nexport function pickScale(scales: Array, deviceScale?: number): number {\n const requiredDeviceScale = deviceScale ?? PixelRatio.get();\n\n // Packager guarantees that `scales` array is sorted\n for (let i = 0; i < scales.length; i++) {\n if (scales[i] >= requiredDeviceScale) {\n return scales[i];\n }\n }\n\n // If nothing matches, device scale is larger than any available\n // scales, so we return the biggest one. Unless the array is empty,\n // in which case we default to 1\n return scales[scales.length - 1] || 1;\n}\n\nexport function setUrlCacheBreaker(appendage: string) {\n cacheBreaker = appendage;\n}\n\nexport function getUrlCacheBreaker(): string {\n if (cacheBreaker == null) {\n if (__DEV__ && warnIfCacheBreakerUnset) {\n warnIfCacheBreakerUnset = false;\n console.warn(\n 'AssetUtils.getUrlCacheBreaker: Cache breaker value is unset',\n );\n }\n return '';\n }\n return cacheBreaker;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nconst Dimensions = require('./Dimensions').default;\n\n/**\n * PixelRatio class gives access to the device pixel density.\n *\n * ## Fetching a correctly sized image\n *\n * You should get a higher resolution image if you are on a high pixel density\n * device. A good rule of thumb is to multiply the size of the image you display\n * by the pixel ratio.\n *\n * ```\n * var image = getImage({\n * width: PixelRatio.getPixelSizeForLayoutSize(200),\n * height: PixelRatio.getPixelSizeForLayoutSize(100),\n * });\n * \n * ```\n *\n * ## Pixel grid snapping\n *\n * In iOS, you can specify positions and dimensions for elements with arbitrary\n * precision, for example 29.674825. But, ultimately the physical display only\n * have a fixed number of pixels, for example 640×960 for iPhone 4 or 750×1334\n * for iPhone 6. iOS tries to be as faithful as possible to the user value by\n * spreading one original pixel into multiple ones to trick the eye. The\n * downside of this technique is that it makes the resulting element look\n * blurry.\n *\n * In practice, we found out that developers do not want this feature and they\n * have to work around it by doing manual rounding in order to avoid having\n * blurry elements. In React Native, we are rounding all the pixels\n * automatically.\n *\n * We have to be careful when to do this rounding. You never want to work with\n * rounded and unrounded values at the same time as you're going to accumulate\n * rounding errors. Having even one rounding error is deadly because a one\n * pixel border may vanish or be twice as big.\n *\n * In React Native, everything in JavaScript and within the layout engine works\n * with arbitrary precision numbers. It's only when we set the position and\n * dimensions of the native element on the main thread that we round. Also,\n * rounding is done relative to the root rather than the parent, again to avoid\n * accumulating rounding errors.\n *\n */\nclass PixelRatio {\n /**\n * Returns the device pixel density. Some examples:\n *\n * - PixelRatio.get() === 1\n * - mdpi Android devices (160 dpi)\n * - PixelRatio.get() === 1.5\n * - hdpi Android devices (240 dpi)\n * - PixelRatio.get() === 2\n * - iPhone 4, 4S\n * - iPhone 5, 5c, 5s\n * - iPhone 6\n * - iPhone 7\n * - iPhone 8\n * - iPhone SE\n * - xhdpi Android devices (320 dpi)\n * - PixelRatio.get() === 3\n * - iPhone 6 Plus\n * - iPhone 7 Plus\n * - iPhone 8 Plus\n * - iPhone X\n * - xxhdpi Android devices (480 dpi)\n * - PixelRatio.get() === 3.5\n * - Nexus 6\n */\n static get(): number {\n return Dimensions.get('window').scale;\n }\n\n /**\n * Returns the scaling factor for font sizes. This is the ratio that is used to calculate the\n * absolute font size, so any elements that heavily depend on that should use this to do\n * calculations.\n *\n * If a font scale is not set, this returns the device pixel ratio.\n *\n * This reflects the user preference set in:\n * - Settings > Display > Font size on Android,\n * - Settings > Display & Brightness > Text Size on iOS.\n */\n static getFontScale(): number {\n return Dimensions.get('window').fontScale || PixelRatio.get();\n }\n\n /**\n * Converts a layout size (dp) to pixel size (px).\n *\n * Guaranteed to return an integer number.\n */\n static getPixelSizeForLayoutSize(layoutSize: number): number {\n return Math.round(layoutSize * PixelRatio.get());\n }\n\n /**\n * Rounds a layout size (dp) to the nearest layout size that corresponds to\n * an integer number of pixels. For example, on a device with a PixelRatio\n * of 3, `PixelRatio.roundToNearestPixel(8.4) = 8.33`, which corresponds to\n * exactly (8.33 * 3) = 25 pixels.\n */\n static roundToNearestPixel(layoutSize: number): number {\n const ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\n }\n\n // No-op for iOS, but used on the web. Should not be documented.\n static startDetecting() {}\n}\n\nexport default PixelRatio;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';\nimport EventEmitter, {\n type EventSubscription,\n} from '../vendor/emitter/EventEmitter';\nimport NativeDeviceInfo, {\n type DimensionsPayload,\n type DisplayMetrics,\n type DisplayMetricsAndroid,\n} from './NativeDeviceInfo';\nimport invariant from 'invariant';\n\nexport type {DisplayMetrics, DisplayMetricsAndroid};\n\n/** @deprecated Use DisplayMetrics */\nexport type ScaledSize = DisplayMetrics;\n\nconst eventEmitter = new EventEmitter<{\n change: [DimensionsPayload],\n}>();\nlet dimensionsInitialized = false;\nlet dimensions: DimensionsPayload;\n\nclass Dimensions {\n /**\n * NOTE: `useWindowDimensions` is the preferred API for React components.\n *\n * Initial dimensions are set before `runApplication` is called so they should\n * be available before any other require's are run, but may be updated later.\n *\n * Note: Although dimensions are available immediately, they may change (e.g\n * due to device rotation) so any rendering logic or styles that depend on\n * these constants should try to call this function on every render, rather\n * than caching the value (for example, using inline styles rather than\n * setting a value in a `StyleSheet`).\n *\n * Example: `const {height, width} = Dimensions.get('window');`\n *\n * @param {string} dim Name of dimension as defined when calling `set`.\n * @returns {DisplayMetrics? | DisplayMetricsAndroid?} Value for the dimension.\n */\n static get(dim: string): DisplayMetrics | DisplayMetricsAndroid {\n // $FlowFixMe[invalid-computed-prop]\n invariant(dimensions[dim], 'No dimension set for key ' + dim);\n return dimensions[dim];\n }\n\n /**\n * This should only be called from native code by sending the\n * didUpdateDimensions event.\n *\n * @param {DimensionsPayload} dims Simple string-keyed object of dimensions to set\n */\n static set(dims: $ReadOnly): void {\n // We calculate the window dimensions in JS so that we don't encounter loss of\n // precision in transferring the dimensions (which could be non-integers) over\n // the bridge.\n let {screen, window} = dims;\n const {windowPhysicalPixels} = dims;\n if (windowPhysicalPixels) {\n window = {\n width: windowPhysicalPixels.width / windowPhysicalPixels.scale,\n height: windowPhysicalPixels.height / windowPhysicalPixels.scale,\n scale: windowPhysicalPixels.scale,\n fontScale: windowPhysicalPixels.fontScale,\n };\n }\n const {screenPhysicalPixels} = dims;\n if (screenPhysicalPixels) {\n screen = {\n width: screenPhysicalPixels.width / screenPhysicalPixels.scale,\n height: screenPhysicalPixels.height / screenPhysicalPixels.scale,\n scale: screenPhysicalPixels.scale,\n fontScale: screenPhysicalPixels.fontScale,\n };\n } else if (screen == null) {\n screen = window;\n }\n\n dimensions = {window, screen};\n if (dimensionsInitialized) {\n // Don't fire 'change' the first time the dimensions are set.\n eventEmitter.emit('change', dimensions);\n } else {\n dimensionsInitialized = true;\n }\n }\n\n /**\n * Add an event handler. Supported events:\n *\n * - `change`: Fires when a property within the `Dimensions` object changes. The argument\n * to the event handler is an object with `window` and `screen` properties whose values\n * are the same as the return values of `Dimensions.get('window')` and\n * `Dimensions.get('screen')`, respectively.\n */\n static addEventListener(\n type: 'change',\n handler: Function,\n ): EventSubscription {\n invariant(\n type === 'change',\n 'Trying to subscribe to unknown event: \"%s\"',\n type,\n );\n return eventEmitter.addListener(type, handler);\n }\n}\n\n// Subscribe before calling getConstants to make sure we don't miss any updates in between.\nRCTDeviceEventEmitter.addListener(\n 'didUpdateDimensions',\n (update: DimensionsPayload) => {\n Dimensions.set(update);\n },\n);\nDimensions.set(NativeDeviceInfo.getConstants().Dimensions);\n\nexport default Dimensions;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeDeviceInfo';\nimport NativeDeviceInfo from '../../src/private/specs_DEPRECATED/modules/NativeDeviceInfo';\nexport default NativeDeviceInfo;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport type DisplayMetricsAndroid = {\n width: number,\n height: number,\n scale: number,\n fontScale: number,\n densityDpi: number,\n};\n\nexport type DisplayMetrics = {\n width: number,\n height: number,\n scale: number,\n fontScale: number,\n};\n\nexport type DimensionsPayload = {\n window?: DisplayMetrics,\n screen?: DisplayMetrics,\n windowPhysicalPixels?: DisplayMetricsAndroid,\n screenPhysicalPixels?: DisplayMetricsAndroid,\n};\n\nexport type DeviceInfoConstants = {\n +Dimensions: DimensionsPayload,\n +isIPhoneX_deprecated?: boolean,\n};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => DeviceInfoConstants;\n}\n\nconst NativeModule: Spec = TurboModuleRegistry.getEnforcing('DeviceInfo');\nlet constants: ?DeviceInfoConstants = null;\n\nconst NativeDeviceInfo = {\n getConstants(): DeviceInfoConstants {\n if (constants == null) {\n constants = NativeModule.getConstants();\n }\n return constants;\n },\n};\n\nexport default NativeDeviceInfo;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n'use strict';\n\n/*:: import type {PackagerAsset} from './registry.js'; */\n\nconst androidScaleSuffix = {\n '0.75': 'ldpi',\n '1': 'mdpi',\n '1.5': 'hdpi',\n '2': 'xhdpi',\n '3': 'xxhdpi',\n '4': 'xxxhdpi',\n};\n\nconst ANDROID_BASE_DENSITY = 160;\n\n/**\n * FIXME: using number to represent discrete scale numbers is fragile in essence because of\n * floating point numbers imprecision.\n */\nfunction getAndroidAssetSuffix(scale /*: number */) /*: string */ {\n if (scale.toString() in androidScaleSuffix) {\n // $FlowFixMe[invalid-computed-prop]\n return androidScaleSuffix[scale.toString()];\n }\n // NOTE: Android Gradle Plugin does not fully support the nnndpi format.\n // See https://issuetracker.google.com/issues/72884435\n if (Number.isFinite(scale) && scale > 0) {\n return Math.round(scale * ANDROID_BASE_DENSITY) + 'dpi';\n }\n throw new Error('no such scale ' + scale.toString());\n}\n\n// See https://developer.android.com/guide/topics/resources/drawable-resource.html\nconst drawableFileTypes = new Set([\n 'gif',\n 'jpeg',\n 'jpg',\n 'ktx',\n 'png',\n 'webp',\n 'xml',\n]);\n\nfunction getAndroidResourceFolderName(\n asset /*: PackagerAsset */,\n scale /*: number */,\n) /*: string */ {\n if (!drawableFileTypes.has(asset.type)) {\n return 'raw';\n }\n const suffix = getAndroidAssetSuffix(scale);\n if (!suffix) {\n throw new Error(\n \"Don't know which android drawable suffix to use for scale: \" +\n scale +\n '\\nAsset: ' +\n JSON.stringify(asset, null, '\\t') +\n '\\nPossible scales are:' +\n JSON.stringify(androidScaleSuffix, null, '\\t'),\n );\n }\n return 'drawable-' + suffix;\n}\n\nfunction getAndroidResourceIdentifier(\n asset /*: PackagerAsset */,\n) /*: string */ {\n return (getBasePath(asset) + '/' + asset.name)\n .toLowerCase()\n .replace(/\\//g, '_') // Encode folder structure in file name\n .replace(/([^a-z0-9_])/g, '') // Remove illegal chars\n .replace(/^(?:assets|assetsunstable_path)_/, ''); // Remove \"assets_\" or \"assetsunstable_path_\" prefix\n}\n\nfunction getBasePath(asset /*: PackagerAsset */) /*: string */ {\n const basePath = asset.httpServerLocation;\n return basePath.startsWith('/') ? basePath.slice(1) : basePath;\n}\n\nmodule.exports = {\n getAndroidResourceFolderName,\n getAndroidResourceIdentifier,\n getBasePath,\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @noformat\n * @nolint\n * @flow strict-local\n * @generated SignedSource<<83073425aa3f71ced2c8c51f25a25938>>\n */\n\n'use strict';\n\nimport {type ViewConfig} from './ReactNativeTypes';\nimport invariant from 'invariant';\n\n// Event configs\nexport const customBubblingEventTypes: {\n [eventName: string]: $ReadOnly<{\n phasedRegistrationNames: $ReadOnly<{\n captured: string,\n bubbled: string,\n skipBubbling?: ?boolean,\n }>,\n }>,\n} = {};\nexport const customDirectEventTypes: {\n [eventName: string]: $ReadOnly<{\n registrationName: string,\n }>,\n} = {};\n\nconst viewConfigCallbacks = new Map ViewConfig>();\nconst viewConfigs = new Map();\n\nfunction processEventTypes(viewConfig: ViewConfig): void {\n const {bubblingEventTypes, directEventTypes} = viewConfig;\n\n if (__DEV__) {\n if (bubblingEventTypes != null && directEventTypes != null) {\n for (const topLevelType in directEventTypes) {\n invariant(\n bubblingEventTypes[topLevelType] == null,\n 'Event cannot be both direct and bubbling: %s',\n topLevelType,\n );\n }\n }\n }\n\n if (bubblingEventTypes != null) {\n for (const topLevelType in bubblingEventTypes) {\n if (customBubblingEventTypes[topLevelType] == null) {\n customBubblingEventTypes[topLevelType] =\n bubblingEventTypes[topLevelType];\n }\n }\n }\n\n if (directEventTypes != null) {\n for (const topLevelType in directEventTypes) {\n if (customDirectEventTypes[topLevelType] == null) {\n customDirectEventTypes[topLevelType] = directEventTypes[topLevelType];\n }\n }\n }\n}\n\n/**\n * Registers a native view/component by name.\n * A callback is provided to load the view config from UIManager.\n * The callback is deferred until the view is actually rendered.\n */\nexport function register(name: string, callback: () => ViewConfig): string {\n invariant(\n !viewConfigCallbacks.has(name),\n 'Tried to register two views with the same name %s',\n name,\n );\n invariant(\n typeof callback === 'function',\n 'View config getter callback for component `%s` must be a function (received `%s`)',\n name,\n callback === null ? 'null' : typeof callback,\n );\n viewConfigCallbacks.set(name, callback);\n return name;\n}\n\n/**\n * Retrieves a config for the specified view.\n * If this is the first time the view has been used,\n * This configuration will be lazy-loaded from UIManager.\n */\nexport function get(name: string): ViewConfig {\n let viewConfig = viewConfigs.get(name);\n if (viewConfig == null) {\n const callback = viewConfigCallbacks.get(name);\n if (typeof callback !== 'function') {\n invariant(\n false,\n 'View config getter callback for component `%s` must be a function (received `%s`).%s',\n name,\n callback === null ? 'null' : typeof callback,\n // $FlowFixMe[recursive-definition]\n typeof name[0] === 'string' && /[a-z]/.test(name[0])\n ? ' Make sure to start component names with a capital letter.'\n : '',\n );\n }\n viewConfig = callback();\n invariant(viewConfig, 'View config not found for component `%s`', name);\n\n processEventTypes(viewConfig);\n viewConfigs.set(name, viewConfig);\n\n // Clear the callback after the config is set so that\n // we don't mask any errors during registration.\n viewConfigCallbacks.set(name, null);\n }\n return viewConfig;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';\nimport {type ViewConfig} from '../Renderer/shims/ReactNativeTypes';\n\nexport type Difference =\n | {\n type: 'missing',\n path: Array,\n nativeValue: mixed,\n }\n | {\n type: 'unequal',\n path: Array,\n nativeValue: mixed,\n staticValue: mixed,\n };\n\nexport type ValidationResult = ValidResult | InvalidResult;\ntype ValidResult = {\n type: 'valid',\n};\ntype InvalidResult = {\n type: 'invalid',\n differences: Array,\n};\n\n/**\n * During the migration from native view configs to static view configs, this is\n * used to validate that the two are equivalent.\n */\nexport function validate(\n name: string,\n nativeViewConfig: ViewConfig,\n staticViewConfig: ViewConfig,\n): ValidationResult {\n const differences: Array = [];\n accumulateDifferences(\n differences,\n [],\n {\n bubblingEventTypes: nativeViewConfig.bubblingEventTypes,\n directEventTypes: nativeViewConfig.directEventTypes,\n uiViewClassName: nativeViewConfig.uiViewClassName,\n validAttributes: nativeViewConfig.validAttributes,\n },\n {\n bubblingEventTypes: staticViewConfig.bubblingEventTypes,\n directEventTypes: staticViewConfig.directEventTypes,\n uiViewClassName: staticViewConfig.uiViewClassName,\n validAttributes: staticViewConfig.validAttributes,\n },\n );\n\n if (differences.length === 0) {\n return {type: 'valid'};\n }\n\n return {\n type: 'invalid',\n differences,\n };\n}\n\nexport function stringifyValidationResult(\n name: string,\n validationResult: InvalidResult,\n): string {\n const {differences} = validationResult;\n return [\n `StaticViewConfigValidator: Invalid static view config for '${name}'.`,\n '',\n ...differences.map(difference => {\n const {type, path} = difference;\n switch (type) {\n case 'missing':\n return `- '${path.join('.')}' is missing.`;\n case 'unequal':\n return `- '${path.join('.')}' is the wrong value.`;\n }\n }),\n '',\n ].join('\\n');\n}\n\nfunction accumulateDifferences(\n differences: Array,\n path: Array,\n nativeObject: {...},\n staticObject: {...},\n): void {\n for (const nativeKey in nativeObject) {\n // $FlowFixMe[invalid-computed-prop]\n const nativeValue = nativeObject[nativeKey];\n\n if (!staticObject.hasOwnProperty(nativeKey)) {\n differences.push({\n path: [...path, nativeKey],\n type: 'missing',\n nativeValue,\n });\n continue;\n }\n\n // $FlowFixMe[invalid-computed-prop]\n const staticValue = staticObject[nativeKey];\n\n const nativeValueIfObject = ifObject(nativeValue);\n if (nativeValueIfObject != null) {\n const staticValueIfObject = ifObject(staticValue);\n if (staticValueIfObject != null) {\n path.push(nativeKey);\n accumulateDifferences(\n differences,\n path,\n nativeValueIfObject,\n staticValueIfObject,\n );\n path.pop();\n continue;\n }\n }\n\n if (\n nativeValue !== staticValue &&\n !ReactNativeFeatureFlags.enableNativeCSSParsing()\n ) {\n differences.push({\n path: [...path, nativeKey],\n type: 'unequal',\n nativeValue,\n staticValue,\n });\n }\n }\n}\n\nfunction ifObject(value: mixed): ?{...} {\n return typeof value === 'object' && !Array.isArray(value) ? value : null;\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function () {},\n enqueueReplaceState: function () {},\n enqueueSetState: function () {}\n },\n assign = Object.assign,\n emptyObject = {};\nfunction Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nComponent.prototype.isReactComponent = {};\nComponent.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n};\nComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n};\nfunction ComponentDummy() {}\nComponentDummy.prototype = Component.prototype;\nfunction PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n}\nvar pureComponentPrototype = (PureComponent.prototype = new ComponentDummy());\npureComponentPrototype.constructor = PureComponent;\nassign(pureComponentPrototype, Component.prototype);\npureComponentPrototype.isPureReactComponent = !0;\nvar isArrayImpl = Array.isArray,\n ReactSharedInternals = { H: null, A: null, T: null, S: null },\n hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== self ? self : null,\n props: props\n };\n}\nfunction cloneAndReplaceKey(oldElement, newKey) {\n return ReactElement(\n oldElement.type,\n newKey,\n void 0,\n void 0,\n void 0,\n oldElement.props\n );\n}\nfunction isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n}\nfunction escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n}\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key\n ? escape(\"\" + element.key)\n : index.toString(36);\n}\nfunction noop$1() {}\nfunction resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop$1, noop$1)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"), (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n}\nfunction mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback)\n return (\n (callback = callback(children)),\n (invokeCallback =\n \"\" === nameSoFar ? \".\" + getElementKey(children, 0) : nameSoFar),\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != invokeCallback &&\n (escapedPrefix =\n invokeCallback.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (callback = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (children && children.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n invokeCallback\n )),\n array.push(callback)),\n 1\n );\n invokeCallback = 0;\n var nextNamePrefix = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = nextNamePrefix + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n children = i.call(children), i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = nextNamePrefix + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n}\nfunction mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n}\nfunction lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status && ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status) return payload._result.default;\n throw payload._result;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction noop() {}\nexports.Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n};\nexports.Component = Component;\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.Profiler = REACT_PROFILER_TYPE;\nexports.PureComponent = PureComponent;\nexports.StrictMode = REACT_STRICT_MODE_TYPE;\nexports.Suspense = REACT_SUSPENSE_TYPE;\nexports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\nexports.act = function () {\n throw Error(\"act(...) is not supported in production builds of React.\");\n};\nexports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n};\nexports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" + element + \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = void 0;\n if (null != config)\n for (propName in (void 0 !== config.ref && (owner = void 0),\n void 0 !== config.key && (key = \"\" + config.key),\n config))\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n for (var childArray = Array(propName), i = 0; i < propName; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n return ReactElement(element.type, key, void 0, void 0, owner, props);\n};\nexports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n return defaultValue;\n};\nexports.createElement = function (type, config, children) {\n var propName,\n props = {},\n key = null;\n if (null != config)\n for (propName in (void 0 !== config.key && (key = \"\" + config.key), config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (props[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) props.children = children;\n else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), i = 0; i < childrenLength; i++)\n childArray[i] = arguments[i + 2];\n props.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === props[propName] &&\n (props[propName] = childrenLength[propName]);\n return ReactElement(type, key, void 0, void 0, null, props);\n};\nexports.createRef = function () {\n return { current: null };\n};\nexports.forwardRef = function (render) {\n return { $$typeof: REACT_FORWARD_REF_TYPE, render: render };\n};\nexports.isValidElement = isValidElement;\nexports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n};\nexports.memo = function (type, compare) {\n return {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n};\nexports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n};\nexports.unstable_useCacheRefresh = function () {\n return ReactSharedInternals.H.useCacheRefresh();\n};\nexports.use = function (usable) {\n return ReactSharedInternals.H.use(usable);\n};\nexports.useActionState = function (action, initialState, permalink) {\n return ReactSharedInternals.H.useActionState(action, initialState, permalink);\n};\nexports.useCallback = function (callback, deps) {\n return ReactSharedInternals.H.useCallback(callback, deps);\n};\nexports.useContext = function (Context) {\n return ReactSharedInternals.H.useContext(Context);\n};\nexports.useDebugValue = function () {};\nexports.useDeferredValue = function (value, initialValue) {\n return ReactSharedInternals.H.useDeferredValue(value, initialValue);\n};\nexports.useEffect = function (create, deps) {\n return ReactSharedInternals.H.useEffect(create, deps);\n};\nexports.useId = function () {\n return ReactSharedInternals.H.useId();\n};\nexports.useImperativeHandle = function (ref, create, deps) {\n return ReactSharedInternals.H.useImperativeHandle(ref, create, deps);\n};\nexports.useInsertionEffect = function (create, deps) {\n return ReactSharedInternals.H.useInsertionEffect(create, deps);\n};\nexports.useLayoutEffect = function (create, deps) {\n return ReactSharedInternals.H.useLayoutEffect(create, deps);\n};\nexports.useMemo = function (create, deps) {\n return ReactSharedInternals.H.useMemo(create, deps);\n};\nexports.useOptimistic = function (passthrough, reducer) {\n return ReactSharedInternals.H.useOptimistic(passthrough, reducer);\n};\nexports.useReducer = function (reducer, initialArg, init) {\n return ReactSharedInternals.H.useReducer(reducer, initialArg, init);\n};\nexports.useRef = function (initialValue) {\n return ReactSharedInternals.H.useRef(initialValue);\n};\nexports.useState = function (initialState) {\n return ReactSharedInternals.H.useState(initialState);\n};\nexports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n) {\n return ReactSharedInternals.H.useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n};\nexports.useTransition = function () {\n return ReactSharedInternals.H.useTransition();\n};\nexports.version = \"19.0.0\";\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {\n PartialViewConfig,\n ViewConfig,\n} from '../Renderer/shims/ReactNativeTypes';\n\nimport PlatformBaseViewConfig from './PlatformBaseViewConfig';\n\n/**\n * Creates a complete `ViewConfig` from a `PartialViewConfig`.\n */\nexport function createViewConfig(\n partialViewConfig: PartialViewConfig,\n): ViewConfig {\n return {\n uiViewClassName: partialViewConfig.uiViewClassName,\n Commands: {},\n bubblingEventTypes: composeIndexers(\n PlatformBaseViewConfig.bubblingEventTypes,\n partialViewConfig.bubblingEventTypes,\n ),\n directEventTypes: composeIndexers(\n PlatformBaseViewConfig.directEventTypes,\n partialViewConfig.directEventTypes,\n ),\n // $FlowFixMe[incompatible-return]\n validAttributes: composeIndexers(\n // $FlowFixMe[incompatible-call] `style` property confuses Flow.\n PlatformBaseViewConfig.validAttributes,\n // $FlowFixMe[incompatible-call] `style` property confuses Flow.\n partialViewConfig.validAttributes,\n ),\n };\n}\n\nfunction composeIndexers(\n maybeA: ?{+[string]: T},\n maybeB: ?{+[string]: T},\n): {+[string]: T} {\n return maybeA == null || maybeB == null\n ? maybeA ?? maybeB ?? {}\n : {...maybeA, ...maybeB};\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {PartialViewConfig} from '../Renderer/shims/ReactNativeTypes';\n\nimport BaseViewConfig from './BaseViewConfig';\n\nexport type PartialViewConfigWithoutName = $Rest<\n PartialViewConfig,\n {uiViewClassName: string},\n>;\n\nconst PlatformBaseViewConfig: PartialViewConfigWithoutName = BaseViewConfig;\n\n// In Wilde/FB4A, use RNHostComponentListRoute in Bridge mode to verify\n// whether the JS props defined here match the native props defined\n// in RCTViewManagers in iOS, and ViewManagers in Android.\nexport default PlatformBaseViewConfig;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {PartialViewConfigWithoutName} from './PlatformBaseViewConfig';\n\nimport * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';\nimport NativeReactNativeFeatureFlags from '../../src/private/featureflags/specs/NativeReactNativeFeatureFlags';\nimport ReactNativeStyleAttributes from '../Components/View/ReactNativeStyleAttributes';\nimport {DynamicallyInjectedByGestureHandler} from './ViewConfigIgnore';\n\nconst bubblingEventTypes = {\n // Generic Events\n topPress: {\n phasedRegistrationNames: {\n bubbled: 'onPress',\n captured: 'onPressCapture',\n },\n },\n topChange: {\n phasedRegistrationNames: {\n bubbled: 'onChange',\n captured: 'onChangeCapture',\n },\n },\n topFocus: {\n phasedRegistrationNames: {\n bubbled: 'onFocus',\n captured: 'onFocusCapture',\n },\n },\n topBlur: {\n phasedRegistrationNames: {\n bubbled: 'onBlur',\n captured: 'onBlurCapture',\n },\n },\n topSubmitEditing: {\n phasedRegistrationNames: {\n bubbled: 'onSubmitEditing',\n captured: 'onSubmitEditingCapture',\n },\n },\n topEndEditing: {\n phasedRegistrationNames: {\n bubbled: 'onEndEditing',\n captured: 'onEndEditingCapture',\n },\n },\n topKeyPress: {\n phasedRegistrationNames: {\n bubbled: 'onKeyPress',\n captured: 'onKeyPressCapture',\n },\n },\n\n // Touch Events\n topTouchStart: {\n phasedRegistrationNames: {\n bubbled: 'onTouchStart',\n captured: 'onTouchStartCapture',\n },\n },\n topTouchMove: {\n phasedRegistrationNames: {\n bubbled: 'onTouchMove',\n captured: 'onTouchMoveCapture',\n },\n },\n topTouchCancel: {\n phasedRegistrationNames: {\n bubbled: 'onTouchCancel',\n captured: 'onTouchCancelCapture',\n },\n },\n topTouchEnd: {\n phasedRegistrationNames: {\n bubbled: 'onTouchEnd',\n captured: 'onTouchEndCapture',\n },\n },\n // Experimental/Work in Progress Pointer Events (not yet ready for use)\n topClick: {\n phasedRegistrationNames: {\n captured: 'onClickCapture',\n bubbled: 'onClick',\n },\n },\n topPointerCancel: {\n phasedRegistrationNames: {\n captured: 'onPointerCancelCapture',\n bubbled: 'onPointerCancel',\n },\n },\n topPointerDown: {\n phasedRegistrationNames: {\n captured: 'onPointerDownCapture',\n bubbled: 'onPointerDown',\n },\n },\n topPointerMove: {\n phasedRegistrationNames: {\n captured: 'onPointerMoveCapture',\n bubbled: 'onPointerMove',\n },\n },\n topPointerUp: {\n phasedRegistrationNames: {\n captured: 'onPointerUpCapture',\n bubbled: 'onPointerUp',\n },\n },\n topPointerEnter: {\n phasedRegistrationNames: {\n captured: 'onPointerEnterCapture',\n bubbled: 'onPointerEnter',\n skipBubbling: true,\n },\n },\n topPointerLeave: {\n phasedRegistrationNames: {\n captured: 'onPointerLeaveCapture',\n bubbled: 'onPointerLeave',\n skipBubbling: true,\n },\n },\n topPointerOver: {\n phasedRegistrationNames: {\n captured: 'onPointerOverCapture',\n bubbled: 'onPointerOver',\n },\n },\n topPointerOut: {\n phasedRegistrationNames: {\n captured: 'onPointerOutCapture',\n bubbled: 'onPointerOut',\n },\n },\n topGotPointerCapture: {\n phasedRegistrationNames: {\n captured: 'onGotPointerCaptureCapture',\n bubbled: 'onGotPointerCapture',\n },\n },\n topLostPointerCapture: {\n phasedRegistrationNames: {\n captured: 'onLostPointerCaptureCapture',\n bubbled: 'onLostPointerCapture',\n },\n },\n\n topKeyDown: {\n // [Windows]\n phasedRegistrationNames: {\n captured: 'onKeyDownCapture',\n bubbled: 'onKeyDown',\n },\n },\n topKeyUp: {\n // [Windows]\n phasedRegistrationNames: {\n captured: 'onKeyUpCapture',\n bubbled: 'onKeyUp',\n },\n },\n};\n\nconst directEventTypes = {\n topAccessibilityAction: {\n registrationName: 'onAccessibilityAction',\n },\n topAccessibilityTap: {\n registrationName: 'onAccessibilityTap',\n },\n topMagicTap: {\n registrationName: 'onMagicTap',\n },\n topAccessibilityEscape: {\n registrationName: 'onAccessibilityEscape',\n },\n topLayout: {\n registrationName: 'onLayout',\n },\n onGestureHandlerEvent: DynamicallyInjectedByGestureHandler({\n registrationName: 'onGestureHandlerEvent',\n }),\n onGestureHandlerStateChange: DynamicallyInjectedByGestureHandler({\n registrationName: 'onGestureHandlerStateChange',\n }),\n // [Windows\n // Mouse enter/leave events\n topMouseEnter: {\n registrationName: 'onMouseEnter',\n },\n topMouseLeave: {\n registrationName: 'onMouseLeave',\n },\n // Windows]\n};\n\nconst validAttributesForNonEventProps = {\n // View Props\n accessible: true,\n accessibilityActions: true,\n accessibilityLabel: true,\n accessibilityHint: true,\n accessibilityLanguage: true,\n accessibilityValue: true,\n accessibilityViewIsModal: true,\n accessibilityElementsHidden: true,\n accessibilityIgnoresInvertColors: true,\n accessibilityShowsLargeContentViewer: true,\n accessibilityLargeContentTitle: true,\n testID: true,\n backgroundColor: {process: require('../StyleSheet/processColor').default},\n backfaceVisibility: true,\n opacity: true,\n shadowColor: {process: require('../StyleSheet/processColor').default},\n shadowOffset: {diff: require('../Utilities/differ/sizesDiffer').default},\n shadowOpacity: true,\n shadowRadius: true,\n needsOffscreenAlphaCompositing: true,\n overflow: true,\n shouldRasterizeIOS: true,\n transform: {diff: require('../Utilities/differ/matricesDiffer').default},\n transformOrigin: true,\n accessibilityRole: true,\n accessibilityState: true,\n nativeID: true,\n pointerEvents: true,\n removeClippedSubviews: true,\n role: true,\n borderRadius: true,\n borderColor: {process: require('../StyleSheet/processColor').default},\n borderCurve: true,\n borderWidth: true,\n borderStyle: true,\n hitSlop: {diff: require('../Utilities/differ/insetsDiffer').default},\n collapsable: true,\n collapsableChildren: true,\n experimental_filter:\n NativeReactNativeFeatureFlags != null &&\n ReactNativeFeatureFlags.enableNativeCSSParsing()\n ? true\n : {\n process: require('../StyleSheet/processFilter').default,\n },\n boxShadow:\n NativeReactNativeFeatureFlags != null &&\n ReactNativeFeatureFlags.enableNativeCSSParsing()\n ? true\n : {\n process: require('../StyleSheet/processBoxShadow').default,\n },\n mixBlendMode: true,\n isolation: true,\n\n borderTopWidth: true,\n borderTopColor: {process: require('../StyleSheet/processColor').default},\n borderRightWidth: true,\n borderRightColor: {process: require('../StyleSheet/processColor').default},\n borderBottomWidth: true,\n borderBottomColor: {process: require('../StyleSheet/processColor').default},\n borderLeftWidth: true,\n borderLeftColor: {process: require('../StyleSheet/processColor').default},\n borderStartWidth: true,\n borderStartColor: {process: require('../StyleSheet/processColor').default},\n borderEndWidth: true,\n borderEndColor: {process: require('../StyleSheet/processColor').default},\n\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n borderTopEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderBottomEndRadius: true,\n borderEndEndRadius: true,\n borderEndStartRadius: true,\n borderStartEndRadius: true,\n borderStartStartRadius: true,\n display: true,\n zIndex: true,\n\n // ShadowView properties\n top: true,\n right: true,\n start: true,\n end: true,\n bottom: true,\n left: true,\n\n inset: true,\n insetBlock: true,\n insetBlockEnd: true,\n insetBlockStart: true,\n insetInline: true,\n insetInlineEnd: true,\n insetInlineStart: true,\n\n width: true,\n height: true,\n\n minWidth: true,\n maxWidth: true,\n minHeight: true,\n maxHeight: true,\n\n // Also declared as ViewProps\n // borderTopWidth: true,\n // borderRightWidth: true,\n // borderBottomWidth: true,\n // borderLeftWidth: true,\n // borderStartWidth: true,\n // borderEndWidth: true,\n // borderWidth: true,\n\n margin: true,\n marginBlock: true,\n marginBlockEnd: true,\n marginBlockStart: true,\n marginBottom: true,\n marginEnd: true,\n marginHorizontal: true,\n marginInline: true,\n marginInlineEnd: true,\n marginInlineStart: true,\n marginLeft: true,\n marginRight: true,\n marginStart: true,\n marginTop: true,\n marginVertical: true,\n\n padding: true,\n paddingBlock: true,\n paddingBlockEnd: true,\n paddingBlockStart: true,\n paddingBottom: true,\n paddingEnd: true,\n paddingHorizontal: true,\n paddingInline: true,\n paddingInlineEnd: true,\n paddingInlineStart: true,\n paddingLeft: true,\n paddingRight: true,\n paddingStart: true,\n paddingTop: true,\n paddingVertical: true,\n\n flex: true,\n flexGrow: true,\n rowGap: true,\n columnGap: true,\n gap: true,\n flexShrink: true,\n flexBasis: true,\n flexDirection: true,\n flexWrap: true,\n justifyContent: true,\n alignItems: true,\n alignSelf: true,\n alignContent: true,\n position: true,\n aspectRatio: true,\n boxSizing: true,\n\n // Also declared as ViewProps\n // overflow: true,\n // display: true,\n\n direction: true,\n\n accessibilityLevel: true, // [Windows]\n accessibilityLiveRegion: true, // [Windows]\n accessibilityPosInSet: true, // [Windows]\n accessibilitySetSize: true, // [Windows]\n accessibilityAnnotation: true, // [Windows]\n accessibilityItemType: true, // [Windows]\n accessibilityAccessKey: true, // [Windows]\n disabled: true, // [Windows]\n focusable: true, // [Windows]\n keyDownEvents: true, // [Windows]\n keyUpEvents: true, // [Windows]\n tabIndex: true, // [Windows]\n tooltip: true, // [Windows]\n onClick: true, // [Windows]\n enableFocusRing: true, // [Windows]\n\n style: ReactNativeStyleAttributes,\n};\n\n// Props for bubbling and direct events\n// [Windows\nconst validAttributesForEventProps = {\n // Windows]\n onLayout: true,\n onMagicTap: true,\n\n // Accessibility\n onAccessibilityAction: true,\n onAccessibilityEscape: true,\n onAccessibilityTap: true,\n\n // PanResponder handlers\n onMoveShouldSetResponder: true,\n onMoveShouldSetResponderCapture: true,\n onStartShouldSetResponder: true,\n onStartShouldSetResponderCapture: true,\n onResponderGrant: true,\n onResponderReject: true,\n onResponderStart: true,\n onResponderEnd: true,\n onResponderRelease: true,\n onResponderMove: true,\n onResponderTerminate: true,\n onResponderTerminationRequest: true,\n onShouldBlockNativeResponder: true,\n\n // Touch events\n onTouchStart: true,\n onTouchMove: true,\n onTouchEnd: true,\n onTouchCancel: true,\n\n // Pointer events\n onClick: true,\n onClickCapture: true,\n onPointerUp: true,\n onPointerDown: true,\n onPointerCancel: true,\n onPointerEnter: true,\n onPointerMove: true,\n onPointerLeave: true,\n onPointerOver: true,\n onPointerOut: true,\n onGotPointerCapture: true,\n onLostPointerCapture: true,\n\n // [Windows\n // Mouse enter/leave events\n onMouseEnter: true,\n onMouseLeave: true,\n\n onKeyDown: true,\n onKeyUp: true,\n onPointerCancelCapture: true,\n\n onBlur: true,\n onFocus: true,\n // Windows]\n // [Windows\n};\n// Windows]\n\n/**\n * On iOS, view managers define all of a component's props.\n * All view managers extend RCTViewManager, and RCTViewManager declares these props.\n */\n// [Windows\nconst PlatformBaseViewConfigWindows: PartialViewConfigWithoutName = {\n // Windows]\n bubblingEventTypes,\n directEventTypes,\n validAttributes: {\n ...validAttributesForNonEventProps,\n ...validAttributesForEventProps,\n },\n};\n// [Windows\nexport default PlatformBaseViewConfigWindows;\n// Windows]\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport Platform from '../Utilities/Platform';\n\nconst ignoredViewConfigProps = new WeakSet<{...}>();\n\n/**\n * Decorates ViewConfig values that are dynamically injected by the library,\n * react-native-gesture-handler. (T45765076)\n */\nexport function DynamicallyInjectedByGestureHandler(object: T): T {\n ignoredViewConfigProps.add(object);\n return object;\n}\n\n/**\n * On iOS, ViewManager event declarations generate {eventName}: true entries\n * in ViewConfig valueAttributes. These entries aren't generated for Android.\n * This annotation allows Static ViewConfigs to insert these entries into\n * iOS but not Android.\n *\n * In the future, we want to remove this platform-inconsistency. We want\n * to set RN$ViewConfigEventValidAttributesDisabled = true server-side,\n * so that iOS does not generate validAttributes from event props in iOS RCTViewManager,\n * since Android does not generate validAttributes from events props in Android ViewManager.\n *\n * TODO(T110872225): Remove this logic, after achieving platform-consistency\n */\nexport function ConditionallyIgnoredEventHandlers(\n value: T,\n): T | void {\n if (Platform.OS === 'ios') {\n return value;\n }\n return undefined;\n}\n\nexport function isIgnored(value: mixed): boolean {\n if (typeof value === 'object' && value != null) {\n return ignoredViewConfigProps.has(value);\n }\n return false;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nconst {dispatchCommand} = require('../ReactNative/RendererProxy');\n\ntype Options = $ReadOnly<{\n supportedCommands: $ReadOnlyArray,\n}>;\n\nfunction codegenNativeCommands(options: Options<$Keys>): T {\n const commandObj: {[$Keys]: (...$ReadOnlyArray) => void} = {};\n\n options.supportedCommands.forEach(command => {\n // $FlowFixMe[missing-local-annot]\n commandObj[command] = (ref, ...args) => {\n // $FlowFixMe[incompatible-call]\n dispatchCommand(ref, command, args);\n };\n });\n\n return ((commandObj: any): T);\n}\n\nexport default codegenNativeCommands;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {AttributeConfiguration} from '../../Renderer/shims/ReactNativeTypes';\n\nexport default function warnForStyleProps(\n props: {...},\n validAttributes: AttributeConfiguration,\n): void {\n if (__DEV__) {\n for (const key in validAttributes.style) {\n // $FlowFixMe[invalid-computed-prop]\n if (!(validAttributes[key] || props[key] === undefined)) {\n console.error(\n 'You are setting the style `{ %s' +\n ': ... }` as a prop. You ' +\n 'should nest it in a style object. ' +\n 'E.g. `{ style: { %s' +\n ': ... } }`',\n key,\n key,\n );\n }\n }\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport type {AttributeConfiguration} from '../../Renderer/shims/ReactNativeTypes';\n\nimport flattenStyle from '../../StyleSheet/flattenStyle';\nimport deepDiffer from '../../Utilities/differ/deepDiffer';\n\nconst emptyObject = {};\n\n/**\n * Create a payload that contains all the updates between two sets of props.\n *\n * These helpers are all encapsulated into a single module, because they use\n * mutation as a performance optimization which leads to subtle shared\n * dependencies between the code paths. To avoid this mutable state leaking\n * across modules, I've kept them isolated to this module.\n */\n\ntype NestedNode = Array | Object;\n\n// Tracks removed keys\nlet removedKeys: {[string]: boolean} | null = null;\nlet removedKeyCount = 0;\n\nconst deepDifferOptions = {\n unsafelyIgnoreFunctions: true,\n};\n\nfunction defaultDiffer(prevProp: mixed, nextProp: mixed): boolean {\n if (typeof nextProp !== 'object' || nextProp === null) {\n // Scalars have already been checked for equality\n return true;\n } else {\n // For objects and arrays, the default diffing algorithm is a deep compare\n return deepDiffer(prevProp, nextProp, deepDifferOptions);\n }\n}\n\nfunction restoreDeletedValuesInNestedArray(\n updatePayload: Object,\n node: NestedNode,\n validAttributes: AttributeConfiguration,\n) {\n if (Array.isArray(node)) {\n let i = node.length;\n while (i-- && removedKeyCount > 0) {\n restoreDeletedValuesInNestedArray(\n updatePayload,\n node[i],\n validAttributes,\n );\n }\n } else if (node && removedKeyCount > 0) {\n const obj = node;\n for (const propKey in removedKeys) {\n // $FlowFixMe[incompatible-use] found when upgrading Flow\n if (!removedKeys[propKey]) {\n continue;\n }\n let nextProp = obj[propKey];\n if (nextProp === undefined) {\n continue;\n }\n\n const attributeConfig = validAttributes[propKey];\n if (!attributeConfig) {\n continue; // not a valid native prop\n }\n\n if (typeof nextProp === 'function') {\n // $FlowFixMe[incompatible-type] found when upgrading Flow\n nextProp = true;\n }\n if (typeof nextProp === 'undefined') {\n // $FlowFixMe[incompatible-type] found when upgrading Flow\n nextProp = null;\n }\n\n if (typeof attributeConfig !== 'object') {\n // case: !Object is the default case\n updatePayload[propKey] = nextProp;\n } else if (\n typeof attributeConfig.diff === 'function' ||\n typeof attributeConfig.process === 'function'\n ) {\n // case: CustomAttributeConfiguration\n const nextValue =\n typeof attributeConfig.process === 'function'\n ? attributeConfig.process(nextProp)\n : nextProp;\n updatePayload[propKey] = nextValue;\n }\n // $FlowFixMe[incompatible-use] found when upgrading Flow\n removedKeys[propKey] = false;\n removedKeyCount--;\n }\n }\n}\n\nfunction diffNestedArrayProperty(\n updatePayload: null | Object,\n prevArray: Array,\n nextArray: Array,\n validAttributes: AttributeConfiguration,\n): null | Object {\n const minLength =\n prevArray.length < nextArray.length ? prevArray.length : nextArray.length;\n let i;\n for (i = 0; i < minLength; i++) {\n // Diff any items in the array in the forward direction. Repeated keys\n // will be overwritten by later values.\n updatePayload = diffNestedProperty(\n updatePayload,\n prevArray[i],\n nextArray[i],\n validAttributes,\n );\n }\n for (; i < prevArray.length; i++) {\n // Clear out all remaining properties.\n updatePayload = clearNestedProperty(\n updatePayload,\n prevArray[i],\n validAttributes,\n );\n }\n for (; i < nextArray.length; i++) {\n // Add all remaining properties.\n updatePayload = addNestedProperty(\n updatePayload,\n nextArray[i],\n validAttributes,\n );\n }\n return updatePayload;\n}\n\nfunction diffNestedProperty(\n updatePayload: null | Object,\n prevProp: NestedNode,\n nextProp: NestedNode,\n validAttributes: AttributeConfiguration,\n): null | Object {\n if (!updatePayload && prevProp === nextProp) {\n // If no properties have been added, then we can bail out quickly on object\n // equality.\n return updatePayload;\n }\n\n if (!prevProp || !nextProp) {\n if (nextProp) {\n return addNestedProperty(updatePayload, nextProp, validAttributes);\n }\n if (prevProp) {\n return clearNestedProperty(updatePayload, prevProp, validAttributes);\n }\n return updatePayload;\n }\n\n if (!Array.isArray(prevProp) && !Array.isArray(nextProp)) {\n // Both are leaves, we can diff the leaves.\n return diffProperties(updatePayload, prevProp, nextProp, validAttributes);\n }\n\n if (Array.isArray(prevProp) && Array.isArray(nextProp)) {\n // Both are arrays, we can diff the arrays.\n return diffNestedArrayProperty(\n updatePayload,\n prevProp,\n nextProp,\n validAttributes,\n );\n }\n\n if (Array.isArray(prevProp)) {\n return diffProperties(\n updatePayload,\n // $FlowFixMe - We know that this is always an object when the input is.\n flattenStyle(prevProp),\n // $FlowFixMe - We know that this isn't an array because of above flow.\n nextProp,\n validAttributes,\n );\n }\n\n return diffProperties(\n updatePayload,\n prevProp,\n // $FlowFixMe - We know that this is always an object when the input is.\n flattenStyle(nextProp),\n validAttributes,\n );\n}\n\n/**\n * addNestedProperty takes a single set of props and valid attribute\n * attribute configurations. It processes each prop and adds it to the\n * updatePayload.\n */\nfunction addNestedProperty(\n updatePayload: null | Object,\n nextProp: NestedNode,\n validAttributes: AttributeConfiguration,\n): $FlowFixMe {\n if (!nextProp) {\n return updatePayload;\n }\n\n if (!Array.isArray(nextProp)) {\n // Add each property of the leaf.\n return addProperties(updatePayload, nextProp, validAttributes);\n }\n\n for (let i = 0; i < nextProp.length; i++) {\n // Add all the properties of the array.\n updatePayload = addNestedProperty(\n updatePayload,\n nextProp[i],\n validAttributes,\n );\n }\n\n return updatePayload;\n}\n\n/**\n * clearNestedProperty takes a single set of props and valid attributes. It\n * adds a null sentinel to the updatePayload, for each prop key.\n */\nfunction clearNestedProperty(\n updatePayload: null | Object,\n prevProp: NestedNode,\n validAttributes: AttributeConfiguration,\n): null | Object {\n if (!prevProp) {\n return updatePayload;\n }\n\n if (!Array.isArray(prevProp)) {\n // Add each property of the leaf.\n return clearProperties(updatePayload, prevProp, validAttributes);\n }\n\n for (let i = 0; i < prevProp.length; i++) {\n // Add all the properties of the array.\n updatePayload = clearNestedProperty(\n updatePayload,\n prevProp[i],\n validAttributes,\n );\n }\n return updatePayload;\n}\n\n/**\n * diffProperties takes two sets of props and a set of valid attributes\n * and write to updatePayload the values that changed or were deleted.\n * If no updatePayload is provided, a new one is created and returned if\n * anything changed.\n */\nfunction diffProperties(\n updatePayload: null | Object,\n prevProps: Object,\n nextProps: Object,\n validAttributes: AttributeConfiguration,\n): null | Object {\n let attributeConfig;\n let nextProp;\n let prevProp;\n\n for (const propKey in nextProps) {\n attributeConfig = validAttributes[propKey];\n if (!attributeConfig) {\n continue; // not a valid native prop\n }\n\n prevProp = prevProps[propKey];\n nextProp = nextProps[propKey];\n\n // functions are converted to booleans as markers that the associated\n // events should be sent from native.\n if (typeof nextProp === 'function') {\n nextProp = (true: any);\n // If nextProp is not a function, then don't bother changing prevProp\n // since nextProp will win and go into the updatePayload regardless.\n if (typeof prevProp === 'function') {\n prevProp = (true: any);\n }\n }\n\n // An explicit value of undefined is treated as a null because it overrides\n // any other preceding value.\n if (typeof nextProp === 'undefined') {\n nextProp = (null: any);\n if (typeof prevProp === 'undefined') {\n prevProp = (null: any);\n }\n }\n\n if (removedKeys) {\n removedKeys[propKey] = false;\n }\n\n if (updatePayload && updatePayload[propKey] !== undefined) {\n // Something else already triggered an update to this key because another\n // value diffed. Since we're now later in the nested arrays our value is\n // more important so we need to calculate it and override the existing\n // value. It doesn't matter if nothing changed, we'll set it anyway.\n\n // Pattern match on: attributeConfig\n if (typeof attributeConfig !== 'object') {\n // case: !Object is the default case\n updatePayload[propKey] = nextProp;\n } else if (\n typeof attributeConfig.diff === 'function' ||\n typeof attributeConfig.process === 'function'\n ) {\n // case: CustomAttributeConfiguration\n const nextValue =\n typeof attributeConfig.process === 'function'\n ? attributeConfig.process(nextProp)\n : nextProp;\n updatePayload[propKey] = nextValue;\n }\n continue;\n }\n\n if (prevProp === nextProp) {\n continue; // nothing changed\n }\n\n // Pattern match on: attributeConfig\n if (typeof attributeConfig !== 'object') {\n // case: !Object is the default case\n if (defaultDiffer(prevProp, nextProp)) {\n // a normal leaf has changed\n (updatePayload || (updatePayload = ({}: {[string]: $FlowFixMe})))[\n propKey\n ] = nextProp;\n }\n } else if (\n typeof attributeConfig.diff === 'function' ||\n typeof attributeConfig.process === 'function'\n ) {\n // case: CustomAttributeConfiguration\n const shouldUpdate =\n prevProp === undefined ||\n (typeof attributeConfig.diff === 'function'\n ? attributeConfig.diff(prevProp, nextProp)\n : defaultDiffer(prevProp, nextProp));\n if (shouldUpdate) {\n const nextValue =\n typeof attributeConfig.process === 'function'\n ? // $FlowFixMe[incompatible-use] found when upgrading Flow\n attributeConfig.process(nextProp)\n : nextProp;\n (updatePayload || (updatePayload = ({}: {[string]: $FlowFixMe})))[\n propKey\n ] = nextValue;\n }\n } else {\n // default: fallthrough case when nested properties are defined\n removedKeys = null;\n removedKeyCount = 0;\n // We think that attributeConfig is not CustomAttributeConfiguration at\n // this point so we assume it must be AttributeConfiguration.\n updatePayload = diffNestedProperty(\n updatePayload,\n prevProp,\n nextProp,\n ((attributeConfig: any): AttributeConfiguration),\n );\n if (removedKeyCount > 0 && updatePayload) {\n restoreDeletedValuesInNestedArray(\n updatePayload,\n nextProp,\n ((attributeConfig: any): AttributeConfiguration),\n );\n removedKeys = null;\n }\n }\n }\n\n // Also iterate through all the previous props to catch any that have been\n // removed and make sure native gets the signal so it can reset them to the\n // default.\n for (const propKey in prevProps) {\n if (nextProps[propKey] !== undefined) {\n continue; // we've already covered this key in the previous pass\n }\n attributeConfig = validAttributes[propKey];\n if (!attributeConfig) {\n continue; // not a valid native prop\n }\n\n if (updatePayload && updatePayload[propKey] !== undefined) {\n // This was already updated to a diff result earlier.\n continue;\n }\n\n prevProp = prevProps[propKey];\n if (prevProp === undefined) {\n continue; // was already empty anyway\n }\n // Pattern match on: attributeConfig\n if (\n typeof attributeConfig !== 'object' ||\n typeof attributeConfig.diff === 'function' ||\n typeof attributeConfig.process === 'function'\n ) {\n // case: CustomAttributeConfiguration | !Object\n // Flag the leaf property for removal by sending a sentinel.\n (updatePayload || (updatePayload = ({}: {[string]: $FlowFixMe})))[\n propKey\n ] = null;\n if (!removedKeys) {\n removedKeys = ({}: {[string]: boolean});\n }\n if (!removedKeys[propKey]) {\n removedKeys[propKey] = true;\n removedKeyCount++;\n }\n } else {\n // default:\n // This is a nested attribute configuration where all the properties\n // were removed so we need to go through and clear out all of them.\n updatePayload = clearNestedProperty(\n updatePayload,\n prevProp,\n ((attributeConfig: any): AttributeConfiguration),\n );\n }\n }\n return updatePayload;\n}\n\n/**\n * addProperties adds all the valid props to the payload after being processed.\n */\nfunction addProperties(\n updatePayload: null | Object,\n props: Object,\n validAttributes: AttributeConfiguration,\n): null | Object {\n // TODO: Fast path\n return diffProperties(updatePayload, emptyObject, props, validAttributes);\n}\n\n/**\n * clearProperties clears all the previous props by adding a null sentinel\n * to the payload for each valid key.\n */\nfunction clearProperties(\n updatePayload: null | Object,\n prevProps: Object,\n validAttributes: AttributeConfiguration,\n): null | Object {\n // TODO: Fast path\n return diffProperties(updatePayload, prevProps, emptyObject, validAttributes);\n}\n\nexport function create(\n props: Object,\n validAttributes: AttributeConfiguration,\n): null | Object {\n return addProperties(\n null, // updatePayload\n props,\n validAttributes,\n );\n}\n\nexport function diff(\n prevProps: Object,\n nextProps: Object,\n validAttributes: AttributeConfiguration,\n): null | Object {\n return diffProperties(\n null, // updatePayload\n prevProps,\n nextProps,\n validAttributes,\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport type {DangerouslyImpreciseStyleProp} from './StyleSheet';\nimport type {____FlattenStyleProp_Internal} from './StyleSheetTypes';\n\nfunction flattenStyle(\n style: ?TStyleProp,\n // $FlowFixMe[underconstrained-implicit-instantiation]\n): ?____FlattenStyleProp_Internal {\n if (style === null || typeof style !== 'object') {\n return undefined;\n }\n\n if (!Array.isArray(style)) {\n // $FlowFixMe[incompatible-return]\n return style;\n }\n\n const result: {[string]: $FlowFixMe} = {};\n for (let i = 0, styleLength = style.length; i < styleLength; ++i) {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n const computedStyle = flattenStyle(style[i]);\n if (computedStyle) {\n // $FlowFixMe[invalid-in-rhs]\n for (const key in computedStyle) {\n // $FlowFixMe[incompatible-use]\n // $FlowFixMe[invalid-computed-prop]\n result[key] = computedStyle[key];\n }\n }\n }\n // $FlowFixMe[incompatible-return]\n return result;\n}\n\nexport default flattenStyle;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\n\nlet logListeners;\n\ntype LogListeners = {\n +onDifferentFunctionsIgnored: (nameOne: ?string, nameTwo: ?string) => void,\n};\n\ntype Options = {+unsafelyIgnoreFunctions?: boolean};\n\nfunction unstable_setLogListeners(listeners: ?LogListeners) {\n logListeners = listeners;\n}\n\n/*\n * @returns {bool} true if different, false if equal\n */\nfunction deepDiffer(\n one: any,\n two: any,\n maxDepthOrOptions: Options | number = -1,\n maybeOptions?: Options,\n): boolean {\n const options =\n typeof maxDepthOrOptions === 'number' ? maybeOptions : maxDepthOrOptions;\n const maxDepth =\n typeof maxDepthOrOptions === 'number' ? maxDepthOrOptions : -1;\n if (maxDepth === 0) {\n return true;\n }\n if (one === two) {\n // Short circuit on identical object references instead of traversing them.\n return false;\n }\n if (typeof one === 'function' && typeof two === 'function') {\n // We consider all functions equal unless explicitly configured otherwise\n let unsafelyIgnoreFunctions = options?.unsafelyIgnoreFunctions;\n if (unsafelyIgnoreFunctions == null) {\n if (\n logListeners &&\n logListeners.onDifferentFunctionsIgnored &&\n (!options || !('unsafelyIgnoreFunctions' in options))\n ) {\n logListeners.onDifferentFunctionsIgnored(one.name, two.name);\n }\n unsafelyIgnoreFunctions = true;\n }\n return !unsafelyIgnoreFunctions;\n }\n if (typeof one !== 'object' || one === null) {\n // Primitives can be directly compared\n return one !== two;\n }\n if (typeof two !== 'object' || two === null) {\n // We know they are different because the previous case would have triggered\n // otherwise.\n return true;\n }\n if (one.constructor !== two.constructor) {\n return true;\n }\n if (Array.isArray(one)) {\n // We know two is also an array because the constructors are equal\n const len = one.length;\n if (two.length !== len) {\n return true;\n }\n for (let ii = 0; ii < len; ii++) {\n if (deepDiffer(one[ii], two[ii], maxDepth - 1, options)) {\n return true;\n }\n }\n } else {\n for (const key in one) {\n if (deepDiffer(one[key], two[key], maxDepth - 1, options)) {\n return true;\n }\n }\n for (const twoKey in two) {\n // The only case we haven't checked yet is keys that are in two but aren't\n // in one, which means they are different.\n if (one[twoKey] === undefined && two[twoKey] !== undefined) {\n return true;\n }\n }\n }\n return false;\n}\n\ndeepDiffer.unstable_setLogListeners = unstable_setLogListeners;\nexport default deepDiffer;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type ReadOnlyElement from './ReadOnlyElement';\n\nimport {getNativeTextReference} from './internals/NodeInternals';\nimport {getElementSibling} from './internals/Traversal';\nimport ReadOnlyNode from './ReadOnlyNode';\nimport NativeDOM from './specs/NativeDOM';\n\nexport default class ReadOnlyCharacterData extends ReadOnlyNode {\n get nextElementSibling(): ReadOnlyElement | null {\n return getElementSibling(this, 'next');\n }\n\n get previousElementSibling(): ReadOnlyElement | null {\n return getElementSibling(this, 'previous');\n }\n\n get data(): string {\n const node = getNativeTextReference(this);\n\n if (node != null) {\n return NativeDOM.getTextContent(node);\n }\n\n return '';\n }\n\n get length(): number {\n return this.data.length;\n }\n\n /**\n * @override\n */\n get textContent(): string {\n return this.data;\n }\n\n /**\n * @override\n */\n get nodeValue(): string {\n return this.data;\n }\n\n substringData(offset: number, count: number): string {\n const data = this.data;\n if (offset < 0) {\n throw new TypeError(\n `Failed to execute 'substringData' on 'CharacterData': The offset ${offset} is negative.`,\n );\n }\n if (offset > data.length) {\n throw new TypeError(\n `Failed to execute 'substringData' on 'CharacterData': The offset ${offset} is greater than the node's length (${data.length}).`,\n );\n }\n let adjustedCount = count < 0 || count > data.length ? data.length : count;\n return data.slice(offset, offset + adjustedCount);\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport ReadOnlyCharacterData from './ReadOnlyCharacterData';\nimport ReadOnlyNode from './ReadOnlyNode';\n\nexport default class ReadOnlyText extends ReadOnlyCharacterData {\n /**\n * @override\n */\n get nodeName(): string {\n return '#text';\n }\n\n /**\n * @override\n */\n get nodeType(): number {\n return ReadOnlyNode.TEXT_NODE;\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport Performance from '../../src/private/webapis/performance/Performance';\nimport NativePerformance from '../../src/private/webapis/performance/specs/NativePerformance';\n\n// In case if the native implementation of the Performance API is available, use it,\n// otherwise fall back to the legacy/default one, which only defines 'Performance.now()'\nif (NativePerformance) {\n // $FlowExpectedError[cannot-write]\n global.performance = new Performance();\n} else {\n if (!global.performance) {\n // $FlowExpectedError[cannot-write]\n global.performance = {\n mark: () => {},\n measure: () => {},\n now: () => {\n const performanceNow = global.nativePerformanceNow || Date.now;\n return performanceNow();\n },\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type {\n DOMHighResTimeStamp,\n PerformanceEntryList,\n PerformanceEntryType,\n} from './PerformanceEntry';\nimport type {DetailType, PerformanceMarkOptions} from './UserTiming';\n\nimport {EventCounts} from './EventTiming';\nimport {\n performanceEntryTypeToRaw,\n rawToPerformanceEntry,\n} from './internals/RawPerformanceEntry';\nimport {warnNoNativePerformance} from './internals/Utilities';\nimport MemoryInfo from './MemoryInfo';\nimport ReactNativeStartupTiming from './ReactNativeStartupTiming';\nimport NativePerformance from './specs/NativePerformance';\nimport {PerformanceMark, PerformanceMeasure} from './UserTiming';\n\ndeclare var global: {\n // This value is defined directly via JSI, if available.\n +nativePerformanceNow?: ?() => number,\n};\n\nconst getCurrentTimeStamp: () => DOMHighResTimeStamp =\n NativePerformance?.now ?? global.nativePerformanceNow ?? (() => Date.now());\n\nexport type PerformanceMeasureOptions = {\n detail?: DetailType,\n start?: DOMHighResTimeStamp,\n duration?: DOMHighResTimeStamp,\n end?: DOMHighResTimeStamp,\n};\n\nconst ENTRY_TYPES_AVAILABLE_FROM_TIMELINE: $ReadOnlyArray =\n ['mark', 'measure'];\n\n/**\n * Partial implementation of the Performance interface for RN,\n * corresponding to the standard in\n * https://www.w3.org/TR/user-timing/#extensions-performance-interface\n */\nexport default class Performance {\n eventCounts: EventCounts = new EventCounts();\n\n // Get the current JS memory information.\n get memory(): MemoryInfo {\n if (NativePerformance?.getSimpleMemoryInfo) {\n // JSI API implementations may have different variants of names for the JS\n // heap information we need here. We will parse the result based on our\n // guess of the implementation for now.\n const memoryInfo = NativePerformance.getSimpleMemoryInfo();\n if (memoryInfo.hasOwnProperty('hermes_heapSize')) {\n // We got memory information from Hermes\n const {\n hermes_heapSize: totalJSHeapSize,\n hermes_allocatedBytes: usedJSHeapSize,\n } = memoryInfo;\n\n return new MemoryInfo({\n jsHeapSizeLimit: null, // We don't know the heap size limit from Hermes.\n totalJSHeapSize,\n usedJSHeapSize,\n });\n } else {\n // JSC and V8 has no native implementations for memory information in JSI::Instrumentation\n return new MemoryInfo();\n }\n }\n\n return new MemoryInfo();\n }\n\n // Startup metrics is not used in web, but only in React Native.\n get rnStartupTiming(): ReactNativeStartupTiming {\n if (NativePerformance?.getReactNativeStartupTiming) {\n const {\n startTime,\n endTime,\n initializeRuntimeStart,\n initializeRuntimeEnd,\n executeJavaScriptBundleEntryPointStart,\n executeJavaScriptBundleEntryPointEnd,\n } = NativePerformance.getReactNativeStartupTiming();\n return new ReactNativeStartupTiming({\n startTime,\n endTime,\n initializeRuntimeStart,\n initializeRuntimeEnd,\n executeJavaScriptBundleEntryPointStart,\n executeJavaScriptBundleEntryPointEnd,\n });\n }\n return new ReactNativeStartupTiming();\n }\n\n mark(\n markName: string,\n markOptions?: PerformanceMarkOptions,\n ): PerformanceMark {\n let computedStartTime;\n if (NativePerformance?.markWithResult) {\n computedStartTime = NativePerformance.markWithResult(\n markName,\n markOptions?.startTime,\n );\n } else {\n warnNoNativePerformance();\n computedStartTime = performance.now();\n }\n\n return new PerformanceMark(markName, {\n startTime: computedStartTime,\n detail: markOptions?.detail,\n });\n }\n\n clearMarks(markName?: string): void {\n if (!NativePerformance?.clearMarks) {\n warnNoNativePerformance();\n return;\n }\n\n NativePerformance.clearMarks(markName);\n }\n\n measure(\n measureName: string,\n startMarkOrOptions?: string | PerformanceMeasureOptions,\n endMark?: string,\n ): PerformanceMeasure {\n let options;\n let startMarkName,\n endMarkName = endMark,\n duration,\n startTime = 0,\n endTime = 0;\n\n if (typeof startMarkOrOptions === 'string') {\n startMarkName = startMarkOrOptions;\n options = {};\n } else if (startMarkOrOptions !== undefined) {\n options = startMarkOrOptions;\n if (endMark !== undefined) {\n throw new TypeError(\n \"Performance.measure: Can't have both options and endMark\",\n );\n }\n if (options.start === undefined && options.end === undefined) {\n throw new TypeError(\n 'Performance.measure: Must have at least one of start/end specified in options',\n );\n }\n if (\n options.start !== undefined &&\n options.end !== undefined &&\n options.duration !== undefined\n ) {\n throw new TypeError(\n \"Performance.measure: Can't have both start/end and duration explicitly in options\",\n );\n }\n\n if (typeof options.start === 'number') {\n startTime = options.start;\n } else {\n startMarkName = options.start;\n }\n\n if (typeof options.end === 'number') {\n endTime = options.end;\n } else {\n endMarkName = options.end;\n }\n\n duration = options.duration ?? duration;\n }\n\n let computedStartTime = startTime;\n let computedDuration = duration;\n\n if (NativePerformance?.measureWithResult) {\n [computedStartTime, computedDuration] =\n NativePerformance.measureWithResult(\n measureName,\n startTime,\n endTime,\n duration,\n startMarkName,\n endMarkName,\n );\n } else {\n warnNoNativePerformance();\n }\n\n const measure = new PerformanceMeasure(measureName, {\n startTime: computedStartTime,\n duration: computedDuration ?? 0,\n detail: options?.detail,\n });\n\n return measure;\n }\n\n clearMeasures(measureName?: string): void {\n if (!NativePerformance?.clearMeasures) {\n warnNoNativePerformance();\n return;\n }\n\n NativePerformance?.clearMeasures(measureName);\n }\n\n /**\n * Returns a double, measured in milliseconds.\n * https://developer.mozilla.org/en-US/docs/Web/API/Performance/now\n */\n now(): DOMHighResTimeStamp {\n return getCurrentTimeStamp();\n }\n\n /**\n * An extension that allows to get back to JS all currently logged marks/measures\n * (in our case, be it from JS or native), see\n * https://www.w3.org/TR/performance-timeline/#extensions-to-the-performance-interface\n */\n getEntries(): PerformanceEntryList {\n if (!NativePerformance?.getEntries) {\n warnNoNativePerformance();\n return [];\n }\n return NativePerformance.getEntries().map(rawToPerformanceEntry);\n }\n\n getEntriesByType(entryType: PerformanceEntryType): PerformanceEntryList {\n if (\n entryType != null &&\n !ENTRY_TYPES_AVAILABLE_FROM_TIMELINE.includes(entryType)\n ) {\n console.warn('Deprecated API for given entry type.');\n return [];\n }\n\n if (!NativePerformance?.getEntriesByType) {\n warnNoNativePerformance();\n return [];\n }\n\n return NativePerformance.getEntriesByType(\n performanceEntryTypeToRaw(entryType),\n ).map(rawToPerformanceEntry);\n }\n\n getEntriesByName(\n entryName: string,\n entryType?: PerformanceEntryType,\n ): PerformanceEntryList {\n if (\n entryType != null &&\n !ENTRY_TYPES_AVAILABLE_FROM_TIMELINE.includes(entryType)\n ) {\n console.warn('Deprecated API for given entry type.');\n return [];\n }\n\n if (!NativePerformance?.getEntriesByName) {\n warnNoNativePerformance();\n return [];\n }\n\n return NativePerformance.getEntriesByName(\n entryName,\n entryType != null ? performanceEntryTypeToRaw(entryType) : undefined,\n ).map(rawToPerformanceEntry);\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n * @oncall react_native\n */\n\n// flowlint unsafe-getters-setters:off\n\ntype MemoryInfoLike = {\n jsHeapSizeLimit: ?number,\n totalJSHeapSize: ?number,\n usedJSHeapSize: ?number,\n};\n\n// Read-only object with JS memory information. This is returned by the performance.memory API.\nexport default class MemoryInfo {\n #jsHeapSizeLimit: ?number;\n #totalJSHeapSize: ?number;\n #usedJSHeapSize: ?number;\n\n constructor(memoryInfo: ?MemoryInfoLike) {\n if (memoryInfo != null) {\n this.#jsHeapSizeLimit = memoryInfo.jsHeapSizeLimit;\n this.#totalJSHeapSize = memoryInfo.totalJSHeapSize;\n this.#usedJSHeapSize = memoryInfo.usedJSHeapSize;\n }\n }\n\n /**\n * The maximum size of the heap, in bytes, that is available to the context\n */\n get jsHeapSizeLimit(): ?number {\n return this.#jsHeapSizeLimit;\n }\n\n /**\n * The total allocated heap size, in bytes\n */\n get totalJSHeapSize(): ?number {\n return this.#totalJSHeapSize;\n }\n\n /**\n * The currently active segment of JS heap, in bytes.\n */\n get usedJSHeapSize(): ?number {\n return this.#usedJSHeapSize;\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n * @oncall react_native\n */\n\n// flowlint unsafe-getters-setters:off\n\ntype ReactNativeStartupTimingLike = {\n startTime: ?number,\n endTime: ?number,\n initializeRuntimeStart: ?number,\n initializeRuntimeEnd: ?number,\n executeJavaScriptBundleEntryPointStart: ?number,\n executeJavaScriptBundleEntryPointEnd: ?number,\n};\n\n// Read-only object with RN startup timing information.\n// This is returned by the performance.reactNativeStartup API.\nexport default class ReactNativeStartupTiming {\n // All time information here are in ms. The values may be null if not provided.\n // We do NOT match web spect here for two reasons:\n // 1. The `ReactNativeStartupTiming` is non-standard API\n // 2. The timing information is relative to the time origin, which means `0` has valid meaning\n #startTime: ?number;\n #endTime: ?number;\n #initializeRuntimeStart: ?number;\n #initializeRuntimeEnd: ?number;\n #executeJavaScriptBundleEntryPointStart: ?number;\n #executeJavaScriptBundleEntryPointEnd: ?number;\n\n constructor(startUpTiming: ?ReactNativeStartupTimingLike) {\n if (startUpTiming != null) {\n this.#startTime = startUpTiming.startTime;\n this.#endTime = startUpTiming.endTime;\n this.#initializeRuntimeStart = startUpTiming.initializeRuntimeStart;\n this.#initializeRuntimeEnd = startUpTiming.initializeRuntimeEnd;\n this.#executeJavaScriptBundleEntryPointStart =\n startUpTiming.executeJavaScriptBundleEntryPointStart;\n this.#executeJavaScriptBundleEntryPointEnd =\n startUpTiming.executeJavaScriptBundleEntryPointEnd;\n }\n }\n\n /**\n * Start time of the RN app startup process. This is provided by the platform by implementing the `ReactMarker.setAppStartTime` API in the native platform code.\n */\n get startTime(): ?number {\n return this.#startTime;\n }\n\n /**\n * End time of the RN app startup process. This is equal to `executeJavaScriptBundleEntryPointEnd`.\n */\n get endTime(): ?number {\n return this.#endTime;\n }\n\n /**\n * Start time when RN runtime get initialized. This is when RN infra first kicks in app startup process.\n */\n get initializeRuntimeStart(): ?number {\n return this.#initializeRuntimeStart;\n }\n\n /**\n * End time when RN runtime get initialized. This is the last marker before ends of the app startup process.\n */\n get initializeRuntimeEnd(): ?number {\n return this.#initializeRuntimeEnd;\n }\n\n /**\n * Start time of JS bundle being executed. This indicates the RN JS bundle is loaded and start to be evaluated.\n */\n get executeJavaScriptBundleEntryPointStart(): ?number {\n return this.#executeJavaScriptBundleEntryPointStart;\n }\n\n /**\n * End time of JS bundle being executed. This indicates all the synchronous entry point jobs are finished.\n */\n get executeJavaScriptBundleEntryPointEnd(): ?number {\n return this.#executeJavaScriptBundleEntryPointEnd;\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport type NativeMemoryInfo = {[key: string]: ?number};\n\nexport type ReactNativeStartupTiming = {[key: string]: ?number};\n\nexport type RawPerformanceEntryType = number;\n\nexport type RawPerformanceEntry = {\n name: string,\n entryType: RawPerformanceEntryType,\n startTime: number,\n duration: number,\n\n // For \"event\" entries only:\n processingStart?: number,\n processingEnd?: number,\n interactionId?: number,\n};\n\nexport type OpaqueNativeObserverHandle = mixed;\n\nexport type NativeBatchedObserverCallback = () => void;\nexport type NativePerformanceMarkResult = number;\nexport type NativePerformanceMeasureResult = $ReadOnlyArray; // [startTime, duration]\n\nexport type PerformanceObserverInit = {\n entryTypes?: $ReadOnlyArray,\n type?: number,\n buffered?: boolean,\n durationThreshold?: number,\n};\n\nexport interface Spec extends TurboModule {\n +now?: () => number;\n +markWithResult?: (\n name: string,\n startTime?: number,\n ) => NativePerformanceMarkResult;\n +measureWithResult?: (\n name: string,\n startTime: number,\n endTime: number,\n duration?: number,\n startMark?: string,\n endMark?: string,\n ) => NativePerformanceMeasureResult;\n +clearMarks?: (entryName?: string) => void;\n +clearMeasures?: (entryName?: string) => void;\n +getEntries?: () => $ReadOnlyArray;\n +getEntriesByName?: (\n entryName: string,\n entryType?: ?RawPerformanceEntryType,\n ) => $ReadOnlyArray;\n +getEntriesByType?: (\n entryType: RawPerformanceEntryType,\n ) => $ReadOnlyArray;\n +getEventCounts?: () => $ReadOnlyArray<[string, number]>;\n +getSimpleMemoryInfo: () => NativeMemoryInfo;\n +getReactNativeStartupTiming: () => ReactNativeStartupTiming;\n\n +createObserver?: (\n callback: NativeBatchedObserverCallback,\n ) => OpaqueNativeObserverHandle;\n +getDroppedEntriesCount?: (observer: OpaqueNativeObserverHandle) => number;\n\n +observe?: (\n observer: OpaqueNativeObserverHandle,\n options: PerformanceObserverInit,\n ) => void;\n +disconnect?: (observer: OpaqueNativeObserverHandle) => void;\n +takeRecords?: (\n observer: OpaqueNativeObserverHandle,\n sort: boolean,\n ) => $ReadOnlyArray;\n\n +getSupportedPerformanceEntryTypes?: () => $ReadOnlyArray;\n}\n\nexport default (TurboModuleRegistry.get('NativePerformanceCxx'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type {\n DOMHighResTimeStamp,\n PerformanceEntryJSON,\n} from './PerformanceEntry';\n\nimport {warnNoNativePerformance} from './internals/Utilities';\nimport {PerformanceEntry} from './PerformanceEntry';\nimport NativePerformance from './specs/NativePerformance';\n\nexport type PerformanceEventTimingJSON = {\n ...PerformanceEntryJSON,\n processingStart: DOMHighResTimeStamp,\n processingEnd: DOMHighResTimeStamp,\n interactionId: number,\n ...\n};\n\nexport class PerformanceEventTiming extends PerformanceEntry {\n #processingStart: DOMHighResTimeStamp;\n #processingEnd: DOMHighResTimeStamp;\n #interactionId: number;\n\n constructor(init: {\n name: string,\n startTime?: DOMHighResTimeStamp,\n duration?: DOMHighResTimeStamp,\n processingStart?: DOMHighResTimeStamp,\n processingEnd?: DOMHighResTimeStamp,\n interactionId?: number,\n }) {\n super({\n name: init.name,\n entryType: 'event',\n startTime: init.startTime ?? 0,\n duration: init.duration ?? 0,\n });\n this.#processingStart = init.processingStart ?? 0;\n this.#processingEnd = init.processingEnd ?? 0;\n this.#interactionId = init.interactionId ?? 0;\n }\n\n get processingStart(): DOMHighResTimeStamp {\n return this.#processingStart;\n }\n\n get processingEnd(): DOMHighResTimeStamp {\n return this.#processingEnd;\n }\n\n get interactionId(): number {\n return this.#interactionId;\n }\n\n toJSON(): PerformanceEventTimingJSON {\n return {\n ...super.toJSON(),\n processingStart: this.#processingStart,\n processingEnd: this.#processingEnd,\n interactionId: this.#interactionId,\n };\n }\n}\n\ntype EventCountsForEachCallbackType =\n | (() => void)\n | ((value: number) => void)\n | ((value: number, key: string) => void)\n | ((value: number, key: string, map: Map) => void);\n\nlet cachedEventCounts: ?Map;\n\nfunction getCachedEventCounts(): Map {\n if (cachedEventCounts) {\n return cachedEventCounts;\n }\n\n if (!NativePerformance || !NativePerformance?.getEventCounts) {\n warnNoNativePerformance();\n cachedEventCounts = new Map();\n return cachedEventCounts;\n }\n\n const eventCounts = new Map(\n NativePerformance.getEventCounts?.() ?? [],\n );\n cachedEventCounts = eventCounts;\n\n // $FlowFixMe[incompatible-call]\n global.queueMicrotask(() => {\n // To be consistent with the calls to the API from the same task,\n // but also not to refetch the data from native too often,\n // schedule to invalidate the cache later,\n // after the current task is guaranteed to have finished.\n cachedEventCounts = null;\n });\n\n return eventCounts;\n}\n\n/**\n * Implementation of the EventCounts Web Performance API\n * corresponding to the standard in\n * https://www.w3.org/TR/event-timing/#eventcounts\n */\nexport class EventCounts {\n get size(): number {\n return getCachedEventCounts().size;\n }\n\n entries(): Iterator<[string, number]> {\n return getCachedEventCounts().entries();\n }\n\n forEach(callback: EventCountsForEachCallbackType): void {\n return getCachedEventCounts().forEach(callback);\n }\n\n get(key: string): ?number {\n return getCachedEventCounts().get(key);\n }\n\n has(key: string): boolean {\n return getCachedEventCounts().has(key);\n }\n\n keys(): Iterator {\n return getCachedEventCounts().keys();\n }\n\n values(): Iterator {\n return getCachedEventCounts().values();\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n// flowlint unsafe-getters-setters:off\n\nexport type DOMHighResTimeStamp = number;\nexport type PerformanceEntryType = 'mark' | 'measure' | 'event' | 'longtask';\n\nexport type PerformanceEntryJSON = {\n name: string,\n entryType: PerformanceEntryType,\n startTime: DOMHighResTimeStamp,\n duration: DOMHighResTimeStamp,\n ...\n};\n\nexport class PerformanceEntry {\n #name: string;\n #entryType: PerformanceEntryType;\n #startTime: DOMHighResTimeStamp;\n #duration: DOMHighResTimeStamp;\n\n constructor(init: {\n name: string,\n entryType: PerformanceEntryType,\n startTime: DOMHighResTimeStamp,\n duration: DOMHighResTimeStamp,\n }) {\n this.#name = init.name;\n this.#entryType = init.entryType;\n this.#startTime = init.startTime;\n this.#duration = init.duration;\n }\n\n get name(): string {\n return this.#name;\n }\n\n get entryType(): PerformanceEntryType {\n return this.#entryType;\n }\n\n get startTime(): DOMHighResTimeStamp {\n return this.#startTime;\n }\n\n get duration(): DOMHighResTimeStamp {\n return this.#duration;\n }\n\n toJSON(): PerformanceEntryJSON {\n return {\n name: this.#name,\n entryType: this.#entryType,\n startTime: this.#startTime,\n duration: this.#duration,\n };\n }\n}\n\nexport type PerformanceEntryList = $ReadOnlyArray;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\nimport warnOnce from '../../../../../Libraries/Utilities/warnOnce';\n\nexport function warnNoNativePerformance() {\n warnOnce(\n 'missing-native-performance',\n 'Missing native implementation of Performance',\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\nconst warnedKeys: {[string]: boolean, ...} = {};\n\n/**\n * A simple function that prints a warning message once per session.\n *\n * @param {string} key - The key used to ensure the message is printed once.\n * This should be unique to the callsite.\n * @param {string} message - The message to print\n */\nfunction warnOnce(key: string, message: string) {\n if (warnedKeys[key]) {\n return;\n }\n\n console.warn(message);\n\n warnedKeys[key] = true;\n}\n\nexport default warnOnce;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type {DOMHighResTimeStamp} from './PerformanceEntry';\n\nimport {PerformanceEntry} from './PerformanceEntry';\n\nexport type DetailType = mixed;\n\nexport type PerformanceMarkOptions = {\n detail?: DetailType,\n startTime?: DOMHighResTimeStamp,\n};\n\nexport type TimeStampOrName = DOMHighResTimeStamp | string;\n\nexport type PerformanceMeasureInit = {\n detail?: DetailType,\n startTime: DOMHighResTimeStamp,\n duration: DOMHighResTimeStamp,\n};\n\nexport class PerformanceMark extends PerformanceEntry {\n #detail: DetailType;\n\n constructor(markName: string, markOptions?: PerformanceMarkOptions) {\n super({\n name: markName,\n entryType: 'mark',\n startTime: markOptions?.startTime ?? performance.now(),\n duration: 0,\n });\n\n if (markOptions) {\n this.#detail = markOptions.detail;\n }\n }\n\n get detail(): DetailType {\n return this.#detail;\n }\n}\n\nexport class PerformanceMeasure extends PerformanceEntry {\n #detail: DetailType;\n\n constructor(measureName: string, measureOptions: PerformanceMeasureInit) {\n super({\n name: measureName,\n entryType: 'measure',\n startTime: measureOptions.startTime,\n duration: measureOptions.duration,\n });\n\n if (measureOptions) {\n this.#detail = measureOptions.detail;\n }\n }\n\n get detail(): DetailType {\n return this.#detail;\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\nimport type {PerformanceEntryType} from '../PerformanceEntry';\nimport type {\n RawPerformanceEntry,\n RawPerformanceEntryType,\n} from '../specs/NativePerformance';\n\nimport {PerformanceEventTiming} from '../EventTiming';\nimport {PerformanceLongTaskTiming} from '../LongTasks';\nimport {PerformanceEntry} from '../PerformanceEntry';\nimport {PerformanceMark, PerformanceMeasure} from '../UserTiming';\n\nexport const RawPerformanceEntryTypeValues = {\n MARK: 1,\n MEASURE: 2,\n EVENT: 3,\n LONGTASK: 4,\n};\n\nexport function rawToPerformanceEntry(\n entry: RawPerformanceEntry,\n): PerformanceEntry {\n if (entry.entryType === RawPerformanceEntryTypeValues.EVENT) {\n return new PerformanceEventTiming({\n name: entry.name,\n startTime: entry.startTime,\n duration: entry.duration,\n processingStart: entry.processingStart,\n processingEnd: entry.processingEnd,\n interactionId: entry.interactionId,\n });\n } else if (entry.entryType === RawPerformanceEntryTypeValues.LONGTASK) {\n return new PerformanceLongTaskTiming({\n name: entry.name,\n entryType: rawToPerformanceEntryType(entry.entryType),\n startTime: entry.startTime,\n duration: entry.duration,\n });\n } else if (entry.entryType === RawPerformanceEntryTypeValues.MARK) {\n return new PerformanceMark(entry.name, {\n startTime: entry.startTime,\n });\n } else if (entry.entryType === RawPerformanceEntryTypeValues.MEASURE) {\n return new PerformanceMeasure(entry.name, {\n startTime: entry.startTime,\n duration: entry.duration,\n });\n } else {\n return new PerformanceEntry({\n name: entry.name,\n entryType: rawToPerformanceEntryType(entry.entryType),\n startTime: entry.startTime,\n duration: entry.duration,\n });\n }\n}\n\nexport function rawToPerformanceEntryType(\n type: RawPerformanceEntryType,\n): PerformanceEntryType {\n switch (type) {\n case RawPerformanceEntryTypeValues.MARK:\n return 'mark';\n case RawPerformanceEntryTypeValues.MEASURE:\n return 'measure';\n case RawPerformanceEntryTypeValues.EVENT:\n return 'event';\n case RawPerformanceEntryTypeValues.LONGTASK:\n return 'longtask';\n default:\n throw new TypeError(\n `rawToPerformanceEntryType: unexpected performance entry type received: ${type}`,\n );\n }\n}\n\nexport function performanceEntryTypeToRaw(\n type: PerformanceEntryType,\n): RawPerformanceEntryType {\n switch (type) {\n case 'mark':\n return RawPerformanceEntryTypeValues.MARK;\n case 'measure':\n return RawPerformanceEntryTypeValues.MEASURE;\n case 'event':\n return RawPerformanceEntryTypeValues.EVENT;\n case 'longtask':\n return RawPerformanceEntryTypeValues.LONGTASK;\n default:\n // Verify exhaustive check with Flow\n (type: empty);\n throw new TypeError(\n `performanceEntryTypeToRaw: unexpected performance entry type received: ${type}`,\n );\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type {PerformanceEntryJSON} from './PerformanceEntry';\n\nimport {PerformanceEntry} from './PerformanceEntry';\n\nexport type PerformanceLongTaskTimingJSON = {\n ...PerformanceEntryJSON,\n attribution: $ReadOnlyArray,\n ...\n};\n\nexport class TaskAttributionTiming extends PerformanceEntry {}\n\nconst EMPTY_ATTRIBUTION: $ReadOnlyArray =\n Object.preventExtensions([]);\n\nexport class PerformanceLongTaskTiming extends PerformanceEntry {\n get attribution(): $ReadOnlyArray {\n return EMPTY_ATTRIBUTION;\n }\n\n toJSON(): PerformanceLongTaskTimingJSON {\n return {\n ...super.toJSON(),\n attribution: this.attribution,\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n'use strict';\n\nconst {polyfillGlobal} = require('../Utilities/PolyfillFunctions');\n\n/**\n * Set up Promise. The native Promise implementation throws the following error:\n * ERROR: Event loop not supported.\n *\n * If you don't need these polyfills, don't use InitializeCore; just directly\n * require the modules you need from InitializeCore for setup.\n */\n\n// If global.Promise is provided by Hermes, we are confident that it can provide\n// all the methods needed by React Native, so we can directly use it.\nif (global?.HermesInternal?.hasPromise?.()) {\n const HermesPromise = global.Promise;\n\n if (__DEV__) {\n if (typeof HermesPromise !== 'function') {\n console.error('HermesPromise does not exist');\n }\n global.HermesInternal?.enablePromiseRejectionTracker?.(\n require('../promiseRejectionTrackingOptions').default,\n );\n }\n} else {\n polyfillGlobal('Promise', () => require('../Promise').default);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\nimport Promise from 'promise/setimmediate/es6-extensions';\n\nrequire('promise/setimmediate/finally');\n\nif (__DEV__) {\n require('promise/setimmediate/rejection-tracking').enable(\n require('./promiseRejectionTrackingOptions').default,\n );\n}\n\nexport default Promise;\n","'use strict';\n\n//This file contains the ES6 extensions to the core Promises/A+ API\n\nvar Promise = require('./core.js');\n\nmodule.exports = Promise;\n\n/* Static Functions */\n\nvar TRUE = valuePromise(true);\nvar FALSE = valuePromise(false);\nvar NULL = valuePromise(null);\nvar UNDEFINED = valuePromise(undefined);\nvar ZERO = valuePromise(0);\nvar EMPTYSTRING = valuePromise('');\n\nfunction valuePromise(value) {\n var p = new Promise(Promise._D);\n p._y = 1;\n p._z = value;\n return p;\n}\nPromise.resolve = function (value) {\n if (value instanceof Promise) return value;\n\n if (value === null) return NULL;\n if (value === undefined) return UNDEFINED;\n if (value === true) return TRUE;\n if (value === false) return FALSE;\n if (value === 0) return ZERO;\n if (value === '') return EMPTYSTRING;\n\n if (typeof value === 'object' || typeof value === 'function') {\n try {\n var then = value.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(value));\n }\n } catch (ex) {\n return new Promise(function (resolve, reject) {\n reject(ex);\n });\n }\n }\n return valuePromise(value);\n};\n\nvar iterableToArray = function (iterable) {\n if (typeof Array.from === 'function') {\n // ES2015+, iterables exist\n iterableToArray = Array.from;\n return Array.from(iterable);\n }\n\n // ES5, only arrays and array-likes exist\n iterableToArray = function (x) { return Array.prototype.slice.call(x); };\n return Array.prototype.slice.call(iterable);\n}\n\nPromise.all = function (arr) {\n var args = iterableToArray(arr);\n\n return new Promise(function (resolve, reject) {\n if (args.length === 0) return resolve([]);\n var remaining = args.length;\n function res(i, val) {\n if (val && (typeof val === 'object' || typeof val === 'function')) {\n if (val instanceof Promise && val.then === Promise.prototype.then) {\n while (val._y === 3) {\n val = val._z;\n }\n if (val._y === 1) return res(i, val._z);\n if (val._y === 2) reject(val._z);\n val.then(function (val) {\n res(i, val);\n }, reject);\n return;\n } else {\n var then = val.then;\n if (typeof then === 'function') {\n var p = new Promise(then.bind(val));\n p.then(function (val) {\n res(i, val);\n }, reject);\n return;\n }\n }\n }\n args[i] = val;\n if (--remaining === 0) {\n resolve(args);\n }\n }\n for (var i = 0; i < args.length; i++) {\n res(i, args[i]);\n }\n });\n};\n\nfunction onSettledFulfill(value) {\n return { status: 'fulfilled', value: value };\n}\nfunction onSettledReject(reason) {\n return { status: 'rejected', reason: reason };\n}\nfunction mapAllSettled(item) {\n if(item && (typeof item === 'object' || typeof item === 'function')){\n if(item instanceof Promise && item.then === Promise.prototype.then){\n return item.then(onSettledFulfill, onSettledReject);\n }\n var then = item.then;\n if (typeof then === 'function') {\n return new Promise(then.bind(item)).then(onSettledFulfill, onSettledReject)\n }\n }\n\n return onSettledFulfill(item);\n}\nPromise.allSettled = function (iterable) {\n return Promise.all(iterableToArray(iterable).map(mapAllSettled));\n};\n\nPromise.reject = function (value) {\n return new Promise(function (resolve, reject) {\n reject(value);\n });\n};\n\nPromise.race = function (values) {\n return new Promise(function (resolve, reject) {\n iterableToArray(values).forEach(function(value){\n Promise.resolve(value).then(resolve, reject);\n });\n });\n};\n\n/* Prototype Methods */\n\nPromise.prototype['catch'] = function (onRejected) {\n return this.then(null, onRejected);\n};\n\nfunction getAggregateError(errors){\n if(typeof AggregateError === 'function'){\n return new AggregateError(errors,'All promises were rejected');\n }\n\n var error = new Error('All promises were rejected');\n\n error.name = 'AggregateError';\n error.errors = errors;\n\n return error;\n}\n\nPromise.any = function promiseAny(values) {\n return new Promise(function(resolve, reject) {\n var promises = iterableToArray(values);\n var hasResolved = false;\n var rejectionReasons = [];\n\n function resolveOnce(value) {\n if (!hasResolved) {\n hasResolved = true;\n resolve(value);\n }\n }\n\n function rejectionCheck(reason) {\n rejectionReasons.push(reason);\n\n if (rejectionReasons.length === promises.length) {\n reject(getAggregateError(rejectionReasons));\n }\n }\n\n if(promises.length === 0){\n reject(getAggregateError(rejectionReasons));\n } else {\n promises.forEach(function(value){\n Promise.resolve(value).then(resolveOnce, rejectionCheck);\n });\n }\n });\n};\n","'use strict';\n\n\n\nfunction noop() {}\n\n// States:\n//\n// 0 - pending\n// 1 - fulfilled with _value\n// 2 - rejected with _value\n// 3 - adopted the state of another promise, _value\n//\n// once the state is no longer pending (0) it is immutable\n\n// All `_` prefixed properties will be reduced to `_{random number}`\n// at build time to obfuscate them and discourage their use.\n// We don't use symbols or Object.defineProperty to fully hide them\n// because the performance isn't good enough.\n\n\n// to avoid using try/catch inside critical functions, we\n// extract them to here.\nvar LAST_ERROR = null;\nvar IS_ERROR = {};\nfunction getThen(obj) {\n try {\n return obj.then;\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nfunction tryCallOne(fn, a) {\n try {\n return fn(a);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\nfunction tryCallTwo(fn, a, b) {\n try {\n fn(a, b);\n } catch (ex) {\n LAST_ERROR = ex;\n return IS_ERROR;\n }\n}\n\nmodule.exports = Promise;\n\nfunction Promise(fn) {\n if (typeof this !== 'object') {\n throw new TypeError('Promises must be constructed via new');\n }\n if (typeof fn !== 'function') {\n throw new TypeError('Promise constructor\\'s argument is not a function');\n }\n this._x = 0;\n this._y = 0;\n this._z = null;\n this._A = null;\n if (fn === noop) return;\n doResolve(fn, this);\n}\nPromise._B = null;\nPromise._C = null;\nPromise._D = noop;\n\nPromise.prototype.then = function(onFulfilled, onRejected) {\n if (this.constructor !== Promise) {\n return safeThen(this, onFulfilled, onRejected);\n }\n var res = new Promise(noop);\n handle(this, new Handler(onFulfilled, onRejected, res));\n return res;\n};\n\nfunction safeThen(self, onFulfilled, onRejected) {\n return new self.constructor(function (resolve, reject) {\n var res = new Promise(noop);\n res.then(resolve, reject);\n handle(self, new Handler(onFulfilled, onRejected, res));\n });\n}\nfunction handle(self, deferred) {\n while (self._y === 3) {\n self = self._z;\n }\n if (Promise._B) {\n Promise._B(self);\n }\n if (self._y === 0) {\n if (self._x === 0) {\n self._x = 1;\n self._A = deferred;\n return;\n }\n if (self._x === 1) {\n self._x = 2;\n self._A = [self._A, deferred];\n return;\n }\n self._A.push(deferred);\n return;\n }\n handleResolved(self, deferred);\n}\n\nfunction handleResolved(self, deferred) {\n setImmediate(function() {\n var cb = self._y === 1 ? deferred.onFulfilled : deferred.onRejected;\n if (cb === null) {\n if (self._y === 1) {\n resolve(deferred.promise, self._z);\n } else {\n reject(deferred.promise, self._z);\n }\n return;\n }\n var ret = tryCallOne(cb, self._z);\n if (ret === IS_ERROR) {\n reject(deferred.promise, LAST_ERROR);\n } else {\n resolve(deferred.promise, ret);\n }\n });\n}\nfunction resolve(self, newValue) {\n // Promise Resolution Procedure: https://github.com/promises-aplus/promises-spec#the-promise-resolution-procedure\n if (newValue === self) {\n return reject(\n self,\n new TypeError('A promise cannot be resolved with itself.')\n );\n }\n if (\n newValue &&\n (typeof newValue === 'object' || typeof newValue === 'function')\n ) {\n var then = getThen(newValue);\n if (then === IS_ERROR) {\n return reject(self, LAST_ERROR);\n }\n if (\n then === self.then &&\n newValue instanceof Promise\n ) {\n self._y = 3;\n self._z = newValue;\n finale(self);\n return;\n } else if (typeof then === 'function') {\n doResolve(then.bind(newValue), self);\n return;\n }\n }\n self._y = 1;\n self._z = newValue;\n finale(self);\n}\n\nfunction reject(self, newValue) {\n self._y = 2;\n self._z = newValue;\n if (Promise._C) {\n Promise._C(self, newValue);\n }\n finale(self);\n}\nfunction finale(self) {\n if (self._x === 1) {\n handle(self, self._A);\n self._A = null;\n }\n if (self._x === 2) {\n for (var i = 0; i < self._A.length; i++) {\n handle(self, self._A[i]);\n }\n self._A = null;\n }\n}\n\nfunction Handler(onFulfilled, onRejected, promise){\n this.onFulfilled = typeof onFulfilled === 'function' ? onFulfilled : null;\n this.onRejected = typeof onRejected === 'function' ? onRejected : null;\n this.promise = promise;\n}\n\n/**\n * Take a potentially misbehaving resolver function and make sure\n * onFulfilled and onRejected are only called once.\n *\n * Makes no guarantees about asynchrony.\n */\nfunction doResolve(fn, promise) {\n var done = false;\n var res = tryCallTwo(fn, function (value) {\n if (done) return;\n done = true;\n resolve(promise, value);\n }, function (reason) {\n if (done) return;\n done = true;\n reject(promise, reason);\n });\n if (!done && res === IS_ERROR) {\n done = true;\n reject(promise, LAST_ERROR);\n }\n}\n","'use strict';\n\nvar Promise = require('./core.js');\n\nmodule.exports = Promise;\nPromise.prototype.finally = function (f) {\n return this.then(function (value) {\n return Promise.resolve(f()).then(function () {\n return value;\n });\n }, function (err) {\n return Promise.resolve(f()).then(function () {\n throw err;\n });\n });\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nconst {polyfillGlobal} = require('../Utilities/PolyfillFunctions');\n\nif (__DEV__) {\n if (typeof global.Promise !== 'function') {\n console.error('Promise should exist before setting up timers.');\n }\n}\n\n// In bridgeless mode, timers are host functions installed from cpp.\nif (global.RN$Bridgeless === true) {\n // This is the flag that tells React to use `queueMicrotask` to batch state\n // updates, instead of using the scheduler to schedule a regular task.\n // We use a global variable because we don't currently have any other\n // mechanism to pass feature flags from RN to React in OSS.\n global.RN$enableMicrotasksInReact = true;\n\n polyfillGlobal(\n 'queueMicrotask',\n () =>\n require('../../src/private/webapis/microtasks/specs/NativeMicrotasks')\n .default.queueMicrotask,\n );\n\n // We shim the immediate APIs via `queueMicrotask` to maintain the backward\n // compatibility.\n polyfillGlobal(\n 'setImmediate',\n () => require('./Timers/immediateShim').setImmediate,\n );\n polyfillGlobal(\n 'clearImmediate',\n () => require('./Timers/immediateShim').clearImmediate,\n );\n\n polyfillGlobal(\n 'requestIdleCallback',\n () =>\n require('../../src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks')\n .default.requestIdleCallback,\n );\n\n polyfillGlobal(\n 'cancelIdleCallback',\n () =>\n require('../../src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks')\n .default.cancelIdleCallback,\n );\n} else {\n /**\n * Set up timers.\n * You can use this module directly, or just require InitializeCore.\n */\n const defineLazyTimer = (\n name:\n | 'cancelAnimationFrame'\n | 'cancelIdleCallback'\n | 'clearInterval'\n | 'clearTimeout'\n | 'requestAnimationFrame'\n | 'requestIdleCallback'\n | 'setInterval'\n | 'setTimeout',\n ) => {\n polyfillGlobal(name, () => require('./Timers/JSTimers').default[name]);\n };\n defineLazyTimer('setTimeout');\n defineLazyTimer('clearTimeout');\n defineLazyTimer('setInterval');\n defineLazyTimer('clearInterval');\n defineLazyTimer('requestAnimationFrame');\n defineLazyTimer('cancelAnimationFrame');\n defineLazyTimer('requestIdleCallback');\n defineLazyTimer('cancelIdleCallback');\n\n // Polyfill it with promise (regardless it's polyfilled or native) otherwise.\n polyfillGlobal(\n 'queueMicrotask',\n () => require('./Timers/queueMicrotask.js').default,\n );\n\n // When promise was polyfilled hence is queued to the RN microtask queue,\n // we polyfill the immediate APIs as aliases to the ReactNativeMicrotask APIs.\n // Note that in bridgeless mode, immediate APIs are installed from cpp.\n polyfillGlobal(\n 'setImmediate',\n () => require('./Timers/JSTimers').default.queueReactNativeMicrotask,\n );\n polyfillGlobal(\n 'clearImmediate',\n () => require('./Timers/JSTimers').default.clearReactNativeMicrotask,\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +queueMicrotask: (callback: () => mixed) => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing(\n 'NativeMicrotasksCxx',\n): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\n\n// Globally Unique Immediate ID.\nlet GUIID = 1;\n\n// A global set of the currently cleared immediates.\nconst clearedImmediates: Set = new Set();\n\n/**\n * Shim the setImmediate API on top of queueMicrotask.\n * @param {function} func Callback to be invoked before the end of the\n * current JavaScript execution loop.\n */\nexport function setImmediate(callback: Function, ...args: any): number {\n if (arguments.length < 1) {\n throw new TypeError(\n 'setImmediate must be called with at least one argument (a function to call)',\n );\n }\n if (typeof callback !== 'function') {\n throw new TypeError(\n 'The first argument to setImmediate must be a function.',\n );\n }\n\n const id = GUIID++;\n // This is an edgey case in which the sequentially assigned ID has been\n // \"guessed\" and \"cleared\" ahead of time, so we need to clear it up first.\n if (clearedImmediates.has(id)) {\n clearedImmediates.delete(id);\n }\n\n // $FlowFixMe[incompatible-call]\n global.queueMicrotask(() => {\n if (!clearedImmediates.has(id)) {\n callback.apply(undefined, args);\n } else {\n // Free up the Set entry.\n clearedImmediates.delete(id);\n }\n });\n\n return id;\n}\n\n/**\n * @param {number} immediateID The ID of the immediate to be clearred.\n */\nexport function clearImmediate(immediateID: number) {\n clearedImmediates.add(immediateID);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport type RequestIdleCallbackOptions = {\n timeout?: number,\n};\n\nexport type IdleDeadline = {\n didTimeout: boolean,\n timeRemaining: () => mixed,\n};\n\nexport interface Spec extends TurboModule {\n +requestIdleCallback: (\n callback: (idleDeadline: IdleDeadline) => mixed,\n options?: RequestIdleCallbackOptions,\n ) => mixed;\n +cancelIdleCallback: (handle: mixed) => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing(\n 'NativeIdleCallbacksCxx',\n): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport NativeTiming from './NativeTiming';\n\nconst BatchedBridge = require('../../BatchedBridge/BatchedBridge').default;\nconst Systrace = require('../../Performance/Systrace');\nconst invariant = require('invariant');\n\n/**\n * JS implementation of timer functions. Must be completely driven by an\n * external clock signal, all that's stored here is timerID, timer type, and\n * callback.\n */\n\nexport type JSTimerType =\n | 'setTimeout'\n | 'setInterval'\n | 'requestAnimationFrame'\n | 'queueReactNativeMicrotask'\n | 'requestIdleCallback';\n\n// These timing constants should be kept in sync with the ones in native ios and\n// android `RCTTiming` module.\nconst FRAME_DURATION = 1000 / 60;\nconst IDLE_CALLBACK_FRAME_DEADLINE = 1;\n\n// Parallel arrays\nconst callbacks: Array = [];\nconst types: Array = [];\nconst timerIDs: Array = [];\nconst freeIdxs: Array = [];\nlet reactNativeMicrotasks: Array = [];\nlet requestIdleCallbacks: Array = [];\nconst requestIdleCallbackTimeouts: {[number]: number, ...} = {};\n\nlet GUID = 1;\nconst errors: Array = [];\n\nlet hasEmittedTimeDriftWarning = false;\n\n// Returns a free index if one is available, and the next consecutive index otherwise.\nfunction _getFreeIndex(): number {\n const freeIdx = freeIdxs.pop();\n if (freeIdx === undefined) {\n return timerIDs.length;\n }\n return freeIdx;\n}\n\nfunction _allocateCallback(func: Function, type: JSTimerType): number {\n const id = GUID++;\n const freeIndex = _getFreeIndex();\n timerIDs[freeIndex] = id;\n callbacks[freeIndex] = func;\n types[freeIndex] = type;\n return id;\n}\n\n/**\n * Calls the callback associated with the ID. Also unregister that callback\n * if it was a one time timer (setTimeout), and not unregister it if it was\n * recurring (setInterval).\n */\nfunction _callTimer(timerID: number, frameTime: number, didTimeout: ?boolean) {\n if (timerID > GUID) {\n console.warn(\n 'Tried to call timer with ID %s but no such timer exists.',\n timerID,\n );\n }\n\n // timerIndex of -1 means that no timer with that ID exists. There are\n // two situations when this happens, when a garbage timer ID was given\n // and when a previously existing timer was deleted before this callback\n // fired. In both cases we want to ignore the timer id, but in the former\n // case we warn as well.\n const timerIndex = timerIDs.indexOf(timerID);\n if (timerIndex === -1) {\n return;\n }\n\n const type = types[timerIndex];\n const callback = callbacks[timerIndex];\n if (!callback || !type) {\n console.error('No callback found for timerID ' + timerID);\n return;\n }\n\n if (__DEV__) {\n Systrace.beginEvent(type + ' [invoke]');\n }\n\n // Clear the metadata\n if (type !== 'setInterval') {\n _clearIndex(timerIndex);\n }\n\n try {\n if (\n type === 'setTimeout' ||\n type === 'setInterval' ||\n type === 'queueReactNativeMicrotask'\n ) {\n callback();\n } else if (type === 'requestAnimationFrame') {\n callback(global.performance.now());\n } else if (type === 'requestIdleCallback') {\n callback({\n timeRemaining: function () {\n // TODO: Optimisation: allow running for longer than one frame if\n // there are no pending JS calls on the bridge from native. This\n // would require a way to check the bridge queue synchronously.\n return Math.max(\n 0,\n FRAME_DURATION - (global.performance.now() - frameTime),\n );\n },\n didTimeout: !!didTimeout,\n });\n } else {\n console.error('Tried to call a callback with invalid type: ' + type);\n }\n } catch (e) {\n // Don't rethrow so that we can run all timers.\n errors.push(e);\n }\n\n if (__DEV__) {\n Systrace.endEvent();\n }\n}\n\n/**\n * Performs a single pass over the enqueued reactNativeMicrotasks. Returns whether\n * more reactNativeMicrotasks are queued up (can be used as a condition a while loop).\n */\nfunction _callReactNativeMicrotasksPass() {\n if (reactNativeMicrotasks.length === 0) {\n return false;\n }\n\n if (__DEV__) {\n Systrace.beginEvent('callReactNativeMicrotasksPass()');\n }\n\n // The main reason to extract a single pass is so that we can track\n // in the system trace\n const passReactNativeMicrotasks = reactNativeMicrotasks;\n reactNativeMicrotasks = [];\n\n // Use for loop rather than forEach as per @vjeux's advice\n // https://github.com/facebook/react-native/commit/c8fd9f7588ad02d2293cac7224715f4af7b0f352#commitcomment-14570051\n for (let i = 0; i < passReactNativeMicrotasks.length; ++i) {\n _callTimer(passReactNativeMicrotasks[i], 0);\n }\n\n if (__DEV__) {\n Systrace.endEvent();\n }\n return reactNativeMicrotasks.length > 0;\n}\n\nfunction _clearIndex(i: number) {\n timerIDs[i] = null;\n callbacks[i] = null;\n types[i] = null;\n freeIdxs.push(i);\n}\n\nfunction _freeCallback(timerID: number) {\n // timerIDs contains nulls after timers have been removed;\n // ignore nulls upfront so indexOf doesn't find them\n if (timerID == null) {\n return;\n }\n\n const index = timerIDs.indexOf(timerID);\n // See corresponding comment in `callTimers` for reasoning behind this\n if (index !== -1) {\n const type = types[index];\n _clearIndex(index);\n if (\n type !== 'queueReactNativeMicrotask' &&\n type !== 'requestIdleCallback'\n ) {\n deleteTimer(timerID);\n }\n }\n}\n\n/**\n * JS implementation of timer functions. Must be completely driven by an\n * external clock signal, all that's stored here is timerID, timer type, and\n * callback.\n */\nconst JSTimers = {\n /**\n * @param {function} func Callback to be invoked after `duration` ms.\n * @param {number} duration Number of milliseconds.\n */\n setTimeout: function (\n func: Function,\n duration: number,\n ...args: any\n ): number {\n const id = _allocateCallback(\n () => func.apply(undefined, args),\n 'setTimeout',\n );\n createTimer(id, duration || 0, Date.now(), /* recurring */ false);\n return id;\n },\n\n /**\n * @param {function} func Callback to be invoked every `duration` ms.\n * @param {number} duration Number of milliseconds.\n */\n setInterval: function (\n func: Function,\n duration: number,\n ...args: any\n ): number {\n const id = _allocateCallback(\n () => func.apply(undefined, args),\n 'setInterval',\n );\n createTimer(id, duration || 0, Date.now(), /* recurring */ true);\n return id;\n },\n\n /**\n * The React Native microtask mechanism is used to back public APIs e.g.\n * `queueMicrotask`, `clearImmediate`, and `setImmediate` (which is used by\n * the Promise polyfill) when the JSVM microtask mechanism is not used.\n *\n * @param {function} func Callback to be invoked before the end of the\n * current JavaScript execution loop.\n */\n queueReactNativeMicrotask: function (func: Function, ...args: any): number {\n const id = _allocateCallback(\n () => func.apply(undefined, args),\n 'queueReactNativeMicrotask',\n );\n reactNativeMicrotasks.push(id);\n return id;\n },\n\n /**\n * @param {function} func Callback to be invoked every frame.\n */\n requestAnimationFrame: function (func: Function): any | number {\n const id = _allocateCallback(func, 'requestAnimationFrame');\n createTimer(id, 1, Date.now(), /* recurring */ false);\n return id;\n },\n\n /**\n * @param {function} func Callback to be invoked every frame and provided\n * with time remaining in frame.\n * @param {?object} options\n */\n requestIdleCallback: function (\n func: Function,\n options: ?Object,\n ): any | number {\n if (requestIdleCallbacks.length === 0) {\n setSendIdleEvents(true);\n }\n\n const timeout = options && options.timeout;\n const id: number = _allocateCallback(\n timeout != null\n ? (deadline: any) => {\n const timeoutId: number = requestIdleCallbackTimeouts[id];\n if (timeoutId) {\n JSTimers.clearTimeout(timeoutId);\n delete requestIdleCallbackTimeouts[id];\n }\n return func(deadline);\n }\n : func,\n 'requestIdleCallback',\n );\n requestIdleCallbacks.push(id);\n\n if (timeout != null) {\n const timeoutId: number = JSTimers.setTimeout(() => {\n const index: number = requestIdleCallbacks.indexOf(id);\n if (index > -1) {\n requestIdleCallbacks.splice(index, 1);\n _callTimer(id, global.performance.now(), true);\n }\n delete requestIdleCallbackTimeouts[id];\n if (requestIdleCallbacks.length === 0) {\n setSendIdleEvents(false);\n }\n }, timeout);\n requestIdleCallbackTimeouts[id] = timeoutId;\n }\n return id;\n },\n\n cancelIdleCallback: function (timerID: number) {\n _freeCallback(timerID);\n const index = requestIdleCallbacks.indexOf(timerID);\n if (index !== -1) {\n requestIdleCallbacks.splice(index, 1);\n }\n\n const timeoutId = requestIdleCallbackTimeouts[timerID];\n if (timeoutId) {\n JSTimers.clearTimeout(timeoutId);\n delete requestIdleCallbackTimeouts[timerID];\n }\n\n if (requestIdleCallbacks.length === 0) {\n setSendIdleEvents(false);\n }\n },\n\n clearTimeout: function (timerID: number) {\n _freeCallback(timerID);\n },\n\n clearInterval: function (timerID: number) {\n _freeCallback(timerID);\n },\n\n clearReactNativeMicrotask: function (timerID: number) {\n _freeCallback(timerID);\n const index = reactNativeMicrotasks.indexOf(timerID);\n if (index !== -1) {\n reactNativeMicrotasks.splice(index, 1);\n }\n },\n\n cancelAnimationFrame: function (timerID: number) {\n _freeCallback(timerID);\n },\n\n /**\n * This is called from the native side. We are passed an array of timerIDs,\n * and\n */\n callTimers: function (timersToCall: Array): any | void {\n invariant(\n timersToCall.length !== 0,\n 'Cannot call `callTimers` with an empty list of IDs.',\n );\n\n errors.length = 0;\n for (let i = 0; i < timersToCall.length; i++) {\n _callTimer(timersToCall[i], 0);\n }\n\n const errorCount = errors.length;\n if (errorCount > 0) {\n if (errorCount > 1) {\n // Throw all the other errors in a setTimeout, which will throw each\n // error one at a time\n for (let ii = 1; ii < errorCount; ii++) {\n JSTimers.setTimeout(\n ((error: Error) => {\n throw error;\n }).bind(null, errors[ii]),\n 0,\n );\n }\n }\n throw errors[0];\n }\n },\n\n callIdleCallbacks: function (frameTime: number) {\n if (\n FRAME_DURATION - (Date.now() - frameTime) <\n IDLE_CALLBACK_FRAME_DEADLINE\n ) {\n return;\n }\n\n errors.length = 0;\n if (requestIdleCallbacks.length > 0) {\n const passIdleCallbacks = requestIdleCallbacks;\n requestIdleCallbacks = [];\n\n for (let i = 0; i < passIdleCallbacks.length; ++i) {\n _callTimer(passIdleCallbacks[i], frameTime);\n }\n }\n\n if (requestIdleCallbacks.length === 0) {\n setSendIdleEvents(false);\n }\n\n errors.forEach(error =>\n JSTimers.setTimeout(() => {\n throw error;\n }, 0),\n );\n },\n\n /**\n * This is called after we execute any command we receive from native but\n * before we hand control back to native.\n */\n callReactNativeMicrotasks() {\n errors.length = 0;\n while (_callReactNativeMicrotasksPass()) {}\n errors.forEach(error =>\n JSTimers.setTimeout(() => {\n throw error;\n }, 0),\n );\n },\n\n /**\n * Called from native (in development) when environment times are out-of-sync.\n */\n emitTimeDriftWarning(warningMessage: string) {\n if (hasEmittedTimeDriftWarning) {\n return;\n }\n hasEmittedTimeDriftWarning = true;\n console.warn(warningMessage);\n },\n};\n\nfunction createTimer(\n callbackID: number,\n duration: number,\n jsSchedulingTime: number,\n repeats: boolean,\n): void {\n invariant(NativeTiming, 'NativeTiming is available');\n NativeTiming.createTimer(callbackID, duration, jsSchedulingTime, repeats);\n}\n\nfunction deleteTimer(timerID: number): void {\n invariant(NativeTiming, 'NativeTiming is available');\n NativeTiming.deleteTimer(timerID);\n}\n\nfunction setSendIdleEvents(sendIdleEvents: boolean): void {\n invariant(NativeTiming, 'NativeTiming is available');\n NativeTiming.setSendIdleEvents(sendIdleEvents);\n}\n\nlet ExportedJSTimers: {\n callIdleCallbacks: (frameTime: number) => any | void,\n callReactNativeMicrotasks: () => void,\n callTimers: (timersToCall: Array) => any | void,\n cancelAnimationFrame: (timerID: number) => void,\n cancelIdleCallback: (timerID: number) => void,\n clearReactNativeMicrotask: (timerID: number) => void,\n clearInterval: (timerID: number) => void,\n clearTimeout: (timerID: number) => void,\n emitTimeDriftWarning: (warningMessage: string) => any | void,\n requestAnimationFrame: (func: any) => any | number,\n requestIdleCallback: (func: any, options: ?any) => any | number,\n queueReactNativeMicrotask: (func: any, ...args: any) => number,\n setInterval: (func: any, duration: number, ...args: any) => number,\n setTimeout: (func: any, duration: number, ...args: any) => number,\n};\n\nif (!NativeTiming) {\n console.warn(\"Timing native module is not available, can't set timers.\");\n // $FlowFixMe[prop-missing] : we can assume timers are generally available\n ExportedJSTimers = ({\n callReactNativeMicrotasks: JSTimers.callReactNativeMicrotasks,\n queueReactNativeMicrotask: JSTimers.queueReactNativeMicrotask,\n }: typeof JSTimers);\n} else {\n ExportedJSTimers = JSTimers;\n}\n\nBatchedBridge.setReactNativeMicrotasksCallback(\n JSTimers.callReactNativeMicrotasks,\n);\n\nexport default ExportedJSTimers;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeTiming';\nimport NativeTiming from '../../../src/private/specs_DEPRECATED/modules/NativeTiming';\nexport default NativeTiming;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +createTimer: (\n callbackID: number,\n duration: number,\n jsSchedulingTime: number,\n repeats: boolean,\n ) => void;\n +deleteTimer: (timerID: number) => void;\n +setSendIdleEvents: (sendIdleEvents: boolean) => void;\n}\n\nexport default (TurboModuleRegistry.get('Timing'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\n\nlet resolvedPromise;\n\n/**\n * Polyfill for the microtask queueing API defined by WHATWG HTML spec.\n * https://html.spec.whatwg.org/multipage/timers-and-user-prompts.html#dom-queuemicrotask\n *\n * The method must queue a microtask to invoke @param {function} callback, and\n * if the callback throws an exception, report the exception.\n */\nexport default function queueMicrotask(callback: Function) {\n if (arguments.length < 1) {\n throw new TypeError(\n 'queueMicrotask must be called with at least one argument (a function to call)',\n );\n }\n if (typeof callback !== 'function') {\n throw new TypeError('The argument to queueMicrotask must be a function.');\n }\n\n // Try to reuse a lazily allocated resolved promise from closure.\n (resolvedPromise || (resolvedPromise = Promise.resolve()))\n .then(callback)\n .catch(error =>\n // Report the exception until the next tick.\n setTimeout(() => {\n throw error;\n }, 0),\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nif (global.RN$useAlwaysAvailableJSErrorHandling !== true) {\n /**\n * Sets up the console and exception handling (redbox) for React Native.\n * You can use this module directly, or just require InitializeCore.\n */\n const ExceptionsManager = require('./ExceptionsManager').default;\n ExceptionsManager.installConsoleErrorReporter();\n\n // Set up error handler\n if (!global.__fbDisableExceptionsManager) {\n const handleError = (e: mixed, isFatal: boolean) => {\n try {\n ExceptionsManager.handleException(e, isFatal);\n } catch (ee) {\n console.log('Failed to print error: ', ee.message);\n throw e;\n }\n };\n\n const ErrorUtils = require('../vendor/core/ErrorUtils').default;\n ErrorUtils.setGlobalHandler(handleError);\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\nimport type {ExtendedError} from './ExtendedError';\nimport type {ExceptionData} from './NativeExceptionsManager';\n\nexport class SyntheticError extends Error {\n name: string = '';\n}\n\ntype ExceptionDecorator = ExceptionData => ExceptionData;\n\nlet userExceptionDecorator: ?ExceptionDecorator;\nlet inUserExceptionDecorator = false;\n\n// This string is used to decorate an ExtendedError with extra data in select usecases.\n// Note that data passed using this method should be strictly contained,\n// as data that's not serializable/too large may cause issues with passing the error to the native code.\n// TODO(T204185517): We should use a Symbol for this, but jsi through jsc doesn't support it yet.\nconst decoratedExtraDataKey = 'RN$ErrorExtraDataKey';\n\n/**\n * Allows the app to add information to the exception report before it is sent\n * to native. This API is not final.\n */\n\nfunction unstable_setExceptionDecorator(\n exceptionDecorator: ?ExceptionDecorator,\n) {\n userExceptionDecorator = exceptionDecorator;\n}\n\nfunction preprocessException(data: ExceptionData): ExceptionData {\n if (userExceptionDecorator && !inUserExceptionDecorator) {\n inUserExceptionDecorator = true;\n try {\n return userExceptionDecorator(data);\n } catch {\n // Fall through\n } finally {\n inUserExceptionDecorator = false;\n }\n }\n return data;\n}\n\n/**\n * Handles the developer-visible aspect of errors and exceptions\n */\nlet exceptionID = 0;\nfunction reportException(\n e: ExtendedError,\n isFatal: boolean,\n reportToConsole: boolean, // only true when coming from handleException; the error has not yet been logged\n) {\n const parseErrorStack = require('./Devtools/parseErrorStack').default;\n const stack = parseErrorStack(e?.stack);\n const currentExceptionID = ++exceptionID;\n const originalMessage = e.message || '';\n let message = originalMessage;\n if (e.componentStack != null) {\n message += `\\n\\nThis error is located at:${e.componentStack}`;\n }\n const namePrefix = e.name == null || e.name === '' ? '' : `${e.name}: `;\n\n if (!message.startsWith(namePrefix)) {\n message = namePrefix + message;\n }\n\n message =\n e.jsEngine == null ? message : `${message}, js engine: ${e.jsEngine}`;\n\n // $FlowFixMe[unclear-type]\n const extraData: Object = {\n // $FlowFixMe[incompatible-use] we can't define a type with a Symbol-keyed field in flow\n ...e[decoratedExtraDataKey],\n jsEngine: e.jsEngine,\n rawStack: e.stack,\n };\n if (e.cause != null && typeof e.cause === 'object') {\n extraData.stackSymbols = e.cause.stackSymbols;\n extraData.stackReturnAddresses = e.cause.stackReturnAddresses;\n extraData.stackElements = e.cause.stackElements;\n }\n\n const data = preprocessException({\n message,\n originalMessage: message === originalMessage ? null : originalMessage,\n name: e.name == null || e.name === '' ? null : e.name,\n componentStack:\n typeof e.componentStack === 'string' ? e.componentStack : null,\n stack,\n id: currentExceptionID,\n isFatal,\n extraData,\n });\n\n if (reportToConsole) {\n // we feed back into console.error, to make sure any methods that are\n // monkey patched on top of console.error are called when coming from\n // handleException\n console.error(data.message);\n }\n\n if (__DEV__) {\n const LogBox = require('../LogBox/LogBox').default;\n LogBox.addException({\n ...data,\n isComponentError: !!e.isComponentError,\n });\n } else if (isFatal || e.type !== 'warn') {\n const NativeExceptionsManager =\n require('./NativeExceptionsManager').default;\n if (NativeExceptionsManager) {\n if (isFatal) {\n if (global.RN$hasHandledFatalException?.()) {\n return;\n }\n global.RN$notifyOfFatalException?.();\n }\n NativeExceptionsManager.reportException(data);\n }\n }\n}\n\ndeclare var console: {\n error: (...data: $ReadOnlyArray) => void,\n _errorOriginal: (...data: $ReadOnlyArray) => void,\n reportErrorsAsExceptions: boolean,\n ...\n};\n\n// If we trigger console.error _from_ handleException,\n// we do want to make sure that console.error doesn't trigger error reporting again\nlet inExceptionHandler = false;\n\n/**\n * Logs exceptions to the (native) console and displays them\n */\nfunction handleException(e: mixed, isFatal: boolean) {\n // TODO(T196834299): We should really use a c++ turbomodule for this\n const reportToConsole = true;\n if (\n !global.RN$handleException ||\n !global.RN$handleException(e, isFatal, reportToConsole)\n ) {\n let error: Error;\n if (e instanceof Error) {\n error = e;\n } else {\n // Workaround for reporting errors caused by `throw 'some string'`\n // Unfortunately there is no way to figure out the stacktrace in this\n // case, so if you ended up here trying to trace an error, look for\n // `throw ''` somewhere in your codebase.\n error = new SyntheticError(e);\n }\n try {\n inExceptionHandler = true;\n /* $FlowFixMe[class-object-subtyping] added when improving typing for this\n * parameters */\n // $FlowFixMe[incompatible-call]\n reportException(error, isFatal, reportToConsole);\n } finally {\n inExceptionHandler = false;\n }\n }\n}\n\n/* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\nfunction reactConsoleErrorHandler(...args) {\n // bubble up to any original handlers\n console._errorOriginal(...args);\n if (!console.reportErrorsAsExceptions) {\n return;\n }\n if (inExceptionHandler || global.RN$inExceptionHandler?.()) {\n // The fundamental trick here is that are multiple entry point to logging errors:\n // (see D19743075 for more background)\n //\n // 1. An uncaught exception being caught by the global handler\n // 2. An error being logged throw console.error\n //\n // However, console.error is monkey patched multiple times: by this module, and by the\n // DevTools setup that sends messages to Metro.\n // The patching order cannot be relied upon.\n //\n // So, some scenarios that are handled by this flag:\n //\n // Logging an error:\n // 1. console.error called from user code\n // 2. (possibly) arrives _first_ at DevTool handler, send to Metro\n // 3. Bubbles to here\n // 4. goes into report Exception.\n // 5. should not trigger console.error again, to avoid looping / logging twice\n // 6. should still bubble up to original console\n // (which might either be console.log, or the DevTools handler in case it patched _earlier_ and (2) didn't happen)\n //\n // Throwing an uncaught exception:\n // 1. exception thrown\n // 2. picked up by handleException\n // 3. should be sent to console.error (not console._errorOriginal, as DevTools might have patched _later_ and it needs to send it to Metro)\n // 4. that _might_ bubble again to the `reactConsoleErrorHandle` defined here\n // -> should not handle exception _again_, to avoid looping / showing twice (this code branch)\n // 5. should still bubble up to original console (which might either be console.log, or the DevTools handler in case that one patched _earlier_)\n return;\n }\n\n let error;\n\n const firstArg = args[0];\n if (firstArg?.stack) {\n // reportException will console.error this with high enough fidelity.\n error = firstArg;\n } else {\n const stringifySafe = require('../Utilities/stringifySafe').default;\n if (typeof firstArg === 'string' && firstArg.startsWith('Warning: ')) {\n // React warnings use console.error so that a stack trace is shown, but\n // we don't (currently) want these to show a redbox\n // (Note: Logic duplicated in polyfills/console.js.)\n return;\n }\n const message = args\n .map(arg => (typeof arg === 'string' ? arg : stringifySafe(arg)))\n .join(' ');\n\n error = new SyntheticError(message);\n error.name = 'console.error';\n }\n\n const isFatal = false;\n const reportToConsole = false;\n if (\n !global.RN$handleException ||\n !global.RN$handleException(error, isFatal, reportToConsole)\n ) {\n reportException(\n /* $FlowFixMe[class-object-subtyping] added when improving typing for this\n * parameters */\n // $FlowFixMe[incompatible-call]\n error,\n isFatal,\n reportToConsole,\n );\n }\n}\n\n/**\n * Shows a redbox with stacktrace for all console.error messages. Disable by\n * setting `console.reportErrorsAsExceptions = false;` in your app.\n */\nfunction installConsoleErrorReporter() {\n // Enable reportErrorsAsExceptions\n if (console._errorOriginal) {\n return; // already installed\n }\n // Flow doesn't like it when you set arbitrary values on a global object\n console._errorOriginal = console.error.bind(console);\n console.error = reactConsoleErrorHandler;\n if (console.reportErrorsAsExceptions === undefined) {\n // Individual apps can disable this\n // Flow doesn't like it when you set arbitrary values on a global object\n console.reportErrorsAsExceptions = true;\n }\n}\n\nconst ExceptionsManager = {\n decoratedExtraDataKey,\n handleException,\n installConsoleErrorReporter,\n SyntheticError, // <- for backwards compatibility\n unstable_setExceptionDecorator,\n};\n\nexport default ExceptionsManager;\n","var getPrototypeOf = require(\"./getPrototypeOf.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nvar isNativeFunction = require(\"./isNativeFunction.js\");\nvar construct = require(\"./construct.js\");\nfunction _wrapNativeSuper(t) {\n var r = \"function\" == typeof Map ? new Map() : void 0;\n return module.exports = _wrapNativeSuper = function _wrapNativeSuper(t) {\n if (null === t || !isNativeFunction(t)) return t;\n if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\");\n if (void 0 !== r) {\n if (r.has(t)) return r.get(t);\n r.set(t, Wrapper);\n }\n function Wrapper() {\n return construct(t, arguments, getPrototypeOf(this).constructor);\n }\n return Wrapper.prototype = Object.create(t.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: !1,\n writable: !0,\n configurable: !0\n }\n }), setPrototypeOf(Wrapper, t);\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _wrapNativeSuper(t);\n}\nmodule.exports = _wrapNativeSuper, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeFunction(t) {\n try {\n return -1 !== Function.toString.call(t).indexOf(\"[native code]\");\n } catch (n) {\n return \"function\" == typeof t;\n }\n}\nmodule.exports = _isNativeFunction, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var isNativeReflectConstruct = require(\"./isNativeReflectConstruct.js\");\nvar setPrototypeOf = require(\"./setPrototypeOf.js\");\nfunction _construct(t, e, r) {\n if (isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments);\n var o = [null];\n o.push.apply(o, e);\n var p = new (t.bind.apply(t, o))();\n return r && setPrototypeOf(p, r.prototype), p;\n}\nmodule.exports = _construct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _isNativeReflectConstruct() {\n try {\n var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n } catch (t) {}\n return (module.exports = _isNativeReflectConstruct = function _isNativeReflectConstruct() {\n return !!t;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports)();\n}\nmodule.exports = _isNativeReflectConstruct, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\nimport type {StackFrame} from '../NativeExceptionsManager';\nimport type {HermesParsedStack} from './parseHermesStack';\n\nconst parseHermesStack = require('./parseHermesStack').default;\n\nfunction convertHermesStack(stack: HermesParsedStack): Array {\n const frames: Array = [];\n for (const entry of stack.entries) {\n if (entry.type !== 'FRAME') {\n continue;\n }\n const {location, functionName} = entry;\n if (location.type === 'NATIVE' || location.type === 'INTERNAL_BYTECODE') {\n continue;\n }\n frames.push({\n methodName: functionName,\n file: location.sourceUrl,\n lineNumber: location.line1Based,\n column:\n location.type === 'SOURCE'\n ? location.column1Based - 1\n : location.virtualOffset0Based,\n });\n }\n return frames;\n}\n\nexport default function parseErrorStack(\n errorStack?: string,\n): Array {\n if (errorStack == null) {\n return [];\n }\n\n const stacktraceParser = require('stacktrace-parser');\n const parsedStack = Array.isArray(errorStack)\n ? errorStack\n : global.HermesInternal\n ? convertHermesStack(parseHermesStack(errorStack))\n : stacktraceParser.parse(errorStack).map((frame): StackFrame => ({\n ...frame,\n column: frame.column != null ? frame.column - 1 : null,\n }));\n\n return parsedStack;\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar UNKNOWN_FUNCTION = '';\n/**\n * This parses the different stack traces and puts them into one format\n * This borrows heavily from TraceKit (https://github.com/csnover/TraceKit)\n */\n\nfunction parse(stackString) {\n var lines = stackString.split('\\n');\n return lines.reduce(function (stack, line) {\n var parseResult = parseChrome(line) || parseWinjs(line) || parseGecko(line) || parseNode(line) || parseJSC(line);\n\n if (parseResult) {\n stack.push(parseResult);\n }\n\n return stack;\n }, []);\n}\nvar chromeRe = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack|rsc||\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nvar chromeEvalRe = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\nfunction parseChrome(line) {\n var parts = chromeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n var submatch = chromeEvalRe.exec(parts[2]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n\n parts[3] = submatch[2]; // line\n\n parts[4] = submatch[3]; // column\n }\n\n return {\n file: !isNative ? parts[2] : null,\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: isNative ? [parts[2]] : [],\n lineNumber: parts[3] ? +parts[3] : null,\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar winjsRe = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|rsc|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseWinjs(line) {\n var parts = winjsRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nvar geckoRe = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|rsc|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar geckoEvalRe = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nfunction parseGecko(line) {\n var parts = geckoRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var submatch = geckoEvalRe.exec(parts[3]);\n\n if (isEval && submatch != null) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = null; // no column when eval\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: parts[2] ? parts[2].split(',') : [],\n lineNumber: parts[4] ? +parts[4] : null,\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar javaScriptCoreRe = /^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;\n\nfunction parseJSC(line) {\n var parts = javaScriptCoreRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[3],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[4],\n column: parts[5] ? +parts[5] : null\n };\n}\n\nvar nodeRe = /^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nfunction parseNode(line) {\n var parts = nodeRe.exec(line);\n\n if (!parts) {\n return null;\n }\n\n return {\n file: parts[2],\n methodName: parts[1] || UNKNOWN_FUNCTION,\n arguments: [],\n lineNumber: +parts[3],\n column: parts[4] ? +parts[4] : null\n };\n}\n\nexports.parse = parse;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\ntype HermesStackLocationNative = $ReadOnly<{\n type: 'NATIVE',\n}>;\n\ntype HermesStackLocationSource = $ReadOnly<{\n type: 'SOURCE',\n sourceUrl: string,\n line1Based: number,\n column1Based: number,\n}>;\n\ntype HermesStackLocationInternalBytecode = $ReadOnly<{\n type: 'INTERNAL_BYTECODE',\n sourceUrl: string,\n line1Based: number,\n virtualOffset0Based: number,\n}>;\n\ntype HermesStackLocationBytecode = $ReadOnly<{\n type: 'BYTECODE',\n sourceUrl: string,\n line1Based: number,\n virtualOffset0Based: number,\n}>;\n\ntype HermesStackLocation =\n | HermesStackLocationNative\n | HermesStackLocationSource\n | HermesStackLocationInternalBytecode\n | HermesStackLocationBytecode;\n\ntype HermesStackEntryFrame = $ReadOnly<{\n type: 'FRAME',\n location: HermesStackLocation,\n functionName: string,\n}>;\n\ntype HermesStackEntrySkipped = $ReadOnly<{\n type: 'SKIPPED',\n count: number,\n}>;\n\ntype HermesStackEntry = HermesStackEntryFrame | HermesStackEntrySkipped;\n\nexport type HermesParsedStack = $ReadOnly<{\n message: string,\n entries: $ReadOnlyArray,\n}>;\n\n// Capturing groups:\n// 1. function name\n// 2. is this a native stack frame?\n// 3. is this a bytecode address or a source location?\n// 4. source URL (filename)\n// 5. line number (1 based)\n// 6. column number (1 based) or virtual offset (0 based)\nconst RE_FRAME =\n /^ {4}at (.+?)(?: \\((native)\\)?| \\((address at )?(.*?):(\\d+):(\\d+)\\))$/;\n\n// Capturing groups:\n// 1. count of skipped frames\nconst RE_SKIPPED = /^ {4}... skipping (\\d+) frames$/;\nconst RE_COMPONENT_NO_STACK = /^ {4}at .*$/;\n\nfunction isInternalBytecodeSourceUrl(sourceUrl: string): boolean {\n // See https://github.com/facebook/hermes/blob/3332fa020cae0bab751f648db7c94e1d687eeec7/lib/VM/Runtime.cpp#L1100\n return sourceUrl === 'InternalBytecode.js';\n}\n\nfunction parseLine(line: string): ?HermesStackEntry {\n const asFrame = line.match(RE_FRAME);\n if (asFrame) {\n return {\n type: 'FRAME',\n functionName: asFrame[1],\n location:\n asFrame[2] === 'native'\n ? {type: 'NATIVE'}\n : asFrame[3] === 'address at '\n ? isInternalBytecodeSourceUrl(asFrame[4])\n ? {\n type: 'INTERNAL_BYTECODE',\n sourceUrl: asFrame[4],\n line1Based: Number.parseInt(asFrame[5], 10),\n virtualOffset0Based: Number.parseInt(asFrame[6], 10),\n }\n : {\n type: 'BYTECODE',\n sourceUrl: asFrame[4],\n line1Based: Number.parseInt(asFrame[5], 10),\n virtualOffset0Based: Number.parseInt(asFrame[6], 10),\n }\n : {\n type: 'SOURCE',\n sourceUrl: asFrame[4],\n line1Based: Number.parseInt(asFrame[5], 10),\n column1Based: Number.parseInt(asFrame[6], 10),\n },\n };\n }\n const asSkipped = line.match(RE_SKIPPED);\n if (asSkipped) {\n return {\n type: 'SKIPPED',\n count: Number.parseInt(asSkipped[1], 10),\n };\n }\n}\n\nexport default function parseHermesStack(stack: string): HermesParsedStack {\n const lines = stack.split(/\\n/);\n let entries: Array = [];\n let lastMessageLine = -1;\n for (let i = 0; i < lines.length; ++i) {\n const line = lines[i];\n if (!line) {\n continue;\n }\n const entry = parseLine(line);\n if (entry) {\n entries.push(entry);\n continue;\n }\n if (RE_COMPONENT_NO_STACK.test(line)) {\n // Skip component stacks without source location.\n // TODO: This will not be displayed, not sure how to handle it.\n continue;\n }\n // No match - we're still in the message\n lastMessageLine = i;\n entries = [];\n }\n const message = lines.slice(0, lastMessageLine + 1).join('\\n');\n return {message, entries};\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeExceptionsManager';\nimport NativeExceptionsManager from '../../src/private/specs_DEPRECATED/modules/NativeExceptionsManager';\nexport default NativeExceptionsManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nconst Platform = require('../../../../Libraries/Utilities/Platform').default;\n\nexport type StackFrame = {\n column: ?number,\n file: ?string,\n lineNumber: ?number,\n methodName: string,\n collapse?: boolean,\n};\nexport type ExceptionData = {\n message: string,\n originalMessage: ?string,\n name: ?string,\n componentStack: ?string,\n stack: Array,\n id: number,\n isFatal: boolean,\n // flowlint-next-line unclear-type:off\n extraData?: Object,\n ...\n};\nexport interface Spec extends TurboModule {\n // Deprecated: Use `reportException`\n +reportFatalException: (\n message: string,\n stack: Array,\n exceptionId: number,\n ) => void;\n // Deprecated: Use `reportException`\n +reportSoftException: (\n message: string,\n stack: Array,\n exceptionId: number,\n ) => void;\n +reportException?: (data: ExceptionData) => void;\n // TODO(T53311281): This is a noop on iOS now. Implement it.\n +dismissRedbox?: () => void;\n}\n\nconst NativeModule =\n TurboModuleRegistry.getEnforcing('ExceptionsManager');\n\nconst ExceptionsManager = {\n reportFatalException(\n message: string,\n stack: Array,\n exceptionId: number,\n ) {\n NativeModule.reportFatalException(message, stack, exceptionId);\n },\n reportSoftException(\n message: string,\n stack: Array,\n exceptionId: number,\n ) {\n NativeModule.reportSoftException(message, stack, exceptionId);\n },\n dismissRedbox(): void {\n if (Platform.OS !== 'ios' && NativeModule.dismissRedbox) {\n // TODO(T53311281): This is a noop on iOS now. Implement it.\n NativeModule.dismissRedbox();\n }\n },\n reportException(data: ExceptionData): void {\n if (NativeModule.reportException) {\n NativeModule.reportException(data);\n return;\n }\n if (data.isFatal) {\n ExceptionsManager.reportFatalException(data.message, data.stack, data.id);\n } else {\n ExceptionsManager.reportSoftException(data.message, data.stack, data.id);\n }\n },\n};\n\nexport default ExceptionsManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nconst {hasNativeConstructor} = require('../Utilities/FeatureDetection');\nconst {polyfillGlobal} = require('../Utilities/PolyfillFunctions');\n\n/**\n * Set up regenerator.\n * You can use this module directly, or just require InitializeCore.\n */\n\nlet hasNativeGenerator;\ntry {\n // If this function was lowered by regenerator-transform, it will try to\n // access `global.regeneratorRuntime` which doesn't exist yet and will throw.\n hasNativeGenerator = hasNativeConstructor(\n function* () {},\n 'GeneratorFunction',\n );\n} catch {\n // In this case, we know generators are not provided natively.\n hasNativeGenerator = false;\n}\n\n// If generators are provided natively, which suggests that there was no\n// regenerator-transform, then there is no need to set up the runtime.\nif (!hasNativeGenerator) {\n polyfillGlobal('regeneratorRuntime', () => {\n // The require just sets up the global, so make sure when we first\n // invoke it the global does not exist\n delete global.regeneratorRuntime;\n\n // regenerator-runtime/runtime exports the regeneratorRuntime object, so we\n // can return it safely.\n return require('regenerator-runtime/runtime'); // flowlint-line untyped-import:off\n });\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n/**\n * @return whether or not a @param {function} f is provided natively by calling\n * `toString` and check if the result includes `[native code]` in it.\n *\n * Note that a polyfill can technically fake this behavior but few does it.\n * Therefore, this is usually good enough for our purpose.\n */\nexport function isNativeFunction(f: Function): boolean {\n return typeof f === 'function' && f.toString().indexOf('[native code]') > -1;\n}\n\n/**\n * @return whether or not the constructor of @param {object} o is an native\n * function named with @param {string} expectedName.\n */\nexport function hasNativeConstructor(o: Object, expectedName: string): boolean {\n const con = Object.getPrototypeOf(o).constructor;\n return con.name === expectedName && isNativeFunction(con);\n}\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; };\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) });\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: true });\n defineProperty(\n GeneratorFunctionPrototype,\n \"constructor\",\n { value: GeneratorFunction, configurable: true }\n );\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n defineProperty(this, \"_invoke\", { value: enqueue });\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method;\n var method = delegate.iterator[methodName];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method, or a missing .next mehtod, always terminate the\n // yield* loop.\n context.delegate = null;\n\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (methodName === \"throw\" && delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n if (methodName !== \"return\") {\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a '\" + methodName + \"' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(val) {\n var object = Object(val);\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nconst {polyfillGlobal} = require('../Utilities/PolyfillFunctions');\n\n/**\n * Set up XMLHttpRequest. The native XMLHttpRequest in Chrome dev tools is CORS\n * aware and won't let you fetch anything from the internet.\n *\n * You can use this module directly, or just require InitializeCore.\n */\npolyfillGlobal(\n 'XMLHttpRequest',\n () => require('../Network/XMLHttpRequest').default,\n);\npolyfillGlobal('FormData', () => require('../Network/FormData').default);\n\npolyfillGlobal('fetch', () => require('../Network/fetch').fetch);\npolyfillGlobal('Headers', () => require('../Network/fetch').Headers);\npolyfillGlobal('Request', () => require('../Network/fetch').Request);\npolyfillGlobal('Response', () => require('../Network/fetch').Response);\npolyfillGlobal('WebSocket', () => require('../WebSocket/WebSocket').default);\npolyfillGlobal('Blob', () => require('../Blob/Blob').default);\npolyfillGlobal('File', () => require('../Blob/File').default);\npolyfillGlobal('FileReader', () => require('../Blob/FileReader').default);\npolyfillGlobal('URL', () => require('../Blob/URL').URL);\npolyfillGlobal('URLSearchParams', () => require('../Blob/URL').URLSearchParams);\npolyfillGlobal(\n 'AbortController',\n () => require('abort-controller/dist/abort-controller').AbortController, // flowlint-line untyped-import:off\n);\npolyfillGlobal(\n 'AbortSignal',\n () => require('abort-controller/dist/abort-controller').AbortSignal, // flowlint-line untyped-import:off\n);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport typeof XMLHttpRequest from './XMLHttpRequest_old';\n\nexport type * from './XMLHttpRequest_old';\n\n// Use a global instead of a flag from ReactNativeFeatureFlags because this will\n// be read before apps have a chance to set overrides.\nconst useBuiltInEventTarget = global.RN$useBuiltInEventTarget?.();\n\nexport default (useBuiltInEventTarget\n ? // $FlowExpectedError[incompatible-cast]\n require('./XMLHttpRequest_new').default\n : // $FlowExpectedError[incompatible-cast]\n require('./XMLHttpRequest_old').default) as XMLHttpRequest;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\n\nimport type {\n EventCallback,\n EventListener,\n} from '../../src/private/webapis/dom/events/EventTarget';\nimport type Performance from '../../src/private/webapis/performance/Performance';\nimport type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';\n\nimport Event from '../../src/private/webapis/dom/events/Event';\nimport {\n getEventHandlerAttribute,\n setEventHandlerAttribute,\n} from '../../src/private/webapis/dom/events/EventHandlerAttributes';\nimport EventTarget from '../../src/private/webapis/dom/events/EventTarget';\nimport {dispatchTrustedEvent} from '../../src/private/webapis/dom/events/internals/EventTargetInternals';\nimport ProgressEvent from '../../src/private/webapis/xhr/events/ProgressEvent';\nimport {type EventSubscription} from '../vendor/emitter/EventEmitter';\n\nconst BlobManager = require('../Blob/BlobManager').default;\nconst GlobalPerformanceLogger =\n require('../Utilities/GlobalPerformanceLogger').default;\nconst RCTNetworking = require('./RCTNetworking').default;\nconst base64 = require('base64-js');\nconst invariant = require('invariant');\n\ndeclare var performance: Performance;\n\nconst DEBUG_NETWORK_SEND_DELAY: false = false; // Set to a number of milliseconds when debugging\nconst LABEL_FOR_MISSING_URL_FOR_PROFILING = 'Unknown URL';\n\nexport type NativeResponseType = 'base64' | 'blob' | 'text';\nexport type ResponseType =\n | ''\n | 'arraybuffer'\n | 'blob'\n | 'document'\n | 'json'\n | 'text';\nexport type Response = ?Object | string;\n\ntype XHRInterceptor = interface {\n requestSent(id: number, url: string, method: string, headers: Object): void,\n responseReceived(\n id: number,\n url: string,\n status: number,\n headers: Object,\n ): void,\n dataReceived(id: number, data: string): void,\n loadingFinished(id: number, encodedDataLength: number): void,\n loadingFailed(id: number, error: string): void,\n};\n\n// The native blob module is optional so inject it here if available.\nif (BlobManager.isAvailable) {\n BlobManager.addNetworkingHandler();\n}\n\nconst UNSENT = 0;\nconst OPENED = 1;\nconst HEADERS_RECEIVED = 2;\nconst LOADING = 3;\nconst DONE = 4;\n\nconst SUPPORTED_RESPONSE_TYPES = {\n arraybuffer: typeof global.ArrayBuffer === 'function',\n blob: typeof global.Blob === 'function',\n document: false,\n json: true,\n text: true,\n '': true,\n};\n\nclass XMLHttpRequestEventTarget extends EventTarget {\n get onload(): EventCallback | null {\n return getEventHandlerAttribute(this, 'load');\n }\n set onload(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'load', listener);\n }\n get onloadstart(): EventCallback | null {\n return getEventHandlerAttribute(this, 'loadstart');\n }\n set onloadstart(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'loadstart', listener);\n }\n get onprogress(): EventCallback | null {\n return getEventHandlerAttribute(this, 'progress');\n }\n set onprogress(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'progress', listener);\n }\n get ontimeout(): EventCallback | null {\n return getEventHandlerAttribute(this, 'timeout');\n }\n set ontimeout(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'timeout', listener);\n }\n get onerror(): EventCallback | null {\n return getEventHandlerAttribute(this, 'error');\n }\n set onerror(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'error', listener);\n }\n get onabort(): EventCallback | null {\n return getEventHandlerAttribute(this, 'abort');\n }\n set onabort(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'abort', listener);\n }\n get onloadend(): EventCallback | null {\n return getEventHandlerAttribute(this, 'loadend');\n }\n set onloadend(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'loadend', listener);\n }\n}\n\n/**\n * Shared base for platform-specific XMLHttpRequest implementations.\n */\nclass XMLHttpRequest extends EventTarget {\n static UNSENT: number = UNSENT;\n static OPENED: number = OPENED;\n static HEADERS_RECEIVED: number = HEADERS_RECEIVED;\n static LOADING: number = LOADING;\n static DONE: number = DONE;\n\n static _interceptor: ?XHRInterceptor = null;\n static _profiling: boolean = false;\n\n UNSENT: number = UNSENT;\n OPENED: number = OPENED;\n HEADERS_RECEIVED: number = HEADERS_RECEIVED;\n LOADING: number = LOADING;\n DONE: number = DONE;\n\n readyState: number = UNSENT;\n responseHeaders: ?Object;\n status: number = 0;\n timeout: number = 0;\n responseURL: ?string;\n withCredentials: boolean = true;\n\n upload: XMLHttpRequestEventTarget = new XMLHttpRequestEventTarget();\n\n _requestId: ?number;\n _subscriptions: Array;\n\n _aborted: boolean = false;\n _cachedResponse: Response;\n _hasError: boolean = false;\n _headers: Object;\n _lowerCaseResponseHeaders: Object;\n _method: ?string = null;\n _perfKey: ?string = null;\n _responseType: ResponseType;\n _response: string = '';\n _sent: boolean;\n _url: ?string = null;\n _timedOut: boolean = false;\n _trackingName: ?string = null;\n _incrementalEvents: boolean = false;\n _startTime: ?number = null;\n _performanceLogger: IPerformanceLogger = GlobalPerformanceLogger;\n\n static __setInterceptor_DO_NOT_USE(interceptor: ?XHRInterceptor) {\n XMLHttpRequest._interceptor = interceptor;\n }\n\n static enableProfiling(enableProfiling: boolean): void {\n XMLHttpRequest._profiling = enableProfiling;\n }\n\n constructor() {\n super();\n this._reset();\n }\n\n _reset(): void {\n this.readyState = this.UNSENT;\n this.responseHeaders = undefined;\n this.status = 0;\n delete this.responseURL;\n\n this._requestId = null;\n\n this._cachedResponse = undefined;\n this._hasError = false;\n this._headers = {};\n this._response = '';\n this._responseType = '';\n this._sent = false;\n this._lowerCaseResponseHeaders = {};\n\n this._clearSubscriptions();\n this._timedOut = false;\n }\n\n get responseType(): ResponseType {\n return this._responseType;\n }\n\n set responseType(responseType: ResponseType): void {\n if (this._sent) {\n throw new Error(\n \"Failed to set the 'responseType' property on 'XMLHttpRequest': The \" +\n 'response type cannot be set after the request has been sent.',\n );\n }\n if (!SUPPORTED_RESPONSE_TYPES.hasOwnProperty(responseType)) {\n console.warn(\n `The provided value '${responseType}' is not a valid 'responseType'.`,\n );\n return;\n }\n\n // redboxes early, e.g. for 'arraybuffer' on ios 7\n invariant(\n SUPPORTED_RESPONSE_TYPES[responseType] || responseType === 'document',\n `The provided value '${responseType}' is unsupported in this environment.`,\n );\n\n if (responseType === 'blob') {\n invariant(\n BlobManager.isAvailable,\n 'Native module BlobModule is required for blob support',\n );\n }\n this._responseType = responseType;\n }\n\n get responseText(): string {\n if (this._responseType !== '' && this._responseType !== 'text') {\n throw new Error(\n \"The 'responseText' property is only available if 'responseType' \" +\n `is set to '' or 'text', but it is '${this._responseType}'.`,\n );\n }\n if (this.readyState < LOADING) {\n return '';\n }\n return this._response;\n }\n\n get response(): Response {\n const {responseType} = this;\n if (responseType === '' || responseType === 'text') {\n return this.readyState < LOADING || this._hasError ? '' : this._response;\n }\n\n if (this.readyState !== DONE) {\n return null;\n }\n\n if (this._cachedResponse !== undefined) {\n return this._cachedResponse;\n }\n\n switch (responseType) {\n case 'document':\n this._cachedResponse = null;\n break;\n\n case 'arraybuffer':\n this._cachedResponse = base64.toByteArray(this._response).buffer;\n break;\n\n case 'blob':\n if (typeof this._response === 'object' && this._response) {\n this._cachedResponse = BlobManager.createFromOptions(this._response);\n } else if (this._response === '') {\n this._cachedResponse = BlobManager.createFromParts([]);\n } else {\n throw new Error(\n 'Invalid response for blob - expecting object, was ' +\n `${typeof this._response}: ${this._response.trim()}`,\n );\n }\n break;\n\n case 'json':\n try {\n this._cachedResponse = JSON.parse(this._response);\n } catch (_) {\n this._cachedResponse = null;\n }\n break;\n\n default:\n this._cachedResponse = null;\n }\n\n return this._cachedResponse;\n }\n\n // exposed for testing\n __didCreateRequest(requestId: number): void {\n this._requestId = requestId;\n\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.requestSent(\n requestId,\n this._url || '',\n this._method || 'GET',\n this._headers,\n );\n }\n\n // exposed for testing\n __didUploadProgress(\n requestId: number,\n progress: number,\n total: number,\n ): void {\n if (requestId === this._requestId) {\n dispatchTrustedEvent(\n this.upload,\n new ProgressEvent('progress', {\n lengthComputable: true,\n loaded: progress,\n total,\n }),\n );\n }\n }\n\n __didReceiveResponse(\n requestId: number,\n status: number,\n responseHeaders: ?Object,\n responseURL: ?string,\n ): void {\n if (requestId === this._requestId) {\n this._perfKey != null &&\n this._performanceLogger.stopTimespan(this._perfKey);\n this.status = status;\n this.setResponseHeaders(responseHeaders);\n this.setReadyState(this.HEADERS_RECEIVED);\n if (responseURL || responseURL === '') {\n this.responseURL = responseURL;\n } else {\n delete this.responseURL;\n }\n\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.responseReceived(\n requestId,\n responseURL || this._url || '',\n status,\n responseHeaders || {},\n );\n }\n }\n\n __didReceiveData(requestId: number, response: string): void {\n if (requestId !== this._requestId) {\n return;\n }\n this._response = response;\n this._cachedResponse = undefined; // force lazy recomputation\n this.setReadyState(this.LOADING);\n\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.dataReceived(requestId, response);\n }\n\n __didReceiveIncrementalData(\n requestId: number,\n responseText: string,\n progress: number,\n total: number,\n ) {\n if (requestId !== this._requestId) {\n return;\n }\n if (!this._response) {\n this._response = responseText;\n } else {\n this._response += responseText;\n }\n\n if (XMLHttpRequest._profiling) {\n performance.mark(\n 'Track:XMLHttpRequest:Incremental Data: ' + this._getMeasureURL(),\n );\n }\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.dataReceived(requestId, responseText);\n\n this.setReadyState(this.LOADING);\n this.__didReceiveDataProgress(requestId, progress, total);\n }\n\n __didReceiveDataProgress(\n requestId: number,\n loaded: number,\n total: number,\n ): void {\n if (requestId !== this._requestId) {\n return;\n }\n dispatchTrustedEvent(\n this,\n new ProgressEvent('progress', {\n lengthComputable: total >= 0,\n loaded,\n total,\n }),\n );\n }\n\n // exposed for testing\n __didCompleteResponse(\n requestId: number,\n error: string,\n timeOutError: boolean,\n ): void {\n if (requestId === this._requestId) {\n if (error) {\n if (this._responseType === '' || this._responseType === 'text') {\n this._response = error;\n }\n this._hasError = true;\n if (timeOutError) {\n this._timedOut = true;\n }\n }\n this._clearSubscriptions();\n this._requestId = null;\n this.setReadyState(this.DONE);\n if (XMLHttpRequest._profiling && this._startTime != null) {\n const start = this._startTime;\n performance.measure('Track:XMLHttpRequest:' + this._getMeasureURL(), {\n start,\n end: performance.now(),\n });\n }\n if (error) {\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.loadingFailed(requestId, error);\n } else {\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.loadingFinished(\n requestId,\n this._response.length,\n );\n }\n }\n }\n\n _clearSubscriptions(): void {\n (this._subscriptions || []).forEach(sub => {\n if (sub) {\n sub.remove();\n }\n });\n this._subscriptions = [];\n }\n\n getAllResponseHeaders(): ?string {\n if (!this.responseHeaders) {\n // according to the spec, return null if no response has been received\n return null;\n }\n\n // Assign to non-nullable local variable.\n const responseHeaders = this.responseHeaders;\n\n const unsortedHeaders: Map<\n string,\n {lowerHeaderName: string, upperHeaderName: string, headerValue: string},\n > = new Map();\n for (const rawHeaderName of Object.keys(responseHeaders)) {\n const headerValue = responseHeaders[rawHeaderName];\n const lowerHeaderName = rawHeaderName.toLowerCase();\n const header = unsortedHeaders.get(lowerHeaderName);\n if (header) {\n header.headerValue += ', ' + headerValue;\n unsortedHeaders.set(lowerHeaderName, header);\n } else {\n unsortedHeaders.set(lowerHeaderName, {\n lowerHeaderName,\n upperHeaderName: rawHeaderName.toUpperCase(),\n headerValue,\n });\n }\n }\n\n // Sort in ascending order, with a being less than b if a's name is legacy-uppercased-byte less than b's name.\n const sortedHeaders = [...unsortedHeaders.values()].sort((a, b) => {\n if (a.upperHeaderName < b.upperHeaderName) {\n return -1;\n }\n if (a.upperHeaderName > b.upperHeaderName) {\n return 1;\n }\n return 0;\n });\n\n // Combine into single text response.\n return (\n sortedHeaders\n .map(header => {\n return header.lowerHeaderName + ': ' + header.headerValue;\n })\n .join('\\r\\n') + '\\r\\n'\n );\n }\n\n getResponseHeader(header: string): ?string {\n const value = this._lowerCaseResponseHeaders[header.toLowerCase()];\n return value !== undefined ? value : null;\n }\n\n setRequestHeader(header: string, value: any): void {\n if (this.readyState !== this.OPENED) {\n throw new Error('Request has not been opened');\n }\n this._headers[header.toLowerCase()] = String(value);\n }\n\n /**\n * Custom extension for tracking origins of request.\n */\n setTrackingName(trackingName: ?string): XMLHttpRequest {\n this._trackingName = trackingName;\n return this;\n }\n\n /**\n * Custom extension for setting a custom performance logger\n */\n setPerformanceLogger(performanceLogger: IPerformanceLogger): XMLHttpRequest {\n this._performanceLogger = performanceLogger;\n return this;\n }\n\n open(method: string, url: string, async: ?boolean): void {\n /* Other optional arguments are not supported yet */\n if (this.readyState !== this.UNSENT) {\n throw new Error('Cannot open, already sending');\n }\n if (async !== undefined && !async) {\n // async is default\n throw new Error('Synchronous http requests are not supported');\n }\n if (!url) {\n throw new Error('Cannot load an empty url');\n }\n this._method = method.toUpperCase();\n this._url = url;\n this._aborted = false;\n this.setReadyState(this.OPENED);\n }\n\n send(data: any): void {\n if (this.readyState !== this.OPENED) {\n throw new Error('Request has not been opened');\n }\n if (this._sent) {\n throw new Error('Request has already been sent');\n }\n this._sent = true;\n const incrementalEvents =\n this._incrementalEvents || !!this.onreadystatechange || !!this.onprogress;\n\n this._subscriptions.push(\n RCTNetworking.addListener('didSendNetworkData', args =>\n this.__didUploadProgress(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didReceiveNetworkResponse', args =>\n this.__didReceiveResponse(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didReceiveNetworkData', args =>\n this.__didReceiveData(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didReceiveNetworkIncrementalData', args =>\n this.__didReceiveIncrementalData(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didReceiveNetworkDataProgress', args =>\n this.__didReceiveDataProgress(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didCompleteNetworkResponse', args =>\n this.__didCompleteResponse(...args),\n ),\n );\n\n let nativeResponseType: NativeResponseType = 'text';\n if (this._responseType === 'arraybuffer') {\n nativeResponseType = 'base64';\n }\n if (this._responseType === 'blob') {\n nativeResponseType = 'blob';\n }\n\n const doSend = () => {\n const friendlyName = this._trackingName ?? this._url;\n this._perfKey = 'network_XMLHttpRequest_' + String(friendlyName);\n this._performanceLogger.startTimespan(this._perfKey);\n this._startTime = performance.now();\n invariant(\n this._method,\n 'XMLHttpRequest method needs to be defined (%s).',\n friendlyName,\n );\n invariant(\n this._url,\n 'XMLHttpRequest URL needs to be defined (%s).',\n friendlyName,\n );\n RCTNetworking.sendRequest(\n this._method,\n this._trackingName,\n this._url,\n this._headers,\n data,\n /* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue was found\n * when making Flow check .android.js files. */\n nativeResponseType,\n incrementalEvents,\n this.timeout,\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.__didCreateRequest.bind(this),\n this.withCredentials,\n );\n };\n if (DEBUG_NETWORK_SEND_DELAY) {\n setTimeout(doSend, DEBUG_NETWORK_SEND_DELAY);\n } else {\n doSend();\n }\n }\n\n abort(): void {\n this._aborted = true;\n if (this._requestId) {\n RCTNetworking.abortRequest(this._requestId);\n }\n // only call onreadystatechange if there is something to abort,\n // below logic is per spec\n if (\n !(\n this.readyState === this.UNSENT ||\n (this.readyState === this.OPENED && !this._sent) ||\n this.readyState === this.DONE\n )\n ) {\n this._reset();\n this.setReadyState(this.DONE);\n }\n // Reset again after, in case modified in handler\n this._reset();\n }\n\n setResponseHeaders(responseHeaders: ?Object): void {\n this.responseHeaders = responseHeaders || null;\n const headers = responseHeaders || {};\n this._lowerCaseResponseHeaders = Object.keys(headers).reduce<{\n [string]: any,\n }>((lcaseHeaders, headerName) => {\n // $FlowFixMe[invalid-computed-prop]\n lcaseHeaders[headerName.toLowerCase()] = headers[headerName];\n return lcaseHeaders;\n }, {});\n }\n\n setReadyState(newState: number): void {\n this.readyState = newState;\n dispatchTrustedEvent(this, new Event('readystatechange'));\n if (newState === this.DONE) {\n if (this._aborted) {\n dispatchTrustedEvent(this, new Event('abort'));\n } else if (this._hasError) {\n if (this._timedOut) {\n dispatchTrustedEvent(this, new Event('timeout'));\n } else {\n dispatchTrustedEvent(this, new Event('error'));\n }\n } else {\n dispatchTrustedEvent(this, new Event('load'));\n }\n dispatchTrustedEvent(this, new Event('loadend'));\n }\n }\n\n addEventListener(type: string, listener: EventListener | null): void {\n // If we dont' have a 'readystatechange' event handler, we don't\n // have to send repeated LOADING events with incremental updates\n // to responseText, which will avoid a bunch of native -> JS\n // bridge traffic.\n if (type === 'readystatechange' || type === 'progress') {\n this._incrementalEvents = true;\n }\n super.addEventListener(type, listener);\n }\n\n _getMeasureURL(): string {\n return (\n this._trackingName ?? this._url ?? LABEL_FOR_MISSING_URL_FOR_PROFILING\n );\n }\n\n /*\n * `on` event handling (without JS prototype magic).\n */\n\n get onabort(): EventCallback | null {\n return getEventHandlerAttribute(this, 'abort');\n }\n\n set onabort(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'abort', listener);\n }\n\n get onerror(): EventCallback | null {\n return getEventHandlerAttribute(this, 'error');\n }\n\n set onerror(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'error', listener);\n }\n\n get onload(): EventCallback | null {\n return getEventHandlerAttribute(this, 'load');\n }\n\n set onload(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'load', listener);\n }\n\n get onloadstart(): EventCallback | null {\n return getEventHandlerAttribute(this, 'loadstart');\n }\n\n set onloadstart(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'loadstart', listener);\n }\n\n get onprogress(): EventCallback | null {\n return getEventHandlerAttribute(this, 'progress');\n }\n\n set onprogress(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'progress', listener);\n }\n\n get ontimeout(): EventCallback | null {\n return getEventHandlerAttribute(this, 'timeout');\n }\n\n set ontimeout(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'timeout', listener);\n }\n\n get onloadend(): EventCallback | null {\n return getEventHandlerAttribute(this, 'loadend');\n }\n\n set onloadend(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'loadend', listener);\n }\n\n get onreadystatechange(): EventCallback | null {\n return getEventHandlerAttribute(this, 'readystatechange');\n }\n\n set onreadystatechange(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'readystatechange', listener);\n }\n}\n\nexport default XMLHttpRequest;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n/**\n * This module implements the `Event` interface from the DOM.\n * See https://dom.spec.whatwg.org/#interface-event.\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type EventTarget from './EventTarget';\n\nimport {\n COMPOSED_PATH_KEY,\n CURRENT_TARGET_KEY,\n EVENT_PHASE_KEY,\n IN_PASSIVE_LISTENER_FLAG_KEY,\n IS_TRUSTED_KEY,\n STOP_IMMEDIATE_PROPAGATION_FLAG_KEY,\n STOP_PROPAGATION_FLAG_KEY,\n TARGET_KEY,\n getComposedPath,\n getCurrentTarget,\n getEventPhase,\n getInPassiveListenerFlag,\n getIsTrusted,\n getTarget,\n setStopImmediatePropagationFlag,\n setStopPropagationFlag,\n} from './internals/EventInternals';\n\nexport interface EventInit {\n +bubbles?: boolean;\n +cancelable?: boolean;\n +composed?: boolean;\n}\n\nexport default class Event {\n static +NONE: 0;\n static +CAPTURING_PHASE: 1;\n static +AT_TARGET: 2;\n static +BUBBLING_PHASE: 3;\n\n +NONE: 0;\n +CAPTURING_PHASE: 1;\n +AT_TARGET: 2;\n +BUBBLING_PHASE: 3;\n\n _bubbles: boolean;\n _cancelable: boolean;\n _composed: boolean;\n _type: string;\n\n _defaultPrevented: boolean = false;\n _timeStamp: number = performance.now();\n\n // $FlowExpectedError[unsupported-syntax]\n [COMPOSED_PATH_KEY]: boolean = [];\n\n // $FlowExpectedError[unsupported-syntax]\n [CURRENT_TARGET_KEY]: EventTarget | null = null;\n\n // $FlowExpectedError[unsupported-syntax]\n [EVENT_PHASE_KEY]: boolean = Event.NONE;\n\n // $FlowExpectedError[unsupported-syntax]\n [IN_PASSIVE_LISTENER_FLAG_KEY]: boolean = false;\n\n // $FlowExpectedError[unsupported-syntax]\n [IS_TRUSTED_KEY]: boolean = false;\n\n // $FlowExpectedError[unsupported-syntax]\n [STOP_IMMEDIATE_PROPAGATION_FLAG_KEY]: boolean = false;\n\n // $FlowExpectedError[unsupported-syntax]\n [STOP_PROPAGATION_FLAG_KEY]: boolean = false;\n\n // $FlowExpectedError[unsupported-syntax]\n [TARGET_KEY]: EventTarget | null = null;\n\n constructor(type: string, options?: ?EventInit) {\n if (arguments.length < 1) {\n throw new TypeError(\n \"Failed to construct 'Event': 1 argument required, but only 0 present.\",\n );\n }\n\n const typeOfOptions = typeof options;\n\n if (\n options != null &&\n typeOfOptions !== 'object' &&\n typeOfOptions !== 'function'\n ) {\n throw new TypeError(\n \"Failed to construct 'Event': The provided value is not of type 'EventInit'.\",\n );\n }\n\n this._type = String(type);\n this._bubbles = Boolean(options?.bubbles);\n this._cancelable = Boolean(options?.cancelable);\n this._composed = Boolean(options?.composed);\n }\n\n get bubbles(): boolean {\n return this._bubbles;\n }\n\n get cancelable(): boolean {\n return this._cancelable;\n }\n\n get composed(): boolean {\n return this._composed;\n }\n\n get currentTarget(): EventTarget | null {\n return getCurrentTarget(this);\n }\n\n get defaultPrevented(): boolean {\n return this._defaultPrevented;\n }\n\n get eventPhase(): EventPhase {\n return getEventPhase(this);\n }\n\n get isTrusted(): boolean {\n return getIsTrusted(this);\n }\n\n get target(): EventTarget | null {\n return getTarget(this);\n }\n\n get timeStamp(): number {\n return this._timeStamp;\n }\n\n get type(): string {\n return this._type;\n }\n\n composedPath(): $ReadOnlyArray {\n return getComposedPath(this).slice();\n }\n\n preventDefault(): void {\n if (!this._cancelable) {\n return;\n }\n\n if (getInPassiveListenerFlag(this)) {\n console.error(\n new Error(\n 'Unable to preventDefault inside passive event listener invocation.',\n ),\n );\n return;\n }\n\n this._defaultPrevented = true;\n }\n\n stopImmediatePropagation(): void {\n setStopPropagationFlag(this, true);\n setStopImmediatePropagationFlag(this, true);\n }\n\n stopPropagation(): void {\n setStopPropagationFlag(this, true);\n }\n}\n\n// $FlowExpectedError[cannot-write]\nObject.defineProperty(Event, 'NONE', {\n enumerable: true,\n value: 0,\n});\n\n// $FlowExpectedError[cannot-write]\nObject.defineProperty(Event.prototype, 'NONE', {\n enumerable: true,\n value: 0,\n});\n\n// $FlowExpectedError[cannot-write]\nObject.defineProperty(Event, 'CAPTURING_PHASE', {\n enumerable: true,\n value: 1,\n});\n\n// $FlowExpectedError[cannot-write]\nObject.defineProperty(Event.prototype, 'CAPTURING_PHASE', {\n enumerable: true,\n value: 1,\n});\n\n// $FlowExpectedError[cannot-write]\nObject.defineProperty(Event, 'AT_TARGET', {\n enumerable: true,\n value: 2,\n});\n\n// $FlowExpectedError[cannot-write]\nObject.defineProperty(Event.prototype, 'AT_TARGET', {\n enumerable: true,\n value: 2,\n});\n\n// $FlowExpectedError[cannot-write]\nObject.defineProperty(Event, 'BUBBLING_PHASE', {\n enumerable: true,\n value: 3,\n});\n\n// $FlowExpectedError[cannot-write]\nObject.defineProperty(Event.prototype, 'BUBBLING_PHASE', {\n enumerable: true,\n value: 3,\n});\n\nexport type EventPhase =\n | (typeof Event)['NONE']\n | (typeof Event)['CAPTURING_PHASE']\n | (typeof Event)['AT_TARGET']\n | (typeof Event)['BUBBLING_PHASE'];\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n/**\n * This method contains internal implementation details for the `Event` module\n * and it is defined in a separate module to keep the exports in `Event` clean\n * (only with public exports).\n */\n\nimport type Event, {EventPhase} from '../Event';\nimport type EventTarget from '../EventTarget';\n\nexport const COMPOSED_PATH_KEY: symbol = Symbol('composedPath');\nexport const CURRENT_TARGET_KEY: symbol = Symbol('currentTarget');\nexport const EVENT_PHASE_KEY: symbol = Symbol('eventPhase');\nexport const IN_PASSIVE_LISTENER_FLAG_KEY: symbol = Symbol(\n 'inPassiveListenerFlag',\n);\nexport const IS_TRUSTED_KEY: symbol = Symbol('isTrusted');\nexport const STOP_IMMEDIATE_PROPAGATION_FLAG_KEY: symbol = Symbol(\n 'stopPropagationFlag',\n);\nexport const STOP_PROPAGATION_FLAG_KEY: symbol = Symbol('stopPropagationFlag');\nexport const TARGET_KEY: symbol = Symbol('target');\n\nexport function getCurrentTarget(event: Event): EventTarget | null {\n // $FlowExpectedError[prop-missing]\n return event[CURRENT_TARGET_KEY];\n}\n\nexport function setCurrentTarget(\n event: Event,\n currentTarget: EventTarget | null,\n): void {\n // $FlowExpectedError[prop-missing]\n event[CURRENT_TARGET_KEY] = currentTarget;\n}\n\nexport function getComposedPath(event: Event): $ReadOnlyArray {\n // $FlowExpectedError[prop-missing]\n return event[COMPOSED_PATH_KEY];\n}\n\nexport function setComposedPath(\n event: Event,\n composedPath: $ReadOnlyArray,\n): void {\n // $FlowExpectedError[prop-missing]\n event[COMPOSED_PATH_KEY] = composedPath;\n}\n\nexport function getEventPhase(event: Event): EventPhase {\n // $FlowExpectedError[prop-missing]\n return event[EVENT_PHASE_KEY];\n}\n\nexport function setEventPhase(event: Event, eventPhase: EventPhase): void {\n // $FlowExpectedError[prop-missing]\n event[EVENT_PHASE_KEY] = eventPhase;\n}\n\nexport function getInPassiveListenerFlag(event: Event): boolean {\n // $FlowExpectedError[prop-missing]\n return event[IN_PASSIVE_LISTENER_FLAG_KEY];\n}\n\nexport function setInPassiveListenerFlag(event: Event, value: boolean): void {\n // $FlowExpectedError[prop-missing]\n event[IN_PASSIVE_LISTENER_FLAG_KEY] = value;\n}\n\nexport function getIsTrusted(event: Event): boolean {\n // $FlowExpectedError[prop-missing]\n return event[IS_TRUSTED_KEY];\n}\n\nexport function setIsTrusted(event: Event, isTrusted: boolean): void {\n // $FlowExpectedError[prop-missing]\n event[IS_TRUSTED_KEY] = isTrusted;\n}\n\nexport function getStopImmediatePropagationFlag(event: Event): boolean {\n // $FlowExpectedError[prop-missing]\n return event[STOP_IMMEDIATE_PROPAGATION_FLAG_KEY];\n}\n\nexport function setStopImmediatePropagationFlag(\n event: Event,\n value: boolean,\n): void {\n // $FlowExpectedError[prop-missing]\n event[STOP_IMMEDIATE_PROPAGATION_FLAG_KEY] = value;\n}\n\nexport function getStopPropagationFlag(event: Event): boolean {\n // $FlowExpectedError[prop-missing]\n return event[STOP_PROPAGATION_FLAG_KEY];\n}\n\nexport function setStopPropagationFlag(event: Event, value: boolean): void {\n // $FlowExpectedError[prop-missing]\n event[STOP_PROPAGATION_FLAG_KEY] = value;\n}\n\nexport function getTarget(event: Event): EventTarget | null {\n // $FlowExpectedError[prop-missing]\n return event[TARGET_KEY];\n}\n\nexport function setTarget(event: Event, target: EventTarget | null): void {\n // $FlowExpectedError[prop-missing]\n event[TARGET_KEY] = target;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n/**\n * This module implements the `EventTarget` and related interfaces from the DOM.\n * See https://dom.spec.whatwg.org/#interface-eventtarget.\n */\n\nimport type {EventPhase} from './Event';\n\nimport Event from './Event';\nimport {\n getStopImmediatePropagationFlag,\n getStopPropagationFlag,\n setComposedPath,\n setCurrentTarget,\n setEventPhase,\n setInPassiveListenerFlag,\n setIsTrusted,\n setStopImmediatePropagationFlag,\n setStopPropagationFlag,\n setTarget,\n} from './internals/EventInternals';\nimport {\n EVENT_TARGET_GET_THE_PARENT_KEY,\n INTERNAL_DISPATCH_METHOD_KEY,\n} from './internals/EventTargetInternals';\n\nexport type EventCallback = (event: Event) => void;\nexport type EventHandler = interface {\n handleEvent(event: Event): void,\n};\nexport type EventListener = EventCallback | EventHandler;\n\nexport type EventListenerOptions = $ReadOnly<{\n capture?: boolean,\n}>;\n\nexport type AddEventListenerOptions = $ReadOnly<{\n ...EventListenerOptions,\n passive?: boolean,\n once?: boolean,\n signal?: AbortSignal,\n}>;\n\ntype EventListenerRegistration = {\n +callback: EventListener,\n +passive: boolean,\n +once: boolean,\n removed: boolean,\n};\n\ntype ListenersMap = Map>;\n\nexport default class EventTarget {\n addEventListener(\n type: string,\n callback: EventListener | null,\n optionsOrUseCapture?: AddEventListenerOptions | boolean = {},\n ): void {\n if (arguments.length < 2) {\n throw new TypeError(\n `Failed to execute 'addEventListener' on 'EventTarget': 2 arguments required, but only ${arguments.length} present.`,\n );\n }\n\n if (callback == null) {\n return;\n }\n\n validateCallback(callback, 'addEventListener');\n\n const processedType = String(type);\n\n let capture;\n let passive;\n let once;\n let signal;\n\n if (\n optionsOrUseCapture != null &&\n (typeof optionsOrUseCapture === 'object' ||\n typeof optionsOrUseCapture === 'function')\n ) {\n capture = Boolean(optionsOrUseCapture.capture);\n passive =\n optionsOrUseCapture.passive == null\n ? getDefaultPassiveValue(processedType, this)\n : Boolean(optionsOrUseCapture.passive);\n once = Boolean(optionsOrUseCapture.once);\n signal = optionsOrUseCapture.signal;\n if (signal !== undefined && !(signal instanceof AbortSignal)) {\n throw new TypeError(\n \"Failed to execute 'addEventListener' on 'EventTarget': Failed to read the 'signal' property from 'AddEventListenerOptions': Failed to convert value to 'AbortSignal'.\",\n );\n }\n } else {\n capture = Boolean(optionsOrUseCapture);\n passive = false;\n once = false;\n signal = null;\n }\n\n if (signal?.aborted) {\n return;\n }\n\n let listenersByType = getListenersForPhase(this, capture);\n let listeners = listenersByType?.get(processedType);\n if (listeners == null) {\n if (listenersByType == null) {\n listenersByType = new Map();\n setListenersMap(this, capture, listenersByType);\n }\n listeners = new Map();\n listenersByType.set(processedType, listeners);\n } else if (listeners.has(callback)) {\n return;\n }\n\n const listener: EventListenerRegistration = {\n callback,\n passive,\n once,\n removed: false,\n };\n listeners.set(callback, listener);\n\n const nonNullListeners = listeners;\n\n if (signal != null) {\n signal.addEventListener(\n 'abort',\n () => {\n listener.removed = true;\n if (nonNullListeners.get(callback) === listener) {\n nonNullListeners.delete(callback);\n }\n },\n {\n once: true,\n },\n );\n }\n }\n\n removeEventListener(\n type: string,\n callback: EventListener,\n optionsOrUseCapture?: EventListenerOptions | boolean = {},\n ): void {\n if (arguments.length < 2) {\n throw new TypeError(\n `Failed to execute 'removeEventListener' on 'EventTarget': 2 arguments required, but only ${arguments.length} present.`,\n );\n }\n\n if (callback == null) {\n return;\n }\n\n validateCallback(callback, 'removeEventListener');\n\n const processedType = String(type);\n\n const capture =\n typeof optionsOrUseCapture === 'boolean'\n ? optionsOrUseCapture\n : Boolean(optionsOrUseCapture.capture);\n\n const listenersByType = getListenersForPhase(this, capture);\n const listeners = listenersByType?.get(processedType);\n if (listeners == null) {\n return;\n }\n\n const listener = listeners.get(callback);\n if (listener != null) {\n listener.removed = true;\n listeners.delete(callback);\n }\n }\n\n dispatchEvent(event: Event): boolean {\n if (!(event instanceof Event)) {\n throw new TypeError(\n \"Failed to execute 'dispatchEvent' on 'EventTarget': parameter 1 is not of type 'Event'.\",\n );\n }\n\n if (getEventDispatchFlag(event)) {\n throw new Error(\n \"Failed to execute 'dispatchEvent' on 'EventTarget': The event is already being dispatched.\",\n );\n }\n\n setIsTrusted(event, false);\n\n dispatch(this, event);\n\n return !event.defaultPrevented;\n }\n\n /**\n * This a \"protected\" method to be overridden by a subclass to allow event\n * propagation.\n *\n * Should implement the \"get the parent\" algorithm\n * (see https://dom.spec.whatwg.org/#get-the-parent).\n */\n // $FlowExpectedError[unsupported-syntax]\n [EVENT_TARGET_GET_THE_PARENT_KEY](): EventTarget | null {\n return null;\n }\n\n /**\n * This is \"protected\" method to dispatch trusted events.\n */\n // $FlowExpectedError[unsupported-syntax]\n [INTERNAL_DISPATCH_METHOD_KEY](event: Event): void {\n dispatch(this, event);\n }\n}\n\nfunction validateCallback(callback: EventListener, methodName: string): void {\n if (typeof callback !== 'function' && typeof callback !== 'object') {\n throw new TypeError(\n `Failed to execute '${methodName}' on 'EventTarget': parameter 2 is not of type 'Object'.`,\n );\n }\n}\n\nfunction getDefaultPassiveValue(\n type: string,\n eventTarget: EventTarget,\n): boolean {\n return false;\n}\n\n/**\n * This internal version of `dispatchEvent` does not validate the input and\n * does not reset the `isTrusted` flag, so it can be used for both trusted\n * and not trusted events.\n *\n * Implements the \"event dispatch\" concept\n * (see https://dom.spec.whatwg.org/#concept-event-dispatch).\n */\nfunction dispatch(eventTarget: EventTarget, event: Event): void {\n setEventDispatchFlag(event, true);\n\n const eventPath = getEventPath(eventTarget, event);\n setComposedPath(event, eventPath);\n setTarget(event, eventTarget);\n\n for (let i = eventPath.length - 1; i >= 0; i--) {\n if (getStopPropagationFlag(event)) {\n break;\n }\n\n const target = eventPath[i];\n setEventPhase(\n event,\n target === eventTarget ? Event.AT_TARGET : Event.CAPTURING_PHASE,\n );\n invoke(target, event, Event.CAPTURING_PHASE);\n }\n\n for (const target of eventPath) {\n if (getStopPropagationFlag(event)) {\n break;\n }\n\n // If the event does NOT bubble, we only dispatch the event to the\n // target in the bubbling phase.\n if (!event.bubbles && target !== eventTarget) {\n break;\n }\n\n setEventPhase(\n event,\n target === eventTarget ? Event.AT_TARGET : Event.BUBBLING_PHASE,\n );\n invoke(target, event, Event.BUBBLING_PHASE);\n }\n\n setEventPhase(event, Event.NONE);\n setCurrentTarget(event, null);\n setComposedPath(event, []);\n\n setEventDispatchFlag(event, false);\n setStopImmediatePropagationFlag(event, false);\n setStopPropagationFlag(event, false);\n}\n\n/**\n * Builds the event path for an event about to be dispatched in this target\n * (see https://dom.spec.whatwg.org/#event-path).\n *\n * The return value is also set as `composedPath` for the event.\n */\nfunction getEventPath(\n eventTarget: EventTarget,\n event: Event,\n): $ReadOnlyArray {\n const path = [];\n let target: EventTarget | null = eventTarget;\n\n while (target != null) {\n path.push(target);\n // $FlowExpectedError[prop-missing]\n target = target[EVENT_TARGET_GET_THE_PARENT_KEY]();\n }\n\n return path;\n}\n\n/**\n * Implements the event listener invoke concept\n * (see https://dom.spec.whatwg.org/#concept-event-listener-invoke).\n */\nfunction invoke(\n eventTarget: EventTarget,\n event: Event,\n eventPhase: EventPhase,\n) {\n const listenersByType = getListenersForPhase(\n eventTarget,\n eventPhase === Event.CAPTURING_PHASE,\n );\n\n setCurrentTarget(event, eventTarget);\n\n const maybeListeners = listenersByType?.get(event.type);\n if (maybeListeners == null) {\n return;\n }\n\n // This is a copy so listeners added during dispatch are NOT executed.\n // Note that `maybeListeners.values()` is a live view of the map instead of an\n // immutable copy.\n const listeners = Array.from(maybeListeners.values());\n\n setCurrentTarget(event, eventTarget);\n\n for (const listener of listeners) {\n if (listener.removed) {\n continue;\n }\n\n if (listener.once) {\n eventTarget.removeEventListener(\n event.type,\n listener.callback,\n eventPhase === Event.CAPTURING_PHASE,\n );\n }\n\n if (listener.passive) {\n setInPassiveListenerFlag(event, true);\n }\n\n const currentEvent = global.event;\n global.event = event;\n\n const callback = listener.callback;\n\n try {\n if (typeof callback === 'function') {\n callback.call(eventTarget, event);\n // $FlowExpectedError[method-unbinding]\n } else if (typeof callback.handleEvent === 'function') {\n callback.handleEvent(event);\n }\n } catch (error) {\n // TODO: replace with `reportError` when it's available.\n console.error(error);\n }\n\n if (listener.passive) {\n setInPassiveListenerFlag(event, false);\n }\n\n global.event = currentEvent;\n\n if (getStopImmediatePropagationFlag(event)) {\n break;\n }\n }\n}\n\nconst CAPTURING_LISTENERS_KEY = Symbol('capturingListeners');\nconst BUBBLING_LISTENERS_KEY = Symbol('bubblingListeners');\n\nfunction getListenersForPhase(\n eventTarget: EventTarget,\n isCapture: boolean,\n): ?ListenersMap {\n return isCapture\n ? // $FlowExpectedError[prop-missing]\n eventTarget[CAPTURING_LISTENERS_KEY]\n : // $FlowExpectedError[prop-missing]\n eventTarget[BUBBLING_LISTENERS_KEY];\n}\n\nfunction setListenersMap(\n eventTarget: EventTarget,\n isCapture: boolean,\n listenersMap: ListenersMap,\n): void {\n if (isCapture) {\n // $FlowExpectedError[prop-missing]\n eventTarget[CAPTURING_LISTENERS_KEY] = listenersMap;\n } else {\n // $FlowExpectedError[prop-missing]\n eventTarget[BUBBLING_LISTENERS_KEY] = listenersMap;\n }\n}\n\nconst EVENT_DISPATCH_FLAG = Symbol('Event.dispatch');\n\nfunction getEventDispatchFlag(event: Event): boolean {\n // $FlowExpectedError[prop-missing]\n return event[EVENT_DISPATCH_FLAG];\n}\n\nfunction setEventDispatchFlag(event: Event, value: boolean): void {\n // $FlowExpectedError[prop-missing]\n event[EVENT_DISPATCH_FLAG] = value;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n/**\n * This method contains internal implementation details for the `EventTarget`\n * module and it is defined in a separate module to keep the exports in\n * the original module clean (only with public exports).\n */\n\nimport type Event from '../Event';\nimport type EventTarget from '../EventTarget';\n\nimport {setIsTrusted} from './EventInternals';\n\n/**\n * Use this symbol as key for a method to implement the \"get the parent\"\n * algorithm in an `EventTarget` subclass.\n */\nexport const EVENT_TARGET_GET_THE_PARENT_KEY: symbol = Symbol(\n 'EventTarget[get the parent]',\n);\n\n/**\n * This is only exposed to implement the method in `EventTarget`.\n * Do NOT use this directly (use the `dispatchTrustedEvent` method instead).\n */\nexport const INTERNAL_DISPATCH_METHOD_KEY: symbol = Symbol(\n 'EventTarget[dispatch]',\n);\n\n/**\n * Dispatches a trusted event to the given event target.\n *\n * This should only be used by the runtime to dispatch native events to\n * JavaScript.\n */\nexport function dispatchTrustedEvent(\n eventTarget: EventTarget,\n event: Event,\n): void {\n setIsTrusted(event, true);\n\n // $FlowExpectedError[prop-missing]\n return eventTarget[INTERNAL_DISPATCH_METHOD_KEY](event);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n/**\n * This module implements the `ProgressEvent` interface from `XMLHttpRequest`.\n * See https://xhr.spec.whatwg.org/#interface-progressevent.\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type {EventInit} from '../../dom/events/Event';\n\nimport Event from '../../dom/events/Event';\n\nexport interface ProgressEventInit extends EventInit {\n +lengthComputable: boolean;\n +loaded: number;\n +total: number;\n}\n\nexport default class ProgressEvent extends Event {\n _lengthComputable: boolean;\n _loaded: number;\n _total: number;\n\n constructor(type: string, options?: ?ProgressEventInit) {\n super(type, options);\n\n this._lengthComputable = Boolean(options?.lengthComputable);\n this._loaded = Number(options?.loaded) || 0;\n this._total = Number(options?.total) || 0;\n }\n\n get lengthComputable(): boolean {\n return this._lengthComputable;\n }\n\n get loaded(): number {\n return this._loaded;\n }\n\n get total(): number {\n return this._total;\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport typeof BlobT from './Blob';\nimport type {BlobCollector, BlobData, BlobOptions} from './BlobTypes';\n\nimport NativeBlobModule from './NativeBlobModule';\nimport invariant from 'invariant';\n\nconst Blob: BlobT = require('./Blob').default;\nconst BlobRegistry = require('./BlobRegistry');\n\n/*eslint-disable no-bitwise */\n/*eslint-disable eqeqeq */\n\n/**\n * Based on the rfc4122-compliant solution posted at\n * http://stackoverflow.com/questions/105034\n */\nfunction uuidv4(): string {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {\n const r = (Math.random() * 16) | 0,\n v = c == 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\n// **Temporary workaround**\n// TODO(#24654): Use turbomodules for the Blob module.\n// Blob collector is a jsi::HostObject that is used by native to know\n// when the a Blob instance is deallocated. This allows to free the\n// underlying native resources. This is a hack to workaround the fact\n// that the current bridge infra doesn't allow to track js objects\n// deallocation. Ideally the whole Blob object should be a jsi::HostObject.\nfunction createBlobCollector(blobId: string): BlobCollector | null {\n if (global.__blobCollectorProvider == null) {\n return null;\n } else {\n return global.__blobCollectorProvider(blobId);\n }\n}\n\n/**\n * Module to manage blobs. Wrapper around the native blob module.\n */\nclass BlobManager {\n /**\n * If the native blob module is available.\n */\n static isAvailable: boolean = !!NativeBlobModule;\n\n /**\n * Create blob from existing array of blobs.\n */\n static createFromParts(\n parts: Array,\n options?: BlobOptions,\n ): Blob {\n invariant(NativeBlobModule, 'NativeBlobModule is available.');\n\n const blobId = uuidv4();\n const items = parts.map(part => {\n if (part instanceof ArrayBuffer || ArrayBuffer.isView(part)) {\n throw new Error(\n \"Creating blobs from 'ArrayBuffer' and 'ArrayBufferView' are not supported\",\n );\n }\n if (part instanceof Blob) {\n return {\n data: part.data,\n type: 'blob',\n };\n } else {\n return {\n data: String(part),\n type: 'string',\n };\n }\n });\n const size = items.reduce((acc, curr) => {\n if (curr.type === 'string') {\n return acc + global.unescape(encodeURI(curr.data)).length;\n } else {\n return acc + curr.data.size;\n }\n }, 0);\n\n NativeBlobModule.createFromParts(items, blobId);\n\n return BlobManager.createFromOptions({\n blobId,\n offset: 0,\n size,\n type: options ? options.type : '',\n lastModified: options ? options.lastModified : Date.now(),\n });\n }\n\n /**\n * Create blob instance from blob data from native.\n * Used internally by modules like XHR, WebSocket, etc.\n */\n static createFromOptions(options: BlobData): Blob {\n BlobRegistry.register(options.blobId);\n // $FlowFixMe[prop-missing]\n return Object.assign(Object.create(Blob.prototype), {\n data:\n // Reuse the collector instance when creating from an existing blob.\n // This will make sure that the underlying resource is only deallocated\n // when all blobs that refer to it are deallocated.\n options.__collector == null\n ? {\n ...options,\n __collector: createBlobCollector(options.blobId),\n }\n : options,\n });\n }\n\n /**\n * Deallocate resources for a blob.\n */\n static release(blobId: string): void {\n invariant(NativeBlobModule, 'NativeBlobModule is available.');\n\n BlobRegistry.unregister(blobId);\n if (BlobRegistry.has(blobId)) {\n return;\n }\n NativeBlobModule.release(blobId);\n }\n\n /**\n * Inject the blob content handler in the networking module to support blob\n * requests and responses.\n */\n static addNetworkingHandler(): void {\n invariant(NativeBlobModule, 'NativeBlobModule is available.');\n\n NativeBlobModule.addNetworkingHandler();\n }\n\n /**\n * Indicate the websocket should return a blob for incoming binary\n * messages.\n */\n static addWebSocketHandler(socketId: number): void {\n invariant(NativeBlobModule, 'NativeBlobModule is available.');\n\n NativeBlobModule.addWebSocketHandler(socketId);\n }\n\n /**\n * Indicate the websocket should no longer return a blob for incoming\n * binary messages.\n */\n static removeWebSocketHandler(socketId: number): void {\n invariant(NativeBlobModule, 'NativeBlobModule is available.');\n\n NativeBlobModule.removeWebSocketHandler(socketId);\n }\n\n /**\n * Send a blob message to a websocket.\n */\n static sendOverSocket(blob: Blob, socketId: number): void {\n invariant(NativeBlobModule, 'NativeBlobModule is available.');\n\n NativeBlobModule.sendOverSocket(blob.data, socketId);\n }\n}\n\nexport default BlobManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeBlobModule';\nimport NativeBlobModule from '../../src/private/specs_DEPRECATED/modules/NativeBlobModule';\nexport default NativeBlobModule;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport type Constants = {BLOB_URI_SCHEME: ?string, BLOB_URI_HOST: ?string};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => Constants;\n +addNetworkingHandler: () => void;\n +addWebSocketHandler: (id: number) => void;\n +removeWebSocketHandler: (id: number) => void;\n +sendOverSocket: (blob: Object, socketID: number) => void;\n +createFromParts: (parts: Array, withId: string) => void;\n +release: (blobId: string) => void;\n}\n\nconst NativeModule = TurboModuleRegistry.get('BlobModule');\n\nlet constants = null;\nlet NativeBlobModule = null;\n\nif (NativeModule != null) {\n NativeBlobModule = {\n getConstants(): Constants {\n if (constants == null) {\n constants = NativeModule.getConstants();\n }\n return constants;\n },\n addNetworkingHandler(): void {\n NativeModule.addNetworkingHandler();\n },\n addWebSocketHandler(id: number): void {\n NativeModule.addWebSocketHandler(id);\n },\n removeWebSocketHandler(id: number): void {\n NativeModule.removeWebSocketHandler(id);\n },\n sendOverSocket(blob: Object, socketID: number): void {\n NativeModule.sendOverSocket(blob, socketID);\n },\n createFromParts(parts: Array, withId: string): void {\n NativeModule.createFromParts(parts, withId);\n },\n release(blobId: string): void {\n NativeModule.release(blobId);\n },\n };\n}\n\nexport default (NativeBlobModule: ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport type {BlobData, BlobOptions} from './BlobTypes';\n\n/**\n * Opaque JS representation of some binary data in native.\n *\n * The API is modeled after the W3C Blob API, with one caveat\n * regarding explicit deallocation. Refer to the `close()`\n * method for further details.\n *\n * Example usage in a React component:\n *\n * class WebSocketImage extends React.Component {\n * state = {blob: null};\n * componentDidMount() {\n * let ws = this.ws = new WebSocket(...);\n * ws.binaryType = 'blob';\n * ws.onmessage = (event) => {\n * if (this.state.blob) {\n * this.state.blob.close();\n * }\n * this.setState({blob: event.data});\n * };\n * }\n * componentUnmount() {\n * if (this.state.blob) {\n * this.state.blob.close();\n * }\n * this.ws.close();\n * }\n * render() {\n * if (!this.state.blob) {\n * return ;\n * }\n * return ;\n * }\n * }\n *\n * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Blob\n */\nclass Blob {\n _data: ?BlobData;\n\n /**\n * Constructor for JS consumers.\n * Currently we only support creating Blobs from other Blobs.\n * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob\n */\n constructor(parts: Array = [], options?: BlobOptions) {\n const BlobManager = require('./BlobManager').default;\n this.data = BlobManager.createFromParts(parts, options).data;\n }\n\n /*\n * This method is used to create a new Blob object containing\n * the data in the specified range of bytes of the source Blob.\n * Reference: https://developer.mozilla.org/en-US/docs/Web/API/Blob/slice\n */\n // $FlowFixMe[unsafe-getters-setters]\n set data(data: ?BlobData) {\n this._data = data;\n }\n\n // $FlowFixMe[unsafe-getters-setters]\n get data(): BlobData {\n if (!this._data) {\n throw new Error('Blob has been closed and is no longer available');\n }\n\n return this._data;\n }\n\n slice(start?: number, end?: number, contentType?: string = ''): Blob {\n const BlobManager = require('./BlobManager').default;\n let {offset, size} = this.data;\n\n if (typeof start === 'number') {\n if (start > size) {\n // $FlowFixMe[reassign-const]\n start = size;\n }\n offset += start;\n size -= start;\n\n if (typeof end === 'number') {\n if (end < 0) {\n // $FlowFixMe[reassign-const]\n end = this.size + end;\n }\n if (end > this.size) {\n // $FlowFixMe[reassign-const]\n end = this.size;\n }\n size = end - start;\n }\n }\n return BlobManager.createFromOptions({\n blobId: this.data.blobId,\n offset,\n size,\n type: contentType,\n /* Since `blob.slice()` creates a new view onto the same binary\n * data as the original blob, we should re-use the same collector\n * object so that the underlying resource gets deallocated when\n * the last view into the data is released, not the first.\n */\n __collector: this.data.__collector,\n });\n }\n\n /**\n * This method is in the standard, but not actually implemented by\n * any browsers at this point. It's important for how Blobs work in\n * React Native, however, since we cannot de-allocate resources automatically,\n * so consumers need to explicitly de-allocate them.\n *\n * Note that the semantics around Blobs created via `blob.slice()`\n * and `new Blob([blob])` are different. `blob.slice()` creates a\n * new *view* onto the same binary data, so calling `close()` on any\n * of those views is enough to deallocate the data, whereas\n * `new Blob([blob, ...])` actually copies the data in memory.\n */\n close() {\n const BlobManager = require('./BlobManager').default;\n BlobManager.release(this.data.blobId);\n this.data = null;\n }\n\n /**\n * Size of the data contained in the Blob object, in bytes.\n */\n // $FlowFixMe[unsafe-getters-setters]\n get size(): number {\n return this.data.size;\n }\n\n /*\n * String indicating the MIME type of the data contained in the Blob.\n * If the type is unknown, this string is empty.\n */\n // $FlowFixMe[unsafe-getters-setters]\n get type(): string {\n return this.data.type || '';\n }\n}\n\nexport default Blob;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nconst registry: Map = new Map();\n\nexport const register = (id: string) => {\n const used = registry.get(id);\n\n if (used != null) {\n registry.set(id, used + 1);\n } else {\n registry.set(id, 1);\n }\n};\n\nexport const unregister = (id: string) => {\n const used = registry.get(id);\n\n if (used != null) {\n if (used <= 1) {\n registry.delete(id);\n } else {\n registry.set(id, used - 1);\n }\n }\n};\n\nexport const has = (id: string): number | boolean => {\n return registry.get(id) || false;\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n/**\n * This module provides helpers for classes to implement event handler IDL\n * attributes, as defined in https://html.spec.whatwg.org/multipage/webappapis.html#event-handler-idl-attributes.\n *\n * Expected usage:\n * ```\n * import {getEventHandlerAttribute, setEventHandlerAttribute} from '../path/to/EventHandlerAttributes';\n *\n * class EventTargetSubclass extends EventTarget {\n * get oncustomevent(): EventListener | null {\n * return getEventHandlerAttribute(this, 'customEvent');\n * }\n *\n * set oncustomevent(listener: EventListener | null) {\n * setEventHandlerAttribute(this, 'customEvent', listener);\n * }\n * }\n *\n * const eventTargetInstance = new EventTargetSubclass();\n *\n * eventTargetInstance.oncustomevent = (event: Event) => {\n * console.log('custom event received');\n * };\n * eventTargetInstance.dispatchEvent(new Event('customEvent'));\n * // Logs 'custom event received' to the console.\n *\n * eventTargetInstance.oncustomevent = null;\n * eventTargetInstance.dispatchEvent(new Event('customEvent'));\n * // Does not log anything to the console.\n * ```\n */\n\nimport type EventTarget from './EventTarget';\nimport type {EventCallback} from './EventTarget';\n\ntype EventHandler = $ReadOnly<{\n handleEvent: EventCallback,\n}>;\ntype EventHandlerAttributeMap = Map;\n\nconst EVENT_HANDLER_CONTENT_ATTRIBUTE_MAP_KEY = Symbol(\n 'eventHandlerAttributeMap',\n);\n\nfunction getEventHandlerAttributeMap(\n target: EventTarget,\n): ?EventHandlerAttributeMap {\n // $FlowExpectedError[prop-missing]\n return target[EVENT_HANDLER_CONTENT_ATTRIBUTE_MAP_KEY];\n}\n\nfunction setEventHandlerAttributeMap(\n target: EventTarget,\n map: ?EventHandlerAttributeMap,\n) {\n // $FlowExpectedError[prop-missing]\n target[EVENT_HANDLER_CONTENT_ATTRIBUTE_MAP_KEY] = map;\n}\n\n/**\n * Returns the event listener registered as an event handler IDL attribute for\n * the given target and type.\n *\n * Should be used to get the current value for `target.on{type}`.\n */\nexport function getEventHandlerAttribute(\n target: EventTarget,\n type: string,\n): EventCallback | null {\n const listener = getEventHandlerAttributeMap(target)?.get(type);\n return listener != null ? listener.handleEvent : null;\n}\n\n/**\n * Sets the event listener registered as an event handler IDL attribute for\n * the given target and type.\n *\n * Should be used to set a value for `target.on{type}`.\n */\nexport function setEventHandlerAttribute(\n target: EventTarget,\n type: string,\n callback: ?EventCallback,\n): void {\n let map = getEventHandlerAttributeMap(target);\n if (map != null) {\n const currentListener = map.get(type);\n if (currentListener) {\n target.removeEventListener(type, currentListener);\n map.delete(type);\n }\n }\n\n if (\n callback != null &&\n (typeof callback === 'function' || typeof callback === 'object')\n ) {\n // Register the listener as a different object in the target so it\n // occupies its own slot and cannot be removed via `removeEventListener`.\n const listener = {\n handleEvent: callback,\n };\n\n try {\n target.addEventListener(type, listener);\n // If adding the listener fails, we don't store the value\n if (map == null) {\n map = new Map();\n setEventHandlerAttributeMap(target, map);\n }\n map.set(type, listener);\n } catch (e) {\n // Assigning incorrect listener does not throw in setters.\n }\n }\n\n if (map != null && map.size === 0) {\n setEventHandlerAttributeMap(target, null);\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {IPerformanceLogger} from './createPerformanceLogger';\n\nimport createPerformanceLogger from './createPerformanceLogger';\n\n/**\n * This is a global shared instance of IPerformanceLogger that is created with\n * createPerformanceLogger().\n * This logger should be used only for global performance metrics like the ones\n * that are logged during loading bundle. If you want to log something from your\n * React component you should use PerformanceLoggerContext instead.\n */\nconst GlobalPerformanceLogger: IPerformanceLogger = createPerformanceLogger();\n\nexport default GlobalPerformanceLogger;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {\n Extras,\n ExtraValue,\n IPerformanceLogger,\n Timespan,\n} from './IPerformanceLogger';\n\nimport infoLog from './infoLog';\n\nconst PRINT_TO_CONSOLE: false = false; // Type as false to prevent accidentally committing `true`;\n\nexport const getCurrentTimestamp: () => number =\n global.nativeQPLTimestamp ?? (() => global.performance.now());\n\nclass PerformanceLogger implements IPerformanceLogger {\n _timespans: {[key: string]: ?Timespan} = {};\n _extras: {[key: string]: ?ExtraValue} = {};\n _points: {[key: string]: ?number} = {};\n _pointExtras: {[key: string]: ?Extras, ...} = {};\n _closed: boolean = false;\n\n addTimespan(\n key: string,\n startTime: number,\n endTime: number,\n startExtras?: Extras,\n endExtras?: Extras,\n ) {\n if (this._closed) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog('PerformanceLogger: addTimespan - has closed ignoring: ', key);\n }\n return;\n }\n if (this._timespans[key]) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: Attempting to add a timespan that already exists ',\n key,\n );\n }\n return;\n }\n\n this._timespans[key] = {\n startTime,\n endTime,\n totalTime: endTime - (startTime || 0),\n startExtras,\n endExtras,\n };\n }\n\n append(performanceLogger: IPerformanceLogger) {\n this._timespans = {\n ...performanceLogger.getTimespans(),\n ...this._timespans,\n };\n this._extras = {...performanceLogger.getExtras(), ...this._extras};\n this._points = {...performanceLogger.getPoints(), ...this._points};\n this._pointExtras = {\n ...performanceLogger.getPointExtras(),\n ...this._pointExtras,\n };\n }\n\n clear() {\n this._timespans = {};\n this._extras = {};\n this._points = {};\n if (PRINT_TO_CONSOLE) {\n infoLog('PerformanceLogger.js', 'clear');\n }\n }\n\n clearCompleted() {\n for (const key in this._timespans) {\n if (this._timespans[key]?.totalTime != null) {\n delete this._timespans[key];\n }\n }\n this._extras = {};\n this._points = {};\n if (PRINT_TO_CONSOLE) {\n infoLog('PerformanceLogger.js', 'clearCompleted');\n }\n }\n\n close() {\n this._closed = true;\n }\n\n currentTimestamp(): number {\n return getCurrentTimestamp();\n }\n\n getExtras(): {[key: string]: ?ExtraValue} {\n return this._extras;\n }\n\n getPoints(): {[key: string]: ?number} {\n return this._points;\n }\n\n getPointExtras(): {[key: string]: ?Extras} {\n return this._pointExtras;\n }\n\n getTimespans(): {[key: string]: ?Timespan} {\n return this._timespans;\n }\n\n hasTimespan(key: string): boolean {\n return !!this._timespans[key];\n }\n\n isClosed(): boolean {\n return this._closed;\n }\n\n logEverything() {\n if (PRINT_TO_CONSOLE) {\n // log timespans\n for (const key in this._timespans) {\n if (this._timespans[key]?.totalTime != null) {\n infoLog(key + ': ' + this._timespans[key].totalTime + 'ms');\n }\n }\n\n // log extras\n infoLog(this._extras);\n\n // log points\n for (const key in this._points) {\n if (this._points[key] != null) {\n infoLog(key + ': ' + this._points[key] + 'ms');\n }\n }\n }\n }\n\n markPoint(\n key: string,\n timestamp?: number = getCurrentTimestamp(),\n extras?: Extras,\n ) {\n if (this._closed) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog('PerformanceLogger: markPoint - has closed ignoring: ', key);\n }\n return;\n }\n if (this._points[key] != null) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: Attempting to mark a point that has been already logged ',\n key,\n );\n }\n return;\n }\n this._points[key] = timestamp;\n if (extras) {\n this._pointExtras[key] = extras;\n }\n }\n\n removeExtra(key: string): ?ExtraValue {\n const value = this._extras[key];\n delete this._extras[key];\n return value;\n }\n\n setExtra(key: string, value: ExtraValue) {\n if (this._closed) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog('PerformanceLogger: setExtra - has closed ignoring: ', key);\n }\n return;\n }\n\n if (this._extras.hasOwnProperty(key)) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: Attempting to set an extra that already exists ',\n {key, currentValue: this._extras[key], attemptedValue: value},\n );\n }\n return;\n }\n this._extras[key] = value;\n }\n\n startTimespan(\n key: string,\n timestamp?: number = getCurrentTimestamp(),\n extras?: Extras,\n ) {\n if (this._closed) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: startTimespan - has closed ignoring: ',\n key,\n );\n }\n return;\n }\n\n if (this._timespans[key]) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: Attempting to start a timespan that already exists ',\n key,\n );\n }\n return;\n }\n\n this._timespans[key] = {\n startTime: timestamp,\n startExtras: extras,\n };\n if (PRINT_TO_CONSOLE) {\n infoLog('PerformanceLogger.js', 'start: ' + key);\n }\n }\n\n stopTimespan(\n key: string,\n timestamp?: number = getCurrentTimestamp(),\n extras?: Extras,\n ) {\n if (this._closed) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog('PerformanceLogger: stopTimespan - has closed ignoring: ', key);\n }\n return;\n }\n\n const timespan = this._timespans[key];\n if (!timespan || timespan.startTime == null) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: Attempting to end a timespan that has not started ',\n key,\n );\n }\n return;\n }\n if (timespan.endTime != null) {\n if (PRINT_TO_CONSOLE && __DEV__) {\n infoLog(\n 'PerformanceLogger: Attempting to end a timespan that has already ended ',\n key,\n );\n }\n return;\n }\n\n timespan.endExtras = extras;\n timespan.endTime = timestamp;\n timespan.totalTime = timespan.endTime - (timespan.startTime || 0);\n if (PRINT_TO_CONSOLE) {\n infoLog('PerformanceLogger.js', 'end: ' + key);\n }\n }\n}\n\n// Re-exporting for backwards compatibility with all the clients that\n// may still import it from this module.\nexport type {Extras, ExtraValue, IPerformanceLogger, Timespan};\n\n/**\n * This function creates performance loggers that can be used to collect and log\n * various performance data such as timespans, points and extras.\n * The loggers need to have minimal overhead since they're used in production.\n */\nexport default function createPerformanceLogger(): IPerformanceLogger {\n return new PerformanceLogger();\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\n/**\n * Intentional info-level logging for clear separation from ad-hoc console debug logging.\n */\nfunction infoLog(...args: Array): void {\n return console.log(...args);\n}\n\nexport default infoLog;\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';\nimport {type EventSubscription} from '../vendor/emitter/EventEmitter';\nimport convertRequestBody, {type RequestBody} from './convertRequestBody';\nimport NativeNetworkingIOS from './NativeNetworkingIOS';\nimport {type RCTNetworkingEventDefinitions} from './RCTNetworkingEventDefinitions.flow';\nimport {type NativeResponseType} from './XMLHttpRequest';\n\nconst RCTNetworking = {\n addListener>(\n eventType: K,\n listener: (...$ElementType) => mixed,\n context?: mixed,\n ): EventSubscription {\n // $FlowFixMe[incompatible-call]\n return RCTDeviceEventEmitter.addListener(eventType, listener, context);\n },\n\n sendRequest(\n method: string,\n trackingName: ?string,\n url: string,\n headers: {...},\n data: RequestBody,\n responseType: NativeResponseType,\n incrementalUpdates: boolean,\n timeout: number,\n callback: (requestId: number) => void,\n withCredentials: boolean,\n ) {\n const body = convertRequestBody(data);\n NativeNetworkingIOS.sendRequest(\n {\n method,\n url,\n data: {...body, trackingName},\n headers,\n responseType,\n incrementalUpdates,\n timeout,\n withCredentials,\n },\n callback,\n );\n },\n\n abortRequest(requestId: number) {\n NativeNetworkingIOS.abortRequest(requestId);\n },\n\n clearCookies(callback: (result: boolean) => void) {\n NativeNetworkingIOS.clearCookies(callback);\n },\n};\n\nexport default RCTNetworking;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport typeof BlobT from '../Blob/Blob';\nimport typeof FormDataT from './FormData';\n\nconst Blob: BlobT = require('../Blob/Blob').default;\nconst binaryToBase64 = require('../Utilities/binaryToBase64').default;\nconst FormData: FormDataT = require('./FormData').default;\n\nexport type RequestBody =\n | string\n | Blob\n | FormData\n | {uri: string, ...}\n | ArrayBuffer\n | $ArrayBufferView;\n\nfunction convertRequestBody(body: RequestBody): Object {\n if (typeof body === 'string') {\n return {string: body};\n }\n if (body instanceof Blob) {\n return {blob: body.data};\n }\n if (body instanceof FormData) {\n return {formData: body.getParts()};\n }\n if (body instanceof ArrayBuffer || ArrayBuffer.isView(body)) {\n /* $FlowFixMe[incompatible-call] : no way to assert that 'body' is indeed\n * an ArrayBufferView */\n return {base64: binaryToBase64(body)};\n }\n return body;\n}\n\nexport default convertRequestBody;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\ntype FormDataValue = string | {name?: string, type?: string, uri: string};\ntype FormDataNameValuePair = [string, FormDataValue];\n\ntype Headers = {[name: string]: string, ...};\ntype FormDataPart =\n | {\n string: string,\n headers: Headers,\n ...\n }\n | {\n uri: string,\n headers: Headers,\n name?: string,\n type?: string,\n ...\n };\n\n/**\n * Encode a FormData filename compliant with RFC 2183\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition#directives\n */\nfunction encodeFilename(filename: string): string {\n return encodeURIComponent(filename.replace(/\\//g, '_'));\n}\n\n/**\n * Polyfill for XMLHttpRequest2 FormData API, allowing multipart POST requests\n * with mixed data (string, native files) to be submitted via XMLHttpRequest.\n *\n * Example:\n *\n * var photo = {\n * uri: uriFromCameraRoll,\n * type: 'image/jpeg',\n * name: 'photo.jpg',\n * };\n *\n * var body = new FormData();\n * body.append('authToken', 'secret');\n * body.append('photo', photo);\n * body.append('title', 'A beautiful photo!');\n *\n * xhr.open('POST', serverURL);\n * xhr.send(body);\n */\nclass FormData {\n _parts: Array;\n\n constructor() {\n this._parts = [];\n }\n\n append(key: string, value: FormDataValue) {\n // The XMLHttpRequest spec doesn't specify if duplicate keys are allowed.\n // MDN says that any new values should be appended to existing values.\n // In any case, major browsers allow duplicate keys, so that's what we'll do\n // too. They'll simply get appended as additional form data parts in the\n // request body, leaving the server to deal with them.\n this._parts.push([key, value]);\n }\n\n getAll(key: string): Array {\n return this._parts\n .filter(([name]) => name === key)\n .map(([, value]) => value);\n }\n\n getParts(): Array {\n return this._parts.map(([name, value]) => {\n const contentDisposition = 'form-data; name=\"' + name + '\"';\n\n const headers: Headers = {'content-disposition': contentDisposition};\n\n // The body part is a \"blob\", which in React Native just means\n // an object with a `uri` attribute. Optionally, it can also\n // have a `name` and `type` attribute to specify filename and\n // content type (cf. web Blob interface.)\n if (typeof value === 'object' && !Array.isArray(value) && value) {\n if (typeof value.name === 'string') {\n headers['content-disposition'] +=\n `; filename=\"${encodeFilename(value.name)}\"`;\n }\n if (typeof value.type === 'string') {\n headers['content-type'] = value.type;\n }\n return {...value, headers, fieldName: name};\n }\n // Convert non-object values to strings as per FormData.append() spec\n return {string: String(value), headers, fieldName: name};\n });\n }\n}\n\nexport default FormData;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\nconst base64 = require('base64-js');\n\nfunction binaryToBase64(data: ArrayBuffer | $ArrayBufferView): string {\n if (data instanceof ArrayBuffer) {\n // $FlowFixMe[reassign-const]\n data = new Uint8Array(data);\n }\n if (data instanceof Uint8Array) {\n return base64.fromByteArray(data);\n }\n if (!ArrayBuffer.isView(data)) {\n throw new Error('data must be ArrayBuffer or typed array');\n }\n // Already checked that `data` is `DataView` in `ArrayBuffer.isView(data)`\n const {buffer, byteOffset, byteLength}: DataView = (data: $FlowFixMe);\n return base64.fromByteArray(new Uint8Array(buffer, byteOffset, byteLength));\n}\n\nexport default binaryToBase64;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeNetworkingIOS';\nimport NativeNetworkingIOS from '../../src/private/specs_DEPRECATED/modules/NativeNetworkingIOS';\nexport default NativeNetworkingIOS;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +sendRequest: (\n query: {\n method: string,\n url: string,\n data: Object,\n headers: Object,\n responseType: string,\n incrementalUpdates: boolean,\n timeout: number,\n withCredentials: boolean,\n },\n callback: (requestId: number) => void,\n ) => void;\n +abortRequest: (requestId: number) => void;\n +clearCookies: (callback: (result: boolean) => void) => void;\n\n // RCTEventEmitter\n +addListener: (eventName: string) => void;\n +removeListeners: (count: number) => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing('Networking'): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\n\nimport type Performance from '../../src/private/webapis/performance/Performance';\nimport type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';\n\nimport {type EventSubscription} from '../vendor/emitter/EventEmitter';\nimport EventTarget from 'event-target-shim';\n\nconst BlobManager = require('../Blob/BlobManager').default;\nconst GlobalPerformanceLogger =\n require('../Utilities/GlobalPerformanceLogger').default;\nconst RCTNetworking = require('./RCTNetworking').default;\nconst base64 = require('base64-js');\nconst invariant = require('invariant');\n\ndeclare var performance: Performance;\n\nconst DEBUG_NETWORK_SEND_DELAY: false = false; // Set to a number of milliseconds when debugging\nconst LABEL_FOR_MISSING_URL_FOR_PROFILING = 'Unknown URL';\n\nexport type NativeResponseType = 'base64' | 'blob' | 'text';\nexport type ResponseType =\n | ''\n | 'arraybuffer'\n | 'blob'\n | 'document'\n | 'json'\n | 'text';\nexport type Response = ?Object | string;\n\ntype XHRInterceptor = interface {\n requestSent(id: number, url: string, method: string, headers: Object): void,\n responseReceived(\n id: number,\n url: string,\n status: number,\n headers: Object,\n ): void,\n dataReceived(id: number, data: string): void,\n loadingFinished(id: number, encodedDataLength: number): void,\n loadingFailed(id: number, error: string): void,\n};\n\n// The native blob module is optional so inject it here if available.\nif (BlobManager.isAvailable) {\n BlobManager.addNetworkingHandler();\n}\n\nconst UNSENT = 0;\nconst OPENED = 1;\nconst HEADERS_RECEIVED = 2;\nconst LOADING = 3;\nconst DONE = 4;\n\nconst SUPPORTED_RESPONSE_TYPES = {\n arraybuffer: typeof global.ArrayBuffer === 'function',\n blob: typeof global.Blob === 'function',\n document: false,\n json: true,\n text: true,\n '': true,\n};\n\nconst REQUEST_EVENTS = [\n 'abort',\n 'error',\n 'load',\n 'loadstart',\n 'progress',\n 'timeout',\n 'loadend',\n];\n\nconst XHR_EVENTS = REQUEST_EVENTS.concat('readystatechange');\n\nclass XMLHttpRequestEventTarget extends (EventTarget(\n ...REQUEST_EVENTS,\n): typeof EventTarget) {\n onload: ?Function;\n onloadstart: ?Function;\n onprogress: ?Function;\n ontimeout: ?Function;\n onerror: ?Function;\n onabort: ?Function;\n onloadend: ?Function;\n}\n\n/**\n * Shared base for platform-specific XMLHttpRequest implementations.\n */\nclass XMLHttpRequest extends (EventTarget(...XHR_EVENTS): typeof EventTarget) {\n static UNSENT: number = UNSENT;\n static OPENED: number = OPENED;\n static HEADERS_RECEIVED: number = HEADERS_RECEIVED;\n static LOADING: number = LOADING;\n static DONE: number = DONE;\n\n static _interceptor: ?XHRInterceptor = null;\n static _profiling: boolean = false;\n\n UNSENT: number = UNSENT;\n OPENED: number = OPENED;\n HEADERS_RECEIVED: number = HEADERS_RECEIVED;\n LOADING: number = LOADING;\n DONE: number = DONE;\n\n // EventTarget automatically initializes these to `null`.\n onload: ?Function;\n onloadstart: ?Function;\n onprogress: ?Function;\n ontimeout: ?Function;\n onerror: ?Function;\n onabort: ?Function;\n onloadend: ?Function;\n onreadystatechange: ?Function;\n\n readyState: number = UNSENT;\n responseHeaders: ?Object;\n status: number = 0;\n timeout: number = 0;\n responseURL: ?string;\n withCredentials: boolean = true;\n\n upload: XMLHttpRequestEventTarget = new XMLHttpRequestEventTarget();\n\n _requestId: ?number;\n _subscriptions: Array;\n\n _aborted: boolean = false;\n _cachedResponse: Response;\n _hasError: boolean = false;\n _headers: Object;\n _lowerCaseResponseHeaders: Object;\n _method: ?string = null;\n _perfKey: ?string = null;\n _responseType: ResponseType;\n _response: string = '';\n _sent: boolean;\n _url: ?string = null;\n _timedOut: boolean = false;\n _trackingName: ?string = null;\n _incrementalEvents: boolean = false;\n _startTime: ?number = null;\n _performanceLogger: IPerformanceLogger = GlobalPerformanceLogger;\n\n static __setInterceptor_DO_NOT_USE(interceptor: ?XHRInterceptor) {\n XMLHttpRequest._interceptor = interceptor;\n }\n\n static enableProfiling(enableProfiling: boolean): void {\n XMLHttpRequest._profiling = enableProfiling;\n }\n\n constructor() {\n super();\n this._reset();\n }\n\n _reset(): void {\n this.readyState = this.UNSENT;\n this.responseHeaders = undefined;\n this.status = 0;\n delete this.responseURL;\n\n this._requestId = null;\n\n this._cachedResponse = undefined;\n this._hasError = false;\n this._headers = {};\n this._response = '';\n this._responseType = '';\n this._sent = false;\n this._lowerCaseResponseHeaders = {};\n\n this._clearSubscriptions();\n this._timedOut = false;\n }\n\n get responseType(): ResponseType {\n return this._responseType;\n }\n\n set responseType(responseType: ResponseType): void {\n if (this._sent) {\n throw new Error(\n \"Failed to set the 'responseType' property on 'XMLHttpRequest': The \" +\n 'response type cannot be set after the request has been sent.',\n );\n }\n if (!SUPPORTED_RESPONSE_TYPES.hasOwnProperty(responseType)) {\n console.warn(\n `The provided value '${responseType}' is not a valid 'responseType'.`,\n );\n return;\n }\n\n // redboxes early, e.g. for 'arraybuffer' on ios 7\n invariant(\n SUPPORTED_RESPONSE_TYPES[responseType] || responseType === 'document',\n `The provided value '${responseType}' is unsupported in this environment.`,\n );\n\n if (responseType === 'blob') {\n invariant(\n BlobManager.isAvailable,\n 'Native module BlobModule is required for blob support',\n );\n }\n this._responseType = responseType;\n }\n\n get responseText(): string {\n if (this._responseType !== '' && this._responseType !== 'text') {\n throw new Error(\n \"The 'responseText' property is only available if 'responseType' \" +\n `is set to '' or 'text', but it is '${this._responseType}'.`,\n );\n }\n if (this.readyState < LOADING) {\n return '';\n }\n return this._response;\n }\n\n get response(): Response {\n const {responseType} = this;\n if (responseType === '' || responseType === 'text') {\n return this.readyState < LOADING || this._hasError ? '' : this._response;\n }\n\n if (this.readyState !== DONE) {\n return null;\n }\n\n if (this._cachedResponse !== undefined) {\n return this._cachedResponse;\n }\n\n switch (responseType) {\n case 'document':\n this._cachedResponse = null;\n break;\n\n case 'arraybuffer':\n this._cachedResponse = base64.toByteArray(this._response).buffer;\n break;\n\n case 'blob':\n if (typeof this._response === 'object' && this._response) {\n this._cachedResponse = BlobManager.createFromOptions(this._response);\n } else if (this._response === '') {\n this._cachedResponse = BlobManager.createFromParts([]);\n } else {\n throw new Error(\n 'Invalid response for blob - expecting object, was ' +\n `${typeof this._response}: ${this._response.trim()}`,\n );\n }\n break;\n\n case 'json':\n try {\n this._cachedResponse = JSON.parse(this._response);\n } catch (_) {\n this._cachedResponse = null;\n }\n break;\n\n default:\n this._cachedResponse = null;\n }\n\n return this._cachedResponse;\n }\n\n // exposed for testing\n __didCreateRequest(requestId: number): void {\n this._requestId = requestId;\n\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.requestSent(\n requestId,\n this._url || '',\n this._method || 'GET',\n this._headers,\n );\n }\n\n // exposed for testing\n __didUploadProgress(\n requestId: number,\n progress: number,\n total: number,\n ): void {\n if (requestId === this._requestId) {\n this.upload.dispatchEvent({\n type: 'progress',\n lengthComputable: true,\n loaded: progress,\n total,\n });\n }\n }\n\n __didReceiveResponse(\n requestId: number,\n status: number,\n responseHeaders: ?Object,\n responseURL: ?string,\n ): void {\n if (requestId === this._requestId) {\n this._perfKey != null &&\n this._performanceLogger.stopTimespan(this._perfKey);\n this.status = status;\n this.setResponseHeaders(responseHeaders);\n this.setReadyState(this.HEADERS_RECEIVED);\n if (responseURL || responseURL === '') {\n this.responseURL = responseURL;\n } else {\n delete this.responseURL;\n }\n\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.responseReceived(\n requestId,\n responseURL || this._url || '',\n status,\n responseHeaders || {},\n );\n }\n }\n\n __didReceiveData(requestId: number, response: string): void {\n if (requestId !== this._requestId) {\n return;\n }\n this._response = response;\n this._cachedResponse = undefined; // force lazy recomputation\n this.setReadyState(this.LOADING);\n\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.dataReceived(requestId, response);\n }\n\n __didReceiveIncrementalData(\n requestId: number,\n responseText: string,\n progress: number,\n total: number,\n ) {\n if (requestId !== this._requestId) {\n return;\n }\n if (!this._response) {\n this._response = responseText;\n } else {\n this._response += responseText;\n }\n\n if (XMLHttpRequest._profiling) {\n performance.mark(\n 'Track:XMLHttpRequest:Incremental Data: ' + this._getMeasureURL(),\n );\n }\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.dataReceived(requestId, responseText);\n\n this.setReadyState(this.LOADING);\n this.__didReceiveDataProgress(requestId, progress, total);\n }\n\n __didReceiveDataProgress(\n requestId: number,\n loaded: number,\n total: number,\n ): void {\n if (requestId !== this._requestId) {\n return;\n }\n this.dispatchEvent({\n type: 'progress',\n lengthComputable: total >= 0,\n loaded,\n total,\n });\n }\n\n // exposed for testing\n __didCompleteResponse(\n requestId: number,\n error: string,\n timeOutError: boolean,\n ): void {\n if (requestId === this._requestId) {\n if (error) {\n if (this._responseType === '' || this._responseType === 'text') {\n this._response = error;\n }\n this._hasError = true;\n if (timeOutError) {\n this._timedOut = true;\n }\n }\n this._clearSubscriptions();\n this._requestId = null;\n this.setReadyState(this.DONE);\n if (XMLHttpRequest._profiling && this._startTime != null) {\n const start = this._startTime;\n performance.measure('Track:XMLHttpRequest:' + this._getMeasureURL(), {\n start,\n end: performance.now(),\n });\n }\n if (error) {\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.loadingFailed(requestId, error);\n } else {\n XMLHttpRequest._interceptor &&\n XMLHttpRequest._interceptor.loadingFinished(\n requestId,\n this._response.length,\n );\n }\n }\n }\n\n _clearSubscriptions(): void {\n (this._subscriptions || []).forEach(sub => {\n if (sub) {\n sub.remove();\n }\n });\n this._subscriptions = [];\n }\n\n getAllResponseHeaders(): ?string {\n if (!this.responseHeaders) {\n // according to the spec, return null if no response has been received\n return null;\n }\n\n // Assign to non-nullable local variable.\n const responseHeaders = this.responseHeaders;\n\n const unsortedHeaders: Map<\n string,\n {lowerHeaderName: string, upperHeaderName: string, headerValue: string},\n > = new Map();\n for (const rawHeaderName of Object.keys(responseHeaders)) {\n const headerValue = responseHeaders[rawHeaderName];\n const lowerHeaderName = rawHeaderName.toLowerCase();\n const header = unsortedHeaders.get(lowerHeaderName);\n if (header) {\n header.headerValue += ', ' + headerValue;\n unsortedHeaders.set(lowerHeaderName, header);\n } else {\n unsortedHeaders.set(lowerHeaderName, {\n lowerHeaderName,\n upperHeaderName: rawHeaderName.toUpperCase(),\n headerValue,\n });\n }\n }\n\n // Sort in ascending order, with a being less than b if a's name is legacy-uppercased-byte less than b's name.\n const sortedHeaders = [...unsortedHeaders.values()].sort((a, b) => {\n if (a.upperHeaderName < b.upperHeaderName) {\n return -1;\n }\n if (a.upperHeaderName > b.upperHeaderName) {\n return 1;\n }\n return 0;\n });\n\n // Combine into single text response.\n return (\n sortedHeaders\n .map(header => {\n return header.lowerHeaderName + ': ' + header.headerValue;\n })\n .join('\\r\\n') + '\\r\\n'\n );\n }\n\n getResponseHeader(header: string): ?string {\n const value = this._lowerCaseResponseHeaders[header.toLowerCase()];\n return value !== undefined ? value : null;\n }\n\n setRequestHeader(header: string, value: any): void {\n if (this.readyState !== this.OPENED) {\n throw new Error('Request has not been opened');\n }\n this._headers[header.toLowerCase()] = String(value);\n }\n\n /**\n * Custom extension for tracking origins of request.\n */\n setTrackingName(trackingName: ?string): XMLHttpRequest {\n this._trackingName = trackingName;\n return this;\n }\n\n /**\n * Custom extension for setting a custom performance logger\n */\n setPerformanceLogger(performanceLogger: IPerformanceLogger): XMLHttpRequest {\n this._performanceLogger = performanceLogger;\n return this;\n }\n\n open(method: string, url: string, async: ?boolean): void {\n /* Other optional arguments are not supported yet */\n if (this.readyState !== this.UNSENT) {\n throw new Error('Cannot open, already sending');\n }\n if (async !== undefined && !async) {\n // async is default\n throw new Error('Synchronous http requests are not supported');\n }\n if (!url) {\n throw new Error('Cannot load an empty url');\n }\n this._method = method.toUpperCase();\n this._url = url;\n this._aborted = false;\n this.setReadyState(this.OPENED);\n }\n\n send(data: any): void {\n if (this.readyState !== this.OPENED) {\n throw new Error('Request has not been opened');\n }\n if (this._sent) {\n throw new Error('Request has already been sent');\n }\n this._sent = true;\n const incrementalEvents =\n this._incrementalEvents || !!this.onreadystatechange || !!this.onprogress;\n\n this._subscriptions.push(\n RCTNetworking.addListener('didSendNetworkData', args =>\n this.__didUploadProgress(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didReceiveNetworkResponse', args =>\n this.__didReceiveResponse(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didReceiveNetworkData', args =>\n this.__didReceiveData(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didReceiveNetworkIncrementalData', args =>\n this.__didReceiveIncrementalData(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didReceiveNetworkDataProgress', args =>\n this.__didReceiveDataProgress(...args),\n ),\n );\n this._subscriptions.push(\n RCTNetworking.addListener('didCompleteNetworkResponse', args =>\n this.__didCompleteResponse(...args),\n ),\n );\n\n let nativeResponseType: NativeResponseType = 'text';\n if (this._responseType === 'arraybuffer') {\n nativeResponseType = 'base64';\n }\n if (this._responseType === 'blob') {\n nativeResponseType = 'blob';\n }\n\n const doSend = () => {\n const friendlyName = this._trackingName ?? this._url;\n this._perfKey = 'network_XMLHttpRequest_' + String(friendlyName);\n this._performanceLogger.startTimespan(this._perfKey);\n this._startTime = performance.now();\n invariant(\n this._method,\n 'XMLHttpRequest method needs to be defined (%s).',\n friendlyName,\n );\n invariant(\n this._url,\n 'XMLHttpRequest URL needs to be defined (%s).',\n friendlyName,\n );\n RCTNetworking.sendRequest(\n this._method,\n this._trackingName,\n this._url,\n this._headers,\n data,\n /* $FlowFixMe(>=0.78.0 site=react_native_android_fb) This issue was found\n * when making Flow check .android.js files. */\n nativeResponseType,\n incrementalEvents,\n this.timeout,\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.__didCreateRequest.bind(this),\n this.withCredentials,\n );\n };\n if (DEBUG_NETWORK_SEND_DELAY) {\n setTimeout(doSend, DEBUG_NETWORK_SEND_DELAY);\n } else {\n doSend();\n }\n }\n\n abort(): void {\n this._aborted = true;\n if (this._requestId) {\n RCTNetworking.abortRequest(this._requestId);\n }\n // only call onreadystatechange if there is something to abort,\n // below logic is per spec\n if (\n !(\n this.readyState === this.UNSENT ||\n (this.readyState === this.OPENED && !this._sent) ||\n this.readyState === this.DONE\n )\n ) {\n this._reset();\n this.setReadyState(this.DONE);\n }\n // Reset again after, in case modified in handler\n this._reset();\n }\n\n setResponseHeaders(responseHeaders: ?Object): void {\n this.responseHeaders = responseHeaders || null;\n const headers = responseHeaders || {};\n this._lowerCaseResponseHeaders = Object.keys(headers).reduce<{\n [string]: any,\n }>((lcaseHeaders, headerName) => {\n // $FlowFixMe[invalid-computed-prop]\n lcaseHeaders[headerName.toLowerCase()] = headers[headerName];\n return lcaseHeaders;\n }, {});\n }\n\n setReadyState(newState: number): void {\n this.readyState = newState;\n this.dispatchEvent({type: 'readystatechange'});\n if (newState === this.DONE) {\n if (this._aborted) {\n this.dispatchEvent({type: 'abort'});\n } else if (this._hasError) {\n if (this._timedOut) {\n this.dispatchEvent({type: 'timeout'});\n } else {\n this.dispatchEvent({type: 'error'});\n }\n } else {\n this.dispatchEvent({type: 'load'});\n }\n this.dispatchEvent({type: 'loadend'});\n }\n }\n\n /* global EventListener */\n addEventListener(type: string, listener: EventListener): void {\n // If we dont' have a 'readystatechange' event handler, we don't\n // have to send repeated LOADING events with incremental updates\n // to responseText, which will avoid a bunch of native -> JS\n // bridge traffic.\n if (type === 'readystatechange' || type === 'progress') {\n this._incrementalEvents = true;\n }\n super.addEventListener(type, listener);\n }\n\n _getMeasureURL(): string {\n return (\n this._trackingName ?? this._url ?? LABEL_FOR_MISSING_URL_FOR_PROFILING\n );\n }\n}\n\nexport default XMLHttpRequest;\n","/**\n * @author Toru Nagashima \n * @copyright 2015 Toru Nagashima. All rights reserved.\n * See LICENSE file in root directory for full license.\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/**\n * @typedef {object} PrivateData\n * @property {EventTarget} eventTarget The event target.\n * @property {{type:string}} event The original event object.\n * @property {number} eventPhase The current event phase.\n * @property {EventTarget|null} currentTarget The current event target.\n * @property {boolean} canceled The flag to prevent default.\n * @property {boolean} stopped The flag to stop propagation.\n * @property {boolean} immediateStopped The flag to stop propagation immediately.\n * @property {Function|null} passiveListener The listener if the current listener is passive. Otherwise this is null.\n * @property {number} timeStamp The unix time.\n * @private\n */\n\n/**\n * Private data for event wrappers.\n * @type {WeakMap}\n * @private\n */\nconst privateData = new WeakMap();\n\n/**\n * Cache for wrapper classes.\n * @type {WeakMap}\n * @private\n */\nconst wrappers = new WeakMap();\n\n/**\n * Get private data.\n * @param {Event} event The event object to get private data.\n * @returns {PrivateData} The private data of the event.\n * @private\n */\nfunction pd(event) {\n const retv = privateData.get(event);\n console.assert(\n retv != null,\n \"'this' is expected an Event object, but got\",\n event\n );\n return retv\n}\n\n/**\n * https://dom.spec.whatwg.org/#set-the-canceled-flag\n * @param data {PrivateData} private data.\n */\nfunction setCancelFlag(data) {\n if (data.passiveListener != null) {\n if (\n typeof console !== \"undefined\" &&\n typeof console.error === \"function\"\n ) {\n console.error(\n \"Unable to preventDefault inside passive event listener invocation.\",\n data.passiveListener\n );\n }\n return\n }\n if (!data.event.cancelable) {\n return\n }\n\n data.canceled = true;\n if (typeof data.event.preventDefault === \"function\") {\n data.event.preventDefault();\n }\n}\n\n/**\n * @see https://dom.spec.whatwg.org/#interface-event\n * @private\n */\n/**\n * The event wrapper.\n * @constructor\n * @param {EventTarget} eventTarget The event target of this dispatching.\n * @param {Event|{type:string}} event The original event to wrap.\n */\nfunction Event(eventTarget, event) {\n privateData.set(this, {\n eventTarget,\n event,\n eventPhase: 2,\n currentTarget: eventTarget,\n canceled: false,\n stopped: false,\n immediateStopped: false,\n passiveListener: null,\n timeStamp: event.timeStamp || Date.now(),\n });\n\n // https://heycam.github.io/webidl/#Unforgeable\n Object.defineProperty(this, \"isTrusted\", { value: false, enumerable: true });\n\n // Define accessors\n const keys = Object.keys(event);\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i];\n if (!(key in this)) {\n Object.defineProperty(this, key, defineRedirectDescriptor(key));\n }\n }\n}\n\n// Should be enumerable, but class methods are not enumerable.\nEvent.prototype = {\n /**\n * The type of this event.\n * @type {string}\n */\n get type() {\n return pd(this).event.type\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n */\n get target() {\n return pd(this).eventTarget\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n */\n get currentTarget() {\n return pd(this).currentTarget\n },\n\n /**\n * @returns {EventTarget[]} The composed path of this event.\n */\n composedPath() {\n const currentTarget = pd(this).currentTarget;\n if (currentTarget == null) {\n return []\n }\n return [currentTarget]\n },\n\n /**\n * Constant of NONE.\n * @type {number}\n */\n get NONE() {\n return 0\n },\n\n /**\n * Constant of CAPTURING_PHASE.\n * @type {number}\n */\n get CAPTURING_PHASE() {\n return 1\n },\n\n /**\n * Constant of AT_TARGET.\n * @type {number}\n */\n get AT_TARGET() {\n return 2\n },\n\n /**\n * Constant of BUBBLING_PHASE.\n * @type {number}\n */\n get BUBBLING_PHASE() {\n return 3\n },\n\n /**\n * The target of this event.\n * @type {number}\n */\n get eventPhase() {\n return pd(this).eventPhase\n },\n\n /**\n * Stop event bubbling.\n * @returns {void}\n */\n stopPropagation() {\n const data = pd(this);\n\n data.stopped = true;\n if (typeof data.event.stopPropagation === \"function\") {\n data.event.stopPropagation();\n }\n },\n\n /**\n * Stop event bubbling.\n * @returns {void}\n */\n stopImmediatePropagation() {\n const data = pd(this);\n\n data.stopped = true;\n data.immediateStopped = true;\n if (typeof data.event.stopImmediatePropagation === \"function\") {\n data.event.stopImmediatePropagation();\n }\n },\n\n /**\n * The flag to be bubbling.\n * @type {boolean}\n */\n get bubbles() {\n return Boolean(pd(this).event.bubbles)\n },\n\n /**\n * The flag to be cancelable.\n * @type {boolean}\n */\n get cancelable() {\n return Boolean(pd(this).event.cancelable)\n },\n\n /**\n * Cancel this event.\n * @returns {void}\n */\n preventDefault() {\n setCancelFlag(pd(this));\n },\n\n /**\n * The flag to indicate cancellation state.\n * @type {boolean}\n */\n get defaultPrevented() {\n return pd(this).canceled\n },\n\n /**\n * The flag to be composed.\n * @type {boolean}\n */\n get composed() {\n return Boolean(pd(this).event.composed)\n },\n\n /**\n * The unix time of this event.\n * @type {number}\n */\n get timeStamp() {\n return pd(this).timeStamp\n },\n\n /**\n * The target of this event.\n * @type {EventTarget}\n * @deprecated\n */\n get srcElement() {\n return pd(this).eventTarget\n },\n\n /**\n * The flag to stop event bubbling.\n * @type {boolean}\n * @deprecated\n */\n get cancelBubble() {\n return pd(this).stopped\n },\n set cancelBubble(value) {\n if (!value) {\n return\n }\n const data = pd(this);\n\n data.stopped = true;\n if (typeof data.event.cancelBubble === \"boolean\") {\n data.event.cancelBubble = true;\n }\n },\n\n /**\n * The flag to indicate cancellation state.\n * @type {boolean}\n * @deprecated\n */\n get returnValue() {\n return !pd(this).canceled\n },\n set returnValue(value) {\n if (!value) {\n setCancelFlag(pd(this));\n }\n },\n\n /**\n * Initialize this event object. But do nothing under event dispatching.\n * @param {string} type The event type.\n * @param {boolean} [bubbles=false] The flag to be possible to bubble up.\n * @param {boolean} [cancelable=false] The flag to be possible to cancel.\n * @deprecated\n */\n initEvent() {\n // Do nothing.\n },\n};\n\n// `constructor` is not enumerable.\nObject.defineProperty(Event.prototype, \"constructor\", {\n value: Event,\n configurable: true,\n writable: true,\n});\n\n// Ensure `event instanceof window.Event` is `true`.\nif (typeof window !== \"undefined\" && typeof window.Event !== \"undefined\") {\n Object.setPrototypeOf(Event.prototype, window.Event.prototype);\n\n // Make association for wrappers.\n wrappers.set(window.Event.prototype, Event);\n}\n\n/**\n * Get the property descriptor to redirect a given property.\n * @param {string} key Property name to define property descriptor.\n * @returns {PropertyDescriptor} The property descriptor to redirect the property.\n * @private\n */\nfunction defineRedirectDescriptor(key) {\n return {\n get() {\n return pd(this).event[key]\n },\n set(value) {\n pd(this).event[key] = value;\n },\n configurable: true,\n enumerable: true,\n }\n}\n\n/**\n * Get the property descriptor to call a given method property.\n * @param {string} key Property name to define property descriptor.\n * @returns {PropertyDescriptor} The property descriptor to call the method property.\n * @private\n */\nfunction defineCallDescriptor(key) {\n return {\n value() {\n const event = pd(this).event;\n return event[key].apply(event, arguments)\n },\n configurable: true,\n enumerable: true,\n }\n}\n\n/**\n * Define new wrapper class.\n * @param {Function} BaseEvent The base wrapper class.\n * @param {Object} proto The prototype of the original event.\n * @returns {Function} The defined wrapper class.\n * @private\n */\nfunction defineWrapper(BaseEvent, proto) {\n const keys = Object.keys(proto);\n if (keys.length === 0) {\n return BaseEvent\n }\n\n /** CustomEvent */\n function CustomEvent(eventTarget, event) {\n BaseEvent.call(this, eventTarget, event);\n }\n\n CustomEvent.prototype = Object.create(BaseEvent.prototype, {\n constructor: { value: CustomEvent, configurable: true, writable: true },\n });\n\n // Define accessors.\n for (let i = 0; i < keys.length; ++i) {\n const key = keys[i];\n if (!(key in BaseEvent.prototype)) {\n const descriptor = Object.getOwnPropertyDescriptor(proto, key);\n const isFunc = typeof descriptor.value === \"function\";\n Object.defineProperty(\n CustomEvent.prototype,\n key,\n isFunc\n ? defineCallDescriptor(key)\n : defineRedirectDescriptor(key)\n );\n }\n }\n\n return CustomEvent\n}\n\n/**\n * Get the wrapper class of a given prototype.\n * @param {Object} proto The prototype of the original event to get its wrapper.\n * @returns {Function} The wrapper class.\n * @private\n */\nfunction getWrapper(proto) {\n if (proto == null || proto === Object.prototype) {\n return Event\n }\n\n let wrapper = wrappers.get(proto);\n if (wrapper == null) {\n wrapper = defineWrapper(getWrapper(Object.getPrototypeOf(proto)), proto);\n wrappers.set(proto, wrapper);\n }\n return wrapper\n}\n\n/**\n * Wrap a given event to management a dispatching.\n * @param {EventTarget} eventTarget The event target of this dispatching.\n * @param {Object} event The event to wrap.\n * @returns {Event} The wrapper instance.\n * @private\n */\nfunction wrapEvent(eventTarget, event) {\n const Wrapper = getWrapper(Object.getPrototypeOf(event));\n return new Wrapper(eventTarget, event)\n}\n\n/**\n * Get the immediateStopped flag of a given event.\n * @param {Event} event The event to get.\n * @returns {boolean} The flag to stop propagation immediately.\n * @private\n */\nfunction isStopped(event) {\n return pd(event).immediateStopped\n}\n\n/**\n * Set the current event phase of a given event.\n * @param {Event} event The event to set current target.\n * @param {number} eventPhase New event phase.\n * @returns {void}\n * @private\n */\nfunction setEventPhase(event, eventPhase) {\n pd(event).eventPhase = eventPhase;\n}\n\n/**\n * Set the current target of a given event.\n * @param {Event} event The event to set current target.\n * @param {EventTarget|null} currentTarget New current target.\n * @returns {void}\n * @private\n */\nfunction setCurrentTarget(event, currentTarget) {\n pd(event).currentTarget = currentTarget;\n}\n\n/**\n * Set a passive listener of a given event.\n * @param {Event} event The event to set current target.\n * @param {Function|null} passiveListener New passive listener.\n * @returns {void}\n * @private\n */\nfunction setPassiveListener(event, passiveListener) {\n pd(event).passiveListener = passiveListener;\n}\n\n/**\n * @typedef {object} ListenerNode\n * @property {Function} listener\n * @property {1|2|3} listenerType\n * @property {boolean} passive\n * @property {boolean} once\n * @property {ListenerNode|null} next\n * @private\n */\n\n/**\n * @type {WeakMap>}\n * @private\n */\nconst listenersMap = new WeakMap();\n\n// Listener types\nconst CAPTURE = 1;\nconst BUBBLE = 2;\nconst ATTRIBUTE = 3;\n\n/**\n * Check whether a given value is an object or not.\n * @param {any} x The value to check.\n * @returns {boolean} `true` if the value is an object.\n */\nfunction isObject(x) {\n return x !== null && typeof x === \"object\" //eslint-disable-line no-restricted-syntax\n}\n\n/**\n * Get listeners.\n * @param {EventTarget} eventTarget The event target to get.\n * @returns {Map} The listeners.\n * @private\n */\nfunction getListeners(eventTarget) {\n const listeners = listenersMap.get(eventTarget);\n if (listeners == null) {\n throw new TypeError(\n \"'this' is expected an EventTarget object, but got another value.\"\n )\n }\n return listeners\n}\n\n/**\n * Get the property descriptor for the event attribute of a given event.\n * @param {string} eventName The event name to get property descriptor.\n * @returns {PropertyDescriptor} The property descriptor.\n * @private\n */\nfunction defineEventAttributeDescriptor(eventName) {\n return {\n get() {\n const listeners = getListeners(this);\n let node = listeners.get(eventName);\n while (node != null) {\n if (node.listenerType === ATTRIBUTE) {\n return node.listener\n }\n node = node.next;\n }\n return null\n },\n\n set(listener) {\n if (typeof listener !== \"function\" && !isObject(listener)) {\n listener = null; // eslint-disable-line no-param-reassign\n }\n const listeners = getListeners(this);\n\n // Traverse to the tail while removing old value.\n let prev = null;\n let node = listeners.get(eventName);\n while (node != null) {\n if (node.listenerType === ATTRIBUTE) {\n // Remove old value.\n if (prev !== null) {\n prev.next = node.next;\n } else if (node.next !== null) {\n listeners.set(eventName, node.next);\n } else {\n listeners.delete(eventName);\n }\n } else {\n prev = node;\n }\n\n node = node.next;\n }\n\n // Add new value.\n if (listener !== null) {\n const newNode = {\n listener,\n listenerType: ATTRIBUTE,\n passive: false,\n once: false,\n next: null,\n };\n if (prev === null) {\n listeners.set(eventName, newNode);\n } else {\n prev.next = newNode;\n }\n }\n },\n configurable: true,\n enumerable: true,\n }\n}\n\n/**\n * Define an event attribute (e.g. `eventTarget.onclick`).\n * @param {Object} eventTargetPrototype The event target prototype to define an event attrbite.\n * @param {string} eventName The event name to define.\n * @returns {void}\n */\nfunction defineEventAttribute(eventTargetPrototype, eventName) {\n Object.defineProperty(\n eventTargetPrototype,\n `on${eventName}`,\n defineEventAttributeDescriptor(eventName)\n );\n}\n\n/**\n * Define a custom EventTarget with event attributes.\n * @param {string[]} eventNames Event names for event attributes.\n * @returns {EventTarget} The custom EventTarget.\n * @private\n */\nfunction defineCustomEventTarget(eventNames) {\n /** CustomEventTarget */\n function CustomEventTarget() {\n EventTarget.call(this);\n }\n\n CustomEventTarget.prototype = Object.create(EventTarget.prototype, {\n constructor: {\n value: CustomEventTarget,\n configurable: true,\n writable: true,\n },\n });\n\n for (let i = 0; i < eventNames.length; ++i) {\n defineEventAttribute(CustomEventTarget.prototype, eventNames[i]);\n }\n\n return CustomEventTarget\n}\n\n/**\n * EventTarget.\n *\n * - This is constructor if no arguments.\n * - This is a function which returns a CustomEventTarget constructor if there are arguments.\n *\n * For example:\n *\n * class A extends EventTarget {}\n * class B extends EventTarget(\"message\") {}\n * class C extends EventTarget(\"message\", \"error\") {}\n * class D extends EventTarget([\"message\", \"error\"]) {}\n */\nfunction EventTarget() {\n /*eslint-disable consistent-return */\n if (this instanceof EventTarget) {\n listenersMap.set(this, new Map());\n return\n }\n if (arguments.length === 1 && Array.isArray(arguments[0])) {\n return defineCustomEventTarget(arguments[0])\n }\n if (arguments.length > 0) {\n const types = new Array(arguments.length);\n for (let i = 0; i < arguments.length; ++i) {\n types[i] = arguments[i];\n }\n return defineCustomEventTarget(types)\n }\n throw new TypeError(\"Cannot call a class as a function\")\n /*eslint-enable consistent-return */\n}\n\n// Should be enumerable, but class methods are not enumerable.\nEventTarget.prototype = {\n /**\n * Add a given listener to this event target.\n * @param {string} eventName The event name to add.\n * @param {Function} listener The listener to add.\n * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.\n * @returns {void}\n */\n addEventListener(eventName, listener, options) {\n if (listener == null) {\n return\n }\n if (typeof listener !== \"function\" && !isObject(listener)) {\n throw new TypeError(\"'listener' should be a function or an object.\")\n }\n\n const listeners = getListeners(this);\n const optionsIsObj = isObject(options);\n const capture = optionsIsObj\n ? Boolean(options.capture)\n : Boolean(options);\n const listenerType = capture ? CAPTURE : BUBBLE;\n const newNode = {\n listener,\n listenerType,\n passive: optionsIsObj && Boolean(options.passive),\n once: optionsIsObj && Boolean(options.once),\n next: null,\n };\n\n // Set it as the first node if the first node is null.\n let node = listeners.get(eventName);\n if (node === undefined) {\n listeners.set(eventName, newNode);\n return\n }\n\n // Traverse to the tail while checking duplication..\n let prev = null;\n while (node != null) {\n if (\n node.listener === listener &&\n node.listenerType === listenerType\n ) {\n // Should ignore duplication.\n return\n }\n prev = node;\n node = node.next;\n }\n\n // Add it.\n prev.next = newNode;\n },\n\n /**\n * Remove a given listener from this event target.\n * @param {string} eventName The event name to remove.\n * @param {Function} listener The listener to remove.\n * @param {boolean|{capture?:boolean,passive?:boolean,once?:boolean}} [options] The options for this listener.\n * @returns {void}\n */\n removeEventListener(eventName, listener, options) {\n if (listener == null) {\n return\n }\n\n const listeners = getListeners(this);\n const capture = isObject(options)\n ? Boolean(options.capture)\n : Boolean(options);\n const listenerType = capture ? CAPTURE : BUBBLE;\n\n let prev = null;\n let node = listeners.get(eventName);\n while (node != null) {\n if (\n node.listener === listener &&\n node.listenerType === listenerType\n ) {\n if (prev !== null) {\n prev.next = node.next;\n } else if (node.next !== null) {\n listeners.set(eventName, node.next);\n } else {\n listeners.delete(eventName);\n }\n return\n }\n\n prev = node;\n node = node.next;\n }\n },\n\n /**\n * Dispatch a given event.\n * @param {Event|{type:string}} event The event to dispatch.\n * @returns {boolean} `false` if canceled.\n */\n dispatchEvent(event) {\n if (event == null || typeof event.type !== \"string\") {\n throw new TypeError('\"event.type\" should be a string.')\n }\n\n // If listeners aren't registered, terminate.\n const listeners = getListeners(this);\n const eventName = event.type;\n let node = listeners.get(eventName);\n if (node == null) {\n return true\n }\n\n // Since we cannot rewrite several properties, so wrap object.\n const wrappedEvent = wrapEvent(this, event);\n\n // This doesn't process capturing phase and bubbling phase.\n // This isn't participating in a tree.\n let prev = null;\n while (node != null) {\n // Remove this listener if it's once\n if (node.once) {\n if (prev !== null) {\n prev.next = node.next;\n } else if (node.next !== null) {\n listeners.set(eventName, node.next);\n } else {\n listeners.delete(eventName);\n }\n } else {\n prev = node;\n }\n\n // Call this listener\n setPassiveListener(\n wrappedEvent,\n node.passive ? node.listener : null\n );\n if (typeof node.listener === \"function\") {\n try {\n node.listener.call(this, wrappedEvent);\n } catch (err) {\n if (\n typeof console !== \"undefined\" &&\n typeof console.error === \"function\"\n ) {\n console.error(err);\n }\n }\n } else if (\n node.listenerType !== ATTRIBUTE &&\n typeof node.listener.handleEvent === \"function\"\n ) {\n node.listener.handleEvent(wrappedEvent);\n }\n\n // Break if `event.stopImmediatePropagation` was called.\n if (isStopped(wrappedEvent)) {\n break\n }\n\n node = node.next;\n }\n setPassiveListener(wrappedEvent, null);\n setEventPhase(wrappedEvent, 0);\n setCurrentTarget(wrappedEvent, null);\n\n return !wrappedEvent.defaultPrevented\n },\n};\n\n// `constructor` is not enumerable.\nObject.defineProperty(EventTarget.prototype, \"constructor\", {\n value: EventTarget,\n configurable: true,\n writable: true,\n});\n\n// Ensure `eventTarget instanceof window.EventTarget` is `true`.\nif (\n typeof window !== \"undefined\" &&\n typeof window.EventTarget !== \"undefined\"\n) {\n Object.setPrototypeOf(EventTarget.prototype, window.EventTarget.prototype);\n}\n\nexports.defineEventAttribute = defineEventAttribute;\nexports.EventTarget = EventTarget;\nexports.default = EventTarget;\n\nmodule.exports = EventTarget\nmodule.exports.EventTarget = module.exports[\"default\"] = EventTarget\nmodule.exports.defineEventAttribute = defineEventAttribute\n//# sourceMappingURL=event-target-shim.js.map\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n'use strict';\n\n// side-effectful require() to put fetch,\n// Headers, Request, Response in global scope\nrequire('whatwg-fetch');\n\nexport const fetch = global.fetch;\nexport const Headers = global.Headers;\nexport const Request = global.Request;\nexport const Response = global.Response;\n","(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :\n typeof define === 'function' && define.amd ? define(['exports'], factory) :\n (factory((global.WHATWGFetch = {})));\n}(this, (function (exports) { 'use strict';\n\n /* eslint-disable no-prototype-builtins */\n var g =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n // eslint-disable-next-line no-undef\n (typeof global !== 'undefined' && global) ||\n {};\n\n var support = {\n searchParams: 'URLSearchParams' in g,\n iterable: 'Symbol' in g && 'iterator' in Symbol,\n blob:\n 'FileReader' in g &&\n 'Blob' in g &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in g,\n arrayBuffer: 'ArrayBuffer' in g\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n if (header.length != 2) {\n throw new TypeError('Headers constructor: expected name/value pair to be length 2, found' + header.length)\n }\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body._noBody) return\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n var match = /charset=([A-Za-z0-9_-]+)/.exec(blob.type);\n var encoding = match ? match[1] : 'utf-8';\n reader.readAsText(blob, encoding);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n // eslint-disable-next-line no-self-assign\n this.bodyUsed = this.bodyUsed;\n this._bodyInit = body;\n if (!body) {\n this._noBody = true;\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this);\n if (isConsumed) {\n return isConsumed\n } else if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else if (support.blob) {\n return this.blob().then(readBlobAsArrayBuffer)\n } else {\n throw new Error('could not read as ArrayBuffer')\n }\n };\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal || (function () {\n if ('AbortController' in g) {\n var ctrl = new AbortController();\n return ctrl.signal;\n }\n }());\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/;\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/;\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();\n }\n }\n }\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n try {\n headers.append(key, value);\n } catch (error) {\n console.warn('Response ' + error.message);\n }\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n if (this.status < 200 || this.status > 599) {\n throw new RangeError(\"Failed to construct 'Response': The status provided (0) is outside the range [200, 599].\")\n }\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText;\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 200, statusText: ''});\n response.ok = false;\n response.status = 0;\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = g.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n // This check if specifically for when a user fetches a file locally from the file system\n // Only if the status is out of a normal range\n if (request.url.indexOf('file://') === 0 && (xhr.status < 200 || xhr.status > 599)) {\n options.status = 200;\n } else {\n options.status = xhr.status;\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n setTimeout(function() {\n resolve(new Response(body, options));\n }, 0);\n };\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'));\n }, 0);\n };\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request timed out'));\n }, 0);\n };\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n }, 0);\n };\n\n function fixUrl(url) {\n try {\n return url === '' && g.location.href ? g.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob';\n } else if (\n support.arrayBuffer\n ) {\n xhr.responseType = 'arraybuffer';\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers || (g.Headers && init.headers instanceof g.Headers))) {\n var names = [];\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n names.push(normalizeName(name));\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]));\n });\n request.headers.forEach(function(value, name) {\n if (names.indexOf(name) === -1) {\n xhr.setRequestHeader(name, value);\n }\n });\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!g.fetch) {\n g.fetch = fetch;\n g.Headers = Headers;\n g.Request = Request;\n g.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport typeof WebSocket from './WebSocket_old';\n\n// Use a global instead of a flag from ReactNativeFeatureFlags because this will\n// be read before apps have a chance to set overrides.\nconst useBuiltInEventTarget = global.RN$useBuiltInEventTarget?.();\n\nexport default (useBuiltInEventTarget\n ? // $FlowExpectedError[incompatible-cast]\n require('./WebSocket_new').default\n : require('./WebSocket_old').default) as WebSocket;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport type {EventCallback} from '../../src/private/webapis/dom/events/EventTarget';\nimport type {BlobData} from '../Blob/BlobTypes';\nimport type {EventSubscription} from '../vendor/emitter/EventEmitter';\n\nimport Event from '../../src/private/webapis/dom/events/Event';\nimport {\n getEventHandlerAttribute,\n setEventHandlerAttribute,\n} from '../../src/private/webapis/dom/events/EventHandlerAttributes';\nimport EventTarget from '../../src/private/webapis/dom/events/EventTarget';\nimport MessageEvent from '../../src/private/webapis/html/events/MessageEvent';\nimport CloseEvent from '../../src/private/webapis/websockets/events/CloseEvent';\nimport Blob from '../Blob/Blob';\nimport BlobManager from '../Blob/BlobManager';\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport binaryToBase64 from '../Utilities/binaryToBase64';\nimport Platform from '../Utilities/Platform';\nimport NativeWebSocketModule from './NativeWebSocketModule';\nimport base64 from 'base64-js';\nimport invariant from 'invariant';\n\ntype ArrayBufferView =\n | Int8Array\n | Uint8Array\n | Uint8ClampedArray\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Float32Array\n | Float64Array\n | DataView;\n\ntype BinaryType = 'blob' | 'arraybuffer';\n\nconst CONNECTING = 0;\nconst OPEN = 1;\nconst CLOSING = 2;\nconst CLOSED = 3;\n\nconst CLOSE_NORMAL = 1000;\n\n// Abnormal closure where no code is provided in a control frame\n// https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5\nconst CLOSE_ABNORMAL = 1006;\n\nlet nextWebSocketId = 0;\n\ntype WebSocketEventDefinitions = {\n websocketOpen: [{id: number, protocol: string}],\n websocketClosed: [{id: number, code: number, reason: string}],\n websocketMessage: [\n | {type: 'binary', id: number, data: string}\n | {type: 'text', id: number, data: string}\n | {type: 'blob', id: number, data: BlobData},\n ],\n websocketFailed: [{id: number, message: string}],\n};\n\n/**\n * Browser-compatible WebSockets implementation.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/WebSocket\n * See https://github.com/websockets/ws\n */\nclass WebSocket extends EventTarget {\n static CONNECTING: number = CONNECTING;\n static OPEN: number = OPEN;\n static CLOSING: number = CLOSING;\n static CLOSED: number = CLOSED;\n\n CONNECTING: number = CONNECTING;\n OPEN: number = OPEN;\n CLOSING: number = CLOSING;\n CLOSED: number = CLOSED;\n\n _socketId: number;\n _eventEmitter: NativeEventEmitter;\n _subscriptions: Array;\n _binaryType: ?BinaryType;\n\n bufferedAmount: number;\n extension: ?string;\n protocol: ?string;\n readyState: number = CONNECTING;\n url: ?string;\n\n constructor(\n url: string,\n protocols: ?string | ?Array,\n options: ?{headers?: {origin?: string, ...}, ...},\n ) {\n super();\n this.url = url;\n if (typeof protocols === 'string') {\n protocols = [protocols];\n }\n\n const {headers = {}, ...unrecognized} = options || {};\n\n // Preserve deprecated backwards compatibility for the 'origin' option\n // $FlowFixMe[prop-missing]\n if (unrecognized && typeof unrecognized.origin === 'string') {\n console.warn(\n 'Specifying `origin` as a WebSocket connection option is deprecated. Include it under `headers` instead.',\n );\n /* $FlowFixMe[prop-missing] (>=0.54.0 site=react_native_fb,react_native_\n * oss) This comment suppresses an error found when Flow v0.54 was\n * deployed. To see the error delete this comment and run Flow. */\n headers.origin = unrecognized.origin;\n /* $FlowFixMe[prop-missing] (>=0.54.0 site=react_native_fb,react_native_\n * oss) This comment suppresses an error found when Flow v0.54 was\n * deployed. To see the error delete this comment and run Flow. */\n delete unrecognized.origin;\n }\n\n // Warn about and discard anything else\n if (Object.keys(unrecognized).length > 0) {\n console.warn(\n 'Unrecognized WebSocket connection option(s) `' +\n Object.keys(unrecognized).join('`, `') +\n '`. ' +\n 'Did you mean to put these under `headers`?',\n );\n }\n\n if (!Array.isArray(protocols)) {\n protocols = null;\n }\n\n this._eventEmitter = new NativeEventEmitter(\n // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior\n // If you want to use the native module on other platforms, please remove this condition and test its behavior\n Platform.OS !== 'ios' ? null : NativeWebSocketModule,\n );\n this._socketId = nextWebSocketId++;\n this._registerEvents();\n NativeWebSocketModule.connect(url, protocols, {headers}, this._socketId);\n }\n\n get binaryType(): ?BinaryType {\n return this._binaryType;\n }\n\n set binaryType(binaryType: BinaryType): void {\n if (binaryType !== 'blob' && binaryType !== 'arraybuffer') {\n throw new Error(\"binaryType must be either 'blob' or 'arraybuffer'\");\n }\n if (this._binaryType === 'blob' || binaryType === 'blob') {\n invariant(\n BlobManager.isAvailable,\n 'Native module BlobModule is required for blob support',\n );\n if (binaryType === 'blob') {\n BlobManager.addWebSocketHandler(this._socketId);\n } else {\n BlobManager.removeWebSocketHandler(this._socketId);\n }\n }\n this._binaryType = binaryType;\n }\n\n close(code?: number, reason?: string): void {\n if (this.readyState === this.CLOSING || this.readyState === this.CLOSED) {\n return;\n }\n\n this.readyState = this.CLOSING;\n this._close(code, reason);\n }\n\n send(data: string | ArrayBuffer | ArrayBufferView | Blob): void {\n if (this.readyState === this.CONNECTING) {\n throw new Error('INVALID_STATE_ERR');\n }\n\n if (data instanceof Blob) {\n invariant(\n BlobManager.isAvailable,\n 'Native module BlobModule is required for blob support',\n );\n BlobManager.sendOverSocket(data, this._socketId);\n return;\n }\n\n if (typeof data === 'string') {\n NativeWebSocketModule.send(data, this._socketId);\n return;\n }\n\n if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) {\n NativeWebSocketModule.sendBinary(binaryToBase64(data), this._socketId);\n return;\n }\n\n throw new Error('Unsupported data type');\n }\n\n ping(): void {\n if (this.readyState === this.CONNECTING) {\n throw new Error('INVALID_STATE_ERR');\n }\n\n NativeWebSocketModule.ping(this._socketId);\n }\n\n _close(code?: number, reason?: string): void {\n // See https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent\n const statusCode = typeof code === 'number' ? code : CLOSE_NORMAL;\n const closeReason = typeof reason === 'string' ? reason : '';\n NativeWebSocketModule.close(statusCode, closeReason, this._socketId);\n\n if (BlobManager.isAvailable && this._binaryType === 'blob') {\n BlobManager.removeWebSocketHandler(this._socketId);\n }\n }\n\n _unregisterEvents(): void {\n this._subscriptions.forEach(e => e.remove());\n this._subscriptions = [];\n }\n\n _registerEvents(): void {\n this._subscriptions = [\n this._eventEmitter.addListener('websocketMessage', ev => {\n if (ev.id !== this._socketId) {\n return;\n }\n let data: Blob | BlobData | ArrayBuffer | string = ev.data;\n switch (ev.type) {\n case 'binary':\n data = base64.toByteArray(ev.data).buffer;\n break;\n case 'blob':\n data = BlobManager.createFromOptions(ev.data);\n break;\n }\n this.dispatchEvent(new MessageEvent('message', {data}));\n }),\n this._eventEmitter.addListener('websocketOpen', ev => {\n if (ev.id !== this._socketId) {\n return;\n }\n this.readyState = this.OPEN;\n this.protocol = ev.protocol;\n this.dispatchEvent(new Event('open'));\n }),\n this._eventEmitter.addListener('websocketClosed', ev => {\n if (ev.id !== this._socketId) {\n return;\n }\n this.readyState = this.CLOSED;\n this.dispatchEvent(\n new CloseEvent('close', {\n code: ev.code,\n reason: ev.reason,\n // TODO: missing `wasClean` (exposed on iOS as `clean` but missing on Android)\n }),\n );\n this._unregisterEvents();\n this.close();\n }),\n this._eventEmitter.addListener('websocketFailed', ev => {\n if (ev.id !== this._socketId) {\n return;\n }\n this.readyState = this.CLOSED;\n this.dispatchEvent(new Event('error'));\n this.dispatchEvent(\n new CloseEvent('close', {\n code: CLOSE_ABNORMAL,\n reason: ev.message,\n // TODO: Expose `wasClean`\n }),\n );\n this._unregisterEvents();\n this.close();\n }),\n ];\n }\n\n get onclose(): EventCallback | null {\n return getEventHandlerAttribute(this, 'close');\n }\n\n set onclose(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'close', listener);\n }\n\n get onerror(): EventCallback | null {\n return getEventHandlerAttribute(this, 'error');\n }\n\n set onerror(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'error', listener);\n }\n\n get onmessage(): EventCallback | null {\n return getEventHandlerAttribute(this, 'message');\n }\n\n set onmessage(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'message', listener);\n }\n\n get onopen(): EventCallback | null {\n return getEventHandlerAttribute(this, 'open');\n }\n\n set onopen(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'open', listener);\n }\n}\n\nexport default WebSocket;\n","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n/**\n * This module implements the `MessageEvent` interface from the HTML spec.\n * See https://html.spec.whatwg.org/multipage/comms.html#messageevent.\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type {EventInit} from '../../dom/events/Event';\n\nimport Event from '../../dom/events/Event';\n\nexport interface MessageEventInit extends EventInit {\n +data?: mixed;\n +origin?: string;\n +lastEventId?: string;\n // Unsupported\n // +source?: MessageEventSource,\n // Unsupported\n // +ports?: Array,\n}\n\nexport default class MessageEvent extends Event {\n _data: mixed;\n _origin: string;\n _lastEventId: string;\n\n constructor(type: string, options?: ?MessageEventInit) {\n super(type, options);\n\n this._data = options?.data;\n this._origin = String(options?.origin ?? '');\n this._lastEventId = String(options?.lastEventId ?? '');\n }\n\n get data(): mixed {\n return this._data;\n }\n\n get origin(): string {\n return this._origin;\n }\n\n get lastEventId(): string {\n return this._lastEventId;\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n/**\n * This module implements the `CloseEvent` interface from `WebSocket`.\n * See https://websockets.spec.whatwg.org/#the-closeevent-interface.\n */\n\n// flowlint unsafe-getters-setters:off\n\nimport type {EventInit} from '../../dom/events/Event';\n\nimport Event from '../../dom/events/Event';\n\nexport interface CloseEventInit extends EventInit {\n +wasClean?: boolean;\n +code?: number;\n +reason?: string;\n}\n\nexport default class CloseEvent extends Event {\n _wasClean: boolean;\n _code: number;\n _reason: string;\n\n constructor(type: string, options?: ?CloseEventInit) {\n super(type, options);\n\n this._wasClean = Boolean(options?.wasClean);\n this._code = Number(options?.code) || 0;\n this._reason = options?.reason != null ? String(options.reason) : '';\n }\n\n get wasClean(): boolean {\n return this._wasClean;\n }\n\n get code(): number {\n return this._code;\n }\n\n get reason(): string {\n return this._reason;\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport type {\n EventSubscription,\n IEventEmitter,\n} from '../vendor/emitter/EventEmitter';\n\nimport Platform from '../Utilities/Platform';\nimport RCTDeviceEventEmitter from './RCTDeviceEventEmitter';\nimport invariant from 'invariant';\n\ninterface NativeModule {\n addListener(eventType: string): void;\n removeListeners(count: number): void;\n}\n\nexport type {EventSubscription};\n\n// $FlowFixMe[unclear-type] unclear type of events\ntype UnsafeObject = Object;\n\n/**\n * `NativeEventEmitter` is intended for use by Native Modules to emit events to\n * JavaScript listeners. If a `NativeModule` is supplied to the constructor, it\n * will be notified (via `addListener` and `removeListeners`) when the listener\n * count changes to manage \"native memory\".\n *\n * Currently, all native events are fired via a global `RCTDeviceEventEmitter`.\n * This means event names must be globally unique, and it means that call sites\n * can theoretically listen to `RCTDeviceEventEmitter` (although discouraged).\n */\nexport default class NativeEventEmitter<\n TEventToArgsMap: $ReadOnly<\n Record>,\n > = $ReadOnly>>,\n> implements IEventEmitter\n{\n _nativeModule: ?NativeModule;\n\n constructor(nativeModule: ?NativeModule) {\n if (Platform.OS === 'ios') {\n invariant(\n nativeModule != null,\n '`new NativeEventEmitter()` requires a non-null argument.',\n );\n }\n\n const hasAddListener =\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n !!nativeModule && typeof nativeModule.addListener === 'function';\n const hasRemoveListeners =\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n !!nativeModule && typeof nativeModule.removeListeners === 'function';\n\n if (nativeModule && hasAddListener && hasRemoveListeners) {\n this._nativeModule = nativeModule;\n } else if (nativeModule != null) {\n if (!hasAddListener) {\n console.warn(\n '`new NativeEventEmitter()` was called with a non-null argument without the required `addListener` method.',\n );\n }\n if (!hasRemoveListeners) {\n console.warn(\n '`new NativeEventEmitter()` was called with a non-null argument without the required `removeListeners` method.',\n );\n }\n }\n }\n\n addListener>(\n eventType: TEvent,\n listener: (...args: $ElementType) => mixed,\n context?: mixed,\n ): EventSubscription {\n this._nativeModule?.addListener(eventType);\n let subscription: ?EventSubscription = RCTDeviceEventEmitter.addListener(\n eventType,\n listener,\n context,\n );\n\n return {\n remove: () => {\n if (subscription != null) {\n this._nativeModule?.removeListeners(1);\n // $FlowFixMe[incompatible-use]\n subscription.remove();\n subscription = null;\n }\n },\n };\n }\n\n emit>(\n eventType: TEvent,\n ...args: $ElementType\n ): void {\n // Generally, `RCTDeviceEventEmitter` is directly invoked. But this is\n // included for completeness.\n RCTDeviceEventEmitter.emit(eventType, ...args);\n }\n\n removeAllListeners>(\n eventType?: ?TEvent,\n ): void {\n invariant(\n eventType != null,\n '`NativeEventEmitter.removeAllListener()` requires a non-null argument.',\n );\n this._nativeModule?.removeListeners(this.listenerCount(eventType));\n RCTDeviceEventEmitter.removeAllListeners(eventType);\n }\n\n listenerCount>(eventType: TEvent): number {\n return RCTDeviceEventEmitter.listenerCount(eventType);\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeWebSocketModule';\nimport NativeWebSocketModule from '../../src/private/specs_DEPRECATED/modules/NativeWebSocketModule';\nexport default NativeWebSocketModule;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +connect: (\n url: string,\n protocols: ?Array,\n options: {headers?: Object},\n socketID: number,\n ) => void;\n +send: (message: string, forSocketID: number) => void;\n +sendBinary: (base64String: string, forSocketID: number) => void;\n +ping: (socketID: number) => void;\n +close: (code: number, reason: string, socketID: number) => void;\n\n // RCTEventEmitter\n +addListener: (eventName: string) => void;\n +removeListeners: (count: number) => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing(\n 'WebSocketModule',\n): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport type {BlobData} from '../Blob/BlobTypes';\nimport type {EventSubscription} from '../vendor/emitter/EventEmitter';\n\nimport Blob from '../Blob/Blob';\nimport BlobManager from '../Blob/BlobManager';\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport binaryToBase64 from '../Utilities/binaryToBase64';\nimport Platform from '../Utilities/Platform';\nimport NativeWebSocketModule from './NativeWebSocketModule';\nimport WebSocketEvent from './WebSocketEvent';\nimport base64 from 'base64-js';\nimport EventTarget from 'event-target-shim';\nimport invariant from 'invariant';\n\ntype ArrayBufferView =\n | Int8Array\n | Uint8Array\n | Uint8ClampedArray\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Float32Array\n | Float64Array\n | DataView;\n\ntype BinaryType = 'blob' | 'arraybuffer';\n\nconst CONNECTING = 0;\nconst OPEN = 1;\nconst CLOSING = 2;\nconst CLOSED = 3;\n\nconst CLOSE_NORMAL = 1000;\n\n// Abnormal closure where no code is provided in a control frame\n// https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5\nconst CLOSE_ABNORMAL = 1006;\n\nconst WEBSOCKET_EVENTS = ['close', 'error', 'message', 'open'];\n\nlet nextWebSocketId = 0;\n\ntype WebSocketEventDefinitions = {\n websocketOpen: [{id: number, protocol: string}],\n websocketClosed: [{id: number, code: number, reason: string}],\n websocketMessage: [\n | {type: 'binary', id: number, data: string}\n | {type: 'text', id: number, data: string}\n | {type: 'blob', id: number, data: BlobData},\n ],\n websocketFailed: [{id: number, message: string}],\n};\n\n/**\n * Browser-compatible WebSockets implementation.\n *\n * See https://developer.mozilla.org/en-US/docs/Web/API/WebSocket\n * See https://github.com/websockets/ws\n */\nclass WebSocket extends (EventTarget(...WEBSOCKET_EVENTS): typeof EventTarget) {\n static CONNECTING: number = CONNECTING;\n static OPEN: number = OPEN;\n static CLOSING: number = CLOSING;\n static CLOSED: number = CLOSED;\n\n CONNECTING: number = CONNECTING;\n OPEN: number = OPEN;\n CLOSING: number = CLOSING;\n CLOSED: number = CLOSED;\n\n _socketId: number;\n _eventEmitter: NativeEventEmitter;\n _subscriptions: Array;\n _binaryType: ?BinaryType;\n\n onclose: ?Function;\n onerror: ?Function;\n onmessage: ?Function;\n onopen: ?Function;\n\n bufferedAmount: number;\n extension: ?string;\n protocol: ?string;\n readyState: number = CONNECTING;\n url: ?string;\n\n constructor(\n url: string,\n protocols: ?string | ?Array,\n options: ?{headers?: {origin?: string, ...}, ...},\n ) {\n super();\n this.url = url;\n if (typeof protocols === 'string') {\n protocols = [protocols];\n }\n\n const {headers = {}, ...unrecognized} = options || {};\n\n // Preserve deprecated backwards compatibility for the 'origin' option\n // $FlowFixMe[prop-missing]\n if (unrecognized && typeof unrecognized.origin === 'string') {\n console.warn(\n 'Specifying `origin` as a WebSocket connection option is deprecated. Include it under `headers` instead.',\n );\n /* $FlowFixMe[prop-missing] (>=0.54.0 site=react_native_fb,react_native_\n * oss) This comment suppresses an error found when Flow v0.54 was\n * deployed. To see the error delete this comment and run Flow. */\n headers.origin = unrecognized.origin;\n /* $FlowFixMe[prop-missing] (>=0.54.0 site=react_native_fb,react_native_\n * oss) This comment suppresses an error found when Flow v0.54 was\n * deployed. To see the error delete this comment and run Flow. */\n delete unrecognized.origin;\n }\n\n // Warn about and discard anything else\n if (Object.keys(unrecognized).length > 0) {\n console.warn(\n 'Unrecognized WebSocket connection option(s) `' +\n Object.keys(unrecognized).join('`, `') +\n '`. ' +\n 'Did you mean to put these under `headers`?',\n );\n }\n\n if (!Array.isArray(protocols)) {\n protocols = null;\n }\n\n this._eventEmitter = new NativeEventEmitter(\n // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior\n // If you want to use the native module on other platforms, please remove this condition and test its behavior\n Platform.OS !== 'ios' ? null : NativeWebSocketModule,\n );\n this._socketId = nextWebSocketId++;\n this._registerEvents();\n NativeWebSocketModule.connect(url, protocols, {headers}, this._socketId);\n }\n\n get binaryType(): ?BinaryType {\n return this._binaryType;\n }\n\n set binaryType(binaryType: BinaryType): void {\n if (binaryType !== 'blob' && binaryType !== 'arraybuffer') {\n throw new Error(\"binaryType must be either 'blob' or 'arraybuffer'\");\n }\n if (this._binaryType === 'blob' || binaryType === 'blob') {\n invariant(\n BlobManager.isAvailable,\n 'Native module BlobModule is required for blob support',\n );\n if (binaryType === 'blob') {\n BlobManager.addWebSocketHandler(this._socketId);\n } else {\n BlobManager.removeWebSocketHandler(this._socketId);\n }\n }\n this._binaryType = binaryType;\n }\n\n close(code?: number, reason?: string): void {\n if (this.readyState === this.CLOSING || this.readyState === this.CLOSED) {\n return;\n }\n\n this.readyState = this.CLOSING;\n this._close(code, reason);\n }\n\n send(data: string | ArrayBuffer | ArrayBufferView | Blob): void {\n if (this.readyState === this.CONNECTING) {\n throw new Error('INVALID_STATE_ERR');\n }\n\n if (data instanceof Blob) {\n invariant(\n BlobManager.isAvailable,\n 'Native module BlobModule is required for blob support',\n );\n BlobManager.sendOverSocket(data, this._socketId);\n return;\n }\n\n if (typeof data === 'string') {\n NativeWebSocketModule.send(data, this._socketId);\n return;\n }\n\n if (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) {\n NativeWebSocketModule.sendBinary(binaryToBase64(data), this._socketId);\n return;\n }\n\n throw new Error('Unsupported data type');\n }\n\n ping(): void {\n if (this.readyState === this.CONNECTING) {\n throw new Error('INVALID_STATE_ERR');\n }\n\n NativeWebSocketModule.ping(this._socketId);\n }\n\n _close(code?: number, reason?: string): void {\n // See https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent\n const statusCode = typeof code === 'number' ? code : CLOSE_NORMAL;\n const closeReason = typeof reason === 'string' ? reason : '';\n NativeWebSocketModule.close(statusCode, closeReason, this._socketId);\n\n if (BlobManager.isAvailable && this._binaryType === 'blob') {\n BlobManager.removeWebSocketHandler(this._socketId);\n }\n }\n\n _unregisterEvents(): void {\n this._subscriptions.forEach(e => e.remove());\n this._subscriptions = [];\n }\n\n _registerEvents(): void {\n this._subscriptions = [\n this._eventEmitter.addListener('websocketMessage', ev => {\n if (ev.id !== this._socketId) {\n return;\n }\n let data: Blob | BlobData | ArrayBuffer | string = ev.data;\n switch (ev.type) {\n case 'binary':\n data = base64.toByteArray(ev.data).buffer;\n break;\n case 'blob':\n data = BlobManager.createFromOptions(ev.data);\n break;\n }\n this.dispatchEvent(new WebSocketEvent('message', {data}));\n }),\n this._eventEmitter.addListener('websocketOpen', ev => {\n if (ev.id !== this._socketId) {\n return;\n }\n this.readyState = this.OPEN;\n this.protocol = ev.protocol;\n this.dispatchEvent(new WebSocketEvent('open'));\n }),\n this._eventEmitter.addListener('websocketClosed', ev => {\n if (ev.id !== this._socketId) {\n return;\n }\n this.readyState = this.CLOSED;\n this.dispatchEvent(\n new WebSocketEvent('close', {\n code: ev.code,\n reason: ev.reason,\n // TODO: missing `wasClean` (exposed on iOS as `clean` but missing on Android)\n }),\n );\n this._unregisterEvents();\n this.close();\n }),\n this._eventEmitter.addListener('websocketFailed', ev => {\n if (ev.id !== this._socketId) {\n return;\n }\n this.readyState = this.CLOSED;\n this.dispatchEvent(\n new WebSocketEvent('error', {\n message: ev.message,\n }),\n );\n this.dispatchEvent(\n new WebSocketEvent('close', {\n code: CLOSE_ABNORMAL,\n reason: ev.message,\n // TODO: Expose `wasClean`\n }),\n );\n this._unregisterEvents();\n this.close();\n }),\n ];\n }\n}\n\nexport default WebSocket;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\n/**\n * Event object passed to the `onopen`, `onclose`, `onmessage`, `onerror`\n * callbacks of `WebSocket`.\n *\n * The `type` property is \"open\", \"close\", \"message\", \"error\" respectively.\n *\n * In case of \"message\", the `data` property contains the incoming data.\n */\nclass WebSocketEvent {\n type: string;\n\n constructor(type: string, eventInitDict: ?{...}) {\n this.type = type.toString();\n Object.assign(this, eventInitDict);\n }\n}\n\nexport default WebSocketEvent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {BlobOptions} from './BlobTypes';\n\nimport Blob from './Blob';\n\nconst invariant = require('invariant');\n\n/**\n * The File interface provides information about files.\n */\nclass File extends Blob {\n /**\n * Constructor for JS consumers.\n */\n constructor(\n parts: Array,\n name: string,\n options?: BlobOptions,\n ) {\n invariant(\n parts != null && name != null,\n 'Failed to construct `File`: Must pass both `parts` and `name` arguments.',\n );\n\n super(parts, options);\n this.data.name = name;\n }\n\n /**\n * Name of the file.\n */\n get name(): string {\n invariant(this.data.name != null, 'Files must have a name set.');\n return this.data.name;\n }\n\n /*\n * Last modified time of the file.\n */\n get lastModified(): number {\n return this.data.lastModified || 0;\n }\n}\n\nexport default File;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport typeof FileReader from './FileReader_old';\n\n// Use a global instead of a flag from ReactNativeFeatureFlags because this will\n// be read before apps have a chance to set overrides.\nconst useBuiltInEventTarget = global.RN$useBuiltInEventTarget?.();\n\nexport default (useBuiltInEventTarget\n ? // $FlowExpectedError[incompatible-cast]\n require('./FileReader_new').default\n : require('./FileReader_old').default) as FileReader;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {EventCallback} from '../../src/private/webapis/dom/events/EventTarget';\nimport type Blob from './Blob';\n\nimport Event from '../../src/private/webapis/dom/events/Event';\nimport {\n getEventHandlerAttribute,\n setEventHandlerAttribute,\n} from '../../src/private/webapis/dom/events/EventHandlerAttributes';\nimport EventTarget from '../../src/private/webapis/dom/events/EventTarget';\nimport NativeFileReaderModule from './NativeFileReaderModule';\nimport {toByteArray} from 'base64-js';\n\ntype ReadyState =\n | 0 // EMPTY\n | 1 // LOADING\n | 2; // DONE\n\ntype ReaderResult = string | ArrayBuffer;\n\nconst EMPTY = 0;\nconst LOADING = 1;\nconst DONE = 2;\n\nclass FileReader extends EventTarget {\n static EMPTY: number = EMPTY;\n static LOADING: number = LOADING;\n static DONE: number = DONE;\n\n EMPTY: number = EMPTY;\n LOADING: number = LOADING;\n DONE: number = DONE;\n\n _readyState: ReadyState;\n _error: ?Error;\n _result: ?ReaderResult;\n _aborted: boolean = false;\n\n constructor() {\n super();\n this._reset();\n }\n\n _reset(): void {\n this._readyState = EMPTY;\n this._error = null;\n this._result = null;\n }\n\n _setReadyState(newState: ReadyState) {\n this._readyState = newState;\n this.dispatchEvent(new Event('readystatechange'));\n if (newState === DONE) {\n if (this._aborted) {\n this.dispatchEvent(new Event('abort'));\n } else if (this._error) {\n this.dispatchEvent(new Event('error'));\n } else {\n this.dispatchEvent(new Event('load'));\n }\n this.dispatchEvent(new Event('loadend'));\n }\n }\n\n readAsArrayBuffer(blob: ?Blob): void {\n this._aborted = false;\n\n if (blob == null) {\n throw new TypeError(\n \"Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1 is not of type 'Blob'\",\n );\n }\n\n NativeFileReaderModule.readAsDataURL(blob.data).then(\n (text: string) => {\n if (this._aborted) {\n return;\n }\n\n const base64 = text.split(',')[1];\n const typedArray = toByteArray(base64);\n\n this._result = typedArray.buffer;\n this._setReadyState(DONE);\n },\n error => {\n if (this._aborted) {\n return;\n }\n this._error = error;\n this._setReadyState(DONE);\n },\n );\n }\n\n readAsDataURL(blob: ?Blob): void {\n this._aborted = false;\n\n if (blob == null) {\n throw new TypeError(\n \"Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'\",\n );\n }\n\n NativeFileReaderModule.readAsDataURL(blob.data).then(\n (text: string) => {\n if (this._aborted) {\n return;\n }\n this._result = text;\n this._setReadyState(DONE);\n },\n error => {\n if (this._aborted) {\n return;\n }\n this._error = error;\n this._setReadyState(DONE);\n },\n );\n }\n\n readAsText(blob: ?Blob, encoding: string = 'UTF-8'): void {\n this._aborted = false;\n\n if (blob == null) {\n throw new TypeError(\n \"Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'\",\n );\n }\n\n NativeFileReaderModule.readAsText(blob.data, encoding).then(\n (text: string) => {\n if (this._aborted) {\n return;\n }\n this._result = text;\n this._setReadyState(DONE);\n },\n error => {\n if (this._aborted) {\n return;\n }\n this._error = error;\n this._setReadyState(DONE);\n },\n );\n }\n\n abort() {\n this._aborted = true;\n // only call onreadystatechange if there is something to abort, as per spec\n if (this._readyState !== EMPTY && this._readyState !== DONE) {\n this._reset();\n this._setReadyState(DONE);\n }\n // Reset again after, in case modified in handler\n this._reset();\n }\n\n get readyState(): ReadyState {\n return this._readyState;\n }\n\n get error(): ?Error {\n return this._error;\n }\n\n get result(): ?ReaderResult {\n return this._result;\n }\n\n get onabort(): EventCallback | null {\n return getEventHandlerAttribute(this, 'abort');\n }\n\n set onabort(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'abort', listener);\n }\n\n get onerror(): EventCallback | null {\n return getEventHandlerAttribute(this, 'error');\n }\n\n set onerror(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'error', listener);\n }\n\n get onload(): EventCallback | null {\n return getEventHandlerAttribute(this, 'load');\n }\n\n set onload(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'load', listener);\n }\n\n get onloadstart(): EventCallback | null {\n return getEventHandlerAttribute(this, 'loadstart');\n }\n\n set onloadstart(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'loadstart', listener);\n }\n\n get onloadend(): EventCallback | null {\n return getEventHandlerAttribute(this, 'loadend');\n }\n\n set onloadend(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'loadend', listener);\n }\n\n get onprogress(): EventCallback | null {\n return getEventHandlerAttribute(this, 'progress');\n }\n\n set onprogress(listener: ?EventCallback) {\n setEventHandlerAttribute(this, 'progress', listener);\n }\n}\n\nexport default FileReader;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeFileReaderModule';\nimport NativeFileReaderModule from '../../src/private/specs_DEPRECATED/modules/NativeFileReaderModule';\nexport default NativeFileReaderModule;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +readAsDataURL: (data: Object) => Promise;\n +readAsText: (data: Object, encoding: string) => Promise;\n}\n\nexport default (TurboModuleRegistry.getEnforcing(\n 'FileReaderModule',\n): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type Blob from './Blob';\n\nimport NativeFileReaderModule from './NativeFileReaderModule';\nimport {toByteArray} from 'base64-js';\nimport EventTarget from 'event-target-shim';\n\ntype ReadyState =\n | 0 // EMPTY\n | 1 // LOADING\n | 2; // DONE\n\ntype ReaderResult = string | ArrayBuffer;\n\nconst READER_EVENTS = [\n 'abort',\n 'error',\n 'load',\n 'loadstart',\n 'loadend',\n 'progress',\n];\n\nconst EMPTY = 0 as const;\nconst LOADING = 1 as const;\nconst DONE = 2 as const;\n\nclass FileReader extends (EventTarget(...READER_EVENTS): typeof EventTarget) {\n static EMPTY: 0 = EMPTY;\n static LOADING: 1 = LOADING;\n static DONE: 2 = DONE;\n\n EMPTY: 0 = EMPTY;\n LOADING: 1 = LOADING;\n DONE: 2 = DONE;\n\n _readyState: ReadyState;\n _error: ?Error;\n _result: ?ReaderResult;\n _aborted: boolean = false;\n\n constructor() {\n super();\n this._reset();\n }\n\n _reset(): void {\n this._readyState = EMPTY;\n this._error = null;\n this._result = null;\n }\n\n _setReadyState(newState: ReadyState) {\n this._readyState = newState;\n this.dispatchEvent({type: 'readystatechange'});\n if (newState === DONE) {\n if (this._aborted) {\n this.dispatchEvent({type: 'abort'});\n } else if (this._error) {\n this.dispatchEvent({type: 'error'});\n } else {\n this.dispatchEvent({type: 'load'});\n }\n this.dispatchEvent({type: 'loadend'});\n }\n }\n\n readAsArrayBuffer(blob: ?Blob): void {\n this._aborted = false;\n\n if (blob == null) {\n throw new TypeError(\n \"Failed to execute 'readAsArrayBuffer' on 'FileReader': parameter 1 is not of type 'Blob'\",\n );\n }\n\n NativeFileReaderModule.readAsDataURL(blob.data).then(\n (text: string) => {\n if (this._aborted) {\n return;\n }\n\n const base64 = text.split(',')[1];\n const typedArray = toByteArray(base64);\n\n this._result = typedArray.buffer;\n this._setReadyState(DONE);\n },\n error => {\n if (this._aborted) {\n return;\n }\n this._error = error;\n this._setReadyState(DONE);\n },\n );\n }\n\n readAsDataURL(blob: ?Blob): void {\n this._aborted = false;\n\n if (blob == null) {\n throw new TypeError(\n \"Failed to execute 'readAsDataURL' on 'FileReader': parameter 1 is not of type 'Blob'\",\n );\n }\n\n NativeFileReaderModule.readAsDataURL(blob.data).then(\n (text: string) => {\n if (this._aborted) {\n return;\n }\n this._result = text;\n this._setReadyState(DONE);\n },\n error => {\n if (this._aborted) {\n return;\n }\n this._error = error;\n this._setReadyState(DONE);\n },\n );\n }\n\n readAsText(blob: ?Blob, encoding: string = 'UTF-8'): void {\n this._aborted = false;\n\n if (blob == null) {\n throw new TypeError(\n \"Failed to execute 'readAsText' on 'FileReader': parameter 1 is not of type 'Blob'\",\n );\n }\n\n NativeFileReaderModule.readAsText(blob.data, encoding).then(\n (text: string) => {\n if (this._aborted) {\n return;\n }\n this._result = text;\n this._setReadyState(DONE);\n },\n error => {\n if (this._aborted) {\n return;\n }\n this._error = error;\n this._setReadyState(DONE);\n },\n );\n }\n\n abort() {\n this._aborted = true;\n // only call onreadystatechange if there is something to abort, as per spec\n if (this._readyState !== EMPTY && this._readyState !== DONE) {\n this._reset();\n this._setReadyState(DONE);\n }\n // Reset again after, in case modified in handler\n this._reset();\n }\n\n get readyState(): ReadyState {\n return this._readyState;\n }\n\n get error(): ?Error {\n return this._error;\n }\n\n get result(): ?ReaderResult {\n return this._result;\n }\n}\n\nexport default FileReader;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport type Blob from './Blob';\n\nimport NativeBlobModule from './NativeBlobModule';\n\nlet BLOB_URL_PREFIX = null;\n\nif (\n NativeBlobModule &&\n typeof NativeBlobModule.getConstants().BLOB_URI_SCHEME === 'string'\n) {\n const constants = NativeBlobModule.getConstants();\n // $FlowFixMe[incompatible-type] asserted above\n // $FlowFixMe[unsafe-addition]\n BLOB_URL_PREFIX = constants.BLOB_URI_SCHEME + ':';\n if (typeof constants.BLOB_URI_HOST === 'string') {\n BLOB_URL_PREFIX += `//${constants.BLOB_URI_HOST}/`;\n }\n}\n\n/*\n * To allow Blobs be accessed via `content://` URIs,\n * you need to register `BlobProvider` as a ContentProvider in your app's `AndroidManifest.xml`:\n *\n * ```xml\n * \n * \n * \n * \n * \n * ```\n * And then define the `blob_provider_authority` string in `res/values/strings.xml`.\n * Use a dotted name that's entirely unique to your app:\n *\n * ```xml\n * \n * your.app.package.blobs\n * \n * ```\n */\n\nexport {URLSearchParams} from './URLSearchParams';\n\nfunction validateBaseUrl(url: string) {\n // from this MIT-licensed gist: https://gist.github.com/dperini/729294\n return /^(?:(?:(?:https?|ftp):)?\\/\\/)(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u00a1-\\uffff][a-z0-9\\u00a1-\\uffff_-]{0,62})?[a-z0-9\\u00a1-\\uffff]\\.)*(?:[a-z\\u00a1-\\uffff]{2,}\\.?))(?::\\d{2,5})?(?:[/?#]\\S*)?$/.test(\n url,\n );\n}\n\nexport class URL {\n _url: string;\n _searchParamsInstance: ?URLSearchParams = null;\n\n static createObjectURL(blob: Blob): string {\n if (BLOB_URL_PREFIX === null) {\n throw new Error('Cannot create URL for blob!');\n }\n return `${BLOB_URL_PREFIX}${blob.data.blobId}?offset=${blob.data.offset}&size=${blob.size}`;\n }\n\n static revokeObjectURL(url: string) {\n // Do nothing.\n }\n\n // $FlowFixMe[missing-local-annot]\n constructor(url: string, base?: string | URL) {\n let baseUrl = null;\n if (!base || validateBaseUrl(url)) {\n this._url = url;\n if (!this._url.endsWith('/')) {\n this._url += '/';\n }\n } else {\n if (typeof base === 'string') {\n baseUrl = base;\n if (!validateBaseUrl(baseUrl)) {\n throw new TypeError(`Invalid base URL: ${baseUrl}`);\n }\n } else {\n baseUrl = base.toString();\n }\n if (baseUrl.endsWith('/')) {\n baseUrl = baseUrl.slice(0, baseUrl.length - 1);\n }\n if (!url.startsWith('/')) {\n url = `/${url}`;\n }\n if (baseUrl.endsWith(url)) {\n url = '';\n }\n this._url = `${baseUrl}${url}`;\n }\n }\n\n get hash(): string {\n throw new Error('URL.hash is not implemented');\n }\n\n get host(): string {\n throw new Error('URL.host is not implemented');\n }\n\n get hostname(): string {\n throw new Error('URL.hostname is not implemented');\n }\n\n get href(): string {\n return this.toString();\n }\n\n get origin(): string {\n throw new Error('URL.origin is not implemented');\n }\n\n get password(): string {\n throw new Error('URL.password is not implemented');\n }\n\n get pathname(): string {\n throw new Error('URL.pathname not implemented');\n }\n\n get port(): string {\n throw new Error('URL.port is not implemented');\n }\n\n get protocol(): string {\n throw new Error('URL.protocol is not implemented');\n }\n\n get search(): string {\n throw new Error('URL.search is not implemented');\n }\n\n get searchParams(): URLSearchParams {\n if (this._searchParamsInstance == null) {\n this._searchParamsInstance = new URLSearchParams();\n }\n return this._searchParamsInstance;\n }\n\n toJSON(): string {\n return this.toString();\n }\n\n toString(): string {\n if (this._searchParamsInstance === null) {\n return this._url;\n }\n // $FlowFixMe[incompatible-use]\n const instanceString = this._searchParamsInstance.toString();\n const separator = this._url.indexOf('?') > -1 ? '&' : '?';\n return this._url + separator + instanceString;\n }\n\n get username(): string {\n throw new Error('URL.username is not implemented');\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n// Small subset from whatwg-url: https://github.com/jsdom/whatwg-url/tree/master/src\n// The reference code bloat comes from Unicode issues with URLs, so those won't work here.\nexport class URLSearchParams {\n _searchParams: Array<[string, string]> = [];\n\n constructor(params?: Record) {\n if (typeof params === 'object') {\n Object.keys(params).forEach(key => this.append(key, params[key]));\n }\n }\n\n append(key: string, value: string): void {\n this._searchParams.push([key, value]);\n }\n\n delete(name: string): empty {\n throw new Error('URLSearchParams.delete is not implemented');\n }\n\n get(name: string): empty {\n throw new Error('URLSearchParams.get is not implemented');\n }\n\n getAll(name: string): empty {\n throw new Error('URLSearchParams.getAll is not implemented');\n }\n\n has(name: string): empty {\n throw new Error('URLSearchParams.has is not implemented');\n }\n\n set(name: string, value: string): empty {\n throw new Error('URLSearchParams.set is not implemented');\n }\n\n sort(): empty {\n throw new Error('URLSearchParams.sort is not implemented');\n }\n\n // $FlowFixMe[unsupported-syntax]\n [Symbol.iterator](): Iterator<[string, string]> {\n return this._searchParams[Symbol.iterator]();\n }\n\n toString(): string {\n if (this._searchParams.length === 0) {\n return '';\n }\n const last = this._searchParams.length - 1;\n return this._searchParams.reduce((acc, curr, index) => {\n return (\n acc +\n encodeURIComponent(curr[0]) +\n '=' +\n encodeURIComponent(curr[1]) +\n (index === last ? '' : '&')\n );\n }, '');\n }\n}\n","/**\n * @author Toru Nagashima \n * See LICENSE file in root directory for full license.\n */\n'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar eventTargetShim = require('event-target-shim');\n\n/**\n * The signal class.\n * @see https://dom.spec.whatwg.org/#abortsignal\n */\nclass AbortSignal extends eventTargetShim.EventTarget {\n /**\n * AbortSignal cannot be constructed directly.\n */\n constructor() {\n super();\n throw new TypeError(\"AbortSignal cannot be constructed directly\");\n }\n /**\n * Returns `true` if this `AbortSignal`'s `AbortController` has signaled to abort, and `false` otherwise.\n */\n get aborted() {\n const aborted = abortedFlags.get(this);\n if (typeof aborted !== \"boolean\") {\n throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this === null ? \"null\" : typeof this}`);\n }\n return aborted;\n }\n}\neventTargetShim.defineEventAttribute(AbortSignal.prototype, \"abort\");\n/**\n * Create an AbortSignal object.\n */\nfunction createAbortSignal() {\n const signal = Object.create(AbortSignal.prototype);\n eventTargetShim.EventTarget.call(signal);\n abortedFlags.set(signal, false);\n return signal;\n}\n/**\n * Abort a given signal.\n */\nfunction abortSignal(signal) {\n if (abortedFlags.get(signal) !== false) {\n return;\n }\n abortedFlags.set(signal, true);\n signal.dispatchEvent({ type: \"abort\" });\n}\n/**\n * Aborted flag for each instances.\n */\nconst abortedFlags = new WeakMap();\n// Properties should be enumerable.\nObject.defineProperties(AbortSignal.prototype, {\n aborted: { enumerable: true },\n});\n// `toString()` should return `\"[object AbortSignal]\"`\nif (typeof Symbol === \"function\" && typeof Symbol.toStringTag === \"symbol\") {\n Object.defineProperty(AbortSignal.prototype, Symbol.toStringTag, {\n configurable: true,\n value: \"AbortSignal\",\n });\n}\n\n/**\n * The AbortController.\n * @see https://dom.spec.whatwg.org/#abortcontroller\n */\nclass AbortController {\n /**\n * Initialize this controller.\n */\n constructor() {\n signals.set(this, createAbortSignal());\n }\n /**\n * Returns the `AbortSignal` object associated with this object.\n */\n get signal() {\n return getSignal(this);\n }\n /**\n * Abort and signal to any observers that the associated activity is to be aborted.\n */\n abort() {\n abortSignal(getSignal(this));\n }\n}\n/**\n * Associated signals.\n */\nconst signals = new WeakMap();\n/**\n * Get the associated signal of a given controller.\n */\nfunction getSignal(controller) {\n const signal = signals.get(controller);\n if (signal == null) {\n throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${controller === null ? \"null\" : typeof controller}`);\n }\n return signal;\n}\n// Properties should be enumerable.\nObject.defineProperties(AbortController.prototype, {\n signal: { enumerable: true },\n abort: { enumerable: true },\n});\nif (typeof Symbol === \"function\" && typeof Symbol.toStringTag === \"symbol\") {\n Object.defineProperty(AbortController.prototype, Symbol.toStringTag, {\n configurable: true,\n value: \"AbortController\",\n });\n}\n\nexports.AbortController = AbortController;\nexports.AbortSignal = AbortSignal;\nexports.default = AbortController;\n\nmodule.exports = AbortController\nmodule.exports.AbortController = module.exports[\"default\"] = AbortController\nmodule.exports.AbortSignal = AbortSignal\n//# sourceMappingURL=abort-controller.js.map\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\n/**\n * Set up alert().\n * You can use this module directly, or just require InitializeCore.\n */\nif (!global.alert) {\n global.alert = function (text: string) {\n // Require Alert on demand. Requiring it too early can lead to issues\n // with things like Platform not being fully initialized.\n require('../Alert/Alert').default.alert('Alert', '' + text);\n };\n}\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @flow\n * @format\n */\n\nimport type {DialogOptions} from '../NativeModules/specs/NativeDialogManagerWindows';\nconst NativeDialogManagerWindows =\n require('../NativeModules/specs/NativeDialogManagerWindows').default;\n\n/**\n * @platform ios\n */\nexport type AlertType =\n | 'default'\n | 'plain-text'\n | 'secure-text'\n | 'login-password';\n\n/**\n * @platform ios\n */\nexport type AlertButtonStyle = 'default' | 'cancel' | 'destructive';\n\nexport type AlertButton = {\n text?: string,\n onPress?: ?((value?: string) => any) | ?Function,\n isPreferred?: boolean,\n style?: AlertButtonStyle,\n ...\n};\n\nexport type AlertButtons = Array;\n\nexport type AlertOptions = {\n /** @platform android */\n cancelable?: ?boolean,\n userInterfaceStyle?: 'unspecified' | 'light' | 'dark',\n /** @platform android */\n onDismiss?: ?() => void,\n ...\n};\n\n/**\n * Launches an alert dialog with the specified title and message.\n *\n * Optionally provide a list of buttons. Tapping any button will fire the\n * respective onPress callback and dismiss the alert. By default, the only\n * button will be an 'OK' button.\n *\n * This is an API that works both on iOS and Android and can show static\n * alerts. On iOS, you can show an alert that prompts the user to enter\n * some information.\n *\n * See https://reactnative.dev/docs/alert\n */\nclass Alert {\n static alert(\n title: ?string,\n message?: ?string,\n buttons?: AlertButtons,\n options?: AlertOptions,\n ): void {\n if (!NativeDialogManagerWindows) {\n return;\n }\n const constants = NativeDialogManagerWindows.getConstants();\n\n const config: DialogOptions = {\n title: title || '',\n message: message || '',\n cancelable: false,\n };\n\n if (options && options.cancelable) {\n config.cancelable = options.cancelable;\n }\n // At most three buttons (neutral, negative, positive). Ignore rest.\n // The text 'OK' should be probably localized. iOS Alert does that in native.\n const defaultPositiveText = 'OK';\n const validButtons: AlertButtons = buttons\n ? buttons.slice(0, 3)\n : [{text: defaultPositiveText, style: 'default'}];\n const buttonPositive = validButtons.pop();\n const buttonNegative = validButtons.pop();\n const buttonNeutral = validButtons.pop();\n\n // Find the first button where 'default' is set to true\n // in order of declared buttons.\n const defaultIndex = [\n buttonNeutral,\n buttonNegative,\n buttonPositive,\n ].findIndex(b => b != null && b.style === 'default');\n\n // XAML has an enum to specify the default button, which is:\n // None = 0, Primary = 1, Secondary = 2, Close = 3\n // If no default button is found, specify 0 for None, otherwise\n // convert the index to its corresponding XAML enum value.\n config.defaultButton = defaultIndex >= 0 ? 3 - defaultIndex : 0;\n\n if (buttonNeutral) {\n config.buttonNeutral = buttonNeutral.text || '';\n }\n if (buttonNegative) {\n config.buttonNegative = buttonNegative.text || '';\n }\n if (buttonPositive) {\n config.buttonPositive = buttonPositive.text || defaultPositiveText;\n }\n\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n const onAction = (action, buttonKey) => {\n if (action === constants.buttonClicked) {\n if (buttonKey === constants.buttonNeutral) {\n // $FlowFixMe[incompatible-type]\n buttonNeutral.onPress && buttonNeutral.onPress();\n } else if (buttonKey === constants.buttonNegative) {\n // $FlowFixMe[incompatible-type]\n buttonNegative.onPress && buttonNegative.onPress();\n } else if (buttonKey === constants.buttonPositive) {\n // $FlowFixMe[incompatible-type]\n buttonPositive.onPress && buttonPositive.onPress();\n }\n } else if (action === constants.dismissed) {\n options && options.onDismiss && options.onDismiss();\n }\n };\n const onError = (errorMessage: string) => console.warn(errorMessage);\n NativeDialogManagerWindows.showAlert(config, onError, onAction);\n }\n\n /**\n * @platform ios\n */\n static prompt(\n title: ?string,\n message?: ?string,\n callbackOrButtons?: ?(((text: string) => void) | AlertButtons),\n type?: ?AlertType = 'plain-text',\n defaultValue?: string,\n keyboardType?: string,\n options?: AlertOptions,\n ): void {\n throw new Error(\n 'Alert.prompt not currently implemented in react-native-windows',\n );\n }\n}\n\nexport default Alert;\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * @format\n * @flow strict-local\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeDialogManagerWindows';\nimport NativeDialogManagerWindows from '../../../src/private/specs_DEPRECATED/modules/NativeDialogManagerWindows';\nexport default NativeDialogManagerWindows;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\nimport type {Int32} from '../../../../Libraries/Types/CodegenTypes';\n\n/* 'buttonClicked' | 'dismissed' */\ntype DialogAction = string;\n/*\n buttonPositive = -1,\n buttonNegative = -2,\n buttonNeutral = -3\n*/\ntype DialogButtonKey = Int32;\nexport type DialogOptions = {\n title?: string,\n message?: string,\n buttonPositive?: string,\n buttonNegative?: string,\n buttonNeutral?: string,\n items?: Array,\n cancelable?: boolean,\n defaultButton?: Int32,\n rootTag?: Int32,\n};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => {\n +buttonClicked: DialogAction,\n +dismissed: DialogAction,\n +buttonPositive: DialogButtonKey,\n +buttonNegative: DialogButtonKey,\n +buttonNeutral: DialogButtonKey,\n };\n +showAlert: (\n config: DialogOptions,\n onError: (error: string) => void,\n onAction: (action: DialogAction, buttonKey?: DialogButtonKey) => void,\n ) => void;\n}\n\nexport default (TurboModuleRegistry.get('Alert'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n'use strict';\n\nconst {polyfillObjectProperty} = require('../Utilities/PolyfillFunctions');\n\nconst navigator = global.navigator;\nif (navigator === undefined) {\n // $FlowExpectedError[cannot-write] The global isn't writable anywhere but here, where we define it.\n global.navigator = {product: 'ReactNative'};\n} else {\n // see https://github.com/facebook/react-native/issues/10881\n polyfillObjectProperty(navigator, 'product', () => 'ReactNative');\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport registerModule from './registerCallableModule';\n\nregisterModule('Systrace', () => require('../Performance/Systrace'));\nif (!(global.RN$Bridgeless === true)) {\n registerModule('JSTimers', () => require('./Timers/JSTimers').default);\n}\nregisterModule('RCTLog', () => require('../Utilities/RCTLog').default);\nregisterModule(\n 'RCTDeviceEventEmitter',\n () => require('../EventEmitter/RCTDeviceEventEmitter').default,\n);\nregisterModule(\n 'RCTNativeAppEventEmitter',\n () => require('../EventEmitter/RCTNativeAppEventEmitter').default,\n);\nregisterModule(\n 'GlobalPerformanceLogger',\n () => require('../Utilities/GlobalPerformanceLogger').default,\n);\n\nif (__DEV__) {\n registerModule('HMRClient', () => require('../Utilities/HMRClient').default);\n} else {\n registerModule(\n 'HMRClient',\n () => require('../Utilities/HMRClientProdShim').default,\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\nconst invariant = require('invariant');\n\nconst levelsMap = {\n log: 'log',\n info: 'info',\n warn: 'warn',\n error: 'error',\n fatal: 'error',\n};\n\nlet warningHandler: ?(...Array) => void = null;\n\nconst RCTLog = {\n // level one of log, info, warn, error, mustfix\n logIfNoNativeHook(level: string, ...args: Array): void {\n // We already printed in the native console, so only log here if using a js debugger\n if (typeof global.nativeLoggingHook === 'undefined') {\n RCTLog.logToConsole(level, ...args);\n } else {\n // Report native warnings to LogBox\n if (warningHandler && level === 'warn') {\n warningHandler(...args);\n }\n }\n },\n\n // Log to console regardless of nativeLoggingHook\n logToConsole(level: string, ...args: Array): void {\n // $FlowFixMe[invalid-computed-prop]\n const logFn = levelsMap[level];\n invariant(\n logFn,\n 'Level \"' + level + '\" not one of ' + Object.keys(levelsMap).toString(),\n );\n\n console[logFn](...args);\n },\n\n setWarningHandler(handler: typeof warningHandler): void {\n warningHandler = handler;\n },\n};\n\nexport default RCTLog;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport RCTDeviceEventEmitter from './RCTDeviceEventEmitter';\n\n/**\n * Deprecated - subclass NativeEventEmitter to create granular event modules instead of\n * adding all event listeners directly to RCTNativeAppEventEmitter.\n */\nconst RCTNativeAppEventEmitter = RCTDeviceEventEmitter;\nexport default RCTNativeAppEventEmitter;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nimport type {HMRClientNativeInterface} from './HMRClient';\n\n// This shim ensures DEV binary builds don't crash in JS\n// when they're combined with a PROD JavaScript build.\nconst HMRClientProdShim: HMRClientNativeInterface = {\n setup() {},\n enable() {\n console.error(\n 'Fast Refresh is disabled in JavaScript bundles built in production mode. ' +\n 'Did you forget to run Metro?',\n );\n },\n disable() {},\n registerBundle() {},\n log() {},\n};\n\nexport default HMRClientProdShim;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nexport type FetchSegmentFunction = typeof __fetchSegment;\n\n/**\n * Set up SegmentFetcher.\n * You can use this module directly, or just require InitializeCore.\n */\n\nfunction __fetchSegment(\n segmentId: number,\n options: $ReadOnly<{\n otaBuildNumber: ?string,\n requestedModuleName: string,\n segmentHash: string,\n }>,\n callback: (?Error) => void,\n) {\n const SegmentFetcher =\n require('./SegmentFetcher/NativeSegmentFetcher').default;\n SegmentFetcher.fetchSegment(\n segmentId,\n options,\n (\n errorObject: ?{\n message: string,\n code: string,\n ...\n },\n ) => {\n if (errorObject) {\n const error = new Error(errorObject.message);\n (error: any).code = errorObject.code; // flowlint-line unclear-type: off\n callback(error);\n return;\n }\n\n callback(null);\n },\n );\n}\n\nglobal.__fetchSegment = __fetchSegment;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeSegmentFetcher';\nimport NativeSegmentFetcher from '../../../src/private/specs_DEPRECATED/modules/NativeSegmentFetcher';\nexport default NativeSegmentFetcher;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +fetchSegment: (\n segmentId: number,\n options: Object, // flowlint-line unclear-type: off\n callback: (error: ?Object) => void, // flowlint-line unclear-type: off\n ) => void;\n +getSegment?: (\n segmentId: number,\n options: Object, // flowlint-line unclear-type: off\n callback: (error: ?Object, path: ?string) => void, // flowlint-line unclear-type: off\n ) => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing('SegmentFetcher'): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {ViewStyleProp} from '../StyleSheet/StyleSheet';\nimport type {RootTag} from '../Types/RootTagTypes';\nimport type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';\nimport type {DisplayModeType} from './DisplayMode';\n\nimport BugReporting from '../BugReporting/BugReporting';\nimport registerCallableModule from '../Core/registerCallableModule';\nimport createPerformanceLogger from '../Utilities/createPerformanceLogger';\nimport infoLog from '../Utilities/infoLog';\nimport SceneTracker from '../Utilities/SceneTracker';\nimport {coerceDisplayMode} from './DisplayMode';\nimport HeadlessJsTaskError from './HeadlessJsTaskError';\nimport NativeHeadlessJsTaskSupport from './NativeHeadlessJsTaskSupport';\nimport renderApplication from './renderApplication';\nimport {unmountComponentAtNodeAndRemoveContainer} from './RendererProxy';\nimport invariant from 'invariant';\n\ntype Task = (taskData: any) => Promise;\nexport type TaskProvider = () => Task;\ntype TaskCanceller = () => void;\ntype TaskCancelProvider = () => TaskCanceller;\n\nexport type ComponentProvider = () => React.ComponentType;\nexport type ComponentProviderInstrumentationHook = (\n component_: ComponentProvider,\n scopedPerformanceLogger: IPerformanceLogger,\n) => React.ComponentType;\nexport type AppConfig = {\n appKey: string,\n component?: ComponentProvider,\n run?: Runnable,\n section?: boolean,\n ...\n};\ntype AppParameters = {\n initialProps: $ReadOnly<{[string]: mixed, ...}>,\n rootTag: RootTag,\n fabric?: boolean,\n};\nexport type Runnable = (\n appParameters: AppParameters,\n displayMode: DisplayModeType,\n) => void;\nexport type Runnables = {[appKey: string]: Runnable};\nexport type Registry = {\n sections: $ReadOnlyArray,\n runnables: Runnables,\n ...\n};\nexport type WrapperComponentProvider = (\n appParameters: Object,\n) => React.ComponentType;\nexport type RootViewStyleProvider = (appParameters: Object) => ViewStyleProp;\n\nconst runnables: Runnables = {};\nlet runCount = 1;\nconst sections: Runnables = {};\nconst taskProviders: Map = new Map();\nconst taskCancelProviders: Map = new Map();\nlet componentProviderInstrumentationHook: ComponentProviderInstrumentationHook =\n (component: ComponentProvider) => component();\n\nlet wrapperComponentProvider: ?WrapperComponentProvider;\nlet rootViewStyleProvider: ?RootViewStyleProvider;\n\n/**\n * `AppRegistry` is the JavaScript entry point to running all React Native apps.\n *\n * See https://reactnative.dev/docs/appregistry\n */\nconst AppRegistry = {\n setWrapperComponentProvider(provider: WrapperComponentProvider) {\n wrapperComponentProvider = provider;\n },\n\n setRootViewStyleProvider(provider: RootViewStyleProvider) {\n rootViewStyleProvider = provider;\n },\n\n registerConfig(config: Array): void {\n config.forEach(appConfig => {\n if (appConfig.run) {\n AppRegistry.registerRunnable(appConfig.appKey, appConfig.run);\n } else {\n invariant(\n appConfig.component != null,\n 'AppRegistry.registerConfig(...): Every config is expected to set ' +\n 'either `run` or `component`, but `%s` has neither.',\n appConfig.appKey,\n );\n AppRegistry.registerComponent(\n appConfig.appKey,\n appConfig.component,\n appConfig.section,\n );\n }\n });\n },\n\n /**\n * Registers an app's root component.\n *\n * See https://reactnative.dev/docs/appregistry#registercomponent\n */\n registerComponent(\n appKey: string,\n componentProvider: ComponentProvider,\n section?: boolean,\n ): string {\n const scopedPerformanceLogger = createPerformanceLogger();\n runnables[appKey] = (appParameters, displayMode) => {\n renderApplication(\n componentProviderInstrumentationHook(\n componentProvider,\n scopedPerformanceLogger,\n ),\n appParameters.initialProps,\n appParameters.rootTag,\n wrapperComponentProvider && wrapperComponentProvider(appParameters),\n rootViewStyleProvider && rootViewStyleProvider(appParameters),\n appParameters.fabric,\n scopedPerformanceLogger,\n appKey === 'LogBox', // is logbox\n appKey,\n displayMode,\n );\n };\n if (section) {\n sections[appKey] = runnables[appKey];\n }\n return appKey;\n },\n\n registerRunnable(appKey: string, run: Runnable): string {\n runnables[appKey] = run;\n return appKey;\n },\n\n registerSection(appKey: string, component: ComponentProvider): void {\n AppRegistry.registerComponent(appKey, component, true);\n },\n\n getAppKeys(): $ReadOnlyArray {\n return Object.keys(runnables);\n },\n\n getSectionKeys(): $ReadOnlyArray {\n return Object.keys(sections);\n },\n\n getSections(): Runnables {\n return {\n ...sections,\n };\n },\n\n getRunnable(appKey: string): ?Runnable {\n return runnables[appKey];\n },\n\n getRegistry(): Registry {\n return {\n sections: AppRegistry.getSectionKeys(),\n runnables: {...runnables},\n };\n },\n\n setComponentProviderInstrumentationHook(\n hook: ComponentProviderInstrumentationHook,\n ) {\n componentProviderInstrumentationHook = hook;\n },\n\n /**\n * Loads the JavaScript bundle and runs the app.\n *\n * See https://reactnative.dev/docs/appregistry#runapplication\n */\n runApplication(\n appKey: string,\n appParameters: AppParameters,\n displayMode?: number,\n ): void {\n if (appKey !== 'LogBox') {\n const logParams = __DEV__ ? ` with ${JSON.stringify(appParameters)}` : '';\n const msg = `Running \"${appKey}\"${logParams}`;\n infoLog(msg);\n BugReporting.addSource(\n 'AppRegistry.runApplication' + runCount++,\n () => msg,\n );\n }\n invariant(\n runnables[appKey],\n `\"${appKey}\" has not been registered. This can happen if:\\n` +\n '* Metro (the local dev server) is run from the wrong folder. ' +\n 'Check if Metro is running, stop it and restart it in the current project.\\n' +\n \"* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.\",\n );\n\n SceneTracker.setActiveScene({name: appKey});\n runnables[appKey](appParameters, coerceDisplayMode(displayMode));\n },\n\n /**\n * Update initial props for a surface that's already rendered\n */\n setSurfaceProps(\n appKey: string,\n appParameters: Object,\n displayMode?: number,\n ): void {\n if (appKey !== 'LogBox') {\n const msg =\n 'Updating props for Surface \"' +\n appKey +\n '\" with ' +\n JSON.stringify(appParameters);\n infoLog(msg);\n BugReporting.addSource(\n 'AppRegistry.setSurfaceProps' + runCount++,\n () => msg,\n );\n }\n invariant(\n runnables[appKey],\n `\"${appKey}\" has not been registered. This can happen if:\\n` +\n '* Metro (the local dev server) is run from the wrong folder. ' +\n 'Check if Metro is running, stop it and restart it in the current project.\\n' +\n \"* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called.\",\n );\n\n runnables[appKey](appParameters, coerceDisplayMode(displayMode));\n },\n\n /**\n * Stops an application when a view should be destroyed.\n *\n * See https://reactnative.dev/docs/appregistry#unmountapplicationcomponentatroottag\n */\n unmountApplicationComponentAtRootTag(rootTag: RootTag): void {\n unmountComponentAtNodeAndRemoveContainer(rootTag);\n },\n\n /**\n * Register a headless task. A headless task is a bit of code that runs without a UI.\n *\n * See https://reactnative.dev/docs/appregistry#registerheadlesstask\n */\n registerHeadlessTask(taskKey: string, taskProvider: TaskProvider): void {\n // $FlowFixMe[object-this-reference]\n this.registerCancellableHeadlessTask(taskKey, taskProvider, () => () => {\n /* Cancel is no-op */\n });\n },\n\n /**\n * Register a cancellable headless task. A headless task is a bit of code that runs without a UI.\n *\n * See https://reactnative.dev/docs/appregistry#registercancellableheadlesstask\n */\n registerCancellableHeadlessTask(\n taskKey: string,\n taskProvider: TaskProvider,\n taskCancelProvider: TaskCancelProvider,\n ): void {\n if (taskProviders.has(taskKey)) {\n console.warn(\n `registerHeadlessTask or registerCancellableHeadlessTask called multiple times for same key '${taskKey}'`,\n );\n }\n taskProviders.set(taskKey, taskProvider);\n taskCancelProviders.set(taskKey, taskCancelProvider);\n },\n\n /**\n * Only called from native code. Starts a headless task.\n *\n * See https://reactnative.dev/docs/appregistry#startheadlesstask\n */\n startHeadlessTask(taskId: number, taskKey: string, data: any): void {\n const taskProvider = taskProviders.get(taskKey);\n if (!taskProvider) {\n console.warn(`No task registered for key ${taskKey}`);\n if (NativeHeadlessJsTaskSupport) {\n NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);\n }\n return;\n }\n taskProvider()(data)\n .then(() => {\n if (NativeHeadlessJsTaskSupport) {\n NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);\n }\n })\n .catch(reason => {\n console.error(reason);\n\n if (\n NativeHeadlessJsTaskSupport &&\n reason instanceof HeadlessJsTaskError\n ) {\n // $FlowFixMe[unused-promise]\n NativeHeadlessJsTaskSupport.notifyTaskRetry(taskId).then(\n retryPosted => {\n if (!retryPosted) {\n NativeHeadlessJsTaskSupport.notifyTaskFinished(taskId);\n }\n },\n );\n }\n });\n },\n\n /**\n * Only called from native code. Cancels a headless task.\n *\n * See https://reactnative.dev/docs/appregistry#cancelheadlesstask\n */\n cancelHeadlessTask(taskId: number, taskKey: string): void {\n const taskCancelProvider = taskCancelProviders.get(taskKey);\n if (!taskCancelProvider) {\n throw new Error(`No task canceller registered for key '${taskKey}'`);\n }\n taskCancelProvider()();\n },\n};\n\n// Register LogBox as a default surface\nAppRegistry.registerComponent('LogBox', () => {\n if (__DEV__ && typeof jest === 'undefined') {\n return require('../LogBox/LogBoxInspectorContainer').default;\n } else {\n return function NoOp() {\n return null;\n };\n }\n});\n\nglobal.RN$AppRegistry = AppRegistry;\n\n// Backwards compat with SurfaceRegistry, remove me later\nglobal.RN$SurfaceRegistry = {\n renderSurface: AppRegistry.runApplication,\n setSurfaceProps: AppRegistry.setSurfaceProps,\n};\n\nregisterCallableModule('AppRegistry', AppRegistry);\n\nexport default AppRegistry;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';\nimport NativeRedBox from '../NativeModules/specs/NativeRedBox';\nimport {type EventSubscription} from '../vendor/emitter/EventEmitter';\nimport NativeBugReporting from './NativeBugReporting';\n\ntype ExtraData = {[key: string]: string, ...};\ntype SourceCallback = () => string;\ntype DebugData = {\n extras: ExtraData,\n files: ExtraData,\n ...\n};\n\nfunction defaultExtras() {\n BugReporting.addFileSource('react_hierarchy.txt', () =>\n require('./dumpReactTree').default(),\n );\n}\n\n/**\n * A simple class for collecting bug report data. Components can add sources that will be queried when a bug report\n * is created via `collectExtraData`. For example, a list component might add a source that provides the list of rows\n * that are currently visible on screen. Components should also remember to call `remove()` on the object that is\n * returned by `addSource` when they are unmounted.\n */\nclass BugReporting {\n static _extraSources: Map = new Map();\n static _fileSources: Map = new Map();\n static _subscription: ?EventSubscription = null;\n static _redboxSubscription: ?EventSubscription = null;\n\n static _maybeInit() {\n if (!BugReporting._subscription) {\n BugReporting._subscription = RCTDeviceEventEmitter.addListener(\n 'collectBugExtraData',\n // $FlowFixMe[method-unbinding]\n BugReporting.collectExtraData,\n null,\n );\n defaultExtras();\n }\n\n if (!BugReporting._redboxSubscription) {\n BugReporting._redboxSubscription = RCTDeviceEventEmitter.addListener(\n 'collectRedBoxExtraData',\n // $FlowFixMe[method-unbinding]\n BugReporting.collectExtraData,\n null,\n );\n }\n }\n\n /**\n * Maps a string key to a simple callback that should return a string payload to be attached\n * to a bug report. Source callbacks are called when `collectExtraData` is called.\n *\n * Returns an object to remove the source when the component unmounts.\n *\n * Conflicts trample with a warning.\n */\n static addSource(\n key: string,\n callback: SourceCallback,\n ): {remove: () => void, ...} {\n return this._addSource(key, callback, BugReporting._extraSources);\n }\n\n /**\n * Maps a string key to a simple callback that should return a string payload to be attached\n * to a bug report. Source callbacks are called when `collectExtraData` is called.\n *\n * Returns an object to remove the source when the component unmounts.\n *\n * Conflicts trample with a warning.\n */\n static addFileSource(\n key: string,\n callback: SourceCallback,\n ): {remove: () => void, ...} {\n return this._addSource(key, callback, BugReporting._fileSources);\n }\n\n static _addSource(\n key: string,\n callback: SourceCallback,\n source: Map,\n ): {remove: () => void, ...} {\n BugReporting._maybeInit();\n if (source.has(key)) {\n console.warn(\n `BugReporting.add* called multiple times for same key '${key}'`,\n );\n }\n source.set(key, callback);\n return {\n remove: () => {\n source.delete(key);\n },\n };\n }\n\n /**\n * This can be called from a native bug reporting flow, or from JS code.\n *\n * If available, this will call `NativeModules.BugReporting.setExtraData(extraData)`\n * after collecting `extraData`.\n */\n static collectExtraData(): DebugData {\n const extraData: ExtraData = {};\n for (const [key, callback] of BugReporting._extraSources) {\n extraData[key] = callback();\n }\n const fileData: ExtraData = {};\n for (const [key, callback] of BugReporting._fileSources) {\n fileData[key] = callback();\n }\n\n if (NativeBugReporting != null && NativeBugReporting.setExtraData != null) {\n NativeBugReporting.setExtraData(extraData, fileData);\n }\n\n if (NativeRedBox != null && NativeRedBox.setExtraData != null) {\n NativeRedBox.setExtraData(extraData, 'From BugReporting.js');\n }\n\n return {extras: extraData, files: fileData};\n }\n}\n\nexport default BugReporting;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeRedBox';\nimport NativeRedBox from '../../../src/private/specs_DEPRECATED/modules/NativeRedBox';\nexport default NativeRedBox;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +setExtraData: (extraData: Object, forIdentifier: string) => void;\n +dismiss: () => void;\n}\n\nexport default (TurboModuleRegistry.get('RedBox'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeBugReporting';\nimport NativeBugReporting from '../../src/private/specs_DEPRECATED/modules/NativeBugReporting';\nexport default NativeBugReporting;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +startReportAProblemFlow: () => void;\n +setExtraData: (extraData: Object, extraFiles: Object) => void;\n}\n\nexport default (TurboModuleRegistry.get('BugReporting'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\n/*\nconst getReactData = require('getReactData').default;\n\nconst INDENTATION_SIZE = 2;\nconst MAX_DEPTH = 2;\nconst MAX_STRING_LENGTH = 50;\n*/\n\n/**\n * Dump all React Native root views and their content. This function tries\n * it best to get the content but ultimately relies on implementation details\n * of React and will fail in future versions.\n */\nfunction dumpReactTree(): string {\n try {\n return getReactTree();\n } catch (e) {\n return 'Failed to dump react tree: ' + e;\n }\n}\n\nfunction getReactTree() {\n // TODO(sema): Reenable tree dumps using the Fiber tree structure. #15945684\n return (\n 'React tree dumps have been temporarily disabled while React is ' +\n 'upgraded to Fiber.'\n );\n /*\n let output = '';\n const rootIds = Object.getOwnPropertyNames(ReactNativeMount._instancesByContainerID);\n for (const rootId of rootIds) {\n const instance = ReactNativeMount._instancesByContainerID[rootId];\n output += `============ Root ID: ${rootId} ============\\n`;\n output += dumpNode(instance, 0);\n output += `============ End root ID: ${rootId} ============\\n`;\n }\n return output;\n*/\n}\n\n/*\nfunction dumpNode(node: Object, indentation: number) {\n const data = getReactData(node);\n if (data.nodeType === 'Text') {\n return indent(indentation) + data.text + '\\n';\n } else if (data.nodeType === 'Empty') {\n return '';\n }\n let output = indent(indentation) + `<${data.name}`;\n if (data.nodeType === 'Composite') {\n for (const propName of Object.getOwnPropertyNames(data.props || {})) {\n if (isNormalProp(propName)) {\n try {\n const value = convertValue(data.props[propName]);\n if (value) {\n output += ` ${propName}=${value}`;\n }\n } catch (e) {\n const message = `[Failed to get property: ${e}]`;\n output += ` ${propName}=${message}`;\n }\n }\n }\n }\n let childOutput = '';\n for (const child of data.children || []) {\n childOutput += dumpNode(child, indentation + 1);\n }\n\n if (childOutput) {\n output += '>\\n' + childOutput + indent(indentation) + `\\n`;\n } else {\n output += ' />\\n';\n }\n\n return output;\n}\n\nfunction isNormalProp(name: string): boolean {\n switch (name) {\n case 'children':\n case 'key':\n case 'ref':\n return false;\n default:\n return true;\n }\n}\n\nfunction convertObject(object: Object, depth: number) {\n if (depth >= MAX_DEPTH) {\n return '[...omitted]';\n }\n let output = '{';\n let first = true;\n for (const key of Object.getOwnPropertyNames(object)) {\n if (!first) {\n output += ', ';\n }\n output += `${key}: ${convertValue(object[key], depth + 1)}`;\n first = false;\n }\n return output + '}';\n}\n\nfunction convertValue(value, depth = 0): ?string {\n if (!value) {\n return null;\n }\n\n switch (typeof value) {\n case 'string':\n return JSON.stringify(possiblyEllipsis(value).replace('\\n', '\\\\n'));\n case 'boolean':\n case 'number':\n return JSON.stringify(value);\n case 'function':\n return '[function]';\n case 'object':\n return convertObject(value, depth);\n default:\n return null;\n }\n}\n\nfunction possiblyEllipsis(value: string) {\n if (value.length > MAX_STRING_LENGTH) {\n return value.slice(0, MAX_STRING_LENGTH) + '...';\n } else {\n return value;\n }\n}\n\nfunction indent(size: number) {\n return ' '.repeat(size * INDENTATION_SIZE);\n}\n*/\n\nexport default dumpReactTree;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\nexport type Scene = {name: string, [string]: mixed, ...};\n\nlet _listeners: Array<(scene: Scene) => void> = [];\n\nlet _activeScene = {name: 'default'};\n\nconst SceneTracker = {\n setActiveScene(scene: Scene) {\n _activeScene = scene;\n _listeners.forEach(listener => listener(_activeScene));\n },\n\n getActiveScene(): Scene {\n return _activeScene;\n },\n\n addActiveSceneChangedListener(callback: (scene: Scene) => void): {\n remove: () => void,\n ...\n } {\n _listeners.push(callback);\n return {\n remove: () => {\n _listeners = _listeners.filter(listener => callback !== listener);\n },\n };\n },\n};\n\nexport default SceneTracker;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport default class HeadlessJsTaskError extends Error {}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport';\nimport NativeHeadlessJsTaskSupport from '../../src/private/specs_DEPRECATED/modules/NativeHeadlessJsTaskSupport';\nexport default NativeHeadlessJsTaskSupport;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +notifyTaskFinished: (taskId: number) => void;\n +notifyTaskRetry: (taskId: number) => Promise;\n}\n\nexport default (TurboModuleRegistry.get('HeadlessJsTaskSupport'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport type {ViewStyleProp} from '../StyleSheet/StyleSheet';\nimport type {IPerformanceLogger} from '../Utilities/createPerformanceLogger';\n\nimport GlobalPerformanceLogger from '../Utilities/GlobalPerformanceLogger';\nimport PerformanceLoggerContext from '../Utilities/PerformanceLoggerContext';\nimport AppContainer from './AppContainer';\nimport DisplayMode, {type DisplayModeType} from './DisplayMode';\nimport getCachedComponentWithDebugName from './getCachedComponentWithDebugName';\nimport * as Renderer from './RendererProxy';\nimport invariant from 'invariant';\nimport * as React from 'react';\n\n// require BackHandler so it sets the default handler that exits the app if no listeners respond\nimport '../Utilities/BackHandler';\n\ntype ActivityType = component(\n ...{\n mode: 'visible' | 'hidden',\n children: React.Node,\n }\n);\n\nexport default function renderApplication(\n RootComponent: React.ComponentType,\n initialProps: Props,\n rootTag: any,\n WrapperComponent?: ?React.ComponentType,\n rootViewStyle?: ?ViewStyleProp,\n fabric?: boolean,\n scopedPerformanceLogger?: IPerformanceLogger,\n isLogBox?: boolean,\n debugName?: string,\n displayMode?: ?DisplayModeType,\n useOffscreen?: boolean,\n) {\n invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);\n\n const performanceLogger = scopedPerformanceLogger ?? GlobalPerformanceLogger;\n\n let renderable: React.MixedElement = (\n \n \n \n \n \n );\n\n if (__DEV__ && debugName) {\n const RootComponentWithMeaningfulName = getCachedComponentWithDebugName(\n `${debugName}(RootComponent)`,\n );\n renderable = (\n \n {renderable}\n \n );\n }\n\n if (useOffscreen && displayMode != null) {\n // $FlowFixMe[incompatible-type]\n // $FlowFixMe[prop-missing]\n const Activity: ActivityType = React.unstable_Activity;\n\n renderable = (\n \n {renderable}\n \n );\n }\n\n // We want to have concurrentRoot always enabled when you're on Fabric.\n const useConcurrentRoot = Boolean(fabric);\n\n performanceLogger.startTimespan('renderApplication_React_render');\n performanceLogger.setExtra(\n 'usedReactConcurrentRoot',\n useConcurrentRoot ? '1' : '0',\n );\n performanceLogger.setExtra('usedReactFabric', fabric ? '1' : '0');\n performanceLogger.setExtra(\n 'usedReactProfiler',\n Renderer.isProfilingRenderer(),\n );\n Renderer.renderElement({\n element: renderable,\n rootTag,\n useFabric: Boolean(fabric),\n useConcurrentRoot,\n });\n performanceLogger.stopTimespan('renderApplication_React_render');\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {IPerformanceLogger} from './createPerformanceLogger';\n\nimport GlobalPerformanceLogger from './GlobalPerformanceLogger';\nimport * as React from 'react';\nimport {useContext} from 'react';\n\n/**\n * This is a React Context that provides a scoped instance of IPerformanceLogger.\n * We wrap every with a Provider for this context so the logger\n * should be available in every component.\n * See React docs about using Context: https://react.dev/docs/context.html\n */\nconst PerformanceLoggerContext: React.Context =\n React.createContext(GlobalPerformanceLogger);\nif (__DEV__) {\n PerformanceLoggerContext.displayName = 'PerformanceLoggerContext';\n}\n\nexport function usePerformanceLogger(): IPerformanceLogger {\n return useContext(PerformanceLoggerContext);\n}\n\nexport default PerformanceLoggerContext;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport type {ViewStyleProp} from '../StyleSheet/StyleSheet';\nimport type {RootTag} from './RootTag';\n\nimport * as React from 'react';\n\nexport type Props = $ReadOnly<{\n children?: React.Node,\n fabric?: boolean,\n rootTag: number | RootTag,\n initialProps?: {...},\n WrapperComponent?: ?React.ComponentType,\n rootViewStyle?: ?ViewStyleProp,\n internal_excludeLogBox?: boolean,\n internal_excludeInspector?: boolean,\n}>;\n\nconst AppContainer: component(...Props) = __DEV__\n ? require('./AppContainer-dev').default\n : require('./AppContainer-prod').default;\n\nexport default AppContainer;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n * @oncall react_native\n */\n\nimport type {Props} from './AppContainer';\n\nimport View from '../Components/View/View';\nimport StyleSheet from '../StyleSheet/StyleSheet';\nimport {RootTagContext, createRootTag} from './RootTag';\nimport * as React from 'react';\n\nconst AppContainer = ({\n children,\n fabric,\n initialProps,\n rootTag,\n WrapperComponent,\n rootViewStyle,\n}: Props): React.Node => {\n let innerView = children;\n\n if (WrapperComponent != null) {\n innerView = (\n \n {innerView}\n \n );\n }\n\n return (\n \n \n {innerView}\n \n \n );\n};\n\nconst styles = StyleSheet.create({\n root: {flex: 1},\n});\n\nexport default AppContainer;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {ViewProps} from './ViewPropTypes';\n\nimport TextAncestor from '../../Text/TextAncestor';\nimport ViewNativeComponent from './ViewNativeComponent';\nimport * as React from 'react';\nimport invariant from 'invariant'; // [Windows]\n// [Windows\nimport type {KeyEvent} from '../../Types/CoreEventTypes';\n// Windows]\n\nexport type Props = ViewProps;\n\n// [Windows\n// $FlowFixMe - children typing\nconst childrenWithImportantForAccessibility = children => {\n if (children == null) {\n return children;\n }\n const updatedChildren = React.Children.map(children, child => {\n if (React.isValidElement(child)) {\n // $FlowFixMe[incompatible-use]\n if (child.props.children) {\n // $FlowFixMe[incompatible-call]\n return React.cloneElement(child, {\n accessible: false,\n children: childrenWithImportantForAccessibility(child.props.children),\n });\n } else {\n // $FlowFixMe[incompatible-call]\n return React.cloneElement(child, {accessible: false});\n }\n }\n return child;\n });\n if (updatedChildren.length === 1) {\n return updatedChildren[0];\n } else {\n return updatedChildren;\n }\n};\n// Windows]\n\n/**\n * The most fundamental component for building a UI, View is a container that\n * supports layout with flexbox, style, some touch handling, and accessibility\n * controls.\n *\n * @see https://reactnative.dev/docs/view\n */\nconst View: component(\n ref?: React.RefSetter>,\n ...props: ViewProps\n) = React.forwardRef(\n (\n {\n accessibilityElementsHidden,\n accessibilityLabel,\n accessibilityLabelledBy,\n accessibilityLevel, // Windows\n accessibilityLiveRegion,\n accessibilityPosInSet, // Windows\n accessibilitySetSize, // Windows\n accessibilityState,\n accessibilityValue,\n 'aria-busy': ariaBusy,\n 'aria-checked': ariaChecked,\n 'aria-disabled': ariaDisabled,\n 'aria-expanded': ariaExpanded,\n 'aria-multiselectable': ariaMultiselectable, // Windows\n 'aria-required': ariaRequired, // Windows\n 'aria-hidden': ariaHidden,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-level': ariaLevel,\n 'aria-live': ariaLive,\n 'aria-posinset': ariaPosinset, // Windows\n 'aria-readonly': ariaReadOnly, // Windows\n 'aria-selected': ariaSelected,\n 'aria-setsize': ariaSetsize, // Windows\n 'aria-valuemax': ariaValueMax,\n 'aria-valuemin': ariaValueMin,\n 'aria-valuenow': ariaValueNow,\n 'aria-valuetext': ariaValueText,\n focusable,\n disabled,\n id,\n importantForAccessibility,\n nativeID,\n tabIndex,\n ...otherProps\n }: ViewProps,\n forwardedRef,\n ) => {\n const hasTextAncestor = React.useContext(TextAncestor);\n const _accessibilityLabelledBy =\n ariaLabelledBy?.split(/\\s*,\\s*/g) ?? accessibilityLabelledBy;\n\n let _accessibilityState;\n if (\n accessibilityState != null ||\n ariaBusy != null ||\n ariaChecked != null ||\n ariaDisabled != null ||\n ariaExpanded != null ||\n ariaSelected != null ||\n ariaReadOnly != null || // Windows\n ariaMultiselectable != null || // Windows\n ariaRequired != null // Windows\n ) {\n _accessibilityState = {\n busy: ariaBusy ?? accessibilityState?.busy,\n checked: ariaChecked ?? accessibilityState?.checked,\n disabled: ariaDisabled ?? accessibilityState?.disabled,\n expanded: ariaExpanded ?? accessibilityState?.expanded,\n selected: ariaSelected ?? accessibilityState?.selected,\n readOnly: ariaReadOnly ?? accessibilityState?.readOnly, // Windows\n multiselectable:\n ariaMultiselectable ?? accessibilityState?.multiselectable, // Windows\n required: ariaRequired ?? accessibilityState?.required, // Windows\n };\n }\n let _accessibilityValue;\n if (\n accessibilityValue != null ||\n ariaValueMax != null ||\n ariaValueMin != null ||\n ariaValueNow != null ||\n ariaValueText != null\n ) {\n _accessibilityValue = {\n max: ariaValueMax ?? accessibilityValue?.max,\n min: ariaValueMin ?? accessibilityValue?.min,\n now: ariaValueNow ?? accessibilityValue?.now,\n text: ariaValueText ?? accessibilityValue?.text,\n };\n }\n\n const _keyDown =\n otherProps.keyDownEvents || otherProps.onKeyDown\n ? (event: KeyEvent) => {\n if (\n otherProps.keyDownEvents &&\n event.isPropagationStopped() !== true\n ) {\n // $FlowFixMe - keyDownEvents was already checked to not be undefined\n for (const el of otherProps.keyDownEvents) {\n if (\n event.nativeEvent.code === el.code &&\n el.handledEventPhase === 3\n ) {\n event.stopPropagation();\n }\n }\n }\n otherProps.onKeyDown && otherProps.onKeyDown(event);\n }\n : undefined;\n\n const _keyUp =\n otherProps.keyUpEvents || otherProps.onKeyUp\n ? (event: KeyEvent) => {\n if (\n otherProps.keyUpEvents &&\n event.isPropagationStopped() !== true\n ) {\n // $FlowFixMe - keyUpEvents was already checked to not be undefined\n for (const el of otherProps.keyUpEvents) {\n if (\n event.nativeEvent.code === el.code &&\n el.handledEventPhase === 3\n ) {\n event.stopPropagation();\n }\n }\n }\n otherProps.onKeyUp && otherProps.onKeyUp(event);\n }\n : undefined;\n\n const _keyDownCapture =\n otherProps.keyDownEvents || otherProps.onKeyDownCapture\n ? (event: KeyEvent) => {\n if (\n otherProps.keyDownEvents &&\n event.isPropagationStopped() !== true\n ) {\n // $FlowFixMe - keyDownEvents was already checked to not be undefined\n for (const el of otherProps.keyDownEvents) {\n if (\n event.nativeEvent.code === el.code &&\n el.handledEventPhase === 1\n ) {\n event.stopPropagation();\n }\n }\n }\n otherProps.onKeyDownCapture && otherProps.onKeyDownCapture(event);\n }\n : undefined;\n\n const _keyUpCapture =\n otherProps.keyUpEvents || otherProps.onKeyUpCapture\n ? (event: KeyEvent) => {\n if (\n otherProps.keyUpEvents &&\n event.isPropagationStopped() !== true\n ) {\n // $FlowFixMe - keyUpEvents was already checked to not be undefined\n for (const el of otherProps.keyUpEvents) {\n if (\n event.nativeEvent.code === el.code &&\n el.handledEventPhase === 1\n ) {\n event.stopPropagation();\n }\n }\n }\n otherProps.onKeyUpCapture && otherProps.onKeyUpCapture(event);\n }\n : undefined;\n\n // [Windows\n const _focusable = tabIndex !== undefined ? !tabIndex : focusable;\n const _accessible =\n importantForAccessibility === 'no-hide-descendants'\n ? false\n : otherProps.accessible;\n\n if (_focusable === true && _accessible === false) {\n console.warn(\n 'All focusable views should report proper accessibility information. Views marked as focusable should always be accessible.',\n );\n }\n\n const actualView = (\n \n );\n\n // [Windows - Paper doesn't support Views in Text while Fabric does\n if (global.RN$Bridgeless !== true) {\n return (\n // [Windows\n // In core this is a TextAncestor.Provider value={false} See\n // https://github.com/facebook/react-native/commit/66601e755fcad10698e61d20878d52194ad0e90c\n // But since Views are not currently supported in Text, we do not need the extra provider\n \n {consumerHasTextAncestor => {\n invariant(\n !consumerHasTextAncestor,\n 'Nesting of within is not currently supported.',\n );\n return (\n \n );\n }}\n \n // Windows]\n );\n } else {\n if (hasTextAncestor) {\n return (\n \n {actualView}\n \n );\n }\n }\n // Windows]\n\n return actualView;\n },\n);\n\nView.displayName = 'View';\n\nexport default View;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n'use strict';\n\nconst React = require('react');\n\n/**\n * Whether the current element is the descendant of a element.\n */\nconst TextAncestorContext: React.Context = React.createContext(false);\nif (__DEV__) {\n TextAncestorContext.displayName = 'TextAncestorContext';\n}\nexport default TextAncestorContext;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {HostInstance} from '../../../src/private/types/HostInstance';\n\nimport * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';\nimport codegenNativeCommands from '../../Utilities/codegenNativeCommands';\nimport {type ViewProps as Props} from './ViewPropTypes';\n\nconst ViewNativeComponent: HostComponent =\n NativeComponentRegistry.get('RCTView', () => ({\n uiViewClassName: 'RCTView',\n }));\n\ninterface NativeCommands {\n +hotspotUpdate: (viewRef: HostInstance, x: number, y: number) => void;\n +setPressed: (viewRef: HostInstance, pressed: boolean) => void;\n}\n\nexport const Commands: NativeCommands = codegenNativeCommands({\n supportedCommands: ['hotspotUpdate', 'setPressed'],\n});\n\nexport default ViewNativeComponent;\n\nexport type ViewNativeComponentType = HostComponent;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {\n ____ColorValue_Internal,\n ____DangerouslyImpreciseStyle_Internal,\n ____DangerouslyImpreciseStyleProp_Internal,\n ____ImageStyle_Internal,\n ____ImageStyleProp_Internal,\n ____Styles_Internal,\n ____TextStyle_Internal,\n ____TextStyleProp_Internal,\n ____ViewStyle_Internal,\n ____ViewStyleProp_Internal,\n} from './StyleSheetTypes';\n\nimport composeStyles from '../../src/private/styles/composeStyles';\nimport flatten from './flattenStyle';\n\nconst ReactNativeStyleAttributes =\n require('../Components/View/ReactNativeStyleAttributes').default;\nconst PixelRatio = require('../Utilities/PixelRatio').default;\n\nexport type {NativeColorValue} from './StyleSheetTypes';\n\n/**\n * This type should be used as the type for anything that is a color. It is\n * most useful when using DynamicColorIOS which can be a string or a dynamic\n * color object.\n *\n * type props = {backgroundColor: ColorValue};\n */\nexport type ColorValue = ____ColorValue_Internal;\n\n/**\n * This type should be used as the type for a prop that is passed through\n * to a 's `style` prop. This ensures call sites of the component\n * can't pass styles that View doesn't support such as `fontSize`.`\n *\n * type Props = {style: ViewStyleProp}\n * const MyComponent = (props: Props) => \n */\nexport type ViewStyleProp = ____ViewStyleProp_Internal;\n\n/**\n * This type should be used as the type for a prop that is passed through\n * to a 's `style` prop. This ensures call sites of the component\n * can't pass styles that Text doesn't support such as `resizeMode`.`\n *\n * type Props = {style: TextStyleProp}\n * const MyComponent = (props: Props) => \n */\nexport type TextStyleProp = ____TextStyleProp_Internal;\n\n/**\n * This type should be used as the type for a prop that is passed through\n * to an 's `style` prop. This ensures call sites of the component\n * can't pass styles that Image doesn't support such as `fontSize`.`\n *\n * type Props = {style: ImageStyleProp}\n * const MyComponent = (props: Props) => \n */\nexport type ImageStyleProp = ____ImageStyleProp_Internal;\n\n/**\n * WARNING: You probably shouldn't be using this type. This type\n * is similar to the ones above except it allows styles that are accepted\n * by all of View, Text, or Image. It is therefore very unsafe to pass this\n * through to an underlying component. Using this is almost always a mistake\n * and using one of the other more restrictive types is likely the right choice.\n */\nexport type DangerouslyImpreciseStyleProp =\n ____DangerouslyImpreciseStyleProp_Internal;\n\n/**\n * Utility type for getting the values for specific style keys.\n *\n * The following is bad because position is more restrictive than 'string':\n * ```\n * type Props = {position: string};\n * ```\n *\n * You should use the following instead:\n *\n * ```\n * type Props = {position: TypeForStyleKey<'position'>};\n * ```\n *\n * This will correctly give you the type 'absolute' | 'relative'\n */\nexport type TypeForStyleKey<\n +key: $Keys<____DangerouslyImpreciseStyle_Internal>,\n> = $ElementType<____DangerouslyImpreciseStyle_Internal, key>;\n\n/**\n * This type is an object of the different possible style\n * properties that can be specified for View.\n *\n * Note that this isn't a safe way to type a style prop for a component as\n * results from StyleSheet.create return an internal identifier, not\n * an object of styles.\n *\n * If you want to type the style prop of a function,\n * consider using ViewStyleProp.\n *\n * A reasonable usage of this type is for helper functions that return an\n * object of styles to pass to a View that can't be precomputed with\n * StyleSheet.create.\n */\nexport type ViewStyle = ____ViewStyle_Internal;\n\n/**\n * This type is an object of the different possible style\n * properties that can be specified for Text.\n *\n * Note that this isn't a safe way to type a style prop for a component as\n * results from StyleSheet.create return an internal identifier, not\n * an object of styles.\n *\n * If you want to type the style prop of a function,\n * consider using TextStyleProp.\n *\n * A reasonable usage of this type is for helper functions that return an\n * object of styles to pass to a Text that can't be precomputed with\n * StyleSheet.create.\n */\nexport type TextStyle = ____TextStyle_Internal;\n\n/**\n * This type is an object of the different possible style\n * properties that can be specified for Image.\n *\n * Note that this isn't a safe way to type a style prop for a component as\n * results from StyleSheet.create return an internal identifier, not\n * an object of styles.\n *\n * If you want to type the style prop of a function,\n * consider using ImageStyleProp.\n *\n * A reasonable usage of this type is for helper functions that return an\n * object of styles to pass to an Image that can't be precomputed with\n * StyleSheet.create.\n */\nexport type ImageStyle = ____ImageStyle_Internal;\n\n/**\n * WARNING: You probably shouldn't be using this type. This type is an object\n * with all possible style keys and their values. Note that this isn't\n * a safe way to type a style prop for a component as results from\n * StyleSheet.create return an internal identifier, not an object of styles.\n *\n * If you want to type the style prop of a function, consider using\n * ViewStyleProp, TextStyleProp, or ImageStyleProp.\n *\n * This should only be used by very core utilities that operate on an object\n * containing any possible style value.\n */\nexport type DangerouslyImpreciseStyle = ____DangerouslyImpreciseStyle_Internal;\n\nlet hairlineWidth: number = PixelRatio.roundToNearestPixel(0.4);\nif (hairlineWidth === 0) {\n hairlineWidth = 1 / PixelRatio.get();\n}\n\nconst absoluteFill: {\n +bottom: 0,\n +left: 0,\n +position: 'absolute',\n +right: 0,\n +top: 0,\n} = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0,\n};\nif (__DEV__) {\n Object.freeze(absoluteFill);\n}\n\n/**\n * A StyleSheet is an abstraction similar to CSS StyleSheets\n *\n * Create a new StyleSheet:\n *\n * ```\n * const styles = StyleSheet.create({\n * container: {\n * borderRadius: 4,\n * borderWidth: 0.5,\n * borderColor: '#d6d7da',\n * },\n * title: {\n * fontSize: 19,\n * fontWeight: 'bold',\n * },\n * activeTitle: {\n * color: 'red',\n * },\n * });\n * ```\n *\n * Use a StyleSheet:\n *\n * ```\n * \n * \n * \n * ```\n *\n * Code quality:\n *\n * - By moving styles away from the render function, you're making the code\n * easier to understand.\n * - Naming the styles is a good way to add meaning to the low level components\n * in the render function, and encourage reuse.\n * - In most IDEs, using `StyleSheet.create()` will offer static type checking\n * and suggestions to help you write valid styles.\n *\n */\nexport default {\n /**\n * This is defined as the width of a thin line on the platform. It can be\n * used as the thickness of a border or division between two elements.\n * Example:\n * ```\n * {\n * borderBottomColor: '#bbb',\n * borderBottomWidth: StyleSheet.hairlineWidth\n * }\n * ```\n *\n * This constant will always be a round number of pixels (so a line defined\n * by it look crisp) and will try to match the standard width of a thin line\n * on the underlying platform. However, you should not rely on it being a\n * constant size, because on different platforms and screen densities its\n * value may be calculated differently.\n *\n * A line with hairline width may not be visible if your simulator is downscaled.\n */\n hairlineWidth,\n\n /**\n * A very common pattern is to create overlays with position absolute and zero positioning,\n * so `absoluteFill` can be used for convenience and to reduce duplication of these repeated\n * styles.\n */\n absoluteFill: (absoluteFill: any), // TODO: This should be updated after we fix downstream Flow sites.\n\n /**\n * Sometimes you may want `absoluteFill` but with a couple tweaks - `absoluteFillObject` can be\n * used to create a customized entry in a `StyleSheet`, e.g.:\n *\n * const styles = StyleSheet.create({\n * wrapper: {\n * ...StyleSheet.absoluteFillObject,\n * top: 10,\n * backgroundColor: 'transparent',\n * },\n * });\n */\n absoluteFillObject: absoluteFill,\n\n /**\n * Combines two styles such that `style2` will override any styles in `style1`.\n * If either style is falsy, the other one is returned without allocating an\n * array, saving allocations and maintaining reference equality for\n * PureComponent checks.\n */\n compose: composeStyles,\n\n /**\n * Flattens an array of style objects, into one aggregated style object.\n *\n * Example:\n * ```\n * const styles = StyleSheet.create({\n * listItem: {\n * flex: 1,\n * fontSize: 16,\n * color: 'white'\n * },\n * selectedListItem: {\n * color: 'green'\n * }\n * });\n *\n * StyleSheet.flatten([styles.listItem, styles.selectedListItem])\n * // returns { flex: 1, fontSize: 16, color: 'green' }\n * ```\n */\n flatten,\n\n /**\n * WARNING: EXPERIMENTAL. Breaking changes will probably happen a lot and will\n * not be reliably announced. The whole thing might be deleted, who knows? Use\n * at your own risk.\n *\n * Sets a function to use to pre-process a style property value. This is used\n * internally to process color and transform values. You should not use this\n * unless you really know what you are doing and have exhausted other options.\n */\n setStyleAttributePreprocessor(\n property: string,\n process: (nextProp: mixed) => mixed,\n ) {\n let value;\n\n if (ReactNativeStyleAttributes[property] === true) {\n value = {process};\n } else if (typeof ReactNativeStyleAttributes[property] === 'object') {\n value = {...ReactNativeStyleAttributes[property], process};\n } else {\n console.error(`${property} is not a valid style attribute`);\n return;\n }\n\n if (\n __DEV__ &&\n typeof value.process === 'function' &&\n typeof ReactNativeStyleAttributes[property]?.process === 'function' &&\n value.process !== ReactNativeStyleAttributes[property]?.process\n ) {\n console.warn(`Overwriting ${property} style attribute preprocessor`);\n }\n\n ReactNativeStyleAttributes[property] = value;\n },\n\n /**\n * An identity function for creating style sheets.\n */\n // $FlowFixMe[unsupported-variance-annotation]\n create<+S: ____Styles_Internal>(obj: S): $ReadOnly {\n // TODO: This should return S as the return type. But first,\n // we need to codemod all the callsites that are typing this\n // return value as a number (even though it was opaque).\n if (__DEV__) {\n for (const key in obj) {\n if (obj[key]) {\n Object.freeze(obj[key]);\n }\n }\n }\n return obj;\n },\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n/**\n * Combines two styles such that `style2` will override any styles in `style1`.\n * If either style is null or undefined, the other one is returned without\n * allocating an array, saving allocations and enabling memoization.\n */\nexport default function composeStyles(\n style1: ?T1,\n style2: ?T2,\n): ?(T1 | T2 | $ReadOnlyArray) {\n if (style1 == null) {\n return style2;\n }\n if (style2 == null) {\n return style1;\n }\n return [style1, style2];\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport * as React from 'react';\n\nexport opaque type RootTag = number;\n\nexport const RootTagContext: React.Context =\n React.createContext(0);\n\nif (__DEV__) {\n RootTagContext.displayName = 'RootTagContext';\n}\n\n/**\n * Intended to only be used by `AppContainer`.\n */\nexport function createRootTag(rootTag: number | RootTag): RootTag {\n return rootTag;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport opaque type DisplayModeType = number;\n\n/** DisplayMode should be in sync with the method displayModeToInt from\n * react/renderer/uimanager/primitives.h. */\nconst DisplayMode: {+[string]: DisplayModeType} = Object.freeze({\n VISIBLE: 1,\n SUSPENDED: 2,\n HIDDEN: 3,\n});\n\nexport function coerceDisplayMode(value: ?number): DisplayModeType {\n switch (value) {\n case DisplayMode.SUSPENDED:\n return DisplayMode.SUSPENDED;\n case DisplayMode.HIDDEN:\n return DisplayMode.HIDDEN;\n default:\n return DisplayMode.VISIBLE;\n }\n}\n\nexport default DisplayMode;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport * as React from 'react';\n\ntype NoopComponent = component(children: React.Node);\n\nconst cache: Map<\n string, // displayName\n NoopComponent, // ComponentWithDisplayName\n> = new Map();\n\nexport default function getCachedComponentWithDisplayName(\n displayName: string,\n): NoopComponent {\n let ComponentWithDisplayName = cache.get(displayName);\n\n if (!ComponentWithDisplayName) {\n ComponentWithDisplayName = ({children}: {children: React.Node}) => children;\n // $FlowFixMe[prop-missing]\n ComponentWithDisplayName.displayName = displayName;\n cache.set(displayName, ComponentWithDisplayName);\n }\n\n return ComponentWithDisplayName;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport NativeDeviceEventManager from '../../Libraries/NativeModules/specs/NativeDeviceEventManager';\nimport RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';\n\nconst DEVICE_BACK_EVENT = 'hardwareBackPress';\n\ntype BackPressEventName = 'backPress' | 'hardwareBackPress';\ntype BackPressHandler = () => ?boolean;\n\nconst _backPressSubscriptions: Array = [];\n\nRCTDeviceEventEmitter.addListener(DEVICE_BACK_EVENT, function () {\n for (let i = _backPressSubscriptions.length - 1; i >= 0; i--) {\n if (_backPressSubscriptions[i]?.()) {\n return;\n }\n }\n\n BackHandler.exitApp();\n});\n\n/**\n * Detect hardware button presses for back navigation.\n *\n * Android: Detect hardware back button presses, and programmatically invoke the default back button\n * functionality to exit the app if there are no listeners or if none of the listeners return true.\n *\n * iOS: Not applicable.\n *\n * The event subscriptions are called in reverse order (i.e. last registered subscription first),\n * and if one subscription returns true then subscriptions registered earlier will not be called.\n *\n * Example:\n *\n * ```javascript\n * BackHandler.addEventListener('hardwareBackPress', function() {\n * // this.onMainScreen and this.goBack are just examples, you need to use your own implementation here\n * // Typically you would use the navigator here to go to the last state.\n *\n * if (!this.onMainScreen()) {\n * this.goBack();\n * return true;\n * }\n * return false;\n * });\n * ```\n */\ntype TBackHandler = {\n +exitApp: () => void,\n +addEventListener: (\n eventName: BackPressEventName,\n handler: BackPressHandler,\n ) => {remove: () => void, ...},\n};\nconst BackHandler: TBackHandler = {\n exitApp: function (): void {\n if (!NativeDeviceEventManager) {\n return;\n }\n\n NativeDeviceEventManager.invokeDefaultBackPressHandler();\n },\n\n /**\n * Adds an event handler. Supported events:\n *\n * - `hardwareBackPress`: Fires when the Android hardware back button is pressed.\n */\n addEventListener: function (\n eventName: BackPressEventName,\n handler: BackPressHandler,\n ): {remove: () => void, ...} {\n if (_backPressSubscriptions.indexOf(handler) === -1) {\n _backPressSubscriptions.push(handler);\n }\n return {\n remove: (): void => {\n const index = _backPressSubscriptions.indexOf(handler);\n if (index !== -1) {\n _backPressSubscriptions.splice(index, 1);\n }\n },\n };\n },\n};\n\nexport default BackHandler;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeDeviceEventManager';\nimport NativeDeviceEventManager from '../../../src/private/specs_DEPRECATED/modules/NativeDeviceEventManager';\nexport default NativeDeviceEventManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +invokeDefaultBackPressHandler: () => void;\n}\n\nexport default (TurboModuleRegistry.get('DeviceEventManager'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport typeof BatchedBridge from '../BatchedBridge/BatchedBridge';\nimport typeof legacySendAccessibilityEvent from '../Components/AccessibilityInfo/legacySendAccessibilityEvent';\nimport typeof TextInputState from '../Components/TextInput/TextInputState';\nimport typeof ExceptionsManager from '../Core/ExceptionsManager';\nimport typeof RawEventEmitter from '../Core/RawEventEmitter';\nimport typeof ReactFiberErrorDialog from '../Core/ReactFiberErrorDialog';\nimport typeof RCTEventEmitter from '../EventEmitter/RCTEventEmitter';\nimport typeof CustomEvent from '../Events/CustomEvent';\nimport typeof {\n createPublicInstance,\n createPublicRootInstance,\n createPublicTextInstance,\n getInternalInstanceHandleFromPublicInstance,\n getNativeTagFromPublicInstance,\n getNodeFromPublicInstance,\n} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance';\nimport typeof {\n create as createAttributePayload,\n diff as diffAttributePayloads,\n} from '../ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload';\nimport typeof UIManager from '../ReactNative/UIManager';\nimport typeof * as ReactNativeViewConfigRegistry from '../Renderer/shims/ReactNativeViewConfigRegistry';\nimport typeof flattenStyle from '../StyleSheet/flattenStyle';\nimport type {DangerouslyImpreciseStyleProp} from '../StyleSheet/StyleSheet';\nimport typeof deepFreezeAndThrowOnMutationInDev from '../Utilities/deepFreezeAndThrowOnMutationInDev';\nimport typeof deepDiffer from '../Utilities/differ/deepDiffer';\nimport typeof Platform from '../Utilities/Platform';\n\n// Expose these types to the React renderer\nexport type {\n HostInstance as PublicInstance,\n\n // These types are only necessary for Paper\n LegacyHostInstanceMethods as LegacyPublicInstance,\n MeasureOnSuccessCallback,\n MeasureInWindowOnSuccessCallback,\n MeasureLayoutOnSuccessCallback,\n} from '../../src/private/types/HostInstance';\n\nexport type {PublicRootInstance} from '../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance';\nexport type PublicTextInstance = ReturnType;\n\n// flowlint unsafe-getters-setters:off\nmodule.exports = {\n get BatchedBridge(): BatchedBridge {\n return require('../BatchedBridge/BatchedBridge').default;\n },\n get ExceptionsManager(): ExceptionsManager {\n return require('../Core/ExceptionsManager').default;\n },\n get Platform(): Platform {\n return require('../Utilities/Platform').default;\n },\n get RCTEventEmitter(): RCTEventEmitter {\n return require('../EventEmitter/RCTEventEmitter').default;\n },\n get ReactNativeViewConfigRegistry(): ReactNativeViewConfigRegistry {\n return require('../Renderer/shims/ReactNativeViewConfigRegistry');\n },\n get TextInputState(): TextInputState {\n return require('../Components/TextInput/TextInputState').default;\n },\n get UIManager(): UIManager {\n return require('../ReactNative/UIManager').default;\n },\n // TODO: Remove when React has migrated to `createAttributePayload` and `diffAttributePayloads`\n get deepDiffer(): deepDiffer {\n return require('../Utilities/differ/deepDiffer').default;\n },\n get deepFreezeAndThrowOnMutationInDev(): deepFreezeAndThrowOnMutationInDev<\n {...} | Array,\n > {\n return require('../Utilities/deepFreezeAndThrowOnMutationInDev').default;\n },\n // TODO: Remove when React has migrated to `createAttributePayload` and `diffAttributePayloads`\n get flattenStyle(): flattenStyle {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n // $FlowFixMe[incompatible-return]\n return require('../StyleSheet/flattenStyle').default;\n },\n get ReactFiberErrorDialog(): ReactFiberErrorDialog {\n return require('../Core/ReactFiberErrorDialog').default;\n },\n get legacySendAccessibilityEvent(): legacySendAccessibilityEvent {\n return require('../Components/AccessibilityInfo/legacySendAccessibilityEvent')\n .default;\n },\n get RawEventEmitter(): RawEventEmitter {\n return require('../Core/RawEventEmitter').default;\n },\n get CustomEvent(): CustomEvent {\n return require('../Events/CustomEvent').default;\n },\n get createAttributePayload(): createAttributePayload {\n return require('../ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload')\n .create;\n },\n get diffAttributePayloads(): diffAttributePayloads {\n return require('../ReactNative/ReactFabricPublicInstance/ReactNativeAttributePayload')\n .diff;\n },\n get createPublicRootInstance(): createPublicRootInstance {\n return require('../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance')\n .createPublicRootInstance;\n },\n get createPublicInstance(): createPublicInstance {\n return require('../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance')\n .createPublicInstance;\n },\n get createPublicTextInstance(): createPublicTextInstance {\n return require('../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance')\n .createPublicTextInstance;\n },\n get getNativeTagFromPublicInstance(): getNativeTagFromPublicInstance {\n return require('../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance')\n .getNativeTagFromPublicInstance;\n },\n get getNodeFromPublicInstance(): getNodeFromPublicInstance {\n return require('../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance')\n .getNodeFromPublicInstance;\n },\n get getInternalInstanceHandleFromPublicInstance(): getInternalInstanceHandleFromPublicInstance {\n return require('../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstance')\n .getInternalInstanceHandleFromPublicInstance;\n },\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\n\nimport registerCallableModule from '../Core/registerCallableModule';\n\nconst RCTEventEmitter = {\n register(eventEmitter: any) {\n registerCallableModule('RCTEventEmitter', eventEmitter);\n },\n};\n\nexport default RCTEventEmitter;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\n/**\n * If your application is accepting different values for the same field over\n * time and is doing a diff on them, you can either (1) create a copy or\n * (2) ensure that those values are not mutated behind two passes.\n * This function helps you with (2) by freezing the object and throwing if\n * the user subsequently modifies the value.\n *\n * There are two caveats with this function:\n * - If the call site is not in strict mode, it will only throw when\n * mutating existing fields, adding a new one\n * will unfortunately fail silently :(\n * - If the object is already frozen or sealed, it will not continue the\n * deep traversal and will leave leaf nodes unfrozen.\n *\n * Freezing the object and adding the throw mechanism is expensive and will\n * only be used in DEV.\n */\nfunction deepFreezeAndThrowOnMutationInDev>(\n object: T,\n): T {\n if (__DEV__) {\n if (\n typeof object !== 'object' ||\n object === null ||\n Object.isFrozen(object) ||\n Object.isSealed(object)\n ) {\n return object;\n }\n\n // $FlowFixMe[not-an-object] `object` can be an array, but Object.keys works with arrays too\n const keys = Object.keys((object: {...} | Array));\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n const hasOwnProperty = Object.prototype.hasOwnProperty;\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (hasOwnProperty.call(object, key)) {\n Object.defineProperty(object, key, {\n get: identity.bind(null, object[key]),\n });\n Object.defineProperty(object, key, {\n set: throwOnImmutableMutation.bind(null, key),\n });\n }\n }\n\n Object.freeze(object);\n Object.seal(object);\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (hasOwnProperty.call(object, key)) {\n deepFreezeAndThrowOnMutationInDev(object[key]);\n }\n }\n }\n return object;\n}\n\n/* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\nfunction throwOnImmutableMutation(key: empty, value) {\n throw Error(\n 'You attempted to set the key `' +\n key +\n '` with the value `' +\n JSON.stringify(value) +\n '` on an object that is meant to be immutable ' +\n 'and has been frozen.',\n );\n}\n\nfunction identity(value: mixed) {\n return value;\n}\n\nexport default deepFreezeAndThrowOnMutationInDev;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {ExtendedError} from './ExtendedError';\n\nimport ExceptionsManager, {SyntheticError} from './ExceptionsManager';\n\nexport type CapturedError = {\n +componentStack: string,\n +error: mixed,\n +errorBoundary: ?{...},\n ...\n};\n\nconst ReactFiberErrorDialog = {\n /**\n * Intercept lifecycle errors and ensure they are shown with the correct stack\n * trace within the native redbox component.\n */\n showErrorDialog({componentStack, error: errorValue}: CapturedError): boolean {\n let error: ?ExtendedError;\n\n // Typically, `errorValue` should be an error. However, other values such as\n // strings (or even null) are sometimes thrown.\n if (errorValue instanceof Error) {\n /* $FlowFixMe[class-object-subtyping] added when improving typing for\n * this parameters */\n // $FlowFixMe[incompatible-cast]\n error = (errorValue: ExtendedError);\n } else if (typeof errorValue === 'string') {\n /* $FlowFixMe[class-object-subtyping] added when improving typing for\n * this parameters */\n // $FlowFixMe[incompatible-cast]\n error = (new SyntheticError(errorValue): ExtendedError);\n } else {\n /* $FlowFixMe[class-object-subtyping] added when improving typing for\n * this parameters */\n // $FlowFixMe[incompatible-cast]\n error = (new SyntheticError('Unspecified error'): ExtendedError);\n }\n try {\n error.componentStack = componentStack;\n error.isComponentError = true;\n } catch {\n // Ignored.\n }\n\n ExceptionsManager.handleException(error, false);\n\n // Return false here to prevent ReactFiberErrorLogger default behavior of\n // logging error details to console.error. Calls to console.error are\n // automatically routed to the native redbox controller, which we've already\n // done above by calling ExceptionsManager.\n return false;\n },\n};\n\nexport default ReactFiberErrorDialog;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {IEventEmitter} from '../vendor/emitter/EventEmitter';\n\nimport EventEmitter from '../vendor/emitter/EventEmitter';\n\nexport type RawEventEmitterEvent = $ReadOnly<{\n eventName: string,\n // We expect, but do not/cannot require, that nativeEvent is an object\n // with the properties: key, elementType (string), type (string), tag (numeric),\n // and a stateNode of the native element/Fiber the event was emitted to.\n nativeEvent: {[string]: mixed},\n}>;\n\ntype RawEventDefinitions = {\n [eventChannel: string]: [RawEventEmitterEvent],\n};\n\nconst RawEventEmitter: IEventEmitter =\n new EventEmitter();\n\n// See the React renderer / react repo for how this is used.\n// Raw events are emitted here when they are received in JS\n// and before any event Plugins process them or before components\n// have a chance to respond to them. This allows you to implement\n// app-specific perf monitoring, which is unimplemented by default,\n// making this entire RawEventEmitter do nothing by default until\n// *you* add listeners for your own app.\n// Besides perf monitoring and maybe debugging, this RawEventEmitter\n// should not be used.\nexport default RawEventEmitter;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n// Make sure global Event is defined\nimport EventPolyfill from './EventPolyfill';\n\ntype CustomEvent$Options = $ReadOnly<{\n bubbles?: boolean,\n cancelable?: boolean,\n composed?: boolean,\n detail?: {...},\n}>;\n\nclass CustomEvent extends EventPolyfill {\n detail: ?{...};\n\n constructor(typeArg: string, options: CustomEvent$Options) {\n const {bubbles, cancelable, composed} = options;\n super(typeArg, {bubbles, cancelable, composed});\n\n this.detail = options.detail; // this would correspond to `NativeEvent` in NativeSyntheticEvent\n }\n}\n\nexport default CustomEvent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n// https://dom.spec.whatwg.org/#dictdef-eventinit\ntype Event$Init = {\n bubbles?: boolean,\n cancelable?: boolean,\n composed?: boolean,\n /** Non-standard. See `composed` instead. */\n scoped?: boolean,\n ...\n};\n\n/**\n * This is a copy of the Event interface defined in Flow:\n * https://github.com/facebook/flow/blob/741104e69c43057ebd32804dd6bcc1b5e97548ea/lib/dom.js\n * which is itself a faithful interface of the W3 spec:\n * https://dom.spec.whatwg.org/#interface-event\n *\n * Since Flow assumes that Event is provided and is on the global object,\n * we must provide an implementation of Event for CustomEvent (and future\n * alignment of React Native's event system with the W3 spec).\n */\ninterface IEvent {\n constructor(type: string, eventInitDict?: Event$Init): void;\n /**\n * Returns the type of event, e.g. \"click\", \"hashchange\", or \"submit\".\n */\n +type: string;\n /**\n * Returns the object to which event is dispatched (its target).\n */\n +target: EventTarget; // TODO: nullable\n /** @deprecated */\n +srcElement: Element; // TODO: nullable\n /**\n * Returns the object whose event listener's callback is currently being invoked.\n */\n +currentTarget: EventTarget; // TODO: nullable\n /**\n * Returns the invocation target objects of event's path (objects on which\n * listeners will be invoked), except for any nodes in shadow trees of which\n * the shadow root's mode is \"closed\" that are not reachable from event's\n * currentTarget.\n */\n composedPath(): Array;\n\n +NONE: number;\n +AT_TARGET: number;\n +BUBBLING_PHASE: number;\n +CAPTURING_PHASE: number;\n /**\n * Returns the event's phase, which is one of NONE, CAPTURING_PHASE, AT_TARGET,\n * and BUBBLING_PHASE.\n */\n +eventPhase: number;\n\n /**\n * When dispatched in a tree, invoking this method prevents event from reaching\n * any objects other than the current object.\n */\n stopPropagation(): void;\n /**\n * Invoking this method prevents event from reaching any registered event\n * listeners after the current one finishes running and, when dispatched in a\n * tree, also prevents event from reaching any other objects.\n */\n stopImmediatePropagation(): void;\n\n /**\n * Returns true or false depending on how event was initialized. True if\n * event goes through its target's ancestors in reverse tree order, and\n * false otherwise.\n */\n +bubbles: boolean;\n /**\n * Returns true or false depending on how event was initialized. Its\n * return value does not always carry meaning, but true can indicate\n * that part of the operation during which event was dispatched, can\n * be canceled by invoking the preventDefault() method.\n */\n +cancelable: boolean;\n // returnValue: boolean; // legacy, and some subclasses still define it as a string!\n /**\n * If invoked when the cancelable attribute value is true, and while\n * executing a listener for the event with passive set to false, signals to\n * the operation that caused event to be dispatched that it needs to be\n * canceled.\n */\n preventDefault(): void;\n /**\n * Returns true if preventDefault() was invoked successfully to indicate\n * cancelation, and false otherwise.\n */\n +defaultPrevented: boolean;\n /**\n * Returns true or false depending on how event was initialized. True if\n * event invokes listeners past a ShadowRoot node that is the root of its\n * target, and false otherwise.\n */\n +composed: boolean;\n\n /**\n * Returns true if event was dispatched by the user agent, and false otherwise.\n */\n +isTrusted: boolean;\n /**\n * Returns the event's timestamp as the number of milliseconds measured relative\n * to the time origin.\n */\n +timeStamp: number;\n\n /** Non-standard. See Event.prototype.composedPath */\n +deepPath?: () => EventTarget[];\n /** Non-standard. See Event.prototype.composed */\n +scoped: boolean;\n\n /**\n * @deprecated\n */\n initEvent(type: string, bubbles: boolean, cancelable: boolean): void;\n}\n\nclass EventPolyfill implements IEvent {\n type: string;\n bubbles: boolean;\n cancelable: boolean;\n composed: boolean;\n // Non-standard. See `composed` instead.\n scoped: boolean;\n isTrusted: boolean;\n defaultPrevented: boolean;\n timeStamp: number;\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Event/eventPhase\n NONE: number;\n AT_TARGET: number;\n BUBBLING_PHASE: number;\n CAPTURING_PHASE: number;\n\n eventPhase: number;\n\n currentTarget: EventTarget; // TODO: nullable\n target: EventTarget; // TODO: nullable\n /** @deprecated */\n srcElement: Element; // TODO: nullable\n\n // React Native-specific: proxy data to a NativeSyntheticEvent when\n // certain methods are called.\n // NativeSyntheticEvent will also have a reference to this instance -\n // it is circular - and both classes use this reference to keep\n // data with the other in sync.\n _syntheticEvent: mixed;\n\n constructor(type: string, eventInitDict?: Event$Init) {\n this.type = type;\n this.bubbles = !!(eventInitDict?.bubbles || false);\n this.cancelable = !!(eventInitDict?.cancelable || false);\n this.composed = !!(eventInitDict?.composed || false);\n this.scoped = !!(eventInitDict?.scoped || false);\n\n // TODO: somehow guarantee that only \"private\" instantiations of Event\n // can set this to true\n this.isTrusted = false;\n\n // TODO: in the future we'll want to make sure this has the same\n // time-basis as events originating from native\n this.timeStamp = Date.now();\n\n this.defaultPrevented = false;\n\n // https://developer.mozilla.org/en-US/docs/Web/API/Event/eventPhase\n this.NONE = 0;\n this.AT_TARGET = 1;\n this.BUBBLING_PHASE = 2;\n this.CAPTURING_PHASE = 3;\n this.eventPhase = this.NONE;\n\n // $FlowFixMe\n this.currentTarget = null;\n // $FlowFixMe\n this.target = null;\n // $FlowFixMe\n this.srcElement = null;\n }\n\n composedPath(): Array {\n throw new Error('TODO: not yet implemented');\n }\n\n preventDefault(): void {\n this.defaultPrevented = true;\n\n if (this._syntheticEvent != null) {\n // $FlowFixMe\n this._syntheticEvent.preventDefault();\n }\n }\n\n initEvent(type: string, bubbles: boolean, cancelable: boolean): void {\n throw new Error(\n 'TODO: not yet implemented. This method is also deprecated.',\n );\n }\n\n stopImmediatePropagation(): void {\n throw new Error('TODO: not yet implemented');\n }\n\n stopPropagation(): void {\n if (this._syntheticEvent != null) {\n // $FlowFixMe\n this._syntheticEvent.stopPropagation();\n }\n }\n\n setSyntheticEvent(value: mixed): void {\n this._syntheticEvent = value;\n }\n}\n\n// Assertion magic for polyfill follows.\ndeclare var checkEvent: Event; // eslint-disable-line no-unused-vars\n\n/*::\n// This can be a strict mode error at runtime so put it in a Flow comment.\n(checkEvent: IEvent);\n*/\n\nglobal.Event = EventPolyfill;\n\nexport default EventPolyfill;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n/**\n * This module is meant to be used by the React renderers to create public\n * instances and get some data from them (like their instance handle / fiber).\n */\n\nimport type ReactNativeDocumentT from '../../../src/private/webapis/dom/nodes/ReactNativeDocument';\nimport typeof * as ReactNativeDocumentModuleT from '../../../src/private/webapis/dom/nodes/ReactNativeDocument';\nimport type ReactNativeElementT from '../../../src/private/webapis/dom/nodes/ReactNativeElement';\nimport type ReadOnlyTextT from '../../../src/private/webapis/dom/nodes/ReadOnlyText';\nimport typeof * as RendererProxyT from '../../ReactNative/RendererProxy';\nimport type {\n InternalInstanceHandle,\n Node,\n ViewConfig,\n} from '../../Renderer/shims/ReactNativeTypes';\nimport type {RootTag} from '../RootTag';\nimport type ReactFabricHostComponentT from './ReactFabricHostComponent';\n\nimport * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';\n\nexport opaque type PublicRootInstance = mixed;\n\n// Lazy loaded to avoid evaluating the module when using the legacy renderer.\nlet ReactNativeDocumentModuleObject: ?ReactNativeDocumentModuleT;\nlet ReactFabricHostComponentClass: Class;\nlet ReactNativeElementClass: Class;\nlet ReadOnlyTextClass: Class;\nlet RendererProxy: RendererProxyT;\n\nfunction getReactNativeDocumentModule(): ReactNativeDocumentModuleT {\n if (ReactNativeDocumentModuleObject == null) {\n // We initialize this lazily to avoid a require cycle.\n ReactNativeDocumentModuleObject = require('../../../src/private/webapis/dom/nodes/ReactNativeDocument');\n }\n\n return ReactNativeDocumentModuleObject;\n}\n\nfunction getReactNativeElementClass(): Class {\n if (ReactNativeElementClass == null) {\n ReactNativeElementClass =\n require('../../../src/private/webapis/dom/nodes/ReactNativeElement').default;\n }\n return ReactNativeElementClass;\n}\n\nfunction getReactFabricHostComponentClass(): Class {\n if (ReactFabricHostComponentClass == null) {\n ReactFabricHostComponentClass =\n require('./ReactFabricHostComponent').default;\n }\n return ReactFabricHostComponentClass;\n}\n\nfunction getReadOnlyTextClass(): Class {\n if (ReadOnlyTextClass == null) {\n ReadOnlyTextClass =\n require('../../../src/private/webapis/dom/nodes/ReadOnlyText').default;\n }\n return ReadOnlyTextClass;\n}\n\nexport function createPublicRootInstance(rootTag: RootTag): PublicRootInstance {\n if (\n ReactNativeFeatureFlags.enableAccessToHostTreeInFabric() &&\n ReactNativeFeatureFlags.enableDOMDocumentAPI()\n ) {\n const ReactNativeDocumentModule = getReactNativeDocumentModule();\n\n // $FlowExpectedError[incompatible-return]\n return ReactNativeDocumentModule.createReactNativeDocument(rootTag);\n }\n\n // $FlowExpectedError[incompatible-return]\n return null;\n}\n\nexport function createPublicInstance(\n tag: number,\n viewConfig: ViewConfig,\n internalInstanceHandle: InternalInstanceHandle,\n ownerDocument: ReactNativeDocumentT,\n): ReactFabricHostComponentT | ReactNativeElementT {\n if (ReactNativeFeatureFlags.enableAccessToHostTreeInFabric()) {\n const ReactNativeElement = getReactNativeElementClass();\n return new ReactNativeElement(\n tag,\n viewConfig,\n internalInstanceHandle,\n ownerDocument,\n );\n } else {\n const ReactFabricHostComponent = getReactFabricHostComponentClass();\n return new ReactFabricHostComponent(\n tag,\n viewConfig,\n internalInstanceHandle,\n );\n }\n}\n\nexport function createPublicTextInstance(\n internalInstanceHandle: InternalInstanceHandle,\n ownerDocument: ReactNativeDocumentT,\n): ReadOnlyTextT {\n const ReadOnlyText = getReadOnlyTextClass();\n return new ReadOnlyText(internalInstanceHandle, ownerDocument);\n}\n\nexport function getNativeTagFromPublicInstance(\n publicInstance: ReactFabricHostComponentT | ReactNativeElementT,\n): number {\n return publicInstance.__nativeTag;\n}\n\nexport function getNodeFromPublicInstance(\n publicInstance: ReactFabricHostComponentT | ReactNativeElementT,\n): ?Node {\n // Avoid loading ReactFabric if using an instance from the legacy renderer.\n if (publicInstance.__internalInstanceHandle == null) {\n return null;\n }\n\n if (RendererProxy == null) {\n RendererProxy = require('../../ReactNative/RendererProxy');\n }\n return RendererProxy.getNodeFromInternalInstanceHandle(\n // $FlowExpectedError[incompatible-call] __internalInstanceHandle is always an InternalInstanceHandle from React when we get here.\n publicInstance.__internalInstanceHandle,\n );\n}\n\nexport function getInternalInstanceHandleFromPublicInstance(\n publicInstance: ReactFabricHostComponentT | ReactNativeElementT,\n): InternalInstanceHandle {\n // TODO(T174762768): Remove this once OSS versions of renderers will be synced.\n // $FlowExpectedError[prop-missing] Keeping this for backwards-compatibility with the renderers versions in open source.\n if (publicInstance._internalInstanceHandle != null) {\n // $FlowExpectedError[incompatible-return] Keeping this for backwards-compatibility with the renderers versions in open source.\n return publicInstance._internalInstanceHandle;\n }\n\n // $FlowExpectedError[incompatible-return] __internalInstanceHandle is always an InternalInstanceHandle from React when we get here.\n return publicInstance.__internalInstanceHandle;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {\n HostInstance,\n LegacyHostInstanceMethods,\n MeasureInWindowOnSuccessCallback,\n MeasureLayoutOnSuccessCallback,\n MeasureOnSuccessCallback,\n} from '../../../src/private/types/HostInstance';\nimport type {\n InternalInstanceHandle,\n ViewConfig,\n} from '../../Renderer/shims/ReactNativeTypes';\n\nimport TextInputState from '../../Components/TextInput/TextInputState';\nimport {getNodeFromInternalInstanceHandle} from '../../ReactNative/RendererProxy';\nimport {getFabricUIManager} from '../FabricUIManager';\nimport {create} from './ReactNativeAttributePayload';\nimport warnForStyleProps from './warnForStyleProps';\nimport nullthrows from 'nullthrows';\n\nconst {\n measure: fabricMeasure,\n measureInWindow: fabricMeasureInWindow,\n measureLayout: fabricMeasureLayout,\n getBoundingClientRect: fabricGetBoundingClientRect,\n setNativeProps,\n} = nullthrows(getFabricUIManager());\n\nconst noop = () => {};\n\n/**\n * This is used for refs on host components.\n */\nexport default class ReactFabricHostComponent\n implements LegacyHostInstanceMethods\n{\n // These need to be accessible from `ReactFabricPublicInstanceUtils`.\n __nativeTag: number;\n __internalInstanceHandle: InternalInstanceHandle;\n\n _viewConfig: ViewConfig;\n\n constructor(\n tag: number,\n viewConfig: ViewConfig,\n internalInstanceHandle: InternalInstanceHandle,\n ) {\n this.__nativeTag = tag;\n this._viewConfig = viewConfig;\n this.__internalInstanceHandle = internalInstanceHandle;\n }\n\n blur() {\n TextInputState.blurTextInput(this);\n }\n\n focus() {\n TextInputState.focusTextInput(this);\n }\n\n measure(callback: MeasureOnSuccessCallback) {\n const node = getNodeFromInternalInstanceHandle(\n this.__internalInstanceHandle,\n );\n if (node != null) {\n fabricMeasure(node, callback);\n }\n }\n\n measureInWindow(callback: MeasureInWindowOnSuccessCallback) {\n const node = getNodeFromInternalInstanceHandle(\n this.__internalInstanceHandle,\n );\n if (node != null) {\n fabricMeasureInWindow(node, callback);\n }\n }\n\n measureLayout(\n relativeToNativeNode: number | HostInstance,\n onSuccess: MeasureLayoutOnSuccessCallback,\n onFail?: () => void /* currently unused */,\n ) {\n if (\n typeof relativeToNativeNode === 'number' ||\n !(relativeToNativeNode instanceof ReactFabricHostComponent)\n ) {\n if (__DEV__) {\n console.error(\n 'Warning: ref.measureLayout must be called with a ref to a native component.',\n );\n }\n\n return;\n }\n\n const toStateNode = getNodeFromInternalInstanceHandle(\n this.__internalInstanceHandle,\n );\n const fromStateNode = getNodeFromInternalInstanceHandle(\n relativeToNativeNode.__internalInstanceHandle,\n );\n\n if (toStateNode != null && fromStateNode != null) {\n fabricMeasureLayout(\n toStateNode,\n fromStateNode,\n onFail != null ? onFail : noop,\n onSuccess != null ? onSuccess : noop,\n );\n }\n }\n\n unstable_getBoundingClientRect(): DOMRect {\n const node = getNodeFromInternalInstanceHandle(\n this.__internalInstanceHandle,\n );\n if (node != null) {\n const rect = fabricGetBoundingClientRect(node, true);\n\n if (rect) {\n return new DOMRect(rect[0], rect[1], rect[2], rect[3]);\n }\n }\n\n // Empty rect if any of the above failed\n return new DOMRect(0, 0, 0, 0);\n }\n\n setNativeProps(nativeProps: {...}): void {\n if (__DEV__) {\n warnForStyleProps(nativeProps, this._viewConfig.validAttributes);\n }\n const updatePayload = create(nativeProps, this._viewConfig.validAttributes);\n\n const node = getNodeFromInternalInstanceHandle(\n this.__internalInstanceHandle,\n );\n if (node != null && updatePayload != null) {\n setNativeProps(node, updatePayload);\n }\n }\n}\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.native.production.js');\n} else {\n module.exports = require('./cjs/scheduler.native.development.js');\n}\n","/**\n * @license React\n * scheduler.native.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nfunction push(heap, node) {\n var index = heap.length;\n heap.push(node);\n a: for (; 0 < index; ) {\n var parentIndex = (index - 1) >>> 1,\n parent = heap[parentIndex];\n if (0 < compare(parent, node))\n (heap[parentIndex] = node), (heap[index] = parent), (index = parentIndex);\n else break a;\n }\n}\nfunction peek(heap) {\n return 0 === heap.length ? null : heap[0];\n}\nfunction pop(heap) {\n if (0 === heap.length) return null;\n var first = heap[0],\n last = heap.pop();\n if (last !== first) {\n heap[0] = last;\n a: for (\n var index = 0, length = heap.length, halfLength = length >>> 1;\n index < halfLength;\n\n ) {\n var leftIndex = 2 * (index + 1) - 1,\n left = heap[leftIndex],\n rightIndex = leftIndex + 1,\n right = heap[rightIndex];\n if (0 > compare(left, last))\n rightIndex < length && 0 > compare(right, left)\n ? ((heap[index] = right),\n (heap[rightIndex] = last),\n (index = rightIndex))\n : ((heap[index] = left),\n (heap[leftIndex] = last),\n (index = leftIndex));\n else if (rightIndex < length && 0 > compare(right, last))\n (heap[index] = right), (heap[rightIndex] = last), (index = rightIndex);\n else break a;\n }\n }\n return first;\n}\nfunction compare(a, b) {\n var diff = a.sortIndex - b.sortIndex;\n return 0 !== diff ? diff : a.id - b.id;\n}\nvar getCurrentTime;\nif (\"object\" === typeof performance && \"function\" === typeof performance.now) {\n var localPerformance = performance;\n getCurrentTime = function () {\n return localPerformance.now();\n };\n} else {\n var localDate = Date,\n initialTime = localDate.now();\n getCurrentTime = function () {\n return localDate.now() - initialTime;\n };\n}\nvar taskQueue = [],\n timerQueue = [],\n taskIdCounter = 1,\n currentTask = null,\n currentPriorityLevel = 3,\n isPerformingWork = !1,\n isHostCallbackScheduled = !1,\n isHostTimeoutScheduled = !1,\n localSetTimeout = \"function\" === typeof setTimeout ? setTimeout : null,\n localClearTimeout = \"function\" === typeof clearTimeout ? clearTimeout : null,\n localSetImmediate = \"undefined\" !== typeof setImmediate ? setImmediate : null;\nfunction advanceTimers(currentTime) {\n for (var timer = peek(timerQueue); null !== timer; ) {\n if (null === timer.callback) pop(timerQueue);\n else if (timer.startTime <= currentTime)\n pop(timerQueue),\n (timer.sortIndex = timer.expirationTime),\n push(taskQueue, timer);\n else break;\n timer = peek(timerQueue);\n }\n}\nfunction handleTimeout(currentTime) {\n isHostTimeoutScheduled = !1;\n advanceTimers(currentTime);\n if (!isHostCallbackScheduled)\n if (null !== peek(taskQueue))\n (isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline());\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(handleTimeout, firstTimer.startTime - currentTime);\n }\n}\nfunction unstable_scheduleCallback$1(priorityLevel, callback, options) {\n var currentTime = getCurrentTime();\n \"object\" === typeof options && null !== options\n ? ((options = options.delay),\n (options =\n \"number\" === typeof options && 0 < options\n ? currentTime + options\n : currentTime))\n : (options = currentTime);\n switch (priorityLevel) {\n case 1:\n var timeout = -1;\n break;\n case 2:\n timeout = 250;\n break;\n case 5:\n timeout = 1073741823;\n break;\n case 4:\n timeout = 1e4;\n break;\n default:\n timeout = 5e3;\n }\n timeout = options + timeout;\n priorityLevel = {\n id: taskIdCounter++,\n callback: callback,\n priorityLevel: priorityLevel,\n startTime: options,\n expirationTime: timeout,\n sortIndex: -1\n };\n options > currentTime\n ? ((priorityLevel.sortIndex = options),\n push(timerQueue, priorityLevel),\n null === peek(taskQueue) &&\n priorityLevel === peek(timerQueue) &&\n (isHostTimeoutScheduled\n ? (localClearTimeout(taskTimeoutID), (taskTimeoutID = -1))\n : (isHostTimeoutScheduled = !0),\n requestHostTimeout(handleTimeout, options - currentTime)))\n : ((priorityLevel.sortIndex = timeout),\n push(taskQueue, priorityLevel),\n isHostCallbackScheduled ||\n isPerformingWork ||\n ((isHostCallbackScheduled = !0),\n isMessageLoopRunning ||\n ((isMessageLoopRunning = !0), schedulePerformWorkUntilDeadline())));\n return priorityLevel;\n}\nfunction unstable_cancelCallback$1(task) {\n task.callback = null;\n}\nfunction unstable_getCurrentPriorityLevel$1() {\n return currentPriorityLevel;\n}\nvar isMessageLoopRunning = !1,\n taskTimeoutID = -1,\n startTime = -1;\nfunction shouldYieldToHost() {\n return 5 > getCurrentTime() - startTime ? !1 : !0;\n}\nfunction requestPaint() {}\nfunction performWorkUntilDeadline() {\n if (isMessageLoopRunning) {\n var currentTime = getCurrentTime();\n startTime = currentTime;\n var hasMoreWork = !0;\n try {\n a: {\n isHostCallbackScheduled = !1;\n isHostTimeoutScheduled &&\n ((isHostTimeoutScheduled = !1),\n localClearTimeout(taskTimeoutID),\n (taskTimeoutID = -1));\n isPerformingWork = !0;\n var previousPriorityLevel = currentPriorityLevel;\n try {\n b: {\n advanceTimers(currentTime);\n for (\n currentTask = peek(taskQueue);\n null !== currentTask &&\n !(\n currentTask.expirationTime > currentTime && shouldYieldToHost()\n );\n\n ) {\n var callback = currentTask.callback;\n if (\"function\" === typeof callback) {\n currentTask.callback = null;\n currentPriorityLevel = currentTask.priorityLevel;\n var continuationCallback = callback(\n currentTask.expirationTime <= currentTime\n );\n currentTime = getCurrentTime();\n if (\"function\" === typeof continuationCallback) {\n currentTask.callback = continuationCallback;\n advanceTimers(currentTime);\n hasMoreWork = !0;\n break b;\n }\n currentTask === peek(taskQueue) && pop(taskQueue);\n advanceTimers(currentTime);\n } else pop(taskQueue);\n currentTask = peek(taskQueue);\n }\n if (null !== currentTask) hasMoreWork = !0;\n else {\n var firstTimer = peek(timerQueue);\n null !== firstTimer &&\n requestHostTimeout(\n handleTimeout,\n firstTimer.startTime - currentTime\n );\n hasMoreWork = !1;\n }\n }\n break a;\n } finally {\n (currentTask = null),\n (currentPriorityLevel = previousPriorityLevel),\n (isPerformingWork = !1);\n }\n hasMoreWork = void 0;\n }\n } finally {\n hasMoreWork\n ? schedulePerformWorkUntilDeadline()\n : (isMessageLoopRunning = !1);\n }\n }\n}\nvar schedulePerformWorkUntilDeadline;\nif (\"function\" === typeof localSetImmediate)\n schedulePerformWorkUntilDeadline = function () {\n localSetImmediate(performWorkUntilDeadline);\n };\nelse if (\"undefined\" !== typeof MessageChannel) {\n var channel = new MessageChannel(),\n port = channel.port2;\n channel.port1.onmessage = performWorkUntilDeadline;\n schedulePerformWorkUntilDeadline = function () {\n port.postMessage(null);\n };\n} else\n schedulePerformWorkUntilDeadline = function () {\n localSetTimeout(performWorkUntilDeadline, 0);\n };\nfunction requestHostTimeout(callback, ms) {\n taskTimeoutID = localSetTimeout(function () {\n callback(getCurrentTime());\n }, ms);\n}\nvar unstable_UserBlockingPriority =\n \"undefined\" !== typeof nativeRuntimeScheduler\n ? nativeRuntimeScheduler.unstable_UserBlockingPriority\n : 2,\n unstable_NormalPriority =\n \"undefined\" !== typeof nativeRuntimeScheduler\n ? nativeRuntimeScheduler.unstable_NormalPriority\n : 3,\n unstable_LowPriority =\n \"undefined\" !== typeof nativeRuntimeScheduler\n ? nativeRuntimeScheduler.unstable_LowPriority\n : 4,\n unstable_ImmediatePriority =\n \"undefined\" !== typeof nativeRuntimeScheduler\n ? nativeRuntimeScheduler.unstable_ImmediatePriority\n : 1,\n unstable_scheduleCallback =\n \"undefined\" !== typeof nativeRuntimeScheduler\n ? nativeRuntimeScheduler.unstable_scheduleCallback\n : unstable_scheduleCallback$1,\n unstable_cancelCallback =\n \"undefined\" !== typeof nativeRuntimeScheduler\n ? nativeRuntimeScheduler.unstable_cancelCallback\n : unstable_cancelCallback$1,\n unstable_getCurrentPriorityLevel =\n \"undefined\" !== typeof nativeRuntimeScheduler\n ? nativeRuntimeScheduler.unstable_getCurrentPriorityLevel\n : unstable_getCurrentPriorityLevel$1,\n unstable_shouldYield =\n \"undefined\" !== typeof nativeRuntimeScheduler\n ? nativeRuntimeScheduler.unstable_shouldYield\n : shouldYieldToHost,\n unstable_requestPaint =\n \"undefined\" !== typeof nativeRuntimeScheduler\n ? nativeRuntimeScheduler.unstable_requestPaint\n : requestPaint,\n unstable_now =\n \"undefined\" !== typeof nativeRuntimeScheduler\n ? nativeRuntimeScheduler.unstable_now\n : getCurrentTime;\nfunction throwNotImplemented() {\n throw Error(\"Not implemented.\");\n}\nexports.unstable_IdlePriority =\n \"undefined\" !== typeof nativeRuntimeScheduler\n ? nativeRuntimeScheduler.unstable_IdlePriority\n : 5;\nexports.unstable_ImmediatePriority = unstable_ImmediatePriority;\nexports.unstable_LowPriority = unstable_LowPriority;\nexports.unstable_NormalPriority = unstable_NormalPriority;\nexports.unstable_Profiling = null;\nexports.unstable_UserBlockingPriority = unstable_UserBlockingPriority;\nexports.unstable_cancelCallback = unstable_cancelCallback;\nexports.unstable_continueExecution = throwNotImplemented;\nexports.unstable_forceFrameRate = throwNotImplemented;\nexports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel;\nexports.unstable_getFirstCallbackNode = throwNotImplemented;\nexports.unstable_next = throwNotImplemented;\nexports.unstable_now = unstable_now;\nexports.unstable_pauseExecution = throwNotImplemented;\nexports.unstable_requestPaint = unstable_requestPaint;\nexports.unstable_runWithPriority = throwNotImplemented;\nexports.unstable_scheduleCallback = unstable_scheduleCallback;\nexports.unstable_shouldYield = unstable_shouldYield;\nexports.unstable_wrapCallback = throwNotImplemented;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\nimport type {ExtendedError} from '../../../../Libraries/Core/ExtendedError';\nimport type {Component as ReactComponent} from 'react';\n\nimport ExceptionsManager, {\n SyntheticError,\n} from '../../../../Libraries/Core/ExceptionsManager';\n\ntype ErrorInfo = {\n +componentStack?: ?string,\n // $FlowFixMe[unclear-type] unknown props and state.\n +errorBoundary?: ?ReactComponent,\n};\n\nfunction getExtendedError(\n errorValue: mixed,\n errorInfo: ErrorInfo,\n): ExtendedError {\n let error;\n\n // Typically, `errorValue` should be an error. However, other values such as\n // strings (or even null) are sometimes thrown.\n if (errorValue instanceof Error) {\n /* $FlowFixMe[class-object-subtyping] added when improving typing for\n * this parameters */\n // $FlowFixMe[incompatible-cast]\n error = (errorValue: ExtendedError);\n } else if (typeof errorValue === 'string') {\n /* $FlowFixMe[class-object-subtyping] added when improving typing for\n * this parameters */\n // $FlowFixMe[incompatible-cast]\n error = (new SyntheticError(errorValue): ExtendedError);\n } else {\n /* $FlowFixMe[class-object-subtyping] added when improving typing for\n * this parameters */\n // $FlowFixMe[incompatible-cast]\n error = (new SyntheticError('Unspecified error'): ExtendedError);\n }\n try {\n // $FlowFixMe[incompatible-use] this is in try/catch.\n error.componentStack = errorInfo.componentStack;\n error.isComponentError = true;\n } catch {\n // Ignored.\n }\n\n return error;\n}\n\nexport function onUncaughtError(errorValue: mixed, errorInfo: ErrorInfo): void {\n const error = getExtendedError(errorValue, errorInfo);\n\n // Uncaught errors are fatal.\n ExceptionsManager.handleException(error, true);\n}\n\nexport function onCaughtError(errorValue: mixed, errorInfo: ErrorInfo): void {\n const error = getExtendedError(errorValue, errorInfo);\n\n // Caught errors are not fatal.\n ExceptionsManager.handleException(error, false);\n}\n\nexport function onRecoverableError(\n errorValue: mixed,\n errorInfo: ErrorInfo,\n): void {\n const error = getExtendedError(errorValue, errorInfo);\n\n // Recoverable errors should only be warnings.\n // This will make it a soft error in LogBox.\n // TODO: improve the logging for recoverable errors in prod.\n console.warn(error);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @noformat\n * @nolint\n * @flow\n * @generated SignedSource<<8f46fdc9267fcc4fdc9e76842fe24066>>\n */\n'use strict';\n\nimport type {ReactNativeType} from './ReactNativeTypes';\n\nlet ReactNative: ReactNativeType;\n\nif (__DEV__) {\n ReactNative = require('../implementations/ReactNativeRenderer-dev');\n} else {\n ReactNative = require('../implementations/ReactNativeRenderer-prod');\n}\n\nexport default ReactNative;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @noflow\n * @nolint\n * @preventMunge\n * @generated SignedSource<>\n *\n * This file was sync'd from the facebook/react repository.\n */\n\n\"use strict\";\nrequire(\"react-native/Libraries/ReactPrivate/ReactNativePrivateInitializeCore\");\nvar ReactNativePrivateInterface = require(\"react-native/Libraries/ReactPrivate/ReactNativePrivateInterface\"),\n React = require(\"react\"),\n Scheduler = require(\"scheduler\"),\n isArrayImpl = Array.isArray,\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n REACT_LEGACY_ELEMENT_TYPE = Symbol.for(\"react.element\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_PROVIDER_TYPE = Symbol.for(\"react.provider\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\");\nSymbol.for(\"react.scope\");\nSymbol.for(\"react.debug_trace_mode\");\nvar REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\");\nSymbol.for(\"react.legacy_hidden\");\nSymbol.for(\"react.tracing_marker\");\nvar REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar assign = Object.assign,\n prefix,\n suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" ()\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"\") &&\n (frame = frame.replace(\"\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return (fiber = describeNativeComponentFrame(fiber.type, !1)), fiber;\n case 11:\n return (\n (fiber = describeNativeComponentFrame(fiber.type.render, !1)), fiber\n );\n case 1:\n return (fiber = describeNativeComponentFrame(fiber.type, !0)), fiber;\n default:\n return \"\";\n }\n}\nfunction getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\";\n do\n (info += describeFiber(workInProgress)),\n (workInProgress = workInProgress.return);\n while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n}\nvar REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar hasError = !1,\n caughtError = null,\n getFiberCurrentPropsFromNode$1 = null,\n getInstanceFromNode = null,\n getNodeFromInstance = null;\nfunction executeDispatch(event, listener, inst) {\n event.currentTarget = getNodeFromInstance(inst);\n try {\n listener(event);\n } catch (error) {\n hasError || ((hasError = !0), (caughtError = error));\n }\n event.currentTarget = null;\n}\nfunction executeDirectDispatch(event) {\n var dispatchListener = event._dispatchListeners,\n dispatchInstance = event._dispatchInstances;\n if (isArrayImpl(dispatchListener)) throw Error(\"Invalid `event`.\");\n event.currentTarget = dispatchListener\n ? getNodeFromInstance(dispatchInstance)\n : null;\n dispatchListener = dispatchListener ? dispatchListener(event) : null;\n event.currentTarget = null;\n event._dispatchListeners = null;\n event._dispatchInstances = null;\n return dispatchListener;\n}\nfunction functionThatReturnsTrue() {\n return !0;\n}\nfunction functionThatReturnsFalse() {\n return !1;\n}\nfunction SyntheticEvent(\n dispatchConfig,\n targetInst,\n nativeEvent,\n nativeEventTarget\n) {\n this.dispatchConfig = dispatchConfig;\n this._targetInst = targetInst;\n this.nativeEvent = nativeEvent;\n this._dispatchInstances = this._dispatchListeners = null;\n dispatchConfig = this.constructor.Interface;\n for (var propName in dispatchConfig)\n dispatchConfig.hasOwnProperty(propName) &&\n ((targetInst = dispatchConfig[propName])\n ? (this[propName] = targetInst(nativeEvent))\n : \"target\" === propName\n ? (this.target = nativeEventTarget)\n : (this[propName] = nativeEvent[propName]));\n this.isDefaultPrevented = (\n null != nativeEvent.defaultPrevented\n ? nativeEvent.defaultPrevented\n : !1 === nativeEvent.returnValue\n )\n ? functionThatReturnsTrue\n : functionThatReturnsFalse;\n this.isPropagationStopped = functionThatReturnsFalse;\n return this;\n}\nassign(SyntheticEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = !0;\n var event = this.nativeEvent;\n event &&\n (event.preventDefault\n ? event.preventDefault()\n : \"unknown\" !== typeof event.returnValue && (event.returnValue = !1),\n (this.isDefaultPrevented = functionThatReturnsTrue));\n },\n stopPropagation: function () {\n var event = this.nativeEvent;\n event &&\n (event.stopPropagation\n ? event.stopPropagation()\n : \"unknown\" !== typeof event.cancelBubble && (event.cancelBubble = !0),\n (this.isPropagationStopped = functionThatReturnsTrue));\n },\n persist: function () {\n this.isPersistent = functionThatReturnsTrue;\n },\n isPersistent: functionThatReturnsFalse,\n destructor: function () {\n var Interface = this.constructor.Interface,\n propName;\n for (propName in Interface) this[propName] = null;\n this.nativeEvent = this._targetInst = this.dispatchConfig = null;\n this.isPropagationStopped = this.isDefaultPrevented =\n functionThatReturnsFalse;\n this._dispatchInstances = this._dispatchListeners = null;\n }\n});\nSyntheticEvent.Interface = {\n type: null,\n target: null,\n currentTarget: function () {\n return null;\n },\n eventPhase: null,\n bubbles: null,\n cancelable: null,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: null,\n isTrusted: null\n};\nSyntheticEvent.extend = function (Interface) {\n function E() {}\n function Class() {\n return Super.apply(this, arguments);\n }\n var Super = this;\n E.prototype = Super.prototype;\n var prototype = new E();\n assign(prototype, Class.prototype);\n Class.prototype = prototype;\n Class.prototype.constructor = Class;\n Class.Interface = assign({}, Super.Interface, Interface);\n Class.extend = Super.extend;\n addEventPoolingTo(Class);\n return Class;\n};\naddEventPoolingTo(SyntheticEvent);\nfunction createOrGetPooledEvent(\n dispatchConfig,\n targetInst,\n nativeEvent,\n nativeInst\n) {\n if (this.eventPool.length) {\n var instance = this.eventPool.pop();\n this.call(instance, dispatchConfig, targetInst, nativeEvent, nativeInst);\n return instance;\n }\n return new this(dispatchConfig, targetInst, nativeEvent, nativeInst);\n}\nfunction releasePooledEvent(event) {\n if (!(event instanceof this))\n throw Error(\n \"Trying to release an event instance into a pool of a different type.\"\n );\n event.destructor();\n 10 > this.eventPool.length && this.eventPool.push(event);\n}\nfunction addEventPoolingTo(EventConstructor) {\n EventConstructor.getPooled = createOrGetPooledEvent;\n EventConstructor.eventPool = [];\n EventConstructor.release = releasePooledEvent;\n}\nvar ResponderSyntheticEvent = SyntheticEvent.extend({\n touchHistory: function () {\n return null;\n }\n});\nfunction isStartish(topLevelType) {\n return \"topTouchStart\" === topLevelType;\n}\nfunction isMoveish(topLevelType) {\n return \"topTouchMove\" === topLevelType;\n}\nvar startDependencies = [\"topTouchStart\"],\n moveDependencies = [\"topTouchMove\"],\n endDependencies = [\"topTouchCancel\", \"topTouchEnd\"],\n touchBank = [],\n touchHistory = {\n touchBank: touchBank,\n numberActiveTouches: 0,\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\nfunction timestampForTouch(touch) {\n return touch.timeStamp || touch.timestamp;\n}\nfunction getTouchIdentifier(_ref) {\n _ref = _ref.identifier;\n if (null == _ref) throw Error(\"Touch object is missing identifier.\");\n return _ref;\n}\nfunction recordTouchStart(touch) {\n var identifier = getTouchIdentifier(touch),\n touchRecord = touchBank[identifier];\n touchRecord\n ? ((touchRecord.touchActive = !0),\n (touchRecord.startPageX = touch.pageX),\n (touchRecord.startPageY = touch.pageY),\n (touchRecord.startTimeStamp = timestampForTouch(touch)),\n (touchRecord.currentPageX = touch.pageX),\n (touchRecord.currentPageY = touch.pageY),\n (touchRecord.currentTimeStamp = timestampForTouch(touch)),\n (touchRecord.previousPageX = touch.pageX),\n (touchRecord.previousPageY = touch.pageY),\n (touchRecord.previousTimeStamp = timestampForTouch(touch)))\n : ((touchRecord = {\n touchActive: !0,\n startPageX: touch.pageX,\n startPageY: touch.pageY,\n startTimeStamp: timestampForTouch(touch),\n currentPageX: touch.pageX,\n currentPageY: touch.pageY,\n currentTimeStamp: timestampForTouch(touch),\n previousPageX: touch.pageX,\n previousPageY: touch.pageY,\n previousTimeStamp: timestampForTouch(touch)\n }),\n (touchBank[identifier] = touchRecord));\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\nfunction recordTouchMove(touch) {\n var touchRecord = touchBank[getTouchIdentifier(touch)];\n touchRecord &&\n ((touchRecord.touchActive = !0),\n (touchRecord.previousPageX = touchRecord.currentPageX),\n (touchRecord.previousPageY = touchRecord.currentPageY),\n (touchRecord.previousTimeStamp = touchRecord.currentTimeStamp),\n (touchRecord.currentPageX = touch.pageX),\n (touchRecord.currentPageY = touch.pageY),\n (touchRecord.currentTimeStamp = timestampForTouch(touch)),\n (touchHistory.mostRecentTimeStamp = timestampForTouch(touch)));\n}\nfunction recordTouchEnd(touch) {\n var touchRecord = touchBank[getTouchIdentifier(touch)];\n touchRecord &&\n ((touchRecord.touchActive = !1),\n (touchRecord.previousPageX = touchRecord.currentPageX),\n (touchRecord.previousPageY = touchRecord.currentPageY),\n (touchRecord.previousTimeStamp = touchRecord.currentTimeStamp),\n (touchRecord.currentPageX = touch.pageX),\n (touchRecord.currentPageY = touch.pageY),\n (touchRecord.currentTimeStamp = timestampForTouch(touch)),\n (touchHistory.mostRecentTimeStamp = timestampForTouch(touch)));\n}\nvar instrumentationCallback,\n ResponderTouchHistoryStore = {\n instrument: function (callback) {\n instrumentationCallback = callback;\n },\n recordTouchTrack: function (topLevelType, nativeEvent) {\n null != instrumentationCallback &&\n instrumentationCallback(topLevelType, nativeEvent);\n if (isMoveish(topLevelType))\n nativeEvent.changedTouches.forEach(recordTouchMove);\n else if (isStartish(topLevelType))\n nativeEvent.changedTouches.forEach(recordTouchStart),\n (touchHistory.numberActiveTouches = nativeEvent.touches.length),\n 1 === touchHistory.numberActiveTouches &&\n (touchHistory.indexOfSingleActiveTouch =\n nativeEvent.touches[0].identifier);\n else if (\n \"topTouchEnd\" === topLevelType ||\n \"topTouchCancel\" === topLevelType\n )\n if (\n (nativeEvent.changedTouches.forEach(recordTouchEnd),\n (touchHistory.numberActiveTouches = nativeEvent.touches.length),\n 1 === touchHistory.numberActiveTouches)\n )\n for (\n topLevelType = 0;\n topLevelType < touchBank.length;\n topLevelType++\n )\n if (\n ((nativeEvent = touchBank[topLevelType]),\n null != nativeEvent && nativeEvent.touchActive)\n ) {\n touchHistory.indexOfSingleActiveTouch = topLevelType;\n break;\n }\n },\n touchHistory: touchHistory\n };\nfunction accumulate(current, next) {\n if (null == next)\n throw Error(\"Accumulated items must not be null or undefined.\");\n return null == current\n ? next\n : isArrayImpl(current)\n ? current.concat(next)\n : isArrayImpl(next)\n ? [current].concat(next)\n : [current, next];\n}\nfunction accumulateInto(current, next) {\n if (null == next)\n throw Error(\"Accumulated items must not be null or undefined.\");\n if (null == current) return next;\n if (isArrayImpl(current)) {\n if (isArrayImpl(next)) return current.push.apply(current, next), current;\n current.push(next);\n return current;\n }\n return isArrayImpl(next) ? [current].concat(next) : [current, next];\n}\nfunction forEachAccumulated(arr, cb, scope) {\n Array.isArray(arr) ? arr.forEach(cb, scope) : arr && cb.call(scope, arr);\n}\nvar responderInst = null,\n trackedTouchCount = 0;\nfunction changeResponder(nextResponderInst, blockHostResponder) {\n var oldResponderInst = responderInst;\n responderInst = nextResponderInst;\n if (null !== ResponderEventPlugin.GlobalResponderHandler)\n ResponderEventPlugin.GlobalResponderHandler.onChange(\n oldResponderInst,\n nextResponderInst,\n blockHostResponder\n );\n}\nvar eventTypes = {\n startShouldSetResponder: {\n phasedRegistrationNames: {\n bubbled: \"onStartShouldSetResponder\",\n captured: \"onStartShouldSetResponderCapture\"\n },\n dependencies: startDependencies\n },\n scrollShouldSetResponder: {\n phasedRegistrationNames: {\n bubbled: \"onScrollShouldSetResponder\",\n captured: \"onScrollShouldSetResponderCapture\"\n },\n dependencies: [\"topScroll\"]\n },\n selectionChangeShouldSetResponder: {\n phasedRegistrationNames: {\n bubbled: \"onSelectionChangeShouldSetResponder\",\n captured: \"onSelectionChangeShouldSetResponderCapture\"\n },\n dependencies: [\"topSelectionChange\"]\n },\n moveShouldSetResponder: {\n phasedRegistrationNames: {\n bubbled: \"onMoveShouldSetResponder\",\n captured: \"onMoveShouldSetResponderCapture\"\n },\n dependencies: moveDependencies\n },\n responderStart: {\n registrationName: \"onResponderStart\",\n dependencies: startDependencies\n },\n responderMove: {\n registrationName: \"onResponderMove\",\n dependencies: moveDependencies\n },\n responderEnd: {\n registrationName: \"onResponderEnd\",\n dependencies: endDependencies\n },\n responderRelease: {\n registrationName: \"onResponderRelease\",\n dependencies: endDependencies\n },\n responderTerminationRequest: {\n registrationName: \"onResponderTerminationRequest\",\n dependencies: []\n },\n responderGrant: { registrationName: \"onResponderGrant\", dependencies: [] },\n responderReject: { registrationName: \"onResponderReject\", dependencies: [] },\n responderTerminate: {\n registrationName: \"onResponderTerminate\",\n dependencies: []\n }\n};\nfunction getParent$1(inst) {\n do inst = inst.return;\n while (inst && 5 !== inst.tag);\n return inst ? inst : null;\n}\nfunction traverseTwoPhase$1(inst, fn, arg) {\n for (var path = []; inst; ) path.push(inst), (inst = getParent$1(inst));\n for (inst = path.length; 0 < inst--; ) fn(path[inst], \"captured\", arg);\n for (inst = 0; inst < path.length; inst++) fn(path[inst], \"bubbled\", arg);\n}\nfunction getListener$1(inst, registrationName) {\n inst = inst.stateNode;\n if (null === inst) return null;\n inst = getFiberCurrentPropsFromNode$1(inst);\n if (null === inst) return null;\n if ((inst = inst[registrationName]) && \"function\" !== typeof inst)\n throw Error(\n \"Expected `\" +\n registrationName +\n \"` listener to be a function, instead got a value of `\" +\n typeof inst +\n \"` type.\"\n );\n return inst;\n}\nfunction accumulateDirectionalDispatches$1(inst, phase, event) {\n if (\n (phase = getListener$1(\n inst,\n event.dispatchConfig.phasedRegistrationNames[phase]\n ))\n )\n (event._dispatchListeners = accumulateInto(\n event._dispatchListeners,\n phase\n )),\n (event._dispatchInstances = accumulateInto(\n event._dispatchInstances,\n inst\n ));\n}\nfunction accumulateDirectDispatchesSingle$1(event) {\n if (event && event.dispatchConfig.registrationName) {\n var inst = event._targetInst;\n if (inst && event && event.dispatchConfig.registrationName) {\n var listener = getListener$1(inst, event.dispatchConfig.registrationName);\n listener &&\n ((event._dispatchListeners = accumulateInto(\n event._dispatchListeners,\n listener\n )),\n (event._dispatchInstances = accumulateInto(\n event._dispatchInstances,\n inst\n )));\n }\n }\n}\nfunction accumulateTwoPhaseDispatchesSingleSkipTarget(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n var targetInst = event._targetInst;\n targetInst = targetInst ? getParent$1(targetInst) : null;\n traverseTwoPhase$1(targetInst, accumulateDirectionalDispatches$1, event);\n }\n}\nfunction accumulateTwoPhaseDispatchesSingle$1(event) {\n event &&\n event.dispatchConfig.phasedRegistrationNames &&\n traverseTwoPhase$1(\n event._targetInst,\n accumulateDirectionalDispatches$1,\n event\n );\n}\nvar ResponderEventPlugin = {\n _getResponder: function () {\n return responderInst;\n },\n eventTypes: eventTypes,\n extractEvents: function (\n topLevelType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n if (isStartish(topLevelType)) trackedTouchCount += 1;\n else if (\n \"topTouchEnd\" === topLevelType ||\n \"topTouchCancel\" === topLevelType\n )\n if (0 <= trackedTouchCount) --trackedTouchCount;\n else return null;\n ResponderTouchHistoryStore.recordTouchTrack(topLevelType, nativeEvent);\n if (\n targetInst &&\n ((\"topScroll\" === topLevelType && !nativeEvent.responderIgnoreScroll) ||\n (0 < trackedTouchCount && \"topSelectionChange\" === topLevelType) ||\n isStartish(topLevelType) ||\n isMoveish(topLevelType))\n ) {\n var shouldSetEventType = isStartish(topLevelType)\n ? eventTypes.startShouldSetResponder\n : isMoveish(topLevelType)\n ? eventTypes.moveShouldSetResponder\n : \"topSelectionChange\" === topLevelType\n ? eventTypes.selectionChangeShouldSetResponder\n : eventTypes.scrollShouldSetResponder;\n if (responderInst)\n b: {\n var JSCompiler_temp = responderInst;\n for (\n var depthA = 0, tempA = JSCompiler_temp;\n tempA;\n tempA = getParent$1(tempA)\n )\n depthA++;\n tempA = 0;\n for (var tempB = targetInst; tempB; tempB = getParent$1(tempB))\n tempA++;\n for (; 0 < depthA - tempA; )\n (JSCompiler_temp = getParent$1(JSCompiler_temp)), depthA--;\n for (; 0 < tempA - depthA; )\n (targetInst = getParent$1(targetInst)), tempA--;\n for (; depthA--; ) {\n if (\n JSCompiler_temp === targetInst ||\n JSCompiler_temp === targetInst.alternate\n )\n break b;\n JSCompiler_temp = getParent$1(JSCompiler_temp);\n targetInst = getParent$1(targetInst);\n }\n JSCompiler_temp = null;\n }\n else JSCompiler_temp = targetInst;\n targetInst = JSCompiler_temp;\n JSCompiler_temp = targetInst === responderInst;\n shouldSetEventType = ResponderSyntheticEvent.getPooled(\n shouldSetEventType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n );\n shouldSetEventType.touchHistory =\n ResponderTouchHistoryStore.touchHistory;\n JSCompiler_temp\n ? forEachAccumulated(\n shouldSetEventType,\n accumulateTwoPhaseDispatchesSingleSkipTarget\n )\n : forEachAccumulated(\n shouldSetEventType,\n accumulateTwoPhaseDispatchesSingle$1\n );\n b: {\n JSCompiler_temp = shouldSetEventType._dispatchListeners;\n targetInst = shouldSetEventType._dispatchInstances;\n if (isArrayImpl(JSCompiler_temp))\n for (\n depthA = 0;\n depthA < JSCompiler_temp.length &&\n !shouldSetEventType.isPropagationStopped();\n depthA++\n ) {\n if (\n JSCompiler_temp[depthA](shouldSetEventType, targetInst[depthA])\n ) {\n JSCompiler_temp = targetInst[depthA];\n break b;\n }\n }\n else if (\n JSCompiler_temp &&\n JSCompiler_temp(shouldSetEventType, targetInst)\n ) {\n JSCompiler_temp = targetInst;\n break b;\n }\n JSCompiler_temp = null;\n }\n shouldSetEventType._dispatchInstances = null;\n shouldSetEventType._dispatchListeners = null;\n shouldSetEventType.isPersistent() ||\n shouldSetEventType.constructor.release(shouldSetEventType);\n if (JSCompiler_temp && JSCompiler_temp !== responderInst)\n if (\n ((shouldSetEventType = ResponderSyntheticEvent.getPooled(\n eventTypes.responderGrant,\n JSCompiler_temp,\n nativeEvent,\n nativeEventTarget\n )),\n (shouldSetEventType.touchHistory =\n ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(\n shouldSetEventType,\n accumulateDirectDispatchesSingle$1\n ),\n (targetInst = !0 === executeDirectDispatch(shouldSetEventType)),\n responderInst)\n )\n if (\n ((depthA = ResponderSyntheticEvent.getPooled(\n eventTypes.responderTerminationRequest,\n responderInst,\n nativeEvent,\n nativeEventTarget\n )),\n (depthA.touchHistory = ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(depthA, accumulateDirectDispatchesSingle$1),\n (tempA =\n !depthA._dispatchListeners || executeDirectDispatch(depthA)),\n depthA.isPersistent() || depthA.constructor.release(depthA),\n tempA)\n ) {\n depthA = ResponderSyntheticEvent.getPooled(\n eventTypes.responderTerminate,\n responderInst,\n nativeEvent,\n nativeEventTarget\n );\n depthA.touchHistory = ResponderTouchHistoryStore.touchHistory;\n forEachAccumulated(depthA, accumulateDirectDispatchesSingle$1);\n var JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n [shouldSetEventType, depthA]\n );\n changeResponder(JSCompiler_temp, targetInst);\n } else\n (shouldSetEventType = ResponderSyntheticEvent.getPooled(\n eventTypes.responderReject,\n JSCompiler_temp,\n nativeEvent,\n nativeEventTarget\n )),\n (shouldSetEventType.touchHistory =\n ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(\n shouldSetEventType,\n accumulateDirectDispatchesSingle$1\n ),\n (JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n shouldSetEventType\n ));\n else\n (JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n shouldSetEventType\n )),\n changeResponder(JSCompiler_temp, targetInst);\n else JSCompiler_temp$jscomp$0 = null;\n } else JSCompiler_temp$jscomp$0 = null;\n shouldSetEventType = responderInst && isStartish(topLevelType);\n JSCompiler_temp = responderInst && isMoveish(topLevelType);\n targetInst =\n responderInst &&\n (\"topTouchEnd\" === topLevelType || \"topTouchCancel\" === topLevelType);\n if (\n (shouldSetEventType = shouldSetEventType\n ? eventTypes.responderStart\n : JSCompiler_temp\n ? eventTypes.responderMove\n : targetInst\n ? eventTypes.responderEnd\n : null)\n )\n (shouldSetEventType = ResponderSyntheticEvent.getPooled(\n shouldSetEventType,\n responderInst,\n nativeEvent,\n nativeEventTarget\n )),\n (shouldSetEventType.touchHistory =\n ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(\n shouldSetEventType,\n accumulateDirectDispatchesSingle$1\n ),\n (JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n shouldSetEventType\n ));\n shouldSetEventType = responderInst && \"topTouchCancel\" === topLevelType;\n if (\n (topLevelType =\n responderInst &&\n !shouldSetEventType &&\n (\"topTouchEnd\" === topLevelType || \"topTouchCancel\" === topLevelType))\n )\n a: {\n if ((topLevelType = nativeEvent.touches) && 0 !== topLevelType.length)\n for (\n JSCompiler_temp = 0;\n JSCompiler_temp < topLevelType.length;\n JSCompiler_temp++\n )\n if (\n ((targetInst = topLevelType[JSCompiler_temp].target),\n null !== targetInst &&\n void 0 !== targetInst &&\n 0 !== targetInst)\n ) {\n depthA = getInstanceFromNode(targetInst);\n b: {\n for (targetInst = responderInst; depthA; ) {\n if (\n targetInst === depthA ||\n targetInst === depthA.alternate\n ) {\n targetInst = !0;\n break b;\n }\n depthA = getParent$1(depthA);\n }\n targetInst = !1;\n }\n if (targetInst) {\n topLevelType = !1;\n break a;\n }\n }\n topLevelType = !0;\n }\n if (\n (topLevelType = shouldSetEventType\n ? eventTypes.responderTerminate\n : topLevelType\n ? eventTypes.responderRelease\n : null)\n )\n (nativeEvent = ResponderSyntheticEvent.getPooled(\n topLevelType,\n responderInst,\n nativeEvent,\n nativeEventTarget\n )),\n (nativeEvent.touchHistory = ResponderTouchHistoryStore.touchHistory),\n forEachAccumulated(nativeEvent, accumulateDirectDispatchesSingle$1),\n (JSCompiler_temp$jscomp$0 = accumulate(\n JSCompiler_temp$jscomp$0,\n nativeEvent\n )),\n changeResponder(null);\n return JSCompiler_temp$jscomp$0;\n },\n GlobalResponderHandler: null,\n injection: {\n injectGlobalResponderHandler: function (GlobalResponderHandler) {\n ResponderEventPlugin.GlobalResponderHandler = GlobalResponderHandler;\n }\n }\n },\n eventPluginOrder = null,\n namesToPlugins = {};\nfunction recomputePluginOrdering() {\n if (eventPluginOrder)\n for (var pluginName in namesToPlugins) {\n var pluginModule = namesToPlugins[pluginName],\n pluginIndex = eventPluginOrder.indexOf(pluginName);\n if (-1 >= pluginIndex)\n throw Error(\n \"EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `\" +\n (pluginName + \"`.\")\n );\n if (!plugins[pluginIndex]) {\n if (!pluginModule.extractEvents)\n throw Error(\n \"EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `\" +\n (pluginName + \"` does not.\")\n );\n plugins[pluginIndex] = pluginModule;\n pluginIndex = pluginModule.eventTypes;\n for (var eventName in pluginIndex) {\n var JSCompiler_inline_result = void 0;\n var dispatchConfig = pluginIndex[eventName];\n if (eventNameDispatchConfigs.hasOwnProperty(eventName))\n throw Error(\n \"EventPluginRegistry: More than one plugin attempted to publish the same event name, `\" +\n (eventName + \"`.\")\n );\n eventNameDispatchConfigs[eventName] = dispatchConfig;\n var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\n if (phasedRegistrationNames) {\n for (JSCompiler_inline_result in phasedRegistrationNames)\n phasedRegistrationNames.hasOwnProperty(\n JSCompiler_inline_result\n ) &&\n publishRegistrationName(\n phasedRegistrationNames[JSCompiler_inline_result],\n pluginModule\n );\n JSCompiler_inline_result = !0;\n } else\n dispatchConfig.registrationName\n ? (publishRegistrationName(\n dispatchConfig.registrationName,\n pluginModule\n ),\n (JSCompiler_inline_result = !0))\n : (JSCompiler_inline_result = !1);\n if (!JSCompiler_inline_result)\n throw Error(\n \"EventPluginRegistry: Failed to publish event `\" +\n eventName +\n \"` for plugin `\" +\n pluginName +\n \"`.\"\n );\n }\n }\n }\n}\nfunction publishRegistrationName(registrationName, pluginModule) {\n if (registrationNameModules[registrationName])\n throw Error(\n \"EventPluginRegistry: More than one plugin attempted to publish the same registration name, `\" +\n (registrationName + \"`.\")\n );\n registrationNameModules[registrationName] = pluginModule;\n}\nvar plugins = [],\n eventNameDispatchConfigs = {},\n registrationNameModules = {};\nfunction getListener(inst, registrationName) {\n inst = inst.stateNode;\n if (null === inst) return null;\n inst = getFiberCurrentPropsFromNode$1(inst);\n if (null === inst) return null;\n if ((inst = inst[registrationName]) && \"function\" !== typeof inst)\n throw Error(\n \"Expected `\" +\n registrationName +\n \"` listener to be a function, instead got a value of `\" +\n typeof inst +\n \"` type.\"\n );\n return inst;\n}\nvar customBubblingEventTypes =\n ReactNativePrivateInterface.ReactNativeViewConfigRegistry\n .customBubblingEventTypes,\n customDirectEventTypes =\n ReactNativePrivateInterface.ReactNativeViewConfigRegistry\n .customDirectEventTypes;\nfunction accumulateDirectionalDispatches(inst, phase, event) {\n if (\n (phase = getListener(\n inst,\n event.dispatchConfig.phasedRegistrationNames[phase]\n ))\n )\n (event._dispatchListeners = accumulateInto(\n event._dispatchListeners,\n phase\n )),\n (event._dispatchInstances = accumulateInto(\n event._dispatchInstances,\n inst\n ));\n}\nfunction traverseTwoPhase(inst, fn, arg, skipBubbling) {\n for (var path = []; inst; ) {\n path.push(inst);\n do inst = inst.return;\n while (inst && 5 !== inst.tag);\n inst = inst ? inst : null;\n }\n for (inst = path.length; 0 < inst--; ) fn(path[inst], \"captured\", arg);\n if (skipBubbling) fn(path[0], \"bubbled\", arg);\n else\n for (inst = 0; inst < path.length; inst++) fn(path[inst], \"bubbled\", arg);\n}\nfunction accumulateTwoPhaseDispatchesSingle(event) {\n event &&\n event.dispatchConfig.phasedRegistrationNames &&\n traverseTwoPhase(\n event._targetInst,\n accumulateDirectionalDispatches,\n event,\n !1\n );\n}\nfunction accumulateDirectDispatchesSingle(event) {\n if (event && event.dispatchConfig.registrationName) {\n var inst = event._targetInst;\n if (inst && event && event.dispatchConfig.registrationName) {\n var listener = getListener(inst, event.dispatchConfig.registrationName);\n listener &&\n ((event._dispatchListeners = accumulateInto(\n event._dispatchListeners,\n listener\n )),\n (event._dispatchInstances = accumulateInto(\n event._dispatchInstances,\n inst\n )));\n }\n }\n}\nif (eventPluginOrder)\n throw Error(\n \"EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.\"\n );\neventPluginOrder = Array.prototype.slice.call([\n \"ResponderEventPlugin\",\n \"ReactNativeBridgeEventPlugin\"\n]);\nrecomputePluginOrdering();\nvar injectedNamesToPlugins$jscomp$inline_288 = {\n ResponderEventPlugin: ResponderEventPlugin,\n ReactNativeBridgeEventPlugin: {\n eventTypes: {},\n extractEvents: function (\n topLevelType,\n targetInst,\n nativeEvent,\n nativeEventTarget\n ) {\n if (null == targetInst) return null;\n var bubbleDispatchConfig = customBubblingEventTypes[topLevelType],\n directDispatchConfig = customDirectEventTypes[topLevelType];\n if (!bubbleDispatchConfig && !directDispatchConfig)\n throw Error(\n 'Unsupported top level event type \"' + topLevelType + '\" dispatched'\n );\n topLevelType = SyntheticEvent.getPooled(\n bubbleDispatchConfig || directDispatchConfig,\n targetInst,\n nativeEvent,\n nativeEventTarget\n );\n if (bubbleDispatchConfig)\n null != topLevelType &&\n null != topLevelType.dispatchConfig.phasedRegistrationNames &&\n topLevelType.dispatchConfig.phasedRegistrationNames.skipBubbling\n ? topLevelType &&\n topLevelType.dispatchConfig.phasedRegistrationNames &&\n traverseTwoPhase(\n topLevelType._targetInst,\n accumulateDirectionalDispatches,\n topLevelType,\n !0\n )\n : forEachAccumulated(\n topLevelType,\n accumulateTwoPhaseDispatchesSingle\n );\n else if (directDispatchConfig)\n forEachAccumulated(topLevelType, accumulateDirectDispatchesSingle);\n else return null;\n return topLevelType;\n }\n }\n },\n isOrderingDirty$jscomp$inline_289 = !1,\n pluginName$jscomp$inline_290;\nfor (pluginName$jscomp$inline_290 in injectedNamesToPlugins$jscomp$inline_288)\n if (\n injectedNamesToPlugins$jscomp$inline_288.hasOwnProperty(\n pluginName$jscomp$inline_290\n )\n ) {\n var pluginModule$jscomp$inline_291 =\n injectedNamesToPlugins$jscomp$inline_288[pluginName$jscomp$inline_290];\n if (\n !namesToPlugins.hasOwnProperty(pluginName$jscomp$inline_290) ||\n namesToPlugins[pluginName$jscomp$inline_290] !==\n pluginModule$jscomp$inline_291\n ) {\n if (namesToPlugins[pluginName$jscomp$inline_290])\n throw Error(\n \"EventPluginRegistry: Cannot inject two different event plugins using the same name, `\" +\n (pluginName$jscomp$inline_290 + \"`.\")\n );\n namesToPlugins[pluginName$jscomp$inline_290] =\n pluginModule$jscomp$inline_291;\n isOrderingDirty$jscomp$inline_289 = !0;\n }\n }\nisOrderingDirty$jscomp$inline_289 && recomputePluginOrdering();\nvar instanceCache = new Map(),\n instanceProps = new Map();\nfunction getInstanceFromTag(tag) {\n return instanceCache.get(tag) || null;\n}\nfunction batchedUpdatesImpl(fn, bookkeeping) {\n return fn(bookkeeping);\n}\nvar isInsideEventHandler = !1;\nfunction batchedUpdates$1(fn, bookkeeping) {\n if (isInsideEventHandler) return fn(bookkeeping);\n isInsideEventHandler = !0;\n try {\n return batchedUpdatesImpl(fn, bookkeeping);\n } finally {\n isInsideEventHandler = !1;\n }\n}\nvar eventQueue = null;\nfunction executeDispatchesAndReleaseTopLevel(e) {\n if (e) {\n var dispatchListeners = e._dispatchListeners,\n dispatchInstances = e._dispatchInstances;\n if (isArrayImpl(dispatchListeners))\n for (\n var i = 0;\n i < dispatchListeners.length && !e.isPropagationStopped();\n i++\n )\n executeDispatch(e, dispatchListeners[i], dispatchInstances[i]);\n else\n dispatchListeners &&\n executeDispatch(e, dispatchListeners, dispatchInstances);\n e._dispatchListeners = null;\n e._dispatchInstances = null;\n e.isPersistent() || e.constructor.release(e);\n }\n}\nvar EMPTY_NATIVE_EVENT = {};\nfunction _receiveRootNodeIDEvent(rootNodeID, topLevelType, nativeEventParam) {\n var nativeEvent = nativeEventParam || EMPTY_NATIVE_EVENT,\n inst = getInstanceFromTag(rootNodeID),\n target = null;\n null != inst && (target = inst.stateNode);\n batchedUpdates$1(function () {\n var JSCompiler_inline_result = target;\n for (\n var events = null, legacyPlugins = plugins, i = 0;\n i < legacyPlugins.length;\n i++\n ) {\n var possiblePlugin = legacyPlugins[i];\n possiblePlugin &&\n (possiblePlugin = possiblePlugin.extractEvents(\n topLevelType,\n inst,\n nativeEvent,\n JSCompiler_inline_result\n )) &&\n (events = accumulateInto(events, possiblePlugin));\n }\n JSCompiler_inline_result = events;\n null !== JSCompiler_inline_result &&\n (eventQueue = accumulateInto(eventQueue, JSCompiler_inline_result));\n JSCompiler_inline_result = eventQueue;\n eventQueue = null;\n if (JSCompiler_inline_result) {\n forEachAccumulated(\n JSCompiler_inline_result,\n executeDispatchesAndReleaseTopLevel\n );\n if (eventQueue)\n throw Error(\n \"processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.\"\n );\n if (hasError)\n throw (\n ((JSCompiler_inline_result = caughtError),\n (hasError = !1),\n (caughtError = null),\n JSCompiler_inline_result)\n );\n }\n });\n}\nReactNativePrivateInterface.RCTEventEmitter.register({\n receiveEvent: function (rootNodeID, topLevelType, nativeEventParam) {\n _receiveRootNodeIDEvent(rootNodeID, topLevelType, nativeEventParam);\n },\n receiveTouches: function (eventTopLevelType, touches, changedIndices) {\n if (\n \"topTouchEnd\" === eventTopLevelType ||\n \"topTouchCancel\" === eventTopLevelType\n ) {\n var JSCompiler_temp = [];\n for (var i = 0; i < changedIndices.length; i++) {\n var index$4 = changedIndices[i];\n JSCompiler_temp.push(touches[index$4]);\n touches[index$4] = null;\n }\n for (i = changedIndices = 0; i < touches.length; i++)\n (index$4 = touches[i]),\n null !== index$4 && (touches[changedIndices++] = index$4);\n touches.length = changedIndices;\n } else\n for (JSCompiler_temp = [], i = 0; i < changedIndices.length; i++)\n JSCompiler_temp.push(touches[changedIndices[i]]);\n for (\n changedIndices = 0;\n changedIndices < JSCompiler_temp.length;\n changedIndices++\n ) {\n i = JSCompiler_temp[changedIndices];\n i.changedTouches = JSCompiler_temp;\n i.touches = touches;\n index$4 = null;\n var target = i.target;\n null === target || void 0 === target || 1 > target || (index$4 = target);\n _receiveRootNodeIDEvent(index$4, eventTopLevelType, i);\n }\n }\n});\ngetFiberCurrentPropsFromNode$1 = function (stateNode) {\n return instanceProps.get(stateNode._nativeTag) || null;\n};\ngetInstanceFromNode = getInstanceFromTag;\ngetNodeFromInstance = function (inst) {\n inst = inst.stateNode;\n var tag = inst._nativeTag;\n void 0 === tag &&\n null != inst.canonical &&\n ((tag = inst.canonical.nativeTag), (inst = inst.canonical.publicInstance));\n if (!tag) throw Error(\"All native instances should have a tag.\");\n return inst;\n};\nResponderEventPlugin.injection.injectGlobalResponderHandler({\n onChange: function (from, to, blockNativeResponder) {\n null !== to\n ? ReactNativePrivateInterface.UIManager.setJSResponder(\n to.stateNode._nativeTag,\n blockNativeResponder\n )\n : ReactNativePrivateInterface.UIManager.clearJSResponder();\n }\n});\nfunction getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return; ) node = node.return;\n else {\n fiber = node;\n do\n (node = fiber),\n 0 !== (node.flags & 4098) && (nearestMounted = node.return),\n (fiber = node.return);\n while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n}\nfunction assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber)\n throw Error(\"Unable to find node on an unmounted component.\");\n}\nfunction findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate)\n throw Error(\"Unable to find node on an unmounted component.\");\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate; ; ) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB; ) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(\"Unable to find node on an unmounted component.\");\n }\n if (a.return !== b.return) (a = parentA), (b = parentB);\n else {\n for (var didFindChild = !1, child$5 = parentA.child; child$5; ) {\n if (child$5 === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (child$5 === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n child$5 = child$5.sibling;\n }\n if (!didFindChild) {\n for (child$5 = parentB.child; child$5; ) {\n if (child$5 === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (child$5 === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n child$5 = child$5.sibling;\n }\n if (!didFindChild)\n throw Error(\n \"Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.\"\n );\n }\n }\n if (a.alternate !== b)\n throw Error(\n \"Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n if (3 !== a.tag)\n throw Error(\"Unable to find node on an unmounted component.\");\n return a.stateNode.current === a ? fiber : alternate;\n}\nfunction findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node; ) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n}\nvar emptyObject = {},\n removedKeys = null,\n removedKeyCount = 0,\n deepDifferOptions = { unsafelyIgnoreFunctions: !0 };\nfunction defaultDiffer(prevProp, nextProp) {\n return \"object\" !== typeof nextProp || null === nextProp\n ? !0\n : ReactNativePrivateInterface.deepDiffer(\n prevProp,\n nextProp,\n deepDifferOptions\n );\n}\nfunction restoreDeletedValuesInNestedArray(\n updatePayload,\n node,\n validAttributes\n) {\n if (isArrayImpl(node))\n for (var i = node.length; i-- && 0 < removedKeyCount; )\n restoreDeletedValuesInNestedArray(\n updatePayload,\n node[i],\n validAttributes\n );\n else if (node && 0 < removedKeyCount)\n for (i in removedKeys)\n if (removedKeys[i]) {\n var nextProp = node[i];\n if (void 0 !== nextProp) {\n var attributeConfig = validAttributes[i];\n if (attributeConfig) {\n \"function\" === typeof nextProp && (nextProp = !0);\n \"undefined\" === typeof nextProp && (nextProp = null);\n if (\"object\" !== typeof attributeConfig)\n updatePayload[i] = nextProp;\n else if (\n \"function\" === typeof attributeConfig.diff ||\n \"function\" === typeof attributeConfig.process\n )\n (nextProp =\n \"function\" === typeof attributeConfig.process\n ? attributeConfig.process(nextProp)\n : nextProp),\n (updatePayload[i] = nextProp);\n removedKeys[i] = !1;\n removedKeyCount--;\n }\n }\n }\n}\nfunction diffNestedProperty(\n updatePayload,\n prevProp,\n nextProp,\n validAttributes\n) {\n if (!updatePayload && prevProp === nextProp) return updatePayload;\n if (!prevProp || !nextProp)\n return nextProp\n ? addNestedProperty(updatePayload, nextProp, validAttributes)\n : prevProp\n ? clearNestedProperty(updatePayload, prevProp, validAttributes)\n : updatePayload;\n if (!isArrayImpl(prevProp) && !isArrayImpl(nextProp))\n return diffProperties(updatePayload, prevProp, nextProp, validAttributes);\n if (isArrayImpl(prevProp) && isArrayImpl(nextProp)) {\n var minLength =\n prevProp.length < nextProp.length ? prevProp.length : nextProp.length,\n i;\n for (i = 0; i < minLength; i++)\n updatePayload = diffNestedProperty(\n updatePayload,\n prevProp[i],\n nextProp[i],\n validAttributes\n );\n for (; i < prevProp.length; i++)\n updatePayload = clearNestedProperty(\n updatePayload,\n prevProp[i],\n validAttributes\n );\n for (; i < nextProp.length; i++)\n updatePayload = addNestedProperty(\n updatePayload,\n nextProp[i],\n validAttributes\n );\n return updatePayload;\n }\n return isArrayImpl(prevProp)\n ? diffProperties(\n updatePayload,\n ReactNativePrivateInterface.flattenStyle(prevProp),\n nextProp,\n validAttributes\n )\n : diffProperties(\n updatePayload,\n prevProp,\n ReactNativePrivateInterface.flattenStyle(nextProp),\n validAttributes\n );\n}\nfunction addNestedProperty(updatePayload, nextProp, validAttributes) {\n if (!nextProp) return updatePayload;\n if (!isArrayImpl(nextProp))\n return diffProperties(\n updatePayload,\n emptyObject,\n nextProp,\n validAttributes\n );\n for (var i = 0; i < nextProp.length; i++)\n updatePayload = addNestedProperty(\n updatePayload,\n nextProp[i],\n validAttributes\n );\n return updatePayload;\n}\nfunction clearNestedProperty(updatePayload, prevProp, validAttributes) {\n if (!prevProp) return updatePayload;\n if (!isArrayImpl(prevProp))\n return diffProperties(\n updatePayload,\n prevProp,\n emptyObject,\n validAttributes\n );\n for (var i = 0; i < prevProp.length; i++)\n updatePayload = clearNestedProperty(\n updatePayload,\n prevProp[i],\n validAttributes\n );\n return updatePayload;\n}\nfunction diffProperties(updatePayload, prevProps, nextProps, validAttributes) {\n var attributeConfig, propKey;\n for (propKey in nextProps)\n if ((attributeConfig = validAttributes[propKey])) {\n var prevProp = prevProps[propKey];\n var nextProp = nextProps[propKey];\n \"function\" === typeof nextProp &&\n ((nextProp = !0), \"function\" === typeof prevProp && (prevProp = !0));\n \"undefined\" === typeof nextProp &&\n ((nextProp = null),\n \"undefined\" === typeof prevProp && (prevProp = null));\n removedKeys && (removedKeys[propKey] = !1);\n if (updatePayload && void 0 !== updatePayload[propKey])\n if (\"object\" !== typeof attributeConfig)\n updatePayload[propKey] = nextProp;\n else {\n if (\n \"function\" === typeof attributeConfig.diff ||\n \"function\" === typeof attributeConfig.process\n )\n (attributeConfig =\n \"function\" === typeof attributeConfig.process\n ? attributeConfig.process(nextProp)\n : nextProp),\n (updatePayload[propKey] = attributeConfig);\n }\n else if (prevProp !== nextProp)\n if (\"object\" !== typeof attributeConfig)\n defaultDiffer(prevProp, nextProp) &&\n ((updatePayload || (updatePayload = {}))[propKey] = nextProp);\n else if (\n \"function\" === typeof attributeConfig.diff ||\n \"function\" === typeof attributeConfig.process\n ) {\n if (\n void 0 === prevProp ||\n (\"function\" === typeof attributeConfig.diff\n ? attributeConfig.diff(prevProp, nextProp)\n : defaultDiffer(prevProp, nextProp))\n )\n (attributeConfig =\n \"function\" === typeof attributeConfig.process\n ? attributeConfig.process(nextProp)\n : nextProp),\n ((updatePayload || (updatePayload = {}))[propKey] =\n attributeConfig);\n } else\n (removedKeys = null),\n (removedKeyCount = 0),\n (updatePayload = diffNestedProperty(\n updatePayload,\n prevProp,\n nextProp,\n attributeConfig\n )),\n 0 < removedKeyCount &&\n updatePayload &&\n (restoreDeletedValuesInNestedArray(\n updatePayload,\n nextProp,\n attributeConfig\n ),\n (removedKeys = null));\n }\n for (var propKey$7 in prevProps)\n void 0 === nextProps[propKey$7] &&\n (!(attributeConfig = validAttributes[propKey$7]) ||\n (updatePayload && void 0 !== updatePayload[propKey$7]) ||\n ((prevProp = prevProps[propKey$7]),\n void 0 !== prevProp &&\n (\"object\" !== typeof attributeConfig ||\n \"function\" === typeof attributeConfig.diff ||\n \"function\" === typeof attributeConfig.process\n ? (((updatePayload || (updatePayload = {}))[propKey$7] = null),\n removedKeys || (removedKeys = {}),\n removedKeys[propKey$7] ||\n ((removedKeys[propKey$7] = !0), removedKeyCount++))\n : (updatePayload = clearNestedProperty(\n updatePayload,\n prevProp,\n attributeConfig\n )))));\n return updatePayload;\n}\nfunction mountSafeCallback_NOT_REALLY_SAFE(context, callback) {\n return function () {\n if (\n callback &&\n (\"boolean\" !== typeof context.__isMounted || context.__isMounted)\n )\n return callback.apply(context, arguments);\n };\n}\nvar ReactNativeFiberHostComponent = (function () {\n function ReactNativeFiberHostComponent(tag, viewConfig) {\n this.viewConfig = this._internalFiberInstanceHandleDEV = void 0;\n this._nativeTag = tag;\n this._children = [];\n this.viewConfig = viewConfig;\n }\n var _proto = ReactNativeFiberHostComponent.prototype;\n _proto.blur = function () {\n ReactNativePrivateInterface.TextInputState.blurTextInput(this);\n };\n _proto.focus = function () {\n ReactNativePrivateInterface.TextInputState.focusTextInput(this);\n };\n _proto.measure = function (callback) {\n ReactNativePrivateInterface.UIManager.measure(\n this._nativeTag,\n mountSafeCallback_NOT_REALLY_SAFE(this, callback)\n );\n };\n _proto.measureInWindow = function (callback) {\n ReactNativePrivateInterface.UIManager.measureInWindow(\n this._nativeTag,\n mountSafeCallback_NOT_REALLY_SAFE(this, callback)\n );\n };\n _proto.measureLayout = function (relativeToNativeNode, onSuccess, onFail) {\n if (\"number\" === typeof relativeToNativeNode)\n var relativeNode = relativeToNativeNode;\n else\n relativeToNativeNode._nativeTag &&\n (relativeNode = relativeToNativeNode._nativeTag);\n null != relativeNode &&\n ReactNativePrivateInterface.UIManager.measureLayout(\n this._nativeTag,\n relativeNode,\n mountSafeCallback_NOT_REALLY_SAFE(this, onFail),\n mountSafeCallback_NOT_REALLY_SAFE(this, onSuccess)\n );\n };\n _proto.setNativeProps = function (nativeProps) {\n nativeProps = diffProperties(\n null,\n emptyObject,\n nativeProps,\n this.viewConfig.validAttributes\n );\n null != nativeProps &&\n ReactNativePrivateInterface.UIManager.updateView(\n this._nativeTag,\n this.viewConfig.uiViewClassName,\n nativeProps\n );\n };\n return ReactNativeFiberHostComponent;\n })(),\n scheduleCallback$3 = Scheduler.unstable_scheduleCallback,\n cancelCallback$1 = Scheduler.unstable_cancelCallback,\n shouldYield = Scheduler.unstable_shouldYield,\n requestPaint = Scheduler.unstable_requestPaint,\n now = Scheduler.unstable_now,\n ImmediatePriority = Scheduler.unstable_ImmediatePriority,\n UserBlockingPriority = Scheduler.unstable_UserBlockingPriority,\n NormalPriority$1 = Scheduler.unstable_NormalPriority,\n IdlePriority = Scheduler.unstable_IdlePriority,\n log$1 = Scheduler.log,\n unstable_setDisableYieldValue = Scheduler.unstable_setDisableYieldValue,\n rendererID = null,\n injectedHook = null;\nfunction onCommitRoot(root) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberRoot)\n try {\n injectedHook.onCommitFiberRoot(\n rendererID,\n root,\n void 0,\n 128 === (root.current.flags & 128)\n );\n } catch (err) {}\n}\nfunction setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode)\n try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {}\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nvar nextTransitionLane = 128,\n nextRetryLane = 4194304;\nfunction getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 4194176;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return lanes;\n }\n}\nfunction getNextLanes(root, wipLanes) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n warmLanes = root.warmLanes;\n root = 0 !== root.finishedLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes\n ? ((pendingLanes = nonIdlePendingLanes & ~suspendedLanes),\n 0 !== pendingLanes\n ? (nextLanes = getHighestPriorityLanes(pendingLanes))\n : ((pingedLanes &= nonIdlePendingLanes),\n 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : root ||\n ((warmLanes = nonIdlePendingLanes & ~warmLanes),\n 0 !== warmLanes &&\n (nextLanes = getHighestPriorityLanes(warmLanes)))))\n : ((nonIdlePendingLanes = pendingLanes & ~suspendedLanes),\n 0 !== nonIdlePendingLanes\n ? (nextLanes = getHighestPriorityLanes(nonIdlePendingLanes))\n : 0 !== pingedLanes\n ? (nextLanes = getHighestPriorityLanes(pingedLanes))\n : root ||\n ((warmLanes = pendingLanes & ~warmLanes),\n 0 !== warmLanes &&\n (nextLanes = getHighestPriorityLanes(warmLanes))));\n return 0 === nextLanes\n ? 0\n : 0 !== wipLanes &&\n wipLanes !== nextLanes &&\n 0 === (wipLanes & suspendedLanes) &&\n ((suspendedLanes = nextLanes & -nextLanes),\n (warmLanes = wipLanes & -wipLanes),\n suspendedLanes >= warmLanes ||\n (32 === suspendedLanes && 0 !== (warmLanes & 4194176)))\n ? wipLanes\n : nextLanes;\n}\nfunction checkIfRootIsPrerendering(root, renderLanes) {\n return (\n 0 ===\n (root.pendingLanes &\n ~(root.suspendedLanes & ~root.pingedLanes) &\n renderLanes)\n );\n}\nfunction computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n return currentTime + 250;\n case 16:\n case 32:\n case 64:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return -1;\n }\n}\nfunction claimNextTransitionLane() {\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n 0 === (nextTransitionLane & 4194176) && (nextTransitionLane = 128);\n return lane;\n}\nfunction claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n}\nfunction createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n}\nfunction markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane &&\n ((root.suspendedLanes = 0), (root.pingedLanes = 0), (root.warmLanes = 0));\n}\nfunction markRootFinished(\n root,\n finishedLanes,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (\n remainingLanes = previouslyPendingLanes & ~remainingLanes;\n 0 < remainingLanes;\n\n ) {\n var index$12 = 31 - clz32(remainingLanes),\n lane = 1 << index$12;\n entanglements[index$12] = 0;\n expirationTimes[index$12] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index$12];\n if (null !== hiddenUpdatesForLane)\n for (\n hiddenUpdates[index$12] = null, index$12 = 0;\n index$12 < hiddenUpdatesForLane.length;\n index$12++\n ) {\n var update = hiddenUpdatesForLane[index$12];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes &&\n 0 === updatedLanes &&\n (root.suspendedLanes |=\n suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n}\nfunction markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] =\n root.entanglements[spawnedLaneIndex] |\n 1073741824 |\n (entangledLanes & 4194218);\n}\nfunction markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = (root.entangledLanes |= entangledLanes);\n for (root = root.entanglements; rootEntangledLanes; ) {\n var index$13 = 31 - clz32(rootEntangledLanes),\n lane = 1 << index$13;\n (lane & entangledLanes) | (root[index$13] & entangledLanes) &&\n (root[index$13] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n}\nfunction lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 2 < lanes\n ? 8 < lanes\n ? 0 !== (lanes & 134217727)\n ? 32\n : 268435456\n : 8\n : 2;\n}\nfunction getInspectorDataForInstance() {\n throw Error(\"getInspectorDataForInstance() is not available in production\");\n}\nfunction shim$1() {\n throw Error(\n \"The current renderer does not support hydration. This error is likely caused by a bug in React. Please file an issue.\"\n );\n}\nfunction shim() {\n throw Error(\n \"The current renderer does not support Resources. This error is likely caused by a bug in React. Please file an issue.\"\n );\n}\nvar extraDevToolsConfig = {\n getInspectorDataForInstance: getInspectorDataForInstance,\n getInspectorDataForViewTag: function () {\n throw Error(\n \"getInspectorDataForViewTag() is not available in production\"\n );\n },\n getInspectorDataForViewAtPoint: function () {\n throw Error(\n \"getInspectorDataForViewAtPoint() is not available in production.\"\n );\n }\n },\n getViewConfigForType =\n ReactNativePrivateInterface.ReactNativeViewConfigRegistry.get,\n nextReactTag = 3;\nfunction allocateTag() {\n var tag = nextReactTag;\n 1 === tag % 10 && (tag += 2);\n nextReactTag = tag + 2;\n return tag;\n}\nfunction recursivelyUncacheFiberNode(node) {\n if (\"number\" === typeof node)\n instanceCache.delete(node), instanceProps.delete(node);\n else {\n var tag = node._nativeTag;\n instanceCache.delete(tag);\n instanceProps.delete(tag);\n node._children.forEach(recursivelyUncacheFiberNode);\n }\n}\nfunction finalizeInitialChildren(parentInstance) {\n if (0 === parentInstance._children.length) return !1;\n var nativeTags = parentInstance._children.map(function (child) {\n return \"number\" === typeof child ? child : child._nativeTag;\n });\n ReactNativePrivateInterface.UIManager.setChildren(\n parentInstance._nativeTag,\n nativeTags\n );\n return !1;\n}\nfunction getPublicInstance(instance) {\n return null != instance.canonical && null != instance.canonical.publicInstance\n ? instance.canonical.publicInstance\n : instance;\n}\nvar scheduleTimeout = setTimeout,\n cancelTimeout = clearTimeout,\n currentUpdatePriority = 0,\n HostTransitionContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Provider: null,\n Consumer: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n },\n valueStack = [],\n index = -1;\nfunction createCursor(defaultValue) {\n return { current: defaultValue };\n}\nfunction pop(cursor) {\n 0 > index ||\n ((cursor.current = valueStack[index]), (valueStack[index] = null), index--);\n}\nfunction push(cursor, value) {\n index++;\n valueStack[index] = cursor.current;\n cursor.current = value;\n}\nvar emptyContextObject = {};\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n CapturedStacks = new WeakMap();\nfunction createCapturedValueAtFiber(value, source) {\n if (\"object\" === typeof value && null !== value) {\n var existing = CapturedStacks.get(value);\n if (void 0 !== existing) return existing;\n source = {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n CapturedStacks.set(value, source);\n return source;\n }\n return {\n value: value,\n source: source,\n stack: getStackByFiberInDevAndProd(source)\n };\n}\nvar contextStackCursor = createCursor(null),\n contextFiberStackCursor = createCursor(null),\n rootInstanceStackCursor = createCursor(null),\n hostTransitionProviderCursor = createCursor(null);\nfunction pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance);\n push(contextFiberStackCursor, fiber);\n push(contextStackCursor, null);\n pop(contextStackCursor);\n push(contextStackCursor, { isInAParentText: !1 });\n}\nfunction popHostContainer() {\n pop(contextStackCursor);\n pop(contextFiberStackCursor);\n pop(rootInstanceStackCursor);\n}\nfunction pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber);\n var context = contextStackCursor.current;\n var JSCompiler_inline_result = fiber.type;\n JSCompiler_inline_result =\n \"AndroidTextInput\" === JSCompiler_inline_result ||\n \"RCTMultilineTextInputView\" === JSCompiler_inline_result ||\n \"RCTSinglelineTextInputView\" === JSCompiler_inline_result ||\n \"RCTText\" === JSCompiler_inline_result ||\n \"RCTVirtualText\" === JSCompiler_inline_result;\n JSCompiler_inline_result =\n context.isInAParentText !== JSCompiler_inline_result\n ? { isInAParentText: JSCompiler_inline_result }\n : context;\n context !== JSCompiler_inline_result &&\n (push(contextFiberStackCursor, fiber),\n push(contextStackCursor, JSCompiler_inline_result));\n}\nfunction popHostContext(fiber) {\n contextFiberStackCursor.current === fiber &&\n (pop(contextStackCursor), pop(contextFiberStackCursor));\n hostTransitionProviderCursor.current === fiber &&\n (pop(hostTransitionProviderCursor),\n (HostTransitionContext._currentValue = null));\n}\nvar hydrationErrors = null,\n concurrentQueues = [],\n concurrentQueuesIndex = 0,\n concurrentlyUpdatedLanes = 0;\nfunction finishQueueingConcurrentUpdates() {\n for (\n var endIndex = concurrentQueuesIndex,\n i = (concurrentlyUpdatedLanes = concurrentQueuesIndex = 0);\n i < endIndex;\n\n ) {\n var fiber = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var queue = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var update = concurrentQueues[i];\n concurrentQueues[i++] = null;\n var lane = concurrentQueues[i];\n concurrentQueues[i++] = null;\n if (null !== queue && null !== update) {\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n }\n 0 !== lane && markUpdateLaneFromFiberToRoot(fiber, update, lane);\n }\n}\nfunction enqueueUpdate$1(fiber, queue, update, lane) {\n concurrentQueues[concurrentQueuesIndex++] = fiber;\n concurrentQueues[concurrentQueuesIndex++] = queue;\n concurrentQueues[concurrentQueuesIndex++] = update;\n concurrentQueues[concurrentQueuesIndex++] = lane;\n concurrentlyUpdatedLanes |= lane;\n fiber.lanes |= lane;\n fiber = fiber.alternate;\n null !== fiber && (fiber.lanes |= lane);\n}\nfunction enqueueConcurrentHookUpdate(fiber, queue, update, lane) {\n enqueueUpdate$1(fiber, queue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction enqueueConcurrentRenderForLane(fiber, lane) {\n enqueueUpdate$1(fiber, null, null, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction markUpdateLaneFromFiberToRoot(sourceFiber, update, lane) {\n sourceFiber.lanes |= lane;\n var alternate = sourceFiber.alternate;\n null !== alternate && (alternate.lanes |= lane);\n for (var isHidden = !1, parent = sourceFiber.return; null !== parent; )\n (parent.childLanes |= lane),\n (alternate = parent.alternate),\n null !== alternate && (alternate.childLanes |= lane),\n 22 === parent.tag &&\n ((sourceFiber = parent.stateNode),\n null === sourceFiber || sourceFiber._visibility & 1 || (isHidden = !0)),\n (sourceFiber = parent),\n (parent = parent.return);\n isHidden &&\n null !== update &&\n 3 === sourceFiber.tag &&\n ((parent = sourceFiber.stateNode),\n (isHidden = 31 - clz32(lane)),\n (parent = parent.hiddenUpdates),\n (sourceFiber = parent[isHidden]),\n null === sourceFiber\n ? (parent[isHidden] = [update])\n : sourceFiber.push(update),\n (update.lane = lane | 536870912));\n}\nfunction getRootForUpdatedFiber(sourceFiber) {\n if (50 < nestedUpdateCount)\n throw (\n ((nestedUpdateCount = 0),\n (rootWithNestedUpdates = null),\n Error(\n \"Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.\"\n ))\n );\n for (var parent = sourceFiber.return; null !== parent; )\n (sourceFiber = parent), (parent = sourceFiber.return);\n return 3 === sourceFiber.tag ? sourceFiber.stateNode : null;\n}\nvar firstScheduledRoot = null,\n lastScheduledRoot = null,\n didScheduleMicrotask = !1,\n mightHavePendingSyncWork = !1,\n isFlushingWork = !1,\n currentEventTransitionLane = 0;\nfunction ensureRootIsScheduled(root) {\n root !== lastScheduledRoot &&\n null === root.next &&\n (null === lastScheduledRoot\n ? (firstScheduledRoot = lastScheduledRoot = root)\n : (lastScheduledRoot = lastScheduledRoot.next = root));\n mightHavePendingSyncWork = !0;\n didScheduleMicrotask ||\n ((didScheduleMicrotask = !0),\n scheduleCallback$3(ImmediatePriority, processRootScheduleInMicrotask));\n}\nfunction flushSyncWorkAcrossRoots_impl(syncTransitionLanes, onlyLegacy) {\n if (!isFlushingWork && mightHavePendingSyncWork) {\n isFlushingWork = !0;\n do {\n var didPerformSomeWork = !1;\n for (var root = firstScheduledRoot; null !== root; ) {\n if (!onlyLegacy || 0 === root.tag)\n if (0 !== syncTransitionLanes) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) var JSCompiler_inline_result = 0;\n else {\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes;\n JSCompiler_inline_result =\n (1 << (31 - clz32(42 | syncTransitionLanes) + 1)) - 1;\n JSCompiler_inline_result &=\n pendingLanes & ~(suspendedLanes & ~pingedLanes);\n JSCompiler_inline_result =\n JSCompiler_inline_result & 201326677\n ? (JSCompiler_inline_result & 201326677) | 1\n : JSCompiler_inline_result\n ? JSCompiler_inline_result | 2\n : 0;\n }\n 0 !== JSCompiler_inline_result &&\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root, JSCompiler_inline_result));\n } else\n (JSCompiler_inline_result = workInProgressRootRenderLanes),\n (JSCompiler_inline_result = getNextLanes(\n root,\n root === workInProgressRoot ? JSCompiler_inline_result : 0\n )),\n 0 === (JSCompiler_inline_result & 3) ||\n checkIfRootIsPrerendering(root, JSCompiler_inline_result) ||\n ((didPerformSomeWork = !0),\n performSyncWorkOnRoot(root, JSCompiler_inline_result));\n root = root.next;\n }\n } while (didPerformSomeWork);\n isFlushingWork = !1;\n }\n}\nfunction processRootScheduleInMicrotask() {\n mightHavePendingSyncWork = didScheduleMicrotask = !1;\n 0 !== currentEventTransitionLane && (currentEventTransitionLane = 0);\n for (\n var currentTime = now(), prev = null, root = firstScheduledRoot;\n null !== root;\n\n ) {\n var next = root.next,\n nextLanes = scheduleTaskForRootDuringMicrotask(root, currentTime);\n 0 === nextLanes\n ? ((root.next = null),\n null === prev ? (firstScheduledRoot = next) : (prev.next = next),\n null === next && (lastScheduledRoot = prev))\n : ((prev = root),\n 0 !== (nextLanes & 3) && (mightHavePendingSyncWork = !0));\n root = next;\n }\n flushSyncWorkAcrossRoots_impl(0, !1);\n}\nfunction scheduleTaskForRootDuringMicrotask(root, currentTime) {\n for (\n var suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n expirationTimes = root.expirationTimes,\n lanes = root.pendingLanes & -62914561;\n 0 < lanes;\n\n ) {\n var index$10 = 31 - clz32(lanes),\n lane = 1 << index$10,\n expirationTime = expirationTimes[index$10];\n if (-1 === expirationTime) {\n if (0 === (lane & suspendedLanes) || 0 !== (lane & pingedLanes))\n expirationTimes[index$10] = computeExpirationTime(lane, currentTime);\n } else expirationTime <= currentTime && (root.expiredLanes |= lane);\n lanes &= ~lane;\n }\n currentTime = workInProgressRoot;\n suspendedLanes = workInProgressRootRenderLanes;\n suspendedLanes = getNextLanes(\n root,\n root === currentTime ? suspendedLanes : 0\n );\n pingedLanes = root.callbackNode;\n if (\n 0 === suspendedLanes ||\n (root === currentTime && 2 === workInProgressSuspendedReason) ||\n null !== root.cancelPendingCommit\n )\n return (\n null !== pingedLanes &&\n null !== pingedLanes &&\n cancelCallback$1(pingedLanes),\n (root.callbackNode = null),\n (root.callbackPriority = 0)\n );\n if (\n 0 === (suspendedLanes & 3) ||\n checkIfRootIsPrerendering(root, suspendedLanes)\n ) {\n currentTime = suspendedLanes & -suspendedLanes;\n if (currentTime === root.callbackPriority) return currentTime;\n null !== pingedLanes && cancelCallback$1(pingedLanes);\n switch (lanesToEventPriority(suspendedLanes)) {\n case 2:\n case 8:\n suspendedLanes = UserBlockingPriority;\n break;\n case 32:\n suspendedLanes = NormalPriority$1;\n break;\n case 268435456:\n suspendedLanes = IdlePriority;\n break;\n default:\n suspendedLanes = NormalPriority$1;\n }\n pingedLanes = performWorkOnRootViaSchedulerTask.bind(null, root);\n suspendedLanes = scheduleCallback$3(suspendedLanes, pingedLanes);\n root.callbackPriority = currentTime;\n root.callbackNode = suspendedLanes;\n return currentTime;\n }\n null !== pingedLanes && null !== pingedLanes && cancelCallback$1(pingedLanes);\n root.callbackPriority = 2;\n root.callbackNode = null;\n return 2;\n}\nfunction performWorkOnRootViaSchedulerTask(root, didTimeout) {\n var originalCallbackNode = root.callbackNode;\n if (flushPassiveEffects() && root.callbackNode !== originalCallbackNode)\n return null;\n var workInProgressRootRenderLanes$jscomp$0 = workInProgressRootRenderLanes;\n workInProgressRootRenderLanes$jscomp$0 = getNextLanes(\n root,\n root === workInProgressRoot ? workInProgressRootRenderLanes$jscomp$0 : 0\n );\n if (0 === workInProgressRootRenderLanes$jscomp$0) return null;\n performWorkOnRoot(root, workInProgressRootRenderLanes$jscomp$0, didTimeout);\n scheduleTaskForRootDuringMicrotask(root, now());\n return null != root.callbackNode && root.callbackNode === originalCallbackNode\n ? performWorkOnRootViaSchedulerTask.bind(null, root)\n : null;\n}\nfunction performSyncWorkOnRoot(root, lanes) {\n if (flushPassiveEffects()) return null;\n performWorkOnRoot(root, lanes, !0);\n}\nfunction requestTransitionLane() {\n 0 === currentEventTransitionLane &&\n (currentEventTransitionLane = claimNextTransitionLane());\n return currentEventTransitionLane;\n}\nvar currentEntangledListeners = null,\n currentEntangledPendingCount = 0,\n currentEntangledLane = 0,\n currentEntangledActionThenable = null;\nfunction entangleAsyncAction(transition, thenable) {\n if (null === currentEntangledListeners) {\n var entangledListeners = (currentEntangledListeners = []);\n currentEntangledPendingCount = 0;\n currentEntangledLane = requestTransitionLane();\n currentEntangledActionThenable = {\n status: \"pending\",\n value: void 0,\n then: function (resolve) {\n entangledListeners.push(resolve);\n }\n };\n }\n currentEntangledPendingCount++;\n thenable.then(pingEngtangledActionScope, pingEngtangledActionScope);\n return thenable;\n}\nfunction pingEngtangledActionScope() {\n if (\n 0 === --currentEntangledPendingCount &&\n null !== currentEntangledListeners\n ) {\n null !== currentEntangledActionThenable &&\n (currentEntangledActionThenable.status = \"fulfilled\");\n var listeners = currentEntangledListeners;\n currentEntangledListeners = null;\n currentEntangledLane = 0;\n currentEntangledActionThenable = null;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])();\n }\n}\nfunction chainThenableValue(thenable, result) {\n var listeners = [],\n thenableWithOverride = {\n status: \"pending\",\n value: null,\n reason: null,\n then: function (resolve) {\n listeners.push(resolve);\n }\n };\n thenable.then(\n function () {\n thenableWithOverride.status = \"fulfilled\";\n thenableWithOverride.value = result;\n for (var i = 0; i < listeners.length; i++) (0, listeners[i])(result);\n },\n function (error) {\n thenableWithOverride.status = \"rejected\";\n thenableWithOverride.reason = error;\n for (error = 0; error < listeners.length; error++)\n (0, listeners[error])(void 0);\n }\n );\n return thenableWithOverride;\n}\nvar hasForceUpdate = !1;\nfunction initializeUpdateQueue(fiber) {\n fiber.updateQueue = {\n baseState: fiber.memoizedState,\n firstBaseUpdate: null,\n lastBaseUpdate: null,\n shared: { pending: null, lanes: 0, hiddenCallbacks: null },\n callbacks: null\n };\n}\nfunction cloneUpdateQueue(current, workInProgress) {\n current = current.updateQueue;\n workInProgress.updateQueue === current &&\n (workInProgress.updateQueue = {\n baseState: current.baseState,\n firstBaseUpdate: current.firstBaseUpdate,\n lastBaseUpdate: current.lastBaseUpdate,\n shared: current.shared,\n callbacks: null\n });\n}\nfunction createUpdate(lane) {\n return { lane: lane, tag: 0, payload: null, callback: null, next: null };\n}\nfunction enqueueUpdate(fiber, update, lane) {\n var updateQueue = fiber.updateQueue;\n if (null === updateQueue) return null;\n updateQueue = updateQueue.shared;\n if (0 !== (executionContext & 2)) {\n var pending = updateQueue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n updateQueue.pending = update;\n update = getRootForUpdatedFiber(fiber);\n markUpdateLaneFromFiberToRoot(fiber, null, lane);\n return update;\n }\n enqueueUpdate$1(fiber, updateQueue, update, lane);\n return getRootForUpdatedFiber(fiber);\n}\nfunction entangleTransitions(root, fiber, lane) {\n fiber = fiber.updateQueue;\n if (null !== fiber && ((fiber = fiber.shared), 0 !== (lane & 4194176))) {\n var queueLanes = fiber.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n fiber.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nfunction enqueueCapturedUpdate(workInProgress, capturedUpdate) {\n var queue = workInProgress.updateQueue,\n current = workInProgress.alternate;\n if (\n null !== current &&\n ((current = current.updateQueue), queue === current)\n ) {\n var newFirst = null,\n newLast = null;\n queue = queue.firstBaseUpdate;\n if (null !== queue) {\n do {\n var clone = {\n lane: queue.lane,\n tag: queue.tag,\n payload: queue.payload,\n callback: null,\n next: null\n };\n null === newLast\n ? (newFirst = newLast = clone)\n : (newLast = newLast.next = clone);\n queue = queue.next;\n } while (null !== queue);\n null === newLast\n ? (newFirst = newLast = capturedUpdate)\n : (newLast = newLast.next = capturedUpdate);\n } else newFirst = newLast = capturedUpdate;\n queue = {\n baseState: current.baseState,\n firstBaseUpdate: newFirst,\n lastBaseUpdate: newLast,\n shared: current.shared,\n callbacks: current.callbacks\n };\n workInProgress.updateQueue = queue;\n return;\n }\n workInProgress = queue.lastBaseUpdate;\n null === workInProgress\n ? (queue.firstBaseUpdate = capturedUpdate)\n : (workInProgress.next = capturedUpdate);\n queue.lastBaseUpdate = capturedUpdate;\n}\nvar didReadFromEntangledAsyncAction = !1;\nfunction suspendIfUpdateReadFromEntangledAsyncAction() {\n if (didReadFromEntangledAsyncAction) {\n var entangledActionThenable = currentEntangledActionThenable;\n if (null !== entangledActionThenable) throw entangledActionThenable;\n }\n}\nfunction processUpdateQueue(\n workInProgress$jscomp$0,\n props,\n instance$jscomp$0,\n renderLanes\n) {\n didReadFromEntangledAsyncAction = !1;\n var queue = workInProgress$jscomp$0.updateQueue;\n hasForceUpdate = !1;\n var firstBaseUpdate = queue.firstBaseUpdate,\n lastBaseUpdate = queue.lastBaseUpdate,\n pendingQueue = queue.shared.pending;\n if (null !== pendingQueue) {\n queue.shared.pending = null;\n var lastPendingUpdate = pendingQueue,\n firstPendingUpdate = lastPendingUpdate.next;\n lastPendingUpdate.next = null;\n null === lastBaseUpdate\n ? (firstBaseUpdate = firstPendingUpdate)\n : (lastBaseUpdate.next = firstPendingUpdate);\n lastBaseUpdate = lastPendingUpdate;\n var current = workInProgress$jscomp$0.alternate;\n null !== current &&\n ((current = current.updateQueue),\n (pendingQueue = current.lastBaseUpdate),\n pendingQueue !== lastBaseUpdate &&\n (null === pendingQueue\n ? (current.firstBaseUpdate = firstPendingUpdate)\n : (pendingQueue.next = firstPendingUpdate),\n (current.lastBaseUpdate = lastPendingUpdate)));\n }\n if (null !== firstBaseUpdate) {\n var newState = queue.baseState;\n lastBaseUpdate = 0;\n current = firstPendingUpdate = lastPendingUpdate = null;\n pendingQueue = firstBaseUpdate;\n do {\n var updateLane = pendingQueue.lane & -536870913,\n isHiddenUpdate = updateLane !== pendingQueue.lane;\n if (\n isHiddenUpdate\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n 0 !== updateLane &&\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction = !0);\n null !== current &&\n (current = current.next =\n {\n lane: 0,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: null,\n next: null\n });\n a: {\n var workInProgress = workInProgress$jscomp$0,\n update = pendingQueue;\n updateLane = props;\n var instance = instance$jscomp$0;\n switch (update.tag) {\n case 1:\n workInProgress = update.payload;\n if (\"function\" === typeof workInProgress) {\n newState = workInProgress.call(instance, newState, updateLane);\n break a;\n }\n newState = workInProgress;\n break a;\n case 3:\n workInProgress.flags = (workInProgress.flags & -65537) | 128;\n case 0:\n workInProgress = update.payload;\n updateLane =\n \"function\" === typeof workInProgress\n ? workInProgress.call(instance, newState, updateLane)\n : workInProgress;\n if (null === updateLane || void 0 === updateLane) break a;\n newState = assign({}, newState, updateLane);\n break a;\n case 2:\n hasForceUpdate = !0;\n }\n }\n updateLane = pendingQueue.callback;\n null !== updateLane &&\n ((workInProgress$jscomp$0.flags |= 64),\n isHiddenUpdate && (workInProgress$jscomp$0.flags |= 8192),\n (isHiddenUpdate = queue.callbacks),\n null === isHiddenUpdate\n ? (queue.callbacks = [updateLane])\n : isHiddenUpdate.push(updateLane));\n } else\n (isHiddenUpdate = {\n lane: updateLane,\n tag: pendingQueue.tag,\n payload: pendingQueue.payload,\n callback: pendingQueue.callback,\n next: null\n }),\n null === current\n ? ((firstPendingUpdate = current = isHiddenUpdate),\n (lastPendingUpdate = newState))\n : (current = current.next = isHiddenUpdate),\n (lastBaseUpdate |= updateLane);\n pendingQueue = pendingQueue.next;\n if (null === pendingQueue)\n if (((pendingQueue = queue.shared.pending), null === pendingQueue))\n break;\n else\n (isHiddenUpdate = pendingQueue),\n (pendingQueue = isHiddenUpdate.next),\n (isHiddenUpdate.next = null),\n (queue.lastBaseUpdate = isHiddenUpdate),\n (queue.shared.pending = null);\n } while (1);\n null === current && (lastPendingUpdate = newState);\n queue.baseState = lastPendingUpdate;\n queue.firstBaseUpdate = firstPendingUpdate;\n queue.lastBaseUpdate = current;\n null === firstBaseUpdate && (queue.shared.lanes = 0);\n workInProgressRootSkippedLanes |= lastBaseUpdate;\n workInProgress$jscomp$0.lanes = lastBaseUpdate;\n workInProgress$jscomp$0.memoizedState = newState;\n }\n}\nfunction callCallback(callback, context) {\n if (\"function\" !== typeof callback)\n throw Error(\n \"Invalid argument passed as callback. Expected a function. Instead received: \" +\n callback\n );\n callback.call(context);\n}\nfunction commitCallbacks(updateQueue, context) {\n var callbacks = updateQueue.callbacks;\n if (null !== callbacks)\n for (\n updateQueue.callbacks = null, updateQueue = 0;\n updateQueue < callbacks.length;\n updateQueue++\n )\n callCallback(callbacks[updateQueue], context);\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction shallowEqual(objA, objB) {\n if (objectIs(objA, objB)) return !0;\n if (\n \"object\" !== typeof objA ||\n null === objA ||\n \"object\" !== typeof objB ||\n null === objB\n )\n return !1;\n var keysA = Object.keys(objA),\n keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return !1;\n for (keysB = 0; keysB < keysA.length; keysB++) {\n var currentKey = keysA[keysB];\n if (\n !hasOwnProperty.call(objB, currentKey) ||\n !objectIs(objA[currentKey], objB[currentKey])\n )\n return !1;\n }\n return !0;\n}\nvar SuspenseException = Error(\n \"Suspense Exception: This is not a real error! It's an implementation detail of `use` to interrupt the current render. You must either rethrow it immediately, or move the `use` call outside of the `try/catch` block. Capturing without rethrowing will lead to unexpected behavior.\\n\\nTo handle async errors, wrap your component in an error boundary, or call the promise's `.catch` method and pass the result to `use`\"\n ),\n SuspenseyCommitException = Error(\n \"Suspense Exception: This is not a real error, and should not leak into userspace. If you're seeing this, it's likely a bug in React.\"\n ),\n noopSuspenseyCommitThenable = { then: function () {} };\nfunction isThenableResolved(thenable) {\n thenable = thenable.status;\n return \"fulfilled\" === thenable || \"rejected\" === thenable;\n}\nfunction noop() {}\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop, noop), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n default:\n if (\"string\" === typeof thenable.status) thenable.then(noop, noop);\n else {\n thenableState = workInProgressRoot;\n if (null !== thenableState && 100 < thenableState.shellSuspendCounter)\n throw Error(\n \"async/await is not yet supported in Client Components, only Server Components. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.\"\n );\n thenableState = thenable;\n thenableState.status = \"pending\";\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n );\n }\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw (\n ((thenableState = thenable.reason),\n checkIfUseWrappedInAsyncCatch(thenableState),\n thenableState)\n );\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable)\n throw Error(\n \"Expected a suspended thenable. This is a bug in React. Please file an issue.\"\n );\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction checkIfUseWrappedInAsyncCatch(rejectedReason) {\n if (rejectedReason === SuspenseException)\n throw Error(\n \"Hooks are not supported inside an async component. This error is often caused by accidentally adding `'use client'` to a module that was originally written for the server.\"\n );\n}\nvar thenableState$1 = null,\n thenableIndexCounter$1 = 0;\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter$1;\n thenableIndexCounter$1 += 1;\n null === thenableState$1 && (thenableState$1 = []);\n return trackUsedThenable(thenableState$1, thenable, index);\n}\nfunction coerceRef(workInProgress, element) {\n element = element.props.ref;\n workInProgress.ref = void 0 !== element ? element : null;\n}\nfunction throwOnInvalidObjectType(returnFiber, newChild) {\n if (newChild.$$typeof === REACT_LEGACY_ELEMENT_TYPE)\n throw Error(\n 'A React Element from an older version of React was rendered. This is not supported. It can happen if:\\n- Multiple copies of the \"react\" package is used.\\n- A library pre-bundled an old copy of \"react\" or \"react/jsx-runtime\".\\n- A compiler tries to \"inline\" JSX instead of using the runtime.'\n );\n returnFiber = Object.prototype.toString.call(newChild);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === returnFiber\n ? \"object with keys {\" + Object.keys(newChild).join(\", \") + \"}\"\n : returnFiber) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n}\nfunction resolveLazy(lazyType) {\n var init = lazyType._init;\n return init(lazyType._payload);\n}\nfunction createChildReconciler(shouldTrackSideEffects) {\n function deleteChild(returnFiber, childToDelete) {\n if (shouldTrackSideEffects) {\n var deletions = returnFiber.deletions;\n null === deletions\n ? ((returnFiber.deletions = [childToDelete]), (returnFiber.flags |= 16))\n : deletions.push(childToDelete);\n }\n }\n function deleteRemainingChildren(returnFiber, currentFirstChild) {\n if (!shouldTrackSideEffects) return null;\n for (; null !== currentFirstChild; )\n deleteChild(returnFiber, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return null;\n }\n function mapRemainingChildren(currentFirstChild) {\n for (var existingChildren = new Map(); null !== currentFirstChild; )\n null !== currentFirstChild.key\n ? existingChildren.set(currentFirstChild.key, currentFirstChild)\n : existingChildren.set(currentFirstChild.index, currentFirstChild),\n (currentFirstChild = currentFirstChild.sibling);\n return existingChildren;\n }\n function useFiber(fiber, pendingProps) {\n fiber = createWorkInProgress(fiber, pendingProps);\n fiber.index = 0;\n fiber.sibling = null;\n return fiber;\n }\n function placeChild(newFiber, lastPlacedIndex, newIndex) {\n newFiber.index = newIndex;\n if (!shouldTrackSideEffects)\n return (newFiber.flags |= 1048576), lastPlacedIndex;\n newIndex = newFiber.alternate;\n if (null !== newIndex)\n return (\n (newIndex = newIndex.index),\n newIndex < lastPlacedIndex\n ? ((newFiber.flags |= 33554434), lastPlacedIndex)\n : newIndex\n );\n newFiber.flags |= 33554434;\n return lastPlacedIndex;\n }\n function placeSingleChild(newFiber) {\n shouldTrackSideEffects &&\n null === newFiber.alternate &&\n (newFiber.flags |= 33554434);\n return newFiber;\n }\n function updateTextNode(returnFiber, current, textContent, lanes) {\n if (null === current || 6 !== current.tag)\n return (\n (current = createFiberFromText(textContent, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, textContent);\n current.return = returnFiber;\n return current;\n }\n function updateElement(returnFiber, current, element, lanes) {\n var elementType = element.type;\n if (elementType === REACT_FRAGMENT_TYPE)\n return updateFragment(\n returnFiber,\n current,\n element.props.children,\n lanes,\n element.key\n );\n if (\n null !== current &&\n (current.elementType === elementType ||\n (\"object\" === typeof elementType &&\n null !== elementType &&\n elementType.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(elementType) === current.type))\n )\n return (\n (current = useFiber(current, element.props)),\n coerceRef(current, element),\n (current.return = returnFiber),\n current\n );\n current = createFiberFromTypeAndProps(\n element.type,\n element.key,\n element.props,\n null,\n returnFiber.mode,\n lanes\n );\n coerceRef(current, element);\n current.return = returnFiber;\n return current;\n }\n function updatePortal(returnFiber, current, portal, lanes) {\n if (\n null === current ||\n 4 !== current.tag ||\n current.stateNode.containerInfo !== portal.containerInfo ||\n current.stateNode.implementation !== portal.implementation\n )\n return (\n (current = createFiberFromPortal(portal, returnFiber.mode, lanes)),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, portal.children || []);\n current.return = returnFiber;\n return current;\n }\n function updateFragment(returnFiber, current, fragment, lanes, key) {\n if (null === current || 7 !== current.tag)\n return (\n (current = createFiberFromFragment(\n fragment,\n returnFiber.mode,\n lanes,\n key\n )),\n (current.return = returnFiber),\n current\n );\n current = useFiber(current, fragment);\n current.return = returnFiber;\n return current;\n }\n function createChild(returnFiber, newChild, lanes) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (newChild = createFiberFromText(\n \"\" + newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n lanes\n );\n case REACT_PORTAL_TYPE:\n return (\n (newChild = createFiberFromPortal(\n newChild,\n returnFiber.mode,\n lanes\n )),\n (newChild.return = returnFiber),\n newChild\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return createChild(returnFiber, newChild, lanes);\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (newChild = createFiberFromFragment(\n newChild,\n returnFiber.mode,\n lanes,\n null\n )),\n (newChild.return = returnFiber),\n newChild\n );\n if (\"function\" === typeof newChild.then)\n return createChild(returnFiber, unwrapThenable(newChild), lanes);\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return createChild(\n returnFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateSlot(returnFiber, oldFiber, newChild, lanes) {\n var key = null !== oldFiber ? oldFiber.key : null;\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return null !== key\n ? null\n : updateTextNode(returnFiber, oldFiber, \"\" + newChild, lanes);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return newChild.key === key\n ? updateElement(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_PORTAL_TYPE:\n return newChild.key === key\n ? updatePortal(returnFiber, oldFiber, newChild, lanes)\n : null;\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n updateSlot(returnFiber, oldFiber, newChild, lanes)\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return null !== key\n ? null\n : updateFragment(returnFiber, oldFiber, newChild, lanes, null);\n if (\"function\" === typeof newChild.then)\n return updateSlot(\n returnFiber,\n oldFiber,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateSlot(\n returnFiber,\n oldFiber,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n ) {\n if (\n (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n )\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateTextNode(returnFiber, existingChildren, \"\" + newChild, lanes)\n );\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updateElement(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_PORTAL_TYPE:\n return (\n (existingChildren =\n existingChildren.get(\n null === newChild.key ? newIdx : newChild.key\n ) || null),\n updatePortal(returnFiber, existingChildren, newChild, lanes)\n );\n case REACT_LAZY_TYPE:\n var init = newChild._init;\n newChild = init(newChild._payload);\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n newChild,\n lanes\n );\n }\n if (isArrayImpl(newChild) || getIteratorFn(newChild))\n return (\n (existingChildren = existingChildren.get(newIdx) || null),\n updateFragment(returnFiber, existingChildren, newChild, lanes, null)\n );\n if (\"function\" === typeof newChild.then)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return updateFromMap(\n existingChildren,\n returnFiber,\n newIdx,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return null;\n }\n function reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null;\n null !== oldFiber && newIdx < newChildren.length;\n newIdx++\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(\n returnFiber,\n oldFiber,\n newChildren[newIdx],\n lanes\n );\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (newIdx === newChildren.length)\n return (\n deleteRemainingChildren(returnFiber, oldFiber), resultingFirstChild\n );\n if (null === oldFiber) {\n for (; newIdx < newChildren.length; newIdx++)\n (oldFiber = createChild(returnFiber, newChildren[newIdx], lanes)),\n null !== oldFiber &&\n ((currentFirstChild = placeChild(\n oldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = oldFiber)\n : (previousNewFiber.sibling = oldFiber),\n (previousNewFiber = oldFiber));\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n newIdx < newChildren.length;\n newIdx++\n )\n (nextOldFiber = updateFromMap(\n oldFiber,\n returnFiber,\n newIdx,\n newChildren[newIdx],\n lanes\n )),\n null !== nextOldFiber &&\n (shouldTrackSideEffects &&\n null !== nextOldFiber.alternate &&\n oldFiber.delete(\n null === nextOldFiber.key ? newIdx : nextOldFiber.key\n ),\n (currentFirstChild = placeChild(\n nextOldFiber,\n currentFirstChild,\n newIdx\n )),\n null === previousNewFiber\n ? (resultingFirstChild = nextOldFiber)\n : (previousNewFiber.sibling = nextOldFiber),\n (previousNewFiber = nextOldFiber));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n return resultingFirstChild;\n }\n function reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChildren,\n lanes\n ) {\n if (null == newChildren)\n throw Error(\"An iterable object provided no iterator.\");\n for (\n var resultingFirstChild = null,\n previousNewFiber = null,\n oldFiber = currentFirstChild,\n newIdx = (currentFirstChild = 0),\n nextOldFiber = null,\n step = newChildren.next();\n null !== oldFiber && !step.done;\n newIdx++, step = newChildren.next()\n ) {\n oldFiber.index > newIdx\n ? ((nextOldFiber = oldFiber), (oldFiber = null))\n : (nextOldFiber = oldFiber.sibling);\n var newFiber = updateSlot(returnFiber, oldFiber, step.value, lanes);\n if (null === newFiber) {\n null === oldFiber && (oldFiber = nextOldFiber);\n break;\n }\n shouldTrackSideEffects &&\n oldFiber &&\n null === newFiber.alternate &&\n deleteChild(returnFiber, oldFiber);\n currentFirstChild = placeChild(newFiber, currentFirstChild, newIdx);\n null === previousNewFiber\n ? (resultingFirstChild = newFiber)\n : (previousNewFiber.sibling = newFiber);\n previousNewFiber = newFiber;\n oldFiber = nextOldFiber;\n }\n if (step.done)\n return (\n deleteRemainingChildren(returnFiber, oldFiber), resultingFirstChild\n );\n if (null === oldFiber) {\n for (; !step.done; newIdx++, step = newChildren.next())\n (step = createChild(returnFiber, step.value, lanes)),\n null !== step &&\n ((currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n return resultingFirstChild;\n }\n for (\n oldFiber = mapRemainingChildren(oldFiber);\n !step.done;\n newIdx++, step = newChildren.next()\n )\n (step = updateFromMap(oldFiber, returnFiber, newIdx, step.value, lanes)),\n null !== step &&\n (shouldTrackSideEffects &&\n null !== step.alternate &&\n oldFiber.delete(null === step.key ? newIdx : step.key),\n (currentFirstChild = placeChild(step, currentFirstChild, newIdx)),\n null === previousNewFiber\n ? (resultingFirstChild = step)\n : (previousNewFiber.sibling = step),\n (previousNewFiber = step));\n shouldTrackSideEffects &&\n oldFiber.forEach(function (child) {\n return deleteChild(returnFiber, child);\n });\n return resultingFirstChild;\n }\n function reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n ) {\n \"object\" === typeof newChild &&\n null !== newChild &&\n newChild.type === REACT_FRAGMENT_TYPE &&\n null === newChild.key &&\n (newChild = newChild.props.children);\n if (\"object\" === typeof newChild && null !== newChild) {\n switch (newChild.$$typeof) {\n case REACT_ELEMENT_TYPE:\n a: {\n for (var key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key) {\n key = newChild.type;\n if (key === REACT_FRAGMENT_TYPE) {\n if (7 === currentFirstChild.tag) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(\n currentFirstChild,\n newChild.props.children\n );\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n } else if (\n currentFirstChild.elementType === key ||\n (\"object\" === typeof key &&\n null !== key &&\n key.$$typeof === REACT_LAZY_TYPE &&\n resolveLazy(key) === currentFirstChild.type)\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.props);\n coerceRef(lanes, newChild);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n }\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n } else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n newChild.type === REACT_FRAGMENT_TYPE\n ? ((lanes = createFiberFromFragment(\n newChild.props.children,\n returnFiber.mode,\n lanes,\n newChild.key\n )),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : ((lanes = createFiberFromTypeAndProps(\n newChild.type,\n newChild.key,\n newChild.props,\n null,\n returnFiber.mode,\n lanes\n )),\n coerceRef(lanes, newChild),\n (lanes.return = returnFiber),\n (returnFiber = lanes));\n }\n return placeSingleChild(returnFiber);\n case REACT_PORTAL_TYPE:\n a: {\n for (key = newChild.key; null !== currentFirstChild; ) {\n if (currentFirstChild.key === key)\n if (\n 4 === currentFirstChild.tag &&\n currentFirstChild.stateNode.containerInfo ===\n newChild.containerInfo &&\n currentFirstChild.stateNode.implementation ===\n newChild.implementation\n ) {\n deleteRemainingChildren(\n returnFiber,\n currentFirstChild.sibling\n );\n lanes = useFiber(currentFirstChild, newChild.children || []);\n lanes.return = returnFiber;\n returnFiber = lanes;\n break a;\n } else {\n deleteRemainingChildren(returnFiber, currentFirstChild);\n break;\n }\n else deleteChild(returnFiber, currentFirstChild);\n currentFirstChild = currentFirstChild.sibling;\n }\n lanes = createFiberFromPortal(newChild, returnFiber.mode, lanes);\n lanes.return = returnFiber;\n returnFiber = lanes;\n }\n return placeSingleChild(returnFiber);\n case REACT_LAZY_TYPE:\n return (\n (key = newChild._init),\n (newChild = key(newChild._payload)),\n reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n )\n );\n }\n if (isArrayImpl(newChild))\n return reconcileChildrenArray(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n if (getIteratorFn(newChild)) {\n key = getIteratorFn(newChild);\n if (\"function\" !== typeof key)\n throw Error(\n \"An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.\"\n );\n newChild = key.call(newChild);\n return reconcileChildrenIterator(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n }\n if (\"function\" === typeof newChild.then)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n unwrapThenable(newChild),\n lanes\n );\n if (newChild.$$typeof === REACT_CONTEXT_TYPE)\n return reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n readContextDuringReconciliation(returnFiber, newChild),\n lanes\n );\n throwOnInvalidObjectType(returnFiber, newChild);\n }\n return (\"string\" === typeof newChild && \"\" !== newChild) ||\n \"number\" === typeof newChild ||\n \"bigint\" === typeof newChild\n ? ((newChild = \"\" + newChild),\n null !== currentFirstChild && 6 === currentFirstChild.tag\n ? (deleteRemainingChildren(returnFiber, currentFirstChild.sibling),\n (lanes = useFiber(currentFirstChild, newChild)),\n (lanes.return = returnFiber),\n (returnFiber = lanes))\n : (deleteRemainingChildren(returnFiber, currentFirstChild),\n (lanes = createFiberFromText(newChild, returnFiber.mode, lanes)),\n (lanes.return = returnFiber),\n (returnFiber = lanes)),\n placeSingleChild(returnFiber))\n : deleteRemainingChildren(returnFiber, currentFirstChild);\n }\n return function (returnFiber, currentFirstChild, newChild, lanes) {\n try {\n thenableIndexCounter$1 = 0;\n var firstChildFiber = reconcileChildFibersImpl(\n returnFiber,\n currentFirstChild,\n newChild,\n lanes\n );\n thenableState$1 = null;\n return firstChildFiber;\n } catch (x) {\n if (\n x === SuspenseException ||\n (0 === (returnFiber.mode & 1) &&\n \"object\" === typeof x &&\n null !== x &&\n \"function\" === typeof x.then)\n )\n throw x;\n var fiber = createFiberImplClass(29, x, null, returnFiber.mode);\n fiber.lanes = lanes;\n fiber.return = returnFiber;\n return fiber;\n } finally {\n }\n };\n}\nvar reconcileChildFibers = createChildReconciler(!0),\n mountChildFibers = createChildReconciler(!1),\n currentTreeHiddenStackCursor = createCursor(null),\n prevEntangledRenderLanesCursor = createCursor(0);\nfunction pushHiddenContext(fiber, context) {\n fiber = entangledRenderLanes;\n push(prevEntangledRenderLanesCursor, fiber);\n push(currentTreeHiddenStackCursor, context);\n entangledRenderLanes = fiber | context.baseLanes;\n}\nfunction reuseHiddenContextOnStack() {\n push(prevEntangledRenderLanesCursor, entangledRenderLanes);\n push(currentTreeHiddenStackCursor, currentTreeHiddenStackCursor.current);\n}\nfunction popHiddenContext() {\n entangledRenderLanes = prevEntangledRenderLanesCursor.current;\n pop(currentTreeHiddenStackCursor);\n pop(prevEntangledRenderLanesCursor);\n}\nvar suspenseHandlerStackCursor = createCursor(null),\n shellBoundary = null;\nfunction pushPrimaryTreeSuspenseHandler(handler) {\n var current = handler.alternate;\n push(suspenseStackCursor, suspenseStackCursor.current & 1);\n push(suspenseHandlerStackCursor, handler);\n null === shellBoundary &&\n (null === current || null !== currentTreeHiddenStackCursor.current\n ? (shellBoundary = handler)\n : null !== current.memoizedState && (shellBoundary = handler));\n}\nfunction pushOffscreenSuspenseHandler(fiber) {\n if (22 === fiber.tag) {\n if (\n (push(suspenseStackCursor, suspenseStackCursor.current),\n push(suspenseHandlerStackCursor, fiber),\n null === shellBoundary)\n ) {\n var current = fiber.alternate;\n null !== current &&\n null !== current.memoizedState &&\n (shellBoundary = fiber);\n }\n } else reuseSuspenseHandlerOnStack(fiber);\n}\nfunction reuseSuspenseHandlerOnStack() {\n push(suspenseStackCursor, suspenseStackCursor.current);\n push(suspenseHandlerStackCursor, suspenseHandlerStackCursor.current);\n}\nfunction popSuspenseHandler(fiber) {\n pop(suspenseHandlerStackCursor);\n shellBoundary === fiber && (shellBoundary = null);\n pop(suspenseStackCursor);\n}\nvar suspenseStackCursor = createCursor(0);\nfunction findFirstSuspended(row) {\n for (var node = row; null !== node; ) {\n if (13 === node.tag) {\n var state = node.memoizedState;\n if (null !== state && (null === state.dehydrated || shim$1() || shim$1()))\n return node;\n } else if (19 === node.tag && void 0 !== node.memoizedProps.revealOrder) {\n if (0 !== (node.flags & 128)) return node;\n } else if (null !== node.child) {\n node.child.return = node;\n node = node.child;\n continue;\n }\n if (node === row) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === row) return null;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n return null;\n}\nvar renderLanes = 0,\n currentlyRenderingFiber$1 = null,\n currentHook = null,\n workInProgressHook = null,\n didScheduleRenderPhaseUpdate = !1,\n didScheduleRenderPhaseUpdateDuringThisPass = !1,\n shouldDoubleInvokeUserFnsInHooksDEV = !1,\n thenableIndexCounter = 0,\n thenableState = null,\n globalClientIdCounter = 0;\nfunction throwInvalidHookError() {\n throw Error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n}\nfunction areHookInputsEqual(nextDeps, prevDeps) {\n if (null === prevDeps) return !1;\n for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++)\n if (!objectIs(nextDeps[i], prevDeps[i])) return !1;\n return !0;\n}\nfunction renderWithHooks(\n current,\n workInProgress,\n Component,\n props,\n secondArg,\n nextRenderLanes\n) {\n renderLanes = nextRenderLanes;\n currentlyRenderingFiber$1 = workInProgress;\n workInProgress.memoizedState = null;\n workInProgress.updateQueue = null;\n workInProgress.lanes = 0;\n ReactSharedInternals.H =\n null === current || null === current.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate;\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n nextRenderLanes = Component(props, secondArg);\n shouldDoubleInvokeUserFnsInHooksDEV = !1;\n didScheduleRenderPhaseUpdateDuringThisPass &&\n (nextRenderLanes = renderWithHooksAgain(\n workInProgress,\n Component,\n props,\n secondArg\n ));\n finishRenderingHooks(current);\n return nextRenderLanes;\n}\nfunction finishRenderingHooks(current) {\n ReactSharedInternals.H = ContextOnlyDispatcher;\n var didRenderTooFewHooks = null !== currentHook && null !== currentHook.next;\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;\n didScheduleRenderPhaseUpdate = !1;\n thenableIndexCounter = 0;\n thenableState = null;\n if (didRenderTooFewHooks)\n throw Error(\n \"Rendered fewer hooks than expected. This may be caused by an accidental early return statement.\"\n );\n null === current ||\n didReceiveUpdate ||\n ((current = current.dependencies),\n null !== current &&\n checkIfContextChanged(current) &&\n (didReceiveUpdate = !0));\n}\nfunction renderWithHooksAgain(workInProgress, Component, props, secondArg) {\n currentlyRenderingFiber$1 = workInProgress;\n var numberOfReRenders = 0;\n do {\n didScheduleRenderPhaseUpdateDuringThisPass && (thenableState = null);\n thenableIndexCounter = 0;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n if (25 <= numberOfReRenders)\n throw Error(\n \"Too many re-renders. React limits the number of renders to prevent an infinite loop.\"\n );\n numberOfReRenders += 1;\n workInProgressHook = currentHook = null;\n if (null != workInProgress.updateQueue) {\n var children = workInProgress.updateQueue;\n children.lastEffect = null;\n children.events = null;\n children.stores = null;\n null != children.memoCache && (children.memoCache.index = 0);\n }\n ReactSharedInternals.H = HooksDispatcherOnRerender;\n children = Component(props, secondArg);\n } while (didScheduleRenderPhaseUpdateDuringThisPass);\n return children;\n}\nfunction TransitionAwareHostComponent() {\n var dispatcher = ReactSharedInternals.H,\n maybeThenable = dispatcher.useState()[0];\n maybeThenable =\n \"function\" === typeof maybeThenable.then\n ? useThenable(maybeThenable)\n : maybeThenable;\n dispatcher = dispatcher.useState()[0];\n (null !== currentHook ? currentHook.memoizedState : null) !== dispatcher &&\n (currentlyRenderingFiber$1.flags |= 1024);\n return maybeThenable;\n}\nfunction bailoutHooks(current, workInProgress, lanes) {\n workInProgress.updateQueue = current.updateQueue;\n workInProgress.flags &= -2053;\n current.lanes &= ~lanes;\n}\nfunction resetHooksOnUnwind(workInProgress) {\n if (didScheduleRenderPhaseUpdate) {\n for (\n workInProgress = workInProgress.memoizedState;\n null !== workInProgress;\n\n ) {\n var queue = workInProgress.queue;\n null !== queue && (queue.pending = null);\n workInProgress = workInProgress.next;\n }\n didScheduleRenderPhaseUpdate = !1;\n }\n renderLanes = 0;\n workInProgressHook = currentHook = currentlyRenderingFiber$1 = null;\n didScheduleRenderPhaseUpdateDuringThisPass = !1;\n thenableIndexCounter = 0;\n thenableState = null;\n}\nfunction mountWorkInProgressHook() {\n var hook = {\n memoizedState: null,\n baseState: null,\n baseQueue: null,\n queue: null,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber$1.memoizedState = workInProgressHook = hook)\n : (workInProgressHook = workInProgressHook.next = hook);\n return workInProgressHook;\n}\nfunction updateWorkInProgressHook() {\n if (null === currentHook) {\n var nextCurrentHook = currentlyRenderingFiber$1.alternate;\n nextCurrentHook =\n null !== nextCurrentHook ? nextCurrentHook.memoizedState : null;\n } else nextCurrentHook = currentHook.next;\n var nextWorkInProgressHook =\n null === workInProgressHook\n ? currentlyRenderingFiber$1.memoizedState\n : workInProgressHook.next;\n if (null !== nextWorkInProgressHook)\n (workInProgressHook = nextWorkInProgressHook),\n (currentHook = nextCurrentHook);\n else {\n if (null === nextCurrentHook) {\n if (null === currentlyRenderingFiber$1.alternate)\n throw Error(\n \"Update hook called on initial render. This is likely a bug in React. Please file an issue.\"\n );\n throw Error(\"Rendered more hooks than during the previous render.\");\n }\n currentHook = nextCurrentHook;\n nextCurrentHook = {\n memoizedState: currentHook.memoizedState,\n baseState: currentHook.baseState,\n baseQueue: currentHook.baseQueue,\n queue: currentHook.queue,\n next: null\n };\n null === workInProgressHook\n ? (currentlyRenderingFiber$1.memoizedState = workInProgressHook =\n nextCurrentHook)\n : (workInProgressHook = workInProgressHook.next = nextCurrentHook);\n }\n return workInProgressHook;\n}\nvar createFunctionComponentUpdateQueue;\ncreateFunctionComponentUpdateQueue = function () {\n return { lastEffect: null, events: null, stores: null, memoCache: null };\n};\nfunction useThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n thenable = trackUsedThenable(thenableState, thenable, index);\n index = currentlyRenderingFiber$1;\n null ===\n (null === workInProgressHook\n ? index.memoizedState\n : workInProgressHook.next) &&\n ((index = index.alternate),\n (ReactSharedInternals.H =\n null === index || null === index.memoizedState\n ? HooksDispatcherOnMount\n : HooksDispatcherOnUpdate));\n return thenable;\n}\nfunction use(usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return useThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return readContext(usable);\n }\n throw Error(\"An unsupported type was passed to use(): \" + String(usable));\n}\nfunction useMemoCache(size) {\n var memoCache = null,\n updateQueue = currentlyRenderingFiber$1.updateQueue;\n null !== updateQueue && (memoCache = updateQueue.memoCache);\n if (null == memoCache) {\n var current = currentlyRenderingFiber$1.alternate;\n null !== current &&\n ((current = current.updateQueue),\n null !== current &&\n ((current = current.memoCache),\n null != current &&\n (memoCache = {\n data: current.data.map(function (array) {\n return array.slice();\n }),\n index: 0\n })));\n }\n null == memoCache && (memoCache = { data: [], index: 0 });\n null === updateQueue &&\n ((updateQueue = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber$1.updateQueue = updateQueue));\n updateQueue.memoCache = memoCache;\n updateQueue = memoCache.data[memoCache.index];\n if (void 0 === updateQueue)\n for (\n updateQueue = memoCache.data[memoCache.index] = Array(size), current = 0;\n current < size;\n current++\n )\n updateQueue[current] = REACT_MEMO_CACHE_SENTINEL;\n memoCache.index++;\n return updateQueue;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction updateReducer(reducer) {\n var hook = updateWorkInProgressHook();\n return updateReducerImpl(hook, currentHook, reducer);\n}\nfunction updateReducerImpl(hook, current, reducer) {\n var queue = hook.queue;\n if (null === queue)\n throw Error(\n \"Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)\"\n );\n queue.lastRenderedReducer = reducer;\n var baseQueue = hook.baseQueue,\n pendingQueue = queue.pending;\n if (null !== pendingQueue) {\n if (null !== baseQueue) {\n var baseFirst = baseQueue.next;\n baseQueue.next = pendingQueue.next;\n pendingQueue.next = baseFirst;\n }\n current.baseQueue = baseQueue = pendingQueue;\n queue.pending = null;\n }\n pendingQueue = hook.baseState;\n if (null === baseQueue) hook.memoizedState = pendingQueue;\n else {\n current = baseQueue.next;\n var newBaseQueueFirst = (baseFirst = null),\n newBaseQueueLast = null,\n update = current,\n didReadFromEntangledAsyncAction$47 = !1;\n do {\n var updateLane = update.lane & -536870913;\n if (\n updateLane !== update.lane\n ? (workInProgressRootRenderLanes & updateLane) === updateLane\n : (renderLanes & updateLane) === updateLane\n ) {\n var revertLane = update.revertLane;\n if (0 === revertLane)\n null !== newBaseQueueLast &&\n (newBaseQueueLast = newBaseQueueLast.next =\n {\n lane: 0,\n revertLane: 0,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n updateLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$47 = !0);\n else if ((renderLanes & revertLane) === revertLane) {\n update = update.next;\n revertLane === currentEntangledLane &&\n (didReadFromEntangledAsyncAction$47 = !0);\n continue;\n } else\n (updateLane = {\n lane: 0,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = updateLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = updateLane),\n (currentlyRenderingFiber$1.lanes |= revertLane),\n (workInProgressRootSkippedLanes |= revertLane);\n updateLane = update.action;\n shouldDoubleInvokeUserFnsInHooksDEV &&\n reducer(pendingQueue, updateLane);\n pendingQueue = update.hasEagerState\n ? update.eagerState\n : reducer(pendingQueue, updateLane);\n } else\n (revertLane = {\n lane: updateLane,\n revertLane: update.revertLane,\n action: update.action,\n hasEagerState: update.hasEagerState,\n eagerState: update.eagerState,\n next: null\n }),\n null === newBaseQueueLast\n ? ((newBaseQueueFirst = newBaseQueueLast = revertLane),\n (baseFirst = pendingQueue))\n : (newBaseQueueLast = newBaseQueueLast.next = revertLane),\n (currentlyRenderingFiber$1.lanes |= updateLane),\n (workInProgressRootSkippedLanes |= updateLane);\n update = update.next;\n } while (null !== update && update !== current);\n null === newBaseQueueLast\n ? (baseFirst = pendingQueue)\n : (newBaseQueueLast.next = newBaseQueueFirst);\n if (\n !objectIs(pendingQueue, hook.memoizedState) &&\n ((didReceiveUpdate = !0),\n didReadFromEntangledAsyncAction$47 &&\n ((reducer = currentEntangledActionThenable), null !== reducer))\n )\n throw reducer;\n hook.memoizedState = pendingQueue;\n hook.baseState = baseFirst;\n hook.baseQueue = newBaseQueueLast;\n queue.lastRenderedState = pendingQueue;\n }\n null === baseQueue && (queue.lanes = 0);\n return [hook.memoizedState, queue.dispatch];\n}\nfunction rerenderReducer(reducer) {\n var hook = updateWorkInProgressHook(),\n queue = hook.queue;\n if (null === queue)\n throw Error(\n \"Should have a queue. You are likely calling Hooks conditionally, which is not allowed. (https://react.dev/link/invalid-hook-call)\"\n );\n queue.lastRenderedReducer = reducer;\n var dispatch = queue.dispatch,\n lastRenderPhaseUpdate = queue.pending,\n newState = hook.memoizedState;\n if (null !== lastRenderPhaseUpdate) {\n queue.pending = null;\n var update = (lastRenderPhaseUpdate = lastRenderPhaseUpdate.next);\n do (newState = reducer(newState, update.action)), (update = update.next);\n while (update !== lastRenderPhaseUpdate);\n objectIs(newState, hook.memoizedState) || (didReceiveUpdate = !0);\n hook.memoizedState = newState;\n null === hook.baseQueue && (hook.baseState = newState);\n queue.lastRenderedState = newState;\n }\n return [newState, dispatch];\n}\nfunction updateSyncExternalStore(subscribe, getSnapshot) {\n var fiber = currentlyRenderingFiber$1,\n hook = updateWorkInProgressHook();\n var nextSnapshot = getSnapshot();\n var snapshotChanged = !objectIs(\n (currentHook || hook).memoizedState,\n nextSnapshot\n );\n snapshotChanged &&\n ((hook.memoizedState = nextSnapshot), (didReceiveUpdate = !0));\n hook = hook.queue;\n updateEffect(subscribeToStore.bind(null, fiber, hook, subscribe), [\n subscribe\n ]);\n if (\n hook.getSnapshot !== getSnapshot ||\n snapshotChanged ||\n (null !== workInProgressHook && workInProgressHook.memoizedState.tag & 1)\n ) {\n fiber.flags |= 2048;\n pushEffect(\n 9,\n updateStoreInstance.bind(null, fiber, hook, nextSnapshot, getSnapshot),\n { destroy: void 0 },\n null\n );\n if (null === workInProgressRoot)\n throw Error(\n \"Expected a work-in-progress root. This is a bug in React. Please file an issue.\"\n );\n 0 !== (renderLanes & 60) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n }\n return nextSnapshot;\n}\nfunction pushStoreConsistencyCheck(fiber, getSnapshot, renderedSnapshot) {\n fiber.flags |= 16384;\n fiber = { getSnapshot: getSnapshot, value: renderedSnapshot };\n getSnapshot = currentlyRenderingFiber$1.updateQueue;\n null === getSnapshot\n ? ((getSnapshot = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber$1.updateQueue = getSnapshot),\n (getSnapshot.stores = [fiber]))\n : ((renderedSnapshot = getSnapshot.stores),\n null === renderedSnapshot\n ? (getSnapshot.stores = [fiber])\n : renderedSnapshot.push(fiber));\n}\nfunction updateStoreInstance(fiber, inst, nextSnapshot, getSnapshot) {\n inst.value = nextSnapshot;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n}\nfunction subscribeToStore(fiber, inst, subscribe) {\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceStoreRerender(fiber);\n });\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction forceStoreRerender(fiber) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root && scheduleUpdateOnFiber(root, fiber, 2);\n}\nfunction mountStateImpl(initialState) {\n var hook = mountWorkInProgressHook();\n if (\"function\" === typeof initialState) {\n var initialStateInitializer = initialState;\n initialState = initialStateInitializer();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n initialStateInitializer();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n }\n hook.memoizedState = hook.baseState = initialState;\n hook.queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: basicStateReducer,\n lastRenderedState: initialState\n };\n return hook;\n}\nfunction updateOptimisticImpl(hook, current, passthrough, reducer) {\n hook.baseState = passthrough;\n return updateReducerImpl(\n hook,\n currentHook,\n \"function\" === typeof reducer ? reducer : basicStateReducer\n );\n}\nfunction dispatchActionState(\n fiber,\n actionQueue,\n setPendingState,\n setState,\n payload\n) {\n if (isRenderPhaseUpdate(fiber))\n throw Error(\"Cannot update form state while rendering.\");\n fiber = actionQueue.action;\n if (null !== fiber) {\n var actionNode = {\n payload: payload,\n action: fiber,\n next: null,\n isTransition: !0,\n status: \"pending\",\n value: null,\n reason: null,\n listeners: [],\n then: function (listener) {\n actionNode.listeners.push(listener);\n }\n };\n null !== ReactSharedInternals.T\n ? setPendingState(!0)\n : (actionNode.isTransition = !1);\n setState(actionNode);\n setPendingState = actionQueue.pending;\n null === setPendingState\n ? ((actionNode.next = actionQueue.pending = actionNode),\n runActionStateAction(actionQueue, actionNode))\n : ((actionNode.next = setPendingState.next),\n (actionQueue.pending = setPendingState.next = actionNode));\n }\n}\nfunction runActionStateAction(actionQueue, node) {\n var action = node.action,\n payload = node.payload,\n prevState = actionQueue.state;\n if (node.isTransition) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n try {\n var returnValue = action(prevState, payload),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n handleActionReturnValue(actionQueue, node, returnValue);\n } catch (error) {\n onActionError(actionQueue, node, error);\n } finally {\n ReactSharedInternals.T = prevTransition;\n }\n } else\n try {\n (prevTransition = action(prevState, payload)),\n handleActionReturnValue(actionQueue, node, prevTransition);\n } catch (error$51) {\n onActionError(actionQueue, node, error$51);\n }\n}\nfunction handleActionReturnValue(actionQueue, node, returnValue) {\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ? returnValue.then(\n function (nextState) {\n onActionSuccess(actionQueue, node, nextState);\n },\n function (error) {\n return onActionError(actionQueue, node, error);\n }\n )\n : onActionSuccess(actionQueue, node, returnValue);\n}\nfunction onActionSuccess(actionQueue, actionNode, nextState) {\n actionNode.status = \"fulfilled\";\n actionNode.value = nextState;\n notifyActionListeners(actionNode);\n actionQueue.state = nextState;\n actionNode = actionQueue.pending;\n null !== actionNode &&\n ((nextState = actionNode.next),\n nextState === actionNode\n ? (actionQueue.pending = null)\n : ((nextState = nextState.next),\n (actionNode.next = nextState),\n runActionStateAction(actionQueue, nextState)));\n}\nfunction onActionError(actionQueue, actionNode, error) {\n var last = actionQueue.pending;\n actionQueue.pending = null;\n if (null !== last) {\n last = last.next;\n do\n (actionNode.status = \"rejected\"),\n (actionNode.reason = error),\n notifyActionListeners(actionNode),\n (actionNode = actionNode.next);\n while (actionNode !== last);\n }\n actionQueue.action = null;\n}\nfunction notifyActionListeners(actionNode) {\n actionNode = actionNode.listeners;\n for (var i = 0; i < actionNode.length; i++) (0, actionNode[i])();\n}\nfunction actionStateReducer(oldState, newState) {\n return newState;\n}\nfunction mountActionState(action, initialStateProp) {\n var stateHook = mountWorkInProgressHook();\n stateHook.memoizedState = stateHook.baseState = initialStateProp;\n var stateQueue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: actionStateReducer,\n lastRenderedState: initialStateProp\n };\n stateHook.queue = stateQueue;\n stateHook = dispatchSetState.bind(\n null,\n currentlyRenderingFiber$1,\n stateQueue\n );\n stateQueue.dispatch = stateHook;\n stateQueue = mountStateImpl(!1);\n var setPendingState = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber$1,\n !1,\n stateQueue.queue\n );\n stateQueue = mountWorkInProgressHook();\n var actionQueue = {\n state: initialStateProp,\n dispatch: null,\n action: action,\n pending: null\n };\n stateQueue.queue = actionQueue;\n stateHook = dispatchActionState.bind(\n null,\n currentlyRenderingFiber$1,\n actionQueue,\n setPendingState,\n stateHook\n );\n actionQueue.dispatch = stateHook;\n stateQueue.memoizedState = action;\n return [initialStateProp, stateHook, !1];\n}\nfunction updateActionState(action) {\n var stateHook = updateWorkInProgressHook();\n return updateActionStateImpl(stateHook, currentHook, action);\n}\nfunction updateActionStateImpl(stateHook, currentStateHook, action) {\n currentStateHook = updateReducerImpl(\n stateHook,\n currentStateHook,\n actionStateReducer\n )[0];\n stateHook = updateReducer(basicStateReducer)[0];\n currentStateHook =\n \"object\" === typeof currentStateHook &&\n null !== currentStateHook &&\n \"function\" === typeof currentStateHook.then\n ? useThenable(currentStateHook)\n : currentStateHook;\n var actionQueueHook = updateWorkInProgressHook(),\n actionQueue = actionQueueHook.queue,\n dispatch = actionQueue.dispatch;\n action !== actionQueueHook.memoizedState &&\n ((currentlyRenderingFiber$1.flags |= 2048),\n pushEffect(\n 9,\n actionStateActionEffect.bind(null, actionQueue, action),\n { destroy: void 0 },\n null\n ));\n return [currentStateHook, dispatch, stateHook];\n}\nfunction actionStateActionEffect(actionQueue, action) {\n actionQueue.action = action;\n}\nfunction rerenderActionState(action) {\n var stateHook = updateWorkInProgressHook(),\n currentStateHook = currentHook;\n if (null !== currentStateHook)\n return updateActionStateImpl(stateHook, currentStateHook, action);\n updateWorkInProgressHook();\n stateHook = stateHook.memoizedState;\n currentStateHook = updateWorkInProgressHook();\n var dispatch = currentStateHook.queue.dispatch;\n currentStateHook.memoizedState = action;\n return [stateHook, dispatch, !1];\n}\nfunction pushEffect(tag, create, inst, deps) {\n tag = { tag: tag, create: create, inst: inst, deps: deps, next: null };\n create = currentlyRenderingFiber$1.updateQueue;\n null === create &&\n ((create = createFunctionComponentUpdateQueue()),\n (currentlyRenderingFiber$1.updateQueue = create));\n inst = create.lastEffect;\n null === inst\n ? (create.lastEffect = tag.next = tag)\n : ((deps = inst.next),\n (inst.next = tag),\n (tag.next = deps),\n (create.lastEffect = tag));\n return tag;\n}\nfunction updateRef() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction mountEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = mountWorkInProgressHook();\n currentlyRenderingFiber$1.flags |= fiberFlags;\n hook.memoizedState = pushEffect(\n 1 | hookFlags,\n create,\n { destroy: void 0 },\n void 0 === deps ? null : deps\n );\n}\nfunction updateEffectImpl(fiberFlags, hookFlags, create, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var inst = hook.memoizedState.inst;\n null !== currentHook &&\n null !== deps &&\n areHookInputsEqual(deps, currentHook.memoizedState.deps)\n ? (hook.memoizedState = pushEffect(hookFlags, create, inst, deps))\n : ((currentlyRenderingFiber$1.flags |= fiberFlags),\n (hook.memoizedState = pushEffect(1 | hookFlags, create, inst, deps)));\n}\nfunction mountEffect(create, deps) {\n mountEffectImpl(8390656, 8, create, deps);\n}\nfunction updateEffect(create, deps) {\n updateEffectImpl(2048, 8, create, deps);\n}\nfunction updateInsertionEffect(create, deps) {\n return updateEffectImpl(4, 2, create, deps);\n}\nfunction updateLayoutEffect(create, deps) {\n return updateEffectImpl(4, 4, create, deps);\n}\nfunction imperativeHandleEffect(create, ref) {\n if (\"function\" === typeof ref) {\n create = create();\n var refCleanup = ref(create);\n return function () {\n \"function\" === typeof refCleanup ? refCleanup() : ref(null);\n };\n }\n if (null !== ref && void 0 !== ref)\n return (\n (create = create()),\n (ref.current = create),\n function () {\n ref.current = null;\n }\n );\n}\nfunction updateImperativeHandle(ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n updateEffectImpl(4, 4, imperativeHandleEffect.bind(null, create, ref), deps);\n}\nfunction mountDebugValue() {}\nfunction updateCallback(callback, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n hook.memoizedState = [callback, deps];\n return callback;\n}\nfunction updateMemo(nextCreate, deps) {\n var hook = updateWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var prevState = hook.memoizedState;\n if (null !== deps && areHookInputsEqual(deps, prevState[1]))\n return prevState[0];\n prevState = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [prevState, deps];\n return prevState;\n}\nfunction mountDeferredValueImpl(hook, value, initialValue) {\n if (void 0 === initialValue || 0 !== (renderLanes & 1073741824))\n return (hook.memoizedState = value);\n hook.memoizedState = initialValue;\n hook = requestDeferredLane();\n currentlyRenderingFiber$1.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return initialValue;\n}\nfunction updateDeferredValueImpl(hook, prevValue, value, initialValue) {\n if (objectIs(value, prevValue)) return value;\n if (null !== currentTreeHiddenStackCursor.current)\n return (\n (hook = mountDeferredValueImpl(hook, value, initialValue)),\n objectIs(hook, prevValue) || (didReceiveUpdate = !0),\n hook\n );\n if (0 === (renderLanes & 42))\n return (didReceiveUpdate = !0), (hook.memoizedState = value);\n hook = requestDeferredLane();\n currentlyRenderingFiber$1.lanes |= hook;\n workInProgressRootSkippedLanes |= hook;\n return prevValue;\n}\nfunction startTransition(fiber, queue, pendingState, finishedState, callback) {\n var previousPriority = currentUpdatePriority;\n currentUpdatePriority =\n 0 !== previousPriority && 8 > previousPriority ? previousPriority : 8;\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n dispatchOptimisticSetState(fiber, !1, queue, pendingState);\n try {\n var returnValue = callback(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n if (\n null !== returnValue &&\n \"object\" === typeof returnValue &&\n \"function\" === typeof returnValue.then\n ) {\n var thenableForFinishedState = chainThenableValue(\n returnValue,\n finishedState\n );\n dispatchSetStateInternal(\n fiber,\n queue,\n thenableForFinishedState,\n requestUpdateLane(fiber)\n );\n } else\n dispatchSetStateInternal(\n fiber,\n queue,\n finishedState,\n requestUpdateLane(fiber)\n );\n } catch (error) {\n dispatchSetStateInternal(\n fiber,\n queue,\n { then: function () {}, status: \"rejected\", reason: error },\n requestUpdateLane(fiber)\n );\n } finally {\n (currentUpdatePriority = previousPriority),\n (ReactSharedInternals.T = prevTransition);\n }\n}\nfunction useHostTransitionStatus() {\n return readContext(HostTransitionContext);\n}\nfunction updateId() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction updateRefresh() {\n return updateWorkInProgressHook().memoizedState;\n}\nfunction refreshCache(fiber) {\n for (var provider = fiber.return; null !== provider; ) {\n switch (provider.tag) {\n case 24:\n case 3:\n var lane = requestUpdateLane(provider);\n fiber = createUpdate(lane);\n var root = enqueueUpdate(provider, fiber, lane);\n null !== root &&\n (scheduleUpdateOnFiber(root, provider, lane),\n entangleTransitions(root, provider, lane));\n provider = { cache: createCache() };\n fiber.payload = provider;\n return;\n }\n provider = provider.return;\n }\n}\nfunction dispatchReducerAction(fiber, queue, action) {\n var lane = requestUpdateLane(fiber);\n action = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n isRenderPhaseUpdate(fiber)\n ? enqueueRenderPhaseUpdate(queue, action)\n : ((action = enqueueConcurrentHookUpdate(fiber, queue, action, lane)),\n null !== action &&\n (scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane)));\n}\nfunction dispatchSetState(fiber, queue, action) {\n var lane = requestUpdateLane(fiber);\n dispatchSetStateInternal(fiber, queue, action, lane);\n}\nfunction dispatchSetStateInternal(fiber, queue, action, lane) {\n var update = {\n lane: lane,\n revertLane: 0,\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) enqueueRenderPhaseUpdate(queue, update);\n else {\n var alternate = fiber.alternate;\n if (\n 0 === fiber.lanes &&\n (null === alternate || 0 === alternate.lanes) &&\n ((alternate = queue.lastRenderedReducer), null !== alternate)\n )\n try {\n var currentState = queue.lastRenderedState,\n eagerState = alternate(currentState, action);\n update.hasEagerState = !0;\n update.eagerState = eagerState;\n if (objectIs(eagerState, currentState))\n return (\n enqueueUpdate$1(fiber, queue, update, 0),\n null === workInProgressRoot && finishQueueingConcurrentUpdates(),\n !1\n );\n } catch (error) {\n } finally {\n }\n action = enqueueConcurrentHookUpdate(fiber, queue, update, lane);\n if (null !== action)\n return (\n scheduleUpdateOnFiber(action, fiber, lane),\n entangleTransitionUpdate(action, queue, lane),\n !0\n );\n }\n return !1;\n}\nfunction dispatchOptimisticSetState(fiber, throwIfDuringRender, queue, action) {\n action = {\n lane: 2,\n revertLane: requestTransitionLane(),\n action: action,\n hasEagerState: !1,\n eagerState: null,\n next: null\n };\n if (isRenderPhaseUpdate(fiber)) {\n if (throwIfDuringRender)\n throw Error(\"Cannot update optimistic state while rendering.\");\n } else\n (throwIfDuringRender = enqueueConcurrentHookUpdate(\n fiber,\n queue,\n action,\n 2\n )),\n null !== throwIfDuringRender &&\n scheduleUpdateOnFiber(throwIfDuringRender, fiber, 2);\n}\nfunction isRenderPhaseUpdate(fiber) {\n var alternate = fiber.alternate;\n return (\n fiber === currentlyRenderingFiber$1 ||\n (null !== alternate && alternate === currentlyRenderingFiber$1)\n );\n}\nfunction enqueueRenderPhaseUpdate(queue, update) {\n didScheduleRenderPhaseUpdateDuringThisPass = didScheduleRenderPhaseUpdate =\n !0;\n var pending = queue.pending;\n null === pending\n ? (update.next = update)\n : ((update.next = pending.next), (pending.next = update));\n queue.pending = update;\n}\nfunction entangleTransitionUpdate(root, queue, lane) {\n if (0 !== (lane & 4194176)) {\n var queueLanes = queue.lanes;\n queueLanes &= root.pendingLanes;\n lane |= queueLanes;\n queue.lanes = lane;\n markRootEntangled(root, lane);\n }\n}\nvar ContextOnlyDispatcher = {\n readContext: readContext,\n use: use,\n useCallback: throwInvalidHookError,\n useContext: throwInvalidHookError,\n useEffect: throwInvalidHookError,\n useImperativeHandle: throwInvalidHookError,\n useLayoutEffect: throwInvalidHookError,\n useInsertionEffect: throwInvalidHookError,\n useMemo: throwInvalidHookError,\n useReducer: throwInvalidHookError,\n useRef: throwInvalidHookError,\n useState: throwInvalidHookError,\n useDebugValue: throwInvalidHookError,\n useDeferredValue: throwInvalidHookError,\n useTransition: throwInvalidHookError,\n useSyncExternalStore: throwInvalidHookError,\n useId: throwInvalidHookError\n};\nContextOnlyDispatcher.useCacheRefresh = throwInvalidHookError;\nContextOnlyDispatcher.useMemoCache = throwInvalidHookError;\nContextOnlyDispatcher.useHostTransitionStatus = throwInvalidHookError;\nContextOnlyDispatcher.useFormState = throwInvalidHookError;\nContextOnlyDispatcher.useActionState = throwInvalidHookError;\nContextOnlyDispatcher.useOptimistic = throwInvalidHookError;\nvar HooksDispatcherOnMount = {\n readContext: readContext,\n use: use,\n useCallback: function (callback, deps) {\n mountWorkInProgressHook().memoizedState = [\n callback,\n void 0 === deps ? null : deps\n ];\n return callback;\n },\n useContext: readContext,\n useEffect: mountEffect,\n useImperativeHandle: function (ref, create, deps) {\n deps = null !== deps && void 0 !== deps ? deps.concat([ref]) : null;\n mountEffectImpl(\n 4194308,\n 4,\n imperativeHandleEffect.bind(null, create, ref),\n deps\n );\n },\n useLayoutEffect: function (create, deps) {\n return mountEffectImpl(4194308, 4, create, deps);\n },\n useInsertionEffect: function (create, deps) {\n mountEffectImpl(4, 2, create, deps);\n },\n useMemo: function (nextCreate, deps) {\n var hook = mountWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n var nextValue = nextCreate();\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n nextCreate();\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n hook.memoizedState = [nextValue, deps];\n return nextValue;\n },\n useReducer: function (reducer, initialArg, init) {\n var hook = mountWorkInProgressHook();\n if (void 0 !== init) {\n var initialState = init(initialArg);\n if (shouldDoubleInvokeUserFnsInHooksDEV) {\n setIsStrictModeForDevtools(!0);\n try {\n init(initialArg);\n } finally {\n setIsStrictModeForDevtools(!1);\n }\n }\n } else initialState = initialArg;\n hook.memoizedState = hook.baseState = initialState;\n reducer = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: reducer,\n lastRenderedState: initialState\n };\n hook.queue = reducer;\n reducer = reducer.dispatch = dispatchReducerAction.bind(\n null,\n currentlyRenderingFiber$1,\n reducer\n );\n return [hook.memoizedState, reducer];\n },\n useRef: function (initialValue) {\n var hook = mountWorkInProgressHook();\n initialValue = { current: initialValue };\n return (hook.memoizedState = initialValue);\n },\n useState: function (initialState) {\n initialState = mountStateImpl(initialState);\n var queue = initialState.queue,\n dispatch = dispatchSetState.bind(null, currentlyRenderingFiber$1, queue);\n queue.dispatch = dispatch;\n return [initialState.memoizedState, dispatch];\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = mountWorkInProgressHook();\n return mountDeferredValueImpl(hook, value, initialValue);\n },\n useTransition: function () {\n var stateHook = mountStateImpl(!1);\n stateHook = startTransition.bind(\n null,\n currentlyRenderingFiber$1,\n stateHook.queue,\n !0,\n !1\n );\n mountWorkInProgressHook().memoizedState = stateHook;\n return [!1, stateHook];\n },\n useSyncExternalStore: function (subscribe, getSnapshot) {\n var fiber = currentlyRenderingFiber$1,\n hook = mountWorkInProgressHook();\n var nextSnapshot = getSnapshot();\n if (null === workInProgressRoot)\n throw Error(\n \"Expected a work-in-progress root. This is a bug in React. Please file an issue.\"\n );\n 0 !== (workInProgressRootRenderLanes & 60) ||\n pushStoreConsistencyCheck(fiber, getSnapshot, nextSnapshot);\n hook.memoizedState = nextSnapshot;\n var inst = { value: nextSnapshot, getSnapshot: getSnapshot };\n hook.queue = inst;\n mountEffect(subscribeToStore.bind(null, fiber, inst, subscribe), [\n subscribe\n ]);\n fiber.flags |= 2048;\n pushEffect(\n 9,\n updateStoreInstance.bind(null, fiber, inst, nextSnapshot, getSnapshot),\n { destroy: void 0 },\n null\n );\n return nextSnapshot;\n },\n useId: function () {\n var hook = mountWorkInProgressHook(),\n identifierPrefix = workInProgressRoot.identifierPrefix,\n globalClientId = globalClientIdCounter++;\n identifierPrefix =\n \":\" + identifierPrefix + \"r\" + globalClientId.toString(32) + \":\";\n return (hook.memoizedState = identifierPrefix);\n },\n useCacheRefresh: function () {\n return (mountWorkInProgressHook().memoizedState = refreshCache.bind(\n null,\n currentlyRenderingFiber$1\n ));\n }\n};\nHooksDispatcherOnMount.useMemoCache = useMemoCache;\nHooksDispatcherOnMount.useHostTransitionStatus = useHostTransitionStatus;\nHooksDispatcherOnMount.useFormState = mountActionState;\nHooksDispatcherOnMount.useActionState = mountActionState;\nHooksDispatcherOnMount.useOptimistic = function (passthrough) {\n var hook = mountWorkInProgressHook();\n hook.memoizedState = hook.baseState = passthrough;\n var queue = {\n pending: null,\n lanes: 0,\n dispatch: null,\n lastRenderedReducer: null,\n lastRenderedState: null\n };\n hook.queue = queue;\n hook = dispatchOptimisticSetState.bind(\n null,\n currentlyRenderingFiber$1,\n !0,\n queue\n );\n queue.dispatch = hook;\n return [passthrough, hook];\n};\nvar HooksDispatcherOnUpdate = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: updateReducer,\n useRef: updateRef,\n useState: function () {\n return updateReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = updateReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId\n};\nHooksDispatcherOnUpdate.useCacheRefresh = updateRefresh;\nHooksDispatcherOnUpdate.useMemoCache = useMemoCache;\nHooksDispatcherOnUpdate.useHostTransitionStatus = useHostTransitionStatus;\nHooksDispatcherOnUpdate.useFormState = updateActionState;\nHooksDispatcherOnUpdate.useActionState = updateActionState;\nHooksDispatcherOnUpdate.useOptimistic = function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n};\nvar HooksDispatcherOnRerender = {\n readContext: readContext,\n use: use,\n useCallback: updateCallback,\n useContext: readContext,\n useEffect: updateEffect,\n useImperativeHandle: updateImperativeHandle,\n useInsertionEffect: updateInsertionEffect,\n useLayoutEffect: updateLayoutEffect,\n useMemo: updateMemo,\n useReducer: rerenderReducer,\n useRef: updateRef,\n useState: function () {\n return rerenderReducer(basicStateReducer);\n },\n useDebugValue: mountDebugValue,\n useDeferredValue: function (value, initialValue) {\n var hook = updateWorkInProgressHook();\n return null === currentHook\n ? mountDeferredValueImpl(hook, value, initialValue)\n : updateDeferredValueImpl(\n hook,\n currentHook.memoizedState,\n value,\n initialValue\n );\n },\n useTransition: function () {\n var booleanOrThenable = rerenderReducer(basicStateReducer)[0],\n start = updateWorkInProgressHook().memoizedState;\n return [\n \"boolean\" === typeof booleanOrThenable\n ? booleanOrThenable\n : useThenable(booleanOrThenable),\n start\n ];\n },\n useSyncExternalStore: updateSyncExternalStore,\n useId: updateId\n};\nHooksDispatcherOnRerender.useCacheRefresh = updateRefresh;\nHooksDispatcherOnRerender.useMemoCache = useMemoCache;\nHooksDispatcherOnRerender.useHostTransitionStatus = useHostTransitionStatus;\nHooksDispatcherOnRerender.useFormState = rerenderActionState;\nHooksDispatcherOnRerender.useActionState = rerenderActionState;\nHooksDispatcherOnRerender.useOptimistic = function (passthrough, reducer) {\n var hook = updateWorkInProgressHook();\n if (null !== currentHook)\n return updateOptimisticImpl(hook, currentHook, passthrough, reducer);\n hook.baseState = passthrough;\n return [passthrough, hook.queue.dispatch];\n};\nfunction applyDerivedStateFromProps(\n workInProgress,\n ctor,\n getDerivedStateFromProps,\n nextProps\n) {\n ctor = workInProgress.memoizedState;\n getDerivedStateFromProps = getDerivedStateFromProps(nextProps, ctor);\n getDerivedStateFromProps =\n null === getDerivedStateFromProps || void 0 === getDerivedStateFromProps\n ? ctor\n : assign({}, ctor, getDerivedStateFromProps);\n workInProgress.memoizedState = getDerivedStateFromProps;\n 0 === workInProgress.lanes &&\n (workInProgress.updateQueue.baseState = getDerivedStateFromProps);\n}\nvar classComponentUpdater = {\n isMounted: function (component) {\n return (component = component._reactInternals)\n ? getNearestMountedFiber(component) === component\n : !1;\n },\n enqueueSetState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(inst),\n update = createUpdate(lane);\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueReplaceState: function (inst, payload, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(inst),\n update = createUpdate(lane);\n update.tag = 1;\n update.payload = payload;\n void 0 !== callback && null !== callback && (update.callback = callback);\n payload = enqueueUpdate(inst, update, lane);\n null !== payload &&\n (scheduleUpdateOnFiber(payload, inst, lane),\n entangleTransitions(payload, inst, lane));\n },\n enqueueForceUpdate: function (inst, callback) {\n inst = inst._reactInternals;\n var lane = requestUpdateLane(inst),\n update = createUpdate(lane);\n update.tag = 2;\n void 0 !== callback && null !== callback && (update.callback = callback);\n callback = enqueueUpdate(inst, update, lane);\n null !== callback &&\n (scheduleUpdateOnFiber(callback, inst, lane),\n entangleTransitions(callback, inst, lane));\n }\n};\nfunction checkShouldComponentUpdate(\n workInProgress,\n ctor,\n oldProps,\n newProps,\n oldState,\n newState,\n nextContext\n) {\n workInProgress = workInProgress.stateNode;\n return \"function\" === typeof workInProgress.shouldComponentUpdate\n ? workInProgress.shouldComponentUpdate(newProps, newState, nextContext)\n : ctor.prototype && ctor.prototype.isPureReactComponent\n ? !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState)\n : !0;\n}\nfunction constructClassInstance(workInProgress, ctor, props) {\n var context = emptyContextObject,\n contextType = ctor.contextType;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (context = readContext(contextType));\n ctor = new ctor(props, context);\n workInProgress.memoizedState =\n null !== ctor.state && void 0 !== ctor.state ? ctor.state : null;\n ctor.updater = classComponentUpdater;\n workInProgress.stateNode = ctor;\n ctor._reactInternals = workInProgress;\n return ctor;\n}\nfunction callComponentWillReceiveProps(\n workInProgress,\n instance,\n newProps,\n nextContext\n) {\n workInProgress = instance.state;\n \"function\" === typeof instance.componentWillReceiveProps &&\n instance.componentWillReceiveProps(newProps, nextContext);\n \"function\" === typeof instance.UNSAFE_componentWillReceiveProps &&\n instance.UNSAFE_componentWillReceiveProps(newProps, nextContext);\n instance.state !== workInProgress &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null);\n}\nfunction mountClassInstance(workInProgress, ctor, newProps, renderLanes) {\n var instance = workInProgress.stateNode;\n instance.props = newProps;\n instance.state = workInProgress.memoizedState;\n instance.refs = {};\n initializeUpdateQueue(workInProgress);\n var contextType = ctor.contextType;\n instance.context =\n \"object\" === typeof contextType && null !== contextType\n ? readContext(contextType)\n : emptyContextObject;\n instance.state = workInProgress.memoizedState;\n contextType = ctor.getDerivedStateFromProps;\n \"function\" === typeof contextType &&\n (applyDerivedStateFromProps(workInProgress, ctor, contextType, newProps),\n (instance.state = workInProgress.memoizedState));\n \"function\" === typeof ctor.getDerivedStateFromProps ||\n \"function\" === typeof instance.getSnapshotBeforeUpdate ||\n (\"function\" !== typeof instance.UNSAFE_componentWillMount &&\n \"function\" !== typeof instance.componentWillMount) ||\n ((ctor = instance.state),\n \"function\" === typeof instance.componentWillMount &&\n instance.componentWillMount(),\n \"function\" === typeof instance.UNSAFE_componentWillMount &&\n instance.UNSAFE_componentWillMount(),\n ctor !== instance.state &&\n classComponentUpdater.enqueueReplaceState(instance, instance.state, null),\n processUpdateQueue(workInProgress, newProps, instance, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction(),\n (instance.state = workInProgress.memoizedState));\n \"function\" === typeof instance.componentDidMount &&\n (workInProgress.flags |= 4194308);\n}\nfunction resolveClassComponentProps(Component, baseProps) {\n var newProps = baseProps;\n if (\"ref\" in baseProps) {\n newProps = {};\n for (var propName in baseProps)\n \"ref\" !== propName && (newProps[propName] = baseProps[propName]);\n }\n if ((Component = Component.defaultProps)) {\n newProps === baseProps && (newProps = assign({}, newProps));\n for (var propName$53 in Component)\n void 0 === newProps[propName$53] &&\n (newProps[propName$53] = Component[propName$53]);\n }\n return newProps;\n}\nvar reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n };\nfunction defaultOnRecoverableError(error) {\n reportGlobalError(error);\n}\nfunction logUncaughtError(root, errorInfo) {\n try {\n var onUncaughtError = root.onUncaughtError;\n onUncaughtError(errorInfo.value, { componentStack: errorInfo.stack });\n } catch (e) {\n setTimeout(function () {\n throw e;\n });\n }\n}\nfunction logCaughtError(root, boundary, errorInfo) {\n try {\n var onCaughtError = root.onCaughtError;\n onCaughtError(errorInfo.value, {\n componentStack: errorInfo.stack,\n errorBoundary: 1 === boundary.tag ? boundary.stateNode : null\n });\n } catch (e) {\n setTimeout(function () {\n throw e;\n });\n }\n}\nfunction createRootErrorUpdate(root, errorInfo, lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n lane.payload = { element: null };\n lane.callback = function () {\n logUncaughtError(root, errorInfo);\n };\n return lane;\n}\nfunction createClassErrorUpdate(lane) {\n lane = createUpdate(lane);\n lane.tag = 3;\n return lane;\n}\nfunction initializeClassErrorUpdate(update, root, fiber, errorInfo) {\n var getDerivedStateFromError = fiber.type.getDerivedStateFromError;\n if (\"function\" === typeof getDerivedStateFromError) {\n var error = errorInfo.value;\n update.payload = function () {\n return getDerivedStateFromError(error);\n };\n update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n };\n }\n var inst = fiber.stateNode;\n null !== inst &&\n \"function\" === typeof inst.componentDidCatch &&\n (update.callback = function () {\n logCaughtError(root, fiber, errorInfo);\n \"function\" !== typeof getDerivedStateFromError &&\n (null === legacyErrorBoundariesThatAlreadyFailed\n ? (legacyErrorBoundariesThatAlreadyFailed = new Set([this]))\n : legacyErrorBoundariesThatAlreadyFailed.add(this));\n var stack = errorInfo.stack;\n this.componentDidCatch(errorInfo.value, {\n componentStack: null !== stack ? stack : \"\"\n });\n });\n}\nfunction throwException(\n root,\n returnFiber,\n sourceFiber,\n value,\n rootRenderLanes\n) {\n sourceFiber.flags |= 32768;\n if (\n null !== value &&\n \"object\" === typeof value &&\n \"function\" === typeof value.then\n ) {\n var currentSourceFiber = sourceFiber.alternate;\n null !== currentSourceFiber &&\n propagateParentContextChanges(\n currentSourceFiber,\n sourceFiber,\n rootRenderLanes,\n !0\n );\n currentSourceFiber = sourceFiber.tag;\n 0 !== (sourceFiber.mode & 1) ||\n (0 !== currentSourceFiber &&\n 11 !== currentSourceFiber &&\n 15 !== currentSourceFiber) ||\n ((currentSourceFiber = sourceFiber.alternate)\n ? ((sourceFiber.updateQueue = currentSourceFiber.updateQueue),\n (sourceFiber.memoizedState = currentSourceFiber.memoizedState),\n (sourceFiber.lanes = currentSourceFiber.lanes))\n : ((sourceFiber.updateQueue = null),\n (sourceFiber.memoizedState = null)));\n currentSourceFiber = suspenseHandlerStackCursor.current;\n if (null !== currentSourceFiber) {\n switch (currentSourceFiber.tag) {\n case 13:\n return (\n sourceFiber.mode & 1 &&\n (null === shellBoundary\n ? renderDidSuspendDelayIfPossible()\n : null === currentSourceFiber.alternate &&\n 0 === workInProgressRootExitStatus &&\n (workInProgressRootExitStatus = 3)),\n (currentSourceFiber.flags &= -257),\n 0 === (currentSourceFiber.mode & 1)\n ? currentSourceFiber === returnFiber\n ? (currentSourceFiber.flags |= 65536)\n : ((currentSourceFiber.flags |= 128),\n (sourceFiber.flags |= 131072),\n (sourceFiber.flags &= -52805),\n 1 === sourceFiber.tag\n ? null === sourceFiber.alternate\n ? (sourceFiber.tag = 17)\n : ((returnFiber = createUpdate(2)),\n (returnFiber.tag = 2),\n enqueueUpdate(sourceFiber, returnFiber, 2))\n : 0 === sourceFiber.tag &&\n null === sourceFiber.alternate &&\n (sourceFiber.tag = 28),\n (sourceFiber.lanes |= 2))\n : ((currentSourceFiber.flags |= 65536),\n (currentSourceFiber.lanes = rootRenderLanes)),\n value === noopSuspenseyCommitThenable\n ? (currentSourceFiber.flags |= 16384)\n : ((returnFiber = currentSourceFiber.updateQueue),\n null === returnFiber\n ? (currentSourceFiber.updateQueue = new Set([value]))\n : returnFiber.add(value),\n currentSourceFiber.mode & 1 &&\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n case 22:\n if (currentSourceFiber.mode & 1)\n return (\n (currentSourceFiber.flags |= 65536),\n value === noopSuspenseyCommitThenable\n ? (currentSourceFiber.flags |= 16384)\n : ((returnFiber = currentSourceFiber.updateQueue),\n null === returnFiber\n ? ((returnFiber = {\n transitions: null,\n markerInstances: null,\n retryQueue: new Set([value])\n }),\n (currentSourceFiber.updateQueue = returnFiber))\n : ((sourceFiber = returnFiber.retryQueue),\n null === sourceFiber\n ? (returnFiber.retryQueue = new Set([value]))\n : sourceFiber.add(value)),\n attachPingListener(root, value, rootRenderLanes)),\n !1\n );\n }\n throw Error(\n \"Unexpected Suspense handler tag (\" +\n currentSourceFiber.tag +\n \"). This is a bug in React.\"\n );\n }\n if (1 === root.tag)\n return (\n attachPingListener(root, value, rootRenderLanes),\n renderDidSuspendDelayIfPossible(),\n !1\n );\n value = Error(\n \"A component suspended while responding to synchronous input. This will cause the UI to be replaced with a loading indicator. To fix, updates that suspend should be wrapped with startTransition.\"\n );\n }\n currentSourceFiber = createCapturedValueAtFiber(\n Error(\n \"There was an error during concurrent rendering but React was able to recover by instead synchronously rendering the entire root.\",\n { cause: value }\n ),\n sourceFiber\n );\n null === workInProgressRootConcurrentErrors\n ? (workInProgressRootConcurrentErrors = [currentSourceFiber])\n : workInProgressRootConcurrentErrors.push(currentSourceFiber);\n 4 !== workInProgressRootExitStatus && (workInProgressRootExitStatus = 2);\n if (null === returnFiber) return !0;\n value = createCapturedValueAtFiber(value, sourceFiber);\n do {\n switch (returnFiber.tag) {\n case 3:\n return (\n (returnFiber.flags |= 65536),\n (root = rootRenderLanes & -rootRenderLanes),\n (returnFiber.lanes |= root),\n (root = createRootErrorUpdate(returnFiber.stateNode, value, root)),\n enqueueCapturedUpdate(returnFiber, root),\n !1\n );\n case 1:\n if (\n ((sourceFiber = returnFiber.type),\n (currentSourceFiber = returnFiber.stateNode),\n 0 === (returnFiber.flags & 128) &&\n (\"function\" === typeof sourceFiber.getDerivedStateFromError ||\n (null !== currentSourceFiber &&\n \"function\" === typeof currentSourceFiber.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(\n currentSourceFiber\n )))))\n )\n return (\n (returnFiber.flags |= 65536),\n (rootRenderLanes &= -rootRenderLanes),\n (returnFiber.lanes |= rootRenderLanes),\n (rootRenderLanes = createClassErrorUpdate(rootRenderLanes)),\n initializeClassErrorUpdate(\n rootRenderLanes,\n root,\n returnFiber,\n value\n ),\n enqueueCapturedUpdate(returnFiber, rootRenderLanes),\n !1\n );\n }\n returnFiber = returnFiber.return;\n } while (null !== returnFiber);\n return !1;\n}\nvar SelectiveHydrationException = Error(\n \"This is not a real error. It's an implementation detail of React's selective hydration feature. If this leaks into userspace, it's a bug in React. Please file an issue.\"\n ),\n didReceiveUpdate = !1;\nfunction reconcileChildren(current, workInProgress, nextChildren, renderLanes) {\n workInProgress.child =\n null === current\n ? mountChildFibers(workInProgress, null, nextChildren, renderLanes)\n : reconcileChildFibers(\n workInProgress,\n current.child,\n nextChildren,\n renderLanes\n );\n}\nfunction updateForwardRef(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n Component = Component.render;\n var ref = workInProgress.ref;\n if (\"ref\" in nextProps) {\n var propsWithoutRef = {};\n for (var key in nextProps)\n \"ref\" !== key && (propsWithoutRef[key] = nextProps[key]);\n } else propsWithoutRef = nextProps;\n prepareToReadContext(workInProgress);\n nextProps = renderWithHooks(\n current,\n workInProgress,\n Component,\n propsWithoutRef,\n ref,\n renderLanes\n );\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null === current) {\n var type = Component.type;\n if (\n \"function\" === typeof type &&\n !shouldConstruct(type) &&\n void 0 === type.defaultProps &&\n null === Component.compare\n )\n return (\n (workInProgress.tag = 15),\n (workInProgress.type = type),\n updateSimpleMemoComponent(\n current,\n workInProgress,\n type,\n nextProps,\n renderLanes\n )\n );\n current = createFiberFromTypeAndProps(\n Component.type,\n null,\n nextProps,\n workInProgress,\n workInProgress.mode,\n renderLanes\n );\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n }\n type = current.child;\n if (!checkScheduledUpdateOrContext(current, renderLanes)) {\n var prevProps = type.memoizedProps;\n Component = Component.compare;\n Component = null !== Component ? Component : shallowEqual;\n if (Component(prevProps, nextProps) && current.ref === workInProgress.ref)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n }\n workInProgress.flags |= 1;\n current = createWorkInProgress(type, nextProps);\n current.ref = workInProgress.ref;\n current.return = workInProgress;\n return (workInProgress.child = current);\n}\nfunction updateSimpleMemoComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n if (null !== current) {\n var prevProps = current.memoizedProps;\n if (\n shallowEqual(prevProps, nextProps) &&\n current.ref === workInProgress.ref\n )\n if (\n ((didReceiveUpdate = !1),\n (workInProgress.pendingProps = nextProps = prevProps),\n checkScheduledUpdateOrContext(current, renderLanes))\n )\n 0 !== (current.flags & 131072) && (didReceiveUpdate = !0);\n else\n return (\n (workInProgress.lanes = current.lanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n }\n return updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n );\n}\nfunction updateOffscreenComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n nextChildren = nextProps.children,\n nextIsDetached = 0 !== (workInProgress.stateNode._pendingVisibility & 2),\n prevState = null !== current ? current.memoizedState : null;\n markRef(current, workInProgress);\n if (\"hidden\" === nextProps.mode || nextIsDetached) {\n if (0 !== (workInProgress.flags & 128)) {\n nextProps =\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes;\n if (null !== current) {\n nextChildren = workInProgress.child = current.child;\n for (nextIsDetached = 0; null !== nextChildren; )\n (nextIsDetached =\n nextIsDetached | nextChildren.lanes | nextChildren.childLanes),\n (nextChildren = nextChildren.sibling);\n workInProgress.childLanes = nextIsDetached & ~nextProps;\n } else (workInProgress.childLanes = 0), (workInProgress.child = null);\n return deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextProps,\n renderLanes\n );\n }\n if (0 === (workInProgress.mode & 1))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else if (0 !== (renderLanes & 536870912))\n (workInProgress.memoizedState = { baseLanes: 0, cachePool: null }),\n null !== current &&\n pushTransition(\n workInProgress,\n null !== prevState ? prevState.cachePool : null\n ),\n null !== prevState\n ? pushHiddenContext(workInProgress, prevState)\n : reuseHiddenContextOnStack(),\n pushOffscreenSuspenseHandler(workInProgress);\n else\n return (\n (workInProgress.lanes = workInProgress.childLanes = 536870912),\n deferHiddenOffscreenComponent(\n current,\n workInProgress,\n null !== prevState ? prevState.baseLanes | renderLanes : renderLanes,\n renderLanes\n )\n );\n } else\n null !== prevState\n ? (pushTransition(workInProgress, prevState.cachePool),\n pushHiddenContext(workInProgress, prevState),\n reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.memoizedState = null))\n : (null !== current && pushTransition(workInProgress, null),\n reuseHiddenContextOnStack(),\n reuseSuspenseHandlerOnStack(workInProgress));\n reconcileChildren(current, workInProgress, nextChildren, renderLanes);\n return workInProgress.child;\n}\nfunction deferHiddenOffscreenComponent(\n current,\n workInProgress,\n nextBaseLanes,\n renderLanes\n) {\n var JSCompiler_inline_result = peekCacheFromPool();\n JSCompiler_inline_result =\n null === JSCompiler_inline_result\n ? null\n : { parent: CacheContext._currentValue, pool: JSCompiler_inline_result };\n workInProgress.memoizedState = {\n baseLanes: nextBaseLanes,\n cachePool: JSCompiler_inline_result\n };\n null !== current && pushTransition(workInProgress, null);\n reuseHiddenContextOnStack();\n pushOffscreenSuspenseHandler(workInProgress);\n null !== current &&\n propagateParentContextChanges(current, workInProgress, renderLanes, !0);\n return null;\n}\nfunction markRef(current, workInProgress) {\n var ref = workInProgress.ref;\n if (null === ref)\n null !== current &&\n null !== current.ref &&\n (workInProgress.flags |= 2097664);\n else {\n if (\"function\" !== typeof ref && \"object\" !== typeof ref)\n throw Error(\n \"Expected ref to be a function, an object returned by React.createRef(), or undefined/null.\"\n );\n if (null === current || current.ref !== ref)\n workInProgress.flags |= 2097664;\n }\n}\nfunction updateFunctionComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n Component = renderWithHooks(\n current,\n workInProgress,\n Component,\n nextProps,\n void 0,\n renderLanes\n );\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, Component, renderLanes);\n return workInProgress.child;\n}\nfunction replayFunctionComponent(\n current,\n workInProgress,\n nextProps,\n Component,\n secondArg,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n workInProgress.updateQueue = null;\n nextProps = renderWithHooksAgain(\n workInProgress,\n Component,\n nextProps,\n secondArg\n );\n finishRenderingHooks(current);\n if (null !== current && !didReceiveUpdate)\n return (\n bailoutHooks(current, workInProgress, renderLanes),\n bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes)\n );\n workInProgress.flags |= 1;\n reconcileChildren(current, workInProgress, nextProps, renderLanes);\n return workInProgress.child;\n}\nfunction updateClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n renderLanes\n) {\n prepareToReadContext(workInProgress);\n if (null === workInProgress.stateNode)\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress),\n constructClassInstance(workInProgress, Component, nextProps),\n mountClassInstance(workInProgress, Component, nextProps, renderLanes),\n (nextProps = !0);\n else if (null === current) {\n var instance = workInProgress.stateNode,\n unresolvedOldProps = workInProgress.memoizedProps,\n oldProps = resolveClassComponentProps(Component, unresolvedOldProps);\n instance.props = oldProps;\n var oldContext = instance.context,\n contextType = Component.contextType,\n nextContext = emptyContextObject;\n \"object\" === typeof contextType &&\n null !== contextType &&\n (nextContext = readContext(contextType));\n var getDerivedStateFromProps = Component.getDerivedStateFromProps;\n contextType =\n \"function\" === typeof getDerivedStateFromProps ||\n \"function\" === typeof instance.getSnapshotBeforeUpdate;\n unresolvedOldProps = workInProgress.pendingProps !== unresolvedOldProps;\n contextType ||\n (\"function\" !== typeof instance.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof instance.componentWillReceiveProps) ||\n ((unresolvedOldProps || oldContext !== nextContext) &&\n callComponentWillReceiveProps(\n workInProgress,\n instance,\n nextProps,\n nextContext\n ));\n hasForceUpdate = !1;\n var oldState = workInProgress.memoizedState;\n instance.state = oldState;\n processUpdateQueue(workInProgress, nextProps, instance, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n oldContext = workInProgress.memoizedState;\n unresolvedOldProps || oldState !== oldContext || hasForceUpdate\n ? (\"function\" === typeof getDerivedStateFromProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n getDerivedStateFromProps,\n nextProps\n ),\n (oldContext = workInProgress.memoizedState)),\n (oldProps =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n oldProps,\n nextProps,\n oldState,\n oldContext,\n nextContext\n ))\n ? (contextType ||\n (\"function\" !== typeof instance.UNSAFE_componentWillMount &&\n \"function\" !== typeof instance.componentWillMount) ||\n (\"function\" === typeof instance.componentWillMount &&\n instance.componentWillMount(),\n \"function\" === typeof instance.UNSAFE_componentWillMount &&\n instance.UNSAFE_componentWillMount()),\n \"function\" === typeof instance.componentDidMount &&\n (workInProgress.flags |= 4194308))\n : (\"function\" === typeof instance.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = oldContext)),\n (instance.props = nextProps),\n (instance.state = oldContext),\n (instance.context = nextContext),\n (nextProps = oldProps))\n : (\"function\" === typeof instance.componentDidMount &&\n (workInProgress.flags |= 4194308),\n (nextProps = !1));\n } else {\n instance = workInProgress.stateNode;\n cloneUpdateQueue(current, workInProgress);\n nextContext = workInProgress.memoizedProps;\n contextType = resolveClassComponentProps(Component, nextContext);\n instance.props = contextType;\n getDerivedStateFromProps = workInProgress.pendingProps;\n oldState = instance.context;\n oldContext = Component.contextType;\n oldProps = emptyContextObject;\n \"object\" === typeof oldContext &&\n null !== oldContext &&\n (oldProps = readContext(oldContext));\n unresolvedOldProps = Component.getDerivedStateFromProps;\n (oldContext =\n \"function\" === typeof unresolvedOldProps ||\n \"function\" === typeof instance.getSnapshotBeforeUpdate) ||\n (\"function\" !== typeof instance.UNSAFE_componentWillReceiveProps &&\n \"function\" !== typeof instance.componentWillReceiveProps) ||\n ((nextContext !== getDerivedStateFromProps || oldState !== oldProps) &&\n callComponentWillReceiveProps(\n workInProgress,\n instance,\n nextProps,\n oldProps\n ));\n hasForceUpdate = !1;\n oldState = workInProgress.memoizedState;\n instance.state = oldState;\n processUpdateQueue(workInProgress, nextProps, instance, renderLanes);\n suspendIfUpdateReadFromEntangledAsyncAction();\n var newState = workInProgress.memoizedState;\n nextContext !== getDerivedStateFromProps ||\n oldState !== newState ||\n hasForceUpdate ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies))\n ? (\"function\" === typeof unresolvedOldProps &&\n (applyDerivedStateFromProps(\n workInProgress,\n Component,\n unresolvedOldProps,\n nextProps\n ),\n (newState = workInProgress.memoizedState)),\n (contextType =\n hasForceUpdate ||\n checkShouldComponentUpdate(\n workInProgress,\n Component,\n contextType,\n nextProps,\n oldState,\n newState,\n oldProps\n ) ||\n (null !== current &&\n null !== current.dependencies &&\n checkIfContextChanged(current.dependencies)))\n ? (oldContext ||\n (\"function\" !== typeof instance.UNSAFE_componentWillUpdate &&\n \"function\" !== typeof instance.componentWillUpdate) ||\n (\"function\" === typeof instance.componentWillUpdate &&\n instance.componentWillUpdate(nextProps, newState, oldProps),\n \"function\" === typeof instance.UNSAFE_componentWillUpdate &&\n instance.UNSAFE_componentWillUpdate(\n nextProps,\n newState,\n oldProps\n )),\n \"function\" === typeof instance.componentDidUpdate &&\n (workInProgress.flags |= 4),\n \"function\" === typeof instance.getSnapshotBeforeUpdate &&\n (workInProgress.flags |= 1024))\n : (\"function\" !== typeof instance.componentDidUpdate ||\n (nextContext === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof instance.getSnapshotBeforeUpdate ||\n (nextContext === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (workInProgress.memoizedProps = nextProps),\n (workInProgress.memoizedState = newState)),\n (instance.props = nextProps),\n (instance.state = newState),\n (instance.context = oldProps),\n (nextProps = contextType))\n : (\"function\" !== typeof instance.componentDidUpdate ||\n (nextContext === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 4),\n \"function\" !== typeof instance.getSnapshotBeforeUpdate ||\n (nextContext === current.memoizedProps &&\n oldState === current.memoizedState) ||\n (workInProgress.flags |= 1024),\n (nextProps = !1));\n }\n return finishClassComponent(\n current,\n workInProgress,\n Component,\n nextProps,\n !1,\n renderLanes\n );\n}\nfunction finishClassComponent(\n current,\n workInProgress,\n Component,\n shouldUpdate,\n hasContext,\n renderLanes\n) {\n markRef(current, workInProgress);\n hasContext = 0 !== (workInProgress.flags & 128);\n if (!shouldUpdate && !hasContext)\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n shouldUpdate = workInProgress.stateNode;\n Component =\n hasContext && \"function\" !== typeof Component.getDerivedStateFromError\n ? null\n : shouldUpdate.render();\n workInProgress.flags |= 1;\n null !== current && hasContext\n ? ((workInProgress.child = reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n )),\n (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n Component,\n renderLanes\n )))\n : reconcileChildren(current, workInProgress, Component, renderLanes);\n workInProgress.memoizedState = shouldUpdate.state;\n return workInProgress.child;\n}\nvar SUSPENDED_MARKER = { dehydrated: null, treeContext: null, retryLane: 0 };\nfunction mountSuspenseOffscreenState(renderLanes) {\n return { baseLanes: renderLanes, cachePool: getSuspendedCache() };\n}\nfunction getRemainingWorkInPrimaryTree(\n current,\n primaryTreeDidDefer,\n renderLanes\n) {\n current = null !== current ? current.childLanes & ~renderLanes : 0;\n primaryTreeDidDefer && (current |= workInProgressDeferredLane);\n return current;\n}\nfunction updateSuspenseComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n showFallback = !1,\n didSuspend = 0 !== (workInProgress.flags & 128),\n JSCompiler_temp;\n (JSCompiler_temp = didSuspend) ||\n (JSCompiler_temp =\n null !== current && null === current.memoizedState\n ? !1\n : 0 !== (suspenseStackCursor.current & 2));\n JSCompiler_temp && ((showFallback = !0), (workInProgress.flags &= -129));\n JSCompiler_temp = 0 !== (workInProgress.flags & 32);\n workInProgress.flags &= -33;\n if (null === current) {\n var nextPrimaryChildren = nextProps.children;\n nextProps = nextProps.fallback;\n if (showFallback)\n return (\n reuseSuspenseHandlerOnStack(workInProgress),\n (showFallback = workInProgress.mode),\n (didSuspend = workInProgress.child),\n (nextPrimaryChildren = {\n mode: \"hidden\",\n children: nextPrimaryChildren\n }),\n 0 === (showFallback & 1) && null !== didSuspend\n ? ((didSuspend.childLanes = 0),\n (didSuspend.pendingProps = nextPrimaryChildren))\n : (didSuspend = createFiberFromOffscreen(\n nextPrimaryChildren,\n showFallback,\n 0,\n null\n )),\n (nextProps = createFiberFromFragment(\n nextProps,\n showFallback,\n renderLanes,\n null\n )),\n (didSuspend.return = workInProgress),\n (nextProps.return = workInProgress),\n (didSuspend.sibling = nextProps),\n (workInProgress.child = didSuspend),\n (nextPrimaryChildren = workInProgress.child),\n (nextPrimaryChildren.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n nextProps\n );\n pushPrimaryTreeSuspenseHandler(workInProgress);\n return mountSuspensePrimaryChildren(workInProgress, nextPrimaryChildren);\n }\n nextPrimaryChildren = current.memoizedState;\n if (null !== nextPrimaryChildren && null !== nextPrimaryChildren.dehydrated) {\n if (didSuspend)\n workInProgress.flags & 256\n ? (pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags &= -257),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n )))\n : null !== workInProgress.memoizedState\n ? (reuseSuspenseHandlerOnStack(workInProgress),\n (workInProgress.child = current.child),\n (workInProgress.flags |= 128),\n (workInProgress = null))\n : (reuseSuspenseHandlerOnStack(workInProgress),\n (nextPrimaryChildren = nextProps.fallback),\n (showFallback = workInProgress.mode),\n (nextProps = createFiberFromOffscreen(\n { mode: \"visible\", children: nextProps.children },\n showFallback,\n 0,\n null\n )),\n (nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2),\n (nextProps.return = workInProgress),\n (nextPrimaryChildren.return = workInProgress),\n (nextProps.sibling = nextPrimaryChildren),\n (workInProgress.child = nextProps),\n 0 !== (workInProgress.mode & 1) &&\n reconcileChildFibers(\n workInProgress,\n current.child,\n null,\n renderLanes\n ),\n (nextProps = workInProgress.child),\n (nextProps.memoizedState =\n mountSuspenseOffscreenState(renderLanes)),\n (nextProps.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n )),\n (workInProgress.memoizedState = SUSPENDED_MARKER),\n (workInProgress = nextPrimaryChildren));\n else if ((pushPrimaryTreeSuspenseHandler(workInProgress), shim$1()))\n (JSCompiler_temp = shim$1().digest),\n (nextProps = Error(\n \"The server could not finish this Suspense boundary, likely due to an error during server rendering. Switched to client rendering.\"\n )),\n (nextProps.stack = \"\"),\n (nextProps.digest = JSCompiler_temp),\n (JSCompiler_temp = { value: nextProps, source: null, stack: null }),\n null === hydrationErrors\n ? (hydrationErrors = [JSCompiler_temp])\n : hydrationErrors.push(JSCompiler_temp),\n (workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n ));\n else if (\n (didReceiveUpdate ||\n propagateParentContextChanges(current, workInProgress, renderLanes, !1),\n (JSCompiler_temp = 0 !== (renderLanes & current.childLanes)),\n didReceiveUpdate || JSCompiler_temp)\n ) {\n JSCompiler_temp = workInProgressRoot;\n if (null !== JSCompiler_temp) {\n nextProps = renderLanes & -renderLanes;\n if (0 !== (nextProps & 42)) nextProps = 1;\n else\n switch (nextProps) {\n case 2:\n nextProps = 1;\n break;\n case 8:\n nextProps = 4;\n break;\n case 32:\n nextProps = 16;\n break;\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n nextProps = 64;\n break;\n case 268435456:\n nextProps = 134217728;\n break;\n default:\n nextProps = 0;\n }\n nextProps =\n 0 !== (nextProps & (JSCompiler_temp.suspendedLanes | renderLanes))\n ? 0\n : nextProps;\n if (0 !== nextProps && nextProps !== nextPrimaryChildren.retryLane)\n throw (\n ((nextPrimaryChildren.retryLane = nextProps),\n enqueueConcurrentRenderForLane(current, nextProps),\n scheduleUpdateOnFiber(JSCompiler_temp, current, nextProps),\n SelectiveHydrationException)\n );\n }\n shim$1() || renderDidSuspendDelayIfPossible();\n workInProgress = retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n );\n } else\n shim$1()\n ? ((workInProgress.flags |= 128),\n (workInProgress.child = current.child),\n retryDehydratedSuspenseBoundary.bind(null, current),\n shim$1(),\n (workInProgress = null))\n : ((workInProgress = mountSuspensePrimaryChildren(\n workInProgress,\n nextProps.children\n )),\n (workInProgress.flags |= 4096));\n return workInProgress;\n }\n if (showFallback) {\n reuseSuspenseHandlerOnStack(workInProgress);\n nextPrimaryChildren = nextProps.fallback;\n showFallback = workInProgress.mode;\n didSuspend = current.child;\n var currentFallbackChildFragment = didSuspend.sibling,\n primaryChildProps = { mode: \"hidden\", children: nextProps.children };\n 0 === (showFallback & 1) && workInProgress.child !== didSuspend\n ? ((nextProps = workInProgress.child),\n (nextProps.childLanes = 0),\n (nextProps.pendingProps = primaryChildProps),\n (workInProgress.deletions = null))\n : ((nextProps = createWorkInProgress(didSuspend, primaryChildProps)),\n (nextProps.subtreeFlags = didSuspend.subtreeFlags & 31457280));\n null !== currentFallbackChildFragment\n ? (nextPrimaryChildren = createWorkInProgress(\n currentFallbackChildFragment,\n nextPrimaryChildren\n ))\n : ((nextPrimaryChildren = createFiberFromFragment(\n nextPrimaryChildren,\n showFallback,\n renderLanes,\n null\n )),\n (nextPrimaryChildren.flags |= 2));\n nextPrimaryChildren.return = workInProgress;\n nextProps.return = workInProgress;\n nextProps.sibling = nextPrimaryChildren;\n workInProgress.child = nextProps;\n nextProps = nextPrimaryChildren;\n nextPrimaryChildren = workInProgress.child;\n showFallback = current.child.memoizedState;\n null === showFallback\n ? (showFallback = mountSuspenseOffscreenState(renderLanes))\n : ((didSuspend = showFallback.cachePool),\n null !== didSuspend\n ? ((currentFallbackChildFragment = CacheContext._currentValue),\n (didSuspend =\n didSuspend.parent !== currentFallbackChildFragment\n ? {\n parent: currentFallbackChildFragment,\n pool: currentFallbackChildFragment\n }\n : didSuspend))\n : (didSuspend = getSuspendedCache()),\n (showFallback = {\n baseLanes: showFallback.baseLanes | renderLanes,\n cachePool: didSuspend\n }));\n nextPrimaryChildren.memoizedState = showFallback;\n nextPrimaryChildren.childLanes = getRemainingWorkInPrimaryTree(\n current,\n JSCompiler_temp,\n renderLanes\n );\n workInProgress.memoizedState = SUSPENDED_MARKER;\n return nextProps;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n JSCompiler_temp = current.child;\n current = JSCompiler_temp.sibling;\n JSCompiler_temp = createWorkInProgress(JSCompiler_temp, {\n mode: \"visible\",\n children: nextProps.children\n });\n 0 === (workInProgress.mode & 1) && (JSCompiler_temp.lanes = renderLanes);\n JSCompiler_temp.return = workInProgress;\n JSCompiler_temp.sibling = null;\n null !== current &&\n ((renderLanes = workInProgress.deletions),\n null === renderLanes\n ? ((workInProgress.deletions = [current]), (workInProgress.flags |= 16))\n : renderLanes.push(current));\n workInProgress.child = JSCompiler_temp;\n workInProgress.memoizedState = null;\n return JSCompiler_temp;\n}\nfunction mountSuspensePrimaryChildren(workInProgress, primaryChildren) {\n primaryChildren = createFiberFromOffscreen(\n { mode: \"visible\", children: primaryChildren },\n workInProgress.mode,\n 0,\n null\n );\n primaryChildren.return = workInProgress;\n return (workInProgress.child = primaryChildren);\n}\nfunction retrySuspenseComponentWithoutHydrating(\n current,\n workInProgress,\n renderLanes\n) {\n reconcileChildFibers(workInProgress, current.child, null, renderLanes);\n current = mountSuspensePrimaryChildren(\n workInProgress,\n workInProgress.pendingProps.children\n );\n current.flags |= 2;\n workInProgress.memoizedState = null;\n return current;\n}\nfunction scheduleSuspenseWorkOnFiber(fiber, renderLanes, propagationRoot) {\n fiber.lanes |= renderLanes;\n var alternate = fiber.alternate;\n null !== alternate && (alternate.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(fiber.return, renderLanes, propagationRoot);\n}\nfunction initSuspenseListRenderState(\n workInProgress,\n isBackwards,\n tail,\n lastContentRow,\n tailMode\n) {\n var renderState = workInProgress.memoizedState;\n null === renderState\n ? (workInProgress.memoizedState = {\n isBackwards: isBackwards,\n rendering: null,\n renderingStartTime: 0,\n last: lastContentRow,\n tail: tail,\n tailMode: tailMode\n })\n : ((renderState.isBackwards = isBackwards),\n (renderState.rendering = null),\n (renderState.renderingStartTime = 0),\n (renderState.last = lastContentRow),\n (renderState.tail = tail),\n (renderState.tailMode = tailMode));\n}\nfunction updateSuspenseListComponent(current, workInProgress, renderLanes) {\n var nextProps = workInProgress.pendingProps,\n revealOrder = nextProps.revealOrder,\n tailMode = nextProps.tail;\n reconcileChildren(current, workInProgress, nextProps.children, renderLanes);\n nextProps = suspenseStackCursor.current;\n if (0 !== (nextProps & 2))\n (nextProps = (nextProps & 1) | 2), (workInProgress.flags |= 128);\n else {\n if (null !== current && 0 !== (current.flags & 128))\n a: for (current = workInProgress.child; null !== current; ) {\n if (13 === current.tag)\n null !== current.memoizedState &&\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (19 === current.tag)\n scheduleSuspenseWorkOnFiber(current, renderLanes, workInProgress);\n else if (null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n nextProps &= 1;\n }\n push(suspenseStackCursor, nextProps);\n if (0 === (workInProgress.mode & 1)) workInProgress.memoizedState = null;\n else\n switch (revealOrder) {\n case \"forwards\":\n renderLanes = workInProgress.child;\n for (revealOrder = null; null !== renderLanes; )\n (current = renderLanes.alternate),\n null !== current &&\n null === findFirstSuspended(current) &&\n (revealOrder = renderLanes),\n (renderLanes = renderLanes.sibling);\n renderLanes = revealOrder;\n null === renderLanes\n ? ((revealOrder = workInProgress.child),\n (workInProgress.child = null))\n : ((revealOrder = renderLanes.sibling), (renderLanes.sibling = null));\n initSuspenseListRenderState(\n workInProgress,\n !1,\n revealOrder,\n renderLanes,\n tailMode\n );\n break;\n case \"backwards\":\n renderLanes = null;\n revealOrder = workInProgress.child;\n for (workInProgress.child = null; null !== revealOrder; ) {\n current = revealOrder.alternate;\n if (null !== current && null === findFirstSuspended(current)) {\n workInProgress.child = revealOrder;\n break;\n }\n current = revealOrder.sibling;\n revealOrder.sibling = renderLanes;\n renderLanes = revealOrder;\n revealOrder = current;\n }\n initSuspenseListRenderState(\n workInProgress,\n !0,\n renderLanes,\n null,\n tailMode\n );\n break;\n case \"together\":\n initSuspenseListRenderState(workInProgress, !1, null, null, void 0);\n break;\n default:\n workInProgress.memoizedState = null;\n }\n return workInProgress.child;\n}\nfunction resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress) {\n 0 === (workInProgress.mode & 1) &&\n null !== current &&\n ((current.alternate = null),\n (workInProgress.alternate = null),\n (workInProgress.flags |= 2));\n}\nfunction bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes) {\n null !== current && (workInProgress.dependencies = current.dependencies);\n workInProgressRootSkippedLanes |= workInProgress.lanes;\n if (0 === (renderLanes & workInProgress.childLanes))\n if (null !== current) {\n if (\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n 0 === (renderLanes & workInProgress.childLanes))\n )\n return null;\n } else return null;\n if (null !== current && workInProgress.child !== current.child)\n throw Error(\"Resuming work not yet implemented.\");\n if (null !== workInProgress.child) {\n current = workInProgress.child;\n renderLanes = createWorkInProgress(current, current.pendingProps);\n workInProgress.child = renderLanes;\n for (renderLanes.return = workInProgress; null !== current.sibling; )\n (current = current.sibling),\n (renderLanes = renderLanes.sibling =\n createWorkInProgress(current, current.pendingProps)),\n (renderLanes.return = workInProgress);\n renderLanes.sibling = null;\n }\n return workInProgress.child;\n}\nfunction checkScheduledUpdateOrContext(current, renderLanes) {\n if (0 !== (current.lanes & renderLanes)) return !0;\n current = current.dependencies;\n return null !== current && checkIfContextChanged(current) ? !0 : !1;\n}\nfunction attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n) {\n switch (workInProgress.tag) {\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n break;\n case 27:\n case 5:\n pushHostContext(workInProgress);\n break;\n case 4:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n break;\n case 10:\n pushProvider(\n workInProgress,\n workInProgress.type,\n workInProgress.memoizedProps.value\n );\n break;\n case 13:\n var state = workInProgress.memoizedState;\n if (null !== state) {\n if (null !== state.dehydrated)\n return (\n pushPrimaryTreeSuspenseHandler(workInProgress),\n (workInProgress.flags |= 128),\n null\n );\n if (0 !== (renderLanes & workInProgress.child.childLanes))\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n pushPrimaryTreeSuspenseHandler(workInProgress);\n current = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n );\n return null !== current ? current.sibling : null;\n }\n pushPrimaryTreeSuspenseHandler(workInProgress);\n break;\n case 19:\n var didSuspendBefore = 0 !== (current.flags & 128);\n state = 0 !== (renderLanes & workInProgress.childLanes);\n state ||\n (propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n !1\n ),\n (state = 0 !== (renderLanes & workInProgress.childLanes)));\n if (didSuspendBefore) {\n if (state)\n return updateSuspenseListComponent(\n current,\n workInProgress,\n renderLanes\n );\n workInProgress.flags |= 128;\n }\n didSuspendBefore = workInProgress.memoizedState;\n null !== didSuspendBefore &&\n ((didSuspendBefore.rendering = null),\n (didSuspendBefore.tail = null),\n (didSuspendBefore.lastEffect = null));\n push(suspenseStackCursor, suspenseStackCursor.current);\n if (state) break;\n else return null;\n case 22:\n case 23:\n return (\n (workInProgress.lanes = 0),\n updateOffscreenComponent(current, workInProgress, renderLanes)\n );\n case 24:\n pushProvider(workInProgress, CacheContext, current.memoizedState.cache);\n }\n return bailoutOnAlreadyFinishedWork(current, workInProgress, renderLanes);\n}\nfunction beginWork(current, workInProgress, renderLanes) {\n if (null !== current)\n if (current.memoizedProps !== workInProgress.pendingProps)\n didReceiveUpdate = !0;\n else {\n if (\n !checkScheduledUpdateOrContext(current, renderLanes) &&\n 0 === (workInProgress.flags & 128)\n )\n return (\n (didReceiveUpdate = !1),\n attemptEarlyBailoutIfNoScheduledUpdate(\n current,\n workInProgress,\n renderLanes\n )\n );\n didReceiveUpdate = 0 !== (current.flags & 131072) ? !0 : !1;\n }\n else didReceiveUpdate = !1;\n workInProgress.lanes = 0;\n switch (workInProgress.tag) {\n case 16:\n var elementType = workInProgress.elementType;\n a: {\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress);\n current = workInProgress.pendingProps;\n var init = elementType._init;\n elementType = init(elementType._payload);\n workInProgress.type = elementType;\n if (\"function\" === typeof elementType)\n shouldConstruct(elementType)\n ? ((current = resolveClassComponentProps(elementType, current)),\n (workInProgress.tag = 1),\n (workInProgress = updateClassComponent(\n null,\n workInProgress,\n elementType,\n current,\n renderLanes\n )))\n : ((workInProgress.tag = 0),\n (workInProgress = updateFunctionComponent(\n null,\n workInProgress,\n elementType,\n current,\n renderLanes\n )));\n else {\n if (void 0 !== elementType && null !== elementType)\n if (\n ((init = elementType.$$typeof), init === REACT_FORWARD_REF_TYPE)\n ) {\n workInProgress.tag = 11;\n workInProgress = updateForwardRef(\n null,\n workInProgress,\n elementType,\n current,\n renderLanes\n );\n break a;\n } else if (init === REACT_MEMO_TYPE) {\n workInProgress.tag = 14;\n workInProgress = updateMemoComponent(\n null,\n workInProgress,\n elementType,\n current,\n renderLanes\n );\n break a;\n }\n workInProgress = getComponentNameFromType(elementType) || elementType;\n throw Error(\n \"Element type is invalid. Received a promise that resolves to: \" +\n workInProgress +\n \". Lazy element type must resolve to a class or function.\"\n );\n }\n }\n return workInProgress;\n case 0:\n return updateFunctionComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 1:\n return (\n (elementType = workInProgress.type),\n (init = resolveClassComponentProps(\n elementType,\n workInProgress.pendingProps\n )),\n updateClassComponent(\n current,\n workInProgress,\n elementType,\n init,\n renderLanes\n )\n );\n case 3:\n pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo);\n if (null === current)\n throw Error(\"Should have a current fiber. This is a bug in React.\");\n var nextProps = workInProgress.pendingProps;\n init = workInProgress.memoizedState;\n elementType = init.element;\n cloneUpdateQueue(current, workInProgress);\n processUpdateQueue(workInProgress, nextProps, null, renderLanes);\n nextProps = workInProgress.memoizedState;\n var nextCache = nextProps.cache;\n pushProvider(workInProgress, CacheContext, nextCache);\n nextCache !== init.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n );\n suspendIfUpdateReadFromEntangledAsyncAction();\n init = nextProps.element;\n init === elementType\n ? (workInProgress = bailoutOnAlreadyFinishedWork(\n current,\n workInProgress,\n renderLanes\n ))\n : (reconcileChildren(current, workInProgress, init, renderLanes),\n (workInProgress = workInProgress.child));\n return workInProgress;\n case 26:\n case 27:\n case 5:\n return (\n pushHostContext(workInProgress),\n (elementType = workInProgress.pendingProps.children),\n null !== workInProgress.memoizedState &&\n ((init = renderWithHooks(\n current,\n workInProgress,\n TransitionAwareHostComponent,\n null,\n null,\n renderLanes\n )),\n (HostTransitionContext._currentValue = init)),\n markRef(current, workInProgress),\n reconcileChildren(current, workInProgress, elementType, renderLanes),\n workInProgress.child\n );\n case 6:\n return null;\n case 13:\n return updateSuspenseComponent(current, workInProgress, renderLanes);\n case 4:\n return (\n pushHostContainer(\n workInProgress,\n workInProgress.stateNode.containerInfo\n ),\n (elementType = workInProgress.pendingProps),\n null === current\n ? (workInProgress.child = reconcileChildFibers(\n workInProgress,\n null,\n elementType,\n renderLanes\n ))\n : reconcileChildren(\n current,\n workInProgress,\n elementType,\n renderLanes\n ),\n workInProgress.child\n );\n case 11:\n return updateForwardRef(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 7:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps,\n renderLanes\n ),\n workInProgress.child\n );\n case 8:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 12:\n return (\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 10:\n return (\n (elementType = workInProgress.pendingProps),\n pushProvider(workInProgress, workInProgress.type, elementType.value),\n reconcileChildren(\n current,\n workInProgress,\n elementType.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 9:\n return (\n (init = workInProgress.type._context),\n (elementType = workInProgress.pendingProps.children),\n prepareToReadContext(workInProgress),\n (init = readContext(init)),\n (elementType = elementType(init)),\n (workInProgress.flags |= 1),\n reconcileChildren(current, workInProgress, elementType, renderLanes),\n workInProgress.child\n );\n case 14:\n return updateMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 15:\n return updateSimpleMemoComponent(\n current,\n workInProgress,\n workInProgress.type,\n workInProgress.pendingProps,\n renderLanes\n );\n case 17:\n return (\n (elementType = workInProgress.type),\n (init = resolveClassComponentProps(\n elementType,\n workInProgress.pendingProps\n )),\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress),\n (workInProgress.tag = 1),\n prepareToReadContext(workInProgress),\n constructClassInstance(workInProgress, elementType, init),\n mountClassInstance(workInProgress, elementType, init, renderLanes),\n finishClassComponent(\n null,\n workInProgress,\n elementType,\n !0,\n !1,\n renderLanes\n )\n );\n case 28:\n return (\n (elementType = workInProgress.type),\n (init = resolveClassComponentProps(\n elementType,\n workInProgress.pendingProps\n )),\n resetSuspendedCurrentOnMountInLegacyMode(current, workInProgress),\n (workInProgress.tag = 0),\n updateFunctionComponent(\n null,\n workInProgress,\n elementType,\n init,\n renderLanes\n )\n );\n case 19:\n return updateSuspenseListComponent(current, workInProgress, renderLanes);\n case 22:\n return updateOffscreenComponent(current, workInProgress, renderLanes);\n case 24:\n return (\n prepareToReadContext(workInProgress),\n (elementType = readContext(CacheContext)),\n null === current\n ? ((init = peekCacheFromPool()),\n null === init &&\n ((init = workInProgressRoot),\n (nextProps = createCache()),\n (init.pooledCache = nextProps),\n nextProps.refCount++,\n null !== nextProps && (init.pooledCacheLanes |= renderLanes),\n (init = nextProps)),\n (workInProgress.memoizedState = {\n parent: elementType,\n cache: init\n }),\n initializeUpdateQueue(workInProgress),\n pushProvider(workInProgress, CacheContext, init))\n : (0 !== (current.lanes & renderLanes) &&\n (cloneUpdateQueue(current, workInProgress),\n processUpdateQueue(workInProgress, null, null, renderLanes),\n suspendIfUpdateReadFromEntangledAsyncAction()),\n (init = current.memoizedState),\n (nextProps = workInProgress.memoizedState),\n init.parent !== elementType\n ? ((init = { parent: elementType, cache: elementType }),\n (workInProgress.memoizedState = init),\n 0 === workInProgress.lanes &&\n (workInProgress.memoizedState =\n workInProgress.updateQueue.baseState =\n init),\n pushProvider(workInProgress, CacheContext, elementType))\n : ((elementType = nextProps.cache),\n pushProvider(workInProgress, CacheContext, elementType),\n elementType !== init.cache &&\n propagateContextChanges(\n workInProgress,\n [CacheContext],\n renderLanes,\n !0\n ))),\n reconcileChildren(\n current,\n workInProgress,\n workInProgress.pendingProps.children,\n renderLanes\n ),\n workInProgress.child\n );\n case 29:\n throw workInProgress.pendingProps;\n }\n throw Error(\n \"Unknown unit of work tag (\" +\n workInProgress.tag +\n \"). This error is likely caused by a bug in React. Please file an issue.\"\n );\n}\nvar valueCursor = createCursor(null),\n currentlyRenderingFiber = null,\n lastContextDependency = null;\nfunction pushProvider(providerFiber, context, nextValue) {\n push(valueCursor, context._currentValue);\n context._currentValue = nextValue;\n}\nfunction popProvider(context) {\n context._currentValue = valueCursor.current;\n pop(valueCursor);\n}\nfunction scheduleContextWorkOnParentPath(parent, renderLanes, propagationRoot) {\n for (; null !== parent; ) {\n var alternate = parent.alternate;\n (parent.childLanes & renderLanes) !== renderLanes\n ? ((parent.childLanes |= renderLanes),\n null !== alternate && (alternate.childLanes |= renderLanes))\n : null !== alternate &&\n (alternate.childLanes & renderLanes) !== renderLanes &&\n (alternate.childLanes |= renderLanes);\n if (parent === propagationRoot) break;\n parent = parent.return;\n }\n}\nfunction propagateContextChanges(\n workInProgress,\n contexts,\n renderLanes,\n forcePropagateEntireTree\n) {\n var fiber = workInProgress.child;\n null !== fiber && (fiber.return = workInProgress);\n for (; null !== fiber; ) {\n var list = fiber.dependencies;\n if (null !== list) {\n var nextFiber = fiber.child;\n list = list.firstContext;\n a: for (; null !== list; ) {\n var dependency = list;\n list = fiber;\n for (var i = 0; i < contexts.length; i++)\n if (dependency.context === contexts[i]) {\n list.lanes |= renderLanes;\n dependency = list.alternate;\n null !== dependency && (dependency.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(\n list.return,\n renderLanes,\n workInProgress\n );\n forcePropagateEntireTree || (nextFiber = null);\n break a;\n }\n list = dependency.next;\n }\n } else if (18 === fiber.tag) {\n nextFiber = fiber.return;\n if (null === nextFiber)\n throw Error(\n \"We just came from a parent so we must have had a parent. This is a bug in React.\"\n );\n nextFiber.lanes |= renderLanes;\n list = nextFiber.alternate;\n null !== list && (list.lanes |= renderLanes);\n scheduleContextWorkOnParentPath(nextFiber, renderLanes, workInProgress);\n nextFiber = null;\n } else nextFiber = fiber.child;\n if (null !== nextFiber) nextFiber.return = fiber;\n else\n for (nextFiber = fiber; null !== nextFiber; ) {\n if (nextFiber === workInProgress) {\n nextFiber = null;\n break;\n }\n fiber = nextFiber.sibling;\n if (null !== fiber) {\n fiber.return = nextFiber.return;\n nextFiber = fiber;\n break;\n }\n nextFiber = nextFiber.return;\n }\n fiber = nextFiber;\n }\n}\nfunction propagateParentContextChanges(\n current,\n workInProgress,\n renderLanes,\n forcePropagateEntireTree\n) {\n current = null;\n for (\n var parent = workInProgress, isInsidePropagationBailout = !1;\n null !== parent;\n\n ) {\n if (!isInsidePropagationBailout)\n if (0 !== (parent.flags & 524288)) isInsidePropagationBailout = !0;\n else if (0 !== (parent.flags & 262144)) break;\n if (10 === parent.tag) {\n var currentParent = parent.alternate;\n if (null === currentParent)\n throw Error(\"Should have a current fiber. This is a bug in React.\");\n currentParent = currentParent.memoizedProps;\n if (null !== currentParent) {\n var context = parent.type;\n objectIs(parent.pendingProps.value, currentParent.value) ||\n (null !== current ? current.push(context) : (current = [context]));\n }\n } else if (parent === hostTransitionProviderCursor.current) {\n currentParent = parent.alternate;\n if (null === currentParent)\n throw Error(\"Should have a current fiber. This is a bug in React.\");\n currentParent.memoizedState.memoizedState !==\n parent.memoizedState.memoizedState &&\n (null !== current\n ? current.push(HostTransitionContext)\n : (current = [HostTransitionContext]));\n }\n parent = parent.return;\n }\n null !== current &&\n propagateContextChanges(\n workInProgress,\n current,\n renderLanes,\n forcePropagateEntireTree\n );\n workInProgress.flags |= 262144;\n}\nfunction checkIfContextChanged(currentDependencies) {\n for (\n currentDependencies = currentDependencies.firstContext;\n null !== currentDependencies;\n\n ) {\n if (\n !objectIs(\n currentDependencies.context._currentValue,\n currentDependencies.memoizedValue\n )\n )\n return !0;\n currentDependencies = currentDependencies.next;\n }\n return !1;\n}\nfunction prepareToReadContext(workInProgress) {\n currentlyRenderingFiber = workInProgress;\n lastContextDependency = null;\n workInProgress = workInProgress.dependencies;\n null !== workInProgress && (workInProgress.firstContext = null);\n}\nfunction readContext(context) {\n return readContextForConsumer(currentlyRenderingFiber, context);\n}\nfunction readContextDuringReconciliation(consumer, context) {\n null === currentlyRenderingFiber && prepareToReadContext(consumer);\n return readContextForConsumer(consumer, context);\n}\nfunction readContextForConsumer(consumer, context) {\n var value = context._currentValue;\n context = { context: context, memoizedValue: value, next: null };\n if (null === lastContextDependency) {\n if (null === consumer)\n throw Error(\n \"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\"\n );\n lastContextDependency = context;\n consumer.dependencies = { lanes: 0, firstContext: context };\n consumer.flags |= 524288;\n } else lastContextDependency = lastContextDependency.next = context;\n return value;\n}\nvar AbortControllerLocal =\n \"undefined\" !== typeof AbortController\n ? AbortController\n : function () {\n var listeners = [],\n signal = (this.signal = {\n aborted: !1,\n addEventListener: function (type, listener) {\n listeners.push(listener);\n }\n });\n this.abort = function () {\n signal.aborted = !0;\n listeners.forEach(function (listener) {\n return listener();\n });\n };\n },\n scheduleCallback$1 = Scheduler.unstable_scheduleCallback,\n NormalPriority = Scheduler.unstable_NormalPriority,\n CacheContext = {\n $$typeof: REACT_CONTEXT_TYPE,\n Consumer: null,\n Provider: null,\n _currentValue: null,\n _currentValue2: null,\n _threadCount: 0\n };\nfunction createCache() {\n return {\n controller: new AbortControllerLocal(),\n data: new Map(),\n refCount: 0\n };\n}\nfunction releaseCache(cache) {\n cache.refCount--;\n 0 === cache.refCount &&\n scheduleCallback$1(NormalPriority, function () {\n cache.controller.abort();\n });\n}\nvar prevOnStartTransitionFinish = ReactSharedInternals.S;\nReactSharedInternals.S = function (transition, returnValue) {\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n entangleAsyncAction(transition, returnValue);\n null !== prevOnStartTransitionFinish &&\n prevOnStartTransitionFinish(transition, returnValue);\n};\nvar resumedCache = createCursor(null);\nfunction peekCacheFromPool() {\n var cacheResumedFromPreviousRender = resumedCache.current;\n return null !== cacheResumedFromPreviousRender\n ? cacheResumedFromPreviousRender\n : workInProgressRoot.pooledCache;\n}\nfunction pushTransition(offscreenWorkInProgress, prevCachePool) {\n null === prevCachePool\n ? push(resumedCache, resumedCache.current)\n : push(resumedCache, prevCachePool.pool);\n}\nfunction getSuspendedCache() {\n var cacheFromPool = peekCacheFromPool();\n return null === cacheFromPool\n ? null\n : { parent: CacheContext._currentValue, pool: cacheFromPool };\n}\nfunction scheduleRetryEffect(workInProgress, retryQueue) {\n null !== retryQueue && (workInProgress.flags |= 4);\n workInProgress.flags & 16384 &&\n ((retryQueue =\n 22 !== workInProgress.tag ? claimNextRetryLane() : 536870912),\n (workInProgress.lanes |= retryQueue),\n (workInProgressSuspendedRetryLanes |= retryQueue));\n}\nfunction cutOffTailIfNeeded(renderState, hasRenderedATailFallback) {\n switch (renderState.tailMode) {\n case \"hidden\":\n hasRenderedATailFallback = renderState.tail;\n for (var lastTailNode = null; null !== hasRenderedATailFallback; )\n null !== hasRenderedATailFallback.alternate &&\n (lastTailNode = hasRenderedATailFallback),\n (hasRenderedATailFallback = hasRenderedATailFallback.sibling);\n null === lastTailNode\n ? (renderState.tail = null)\n : (lastTailNode.sibling = null);\n break;\n case \"collapsed\":\n lastTailNode = renderState.tail;\n for (var lastTailNode$92 = null; null !== lastTailNode; )\n null !== lastTailNode.alternate && (lastTailNode$92 = lastTailNode),\n (lastTailNode = lastTailNode.sibling);\n null === lastTailNode$92\n ? hasRenderedATailFallback || null === renderState.tail\n ? (renderState.tail = null)\n : (renderState.tail.sibling = null)\n : (lastTailNode$92.sibling = null);\n }\n}\nfunction bubbleProperties(completedWork) {\n var didBailout =\n null !== completedWork.alternate &&\n completedWork.alternate.child === completedWork.child,\n newChildLanes = 0,\n subtreeFlags = 0;\n if (didBailout)\n for (var child$93 = completedWork.child; null !== child$93; )\n (newChildLanes |= child$93.lanes | child$93.childLanes),\n (subtreeFlags |= child$93.subtreeFlags & 31457280),\n (subtreeFlags |= child$93.flags & 31457280),\n (child$93.return = completedWork),\n (child$93 = child$93.sibling);\n else\n for (child$93 = completedWork.child; null !== child$93; )\n (newChildLanes |= child$93.lanes | child$93.childLanes),\n (subtreeFlags |= child$93.subtreeFlags),\n (subtreeFlags |= child$93.flags),\n (child$93.return = completedWork),\n (child$93 = child$93.sibling);\n completedWork.subtreeFlags |= subtreeFlags;\n completedWork.childLanes = newChildLanes;\n return didBailout;\n}\nfunction completeWork(current, workInProgress, renderLanes) {\n var newProps = workInProgress.pendingProps;\n switch (workInProgress.tag) {\n case 28:\n case 16:\n case 15:\n case 0:\n case 11:\n case 7:\n case 8:\n case 12:\n case 9:\n case 14:\n return bubbleProperties(workInProgress), null;\n case 1:\n return bubbleProperties(workInProgress), null;\n case 3:\n return (\n (renderLanes = workInProgress.stateNode),\n (newProps = null),\n null !== current && (newProps = current.memoizedState.cache),\n workInProgress.memoizedState.cache !== newProps &&\n (workInProgress.flags |= 2048),\n popProvider(CacheContext),\n popHostContainer(),\n renderLanes.pendingContext &&\n ((renderLanes.context = renderLanes.pendingContext),\n (renderLanes.pendingContext = null)),\n (null !== current && null !== current.child) ||\n null === current ||\n (current.memoizedState.isDehydrated &&\n 0 === (workInProgress.flags & 256)) ||\n ((workInProgress.flags |= 1024),\n null !== hydrationErrors &&\n (queueRecoverableErrors(hydrationErrors),\n (hydrationErrors = null))),\n bubbleProperties(workInProgress),\n null\n );\n case 26:\n case 27:\n case 5:\n popHostContext(workInProgress);\n var type = workInProgress.type;\n if (null !== current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && (workInProgress.flags |= 4);\n else {\n if (!newProps) {\n if (null === workInProgress.stateNode)\n throw Error(\n \"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\"\n );\n bubbleProperties(workInProgress);\n return null;\n }\n renderLanes = rootInstanceStackCursor.current;\n current = allocateTag();\n type = getViewConfigForType(type);\n var updatePayload = diffProperties(\n null,\n emptyObject,\n newProps,\n type.validAttributes\n );\n ReactNativePrivateInterface.UIManager.createView(\n current,\n type.uiViewClassName,\n renderLanes,\n updatePayload\n );\n renderLanes = new ReactNativeFiberHostComponent(\n current,\n type,\n workInProgress\n );\n instanceCache.set(current, workInProgress);\n instanceProps.set(current, newProps);\n a: for (current = workInProgress.child; null !== current; ) {\n if (5 === current.tag || 6 === current.tag)\n renderLanes._children.push(current.stateNode);\n else if (4 !== current.tag && null !== current.child) {\n current.child.return = current;\n current = current.child;\n continue;\n }\n if (current === workInProgress) break a;\n for (; null === current.sibling; ) {\n if (null === current.return || current.return === workInProgress)\n break a;\n current = current.return;\n }\n current.sibling.return = current.return;\n current = current.sibling;\n }\n workInProgress.stateNode = renderLanes;\n finalizeInitialChildren(renderLanes) && (workInProgress.flags |= 4);\n }\n bubbleProperties(workInProgress);\n workInProgress.flags &= -16777217;\n return null;\n case 6:\n if (current && null != workInProgress.stateNode)\n current.memoizedProps !== newProps && (workInProgress.flags |= 4);\n else {\n if (\"string\" !== typeof newProps && null === workInProgress.stateNode)\n throw Error(\n \"We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.\"\n );\n current = rootInstanceStackCursor.current;\n if (!contextStackCursor.current.isInAParentText)\n throw Error(\n \"Text strings must be rendered within a component.\"\n );\n renderLanes = allocateTag();\n ReactNativePrivateInterface.UIManager.createView(\n renderLanes,\n \"RCTRawText\",\n current,\n { text: newProps }\n );\n instanceCache.set(renderLanes, workInProgress);\n workInProgress.stateNode = renderLanes;\n }\n bubbleProperties(workInProgress);\n return null;\n case 13:\n newProps = workInProgress.memoizedState;\n if (\n null === current ||\n (null !== current.memoizedState &&\n null !== current.memoizedState.dehydrated)\n ) {\n if (null !== newProps && null !== newProps.dehydrated) {\n if (null === current) {\n throw Error(\n \"A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.\"\n );\n throw Error(\n \"Expected prepareToHydrateHostSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n 0 === (workInProgress.flags & 128) &&\n (workInProgress.memoizedState = null);\n workInProgress.flags |= 4;\n bubbleProperties(workInProgress);\n type = !1;\n } else\n null !== hydrationErrors &&\n (queueRecoverableErrors(hydrationErrors), (hydrationErrors = null)),\n (type = !0);\n if (!type) {\n if (workInProgress.flags & 256)\n return popSuspenseHandler(workInProgress), workInProgress;\n popSuspenseHandler(workInProgress);\n return null;\n }\n }\n popSuspenseHandler(workInProgress);\n if (0 !== (workInProgress.flags & 128))\n return (workInProgress.lanes = renderLanes), workInProgress;\n renderLanes = null !== newProps;\n current = null !== current && null !== current.memoizedState;\n renderLanes &&\n ((newProps = workInProgress.child),\n (type = null),\n null !== newProps.alternate &&\n null !== newProps.alternate.memoizedState &&\n null !== newProps.alternate.memoizedState.cachePool &&\n (type = newProps.alternate.memoizedState.cachePool.pool),\n (updatePayload = null),\n null !== newProps.memoizedState &&\n null !== newProps.memoizedState.cachePool &&\n (updatePayload = newProps.memoizedState.cachePool.pool),\n updatePayload !== type && (newProps.flags |= 2048));\n renderLanes !== current &&\n renderLanes &&\n (workInProgress.child.flags |= 8192);\n scheduleRetryEffect(workInProgress, workInProgress.updateQueue);\n bubbleProperties(workInProgress);\n return null;\n case 4:\n return popHostContainer(), bubbleProperties(workInProgress), null;\n case 10:\n return (\n popProvider(workInProgress.type), bubbleProperties(workInProgress), null\n );\n case 17:\n return bubbleProperties(workInProgress), null;\n case 19:\n pop(suspenseStackCursor);\n type = workInProgress.memoizedState;\n if (null === type) return bubbleProperties(workInProgress), null;\n newProps = 0 !== (workInProgress.flags & 128);\n updatePayload = type.rendering;\n if (null === updatePayload)\n if (newProps) cutOffTailIfNeeded(type, !1);\n else {\n if (\n 0 !== workInProgressRootExitStatus ||\n (null !== current && 0 !== (current.flags & 128))\n )\n for (current = workInProgress.child; null !== current; ) {\n updatePayload = findFirstSuspended(current);\n if (null !== updatePayload) {\n workInProgress.flags |= 128;\n cutOffTailIfNeeded(type, !1);\n current = updatePayload.updateQueue;\n workInProgress.updateQueue = current;\n scheduleRetryEffect(workInProgress, current);\n workInProgress.subtreeFlags = 0;\n current = renderLanes;\n for (renderLanes = workInProgress.child; null !== renderLanes; )\n resetWorkInProgress(renderLanes, current),\n (renderLanes = renderLanes.sibling);\n push(\n suspenseStackCursor,\n (suspenseStackCursor.current & 1) | 2\n );\n return workInProgress.child;\n }\n current = current.sibling;\n }\n null !== type.tail &&\n now() > workInProgressRootRenderTargetTime &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(type, !1),\n (workInProgress.lanes = 4194304));\n }\n else {\n if (!newProps)\n if (\n ((current = findFirstSuspended(updatePayload)), null !== current)\n ) {\n if (\n ((workInProgress.flags |= 128),\n (newProps = !0),\n (current = current.updateQueue),\n (workInProgress.updateQueue = current),\n scheduleRetryEffect(workInProgress, current),\n cutOffTailIfNeeded(type, !0),\n null === type.tail &&\n \"hidden\" === type.tailMode &&\n !updatePayload.alternate)\n )\n return bubbleProperties(workInProgress), null;\n } else\n 2 * now() - type.renderingStartTime >\n workInProgressRootRenderTargetTime &&\n 536870912 !== renderLanes &&\n ((workInProgress.flags |= 128),\n (newProps = !0),\n cutOffTailIfNeeded(type, !1),\n (workInProgress.lanes = 4194304));\n type.isBackwards\n ? ((updatePayload.sibling = workInProgress.child),\n (workInProgress.child = updatePayload))\n : ((current = type.last),\n null !== current\n ? (current.sibling = updatePayload)\n : (workInProgress.child = updatePayload),\n (type.last = updatePayload));\n }\n if (null !== type.tail)\n return (\n (workInProgress = type.tail),\n (type.rendering = workInProgress),\n (type.tail = workInProgress.sibling),\n (type.renderingStartTime = now()),\n (workInProgress.sibling = null),\n (current = suspenseStackCursor.current),\n push(suspenseStackCursor, newProps ? (current & 1) | 2 : current & 1),\n workInProgress\n );\n bubbleProperties(workInProgress);\n return null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n (newProps = null !== workInProgress.memoizedState),\n null !== current\n ? (null !== current.memoizedState) !== newProps &&\n (workInProgress.flags |= 8192)\n : newProps && (workInProgress.flags |= 8192),\n newProps && 0 !== (workInProgress.mode & 1)\n ? 0 !== (renderLanes & 536870912) &&\n 0 === (workInProgress.flags & 128) &&\n (bubbleProperties(workInProgress),\n workInProgress.subtreeFlags & 6 && (workInProgress.flags |= 8192))\n : bubbleProperties(workInProgress),\n (renderLanes = workInProgress.updateQueue),\n null !== renderLanes &&\n scheduleRetryEffect(workInProgress, renderLanes.retryQueue),\n (renderLanes = null),\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (renderLanes = current.memoizedState.cachePool.pool),\n (newProps = null),\n null !== workInProgress.memoizedState &&\n null !== workInProgress.memoizedState.cachePool &&\n (newProps = workInProgress.memoizedState.cachePool.pool),\n newProps !== renderLanes && (workInProgress.flags |= 2048),\n null !== current && pop(resumedCache),\n null\n );\n case 24:\n return (\n (renderLanes = null),\n null !== current && (renderLanes = current.memoizedState.cache),\n workInProgress.memoizedState.cache !== renderLanes &&\n (workInProgress.flags |= 2048),\n popProvider(CacheContext),\n bubbleProperties(workInProgress),\n null\n );\n case 25:\n return null;\n case 29:\n return null;\n }\n throw Error(\n \"Unknown unit of work tag (\" +\n workInProgress.tag +\n \"). This error is likely caused by a bug in React. Please file an issue.\"\n );\n}\nfunction unwindWork(current, workInProgress) {\n switch (workInProgress.tag) {\n case 1:\n return (\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 3:\n return (\n popProvider(CacheContext),\n popHostContainer(),\n (current = workInProgress.flags),\n 0 !== (current & 65536) && 0 === (current & 128)\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 26:\n case 27:\n case 5:\n return popHostContext(workInProgress), null;\n case 13:\n popSuspenseHandler(workInProgress);\n current = workInProgress.memoizedState;\n if (\n null !== current &&\n null !== current.dehydrated &&\n null === workInProgress.alternate\n )\n throw Error(\n \"Threw in newly mounted dehydrated component. This is likely a bug in React. Please file an issue.\"\n );\n current = workInProgress.flags;\n return current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null;\n case 19:\n return pop(suspenseStackCursor), null;\n case 4:\n return popHostContainer(), null;\n case 10:\n return popProvider(workInProgress.type), null;\n case 22:\n case 23:\n return (\n popSuspenseHandler(workInProgress),\n popHiddenContext(),\n null !== current && pop(resumedCache),\n (current = workInProgress.flags),\n current & 65536\n ? ((workInProgress.flags = (current & -65537) | 128), workInProgress)\n : null\n );\n case 24:\n return popProvider(CacheContext), null;\n case 25:\n return null;\n default:\n return null;\n }\n}\nfunction unwindInterruptedWork(current, interruptedWork) {\n switch (interruptedWork.tag) {\n case 3:\n popProvider(CacheContext);\n popHostContainer();\n break;\n case 26:\n case 27:\n case 5:\n popHostContext(interruptedWork);\n break;\n case 4:\n popHostContainer();\n break;\n case 13:\n popSuspenseHandler(interruptedWork);\n break;\n case 19:\n pop(suspenseStackCursor);\n break;\n case 10:\n popProvider(interruptedWork.type);\n break;\n case 22:\n case 23:\n popSuspenseHandler(interruptedWork);\n popHiddenContext();\n null !== current && pop(resumedCache);\n break;\n case 24:\n popProvider(CacheContext);\n }\n}\nfunction commitHookEffectListMount(flags, finishedWork) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n lastEffect = void 0;\n var create$114 = updateQueue.create,\n inst = updateQueue.inst;\n lastEffect = create$114();\n inst.destroy = lastEffect;\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitHookEffectListUnmount(\n flags,\n finishedWork,\n nearestMountedAncestor$jscomp$0\n) {\n try {\n var updateQueue = finishedWork.updateQueue,\n lastEffect = null !== updateQueue ? updateQueue.lastEffect : null;\n if (null !== lastEffect) {\n var firstEffect = lastEffect.next;\n updateQueue = firstEffect;\n do {\n if ((updateQueue.tag & flags) === flags) {\n var inst = updateQueue.inst,\n destroy = inst.destroy;\n if (void 0 !== destroy) {\n inst.destroy = void 0;\n lastEffect = finishedWork;\n var nearestMountedAncestor = nearestMountedAncestor$jscomp$0;\n try {\n destroy();\n } catch (error) {\n captureCommitPhaseError(\n lastEffect,\n nearestMountedAncestor,\n error\n );\n }\n }\n }\n updateQueue = updateQueue.next;\n } while (updateQueue !== firstEffect);\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n}\nfunction commitClassCallbacks(finishedWork) {\n var updateQueue = finishedWork.updateQueue;\n if (null !== updateQueue) {\n var instance = finishedWork.stateNode;\n try {\n commitCallbacks(updateQueue, instance);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n}\nfunction safelyCallComponentWillUnmount(\n current,\n nearestMountedAncestor,\n instance\n) {\n instance.props = resolveClassComponentProps(\n current.type,\n current.memoizedProps\n );\n instance.state = current.memoizedState;\n try {\n instance.componentWillUnmount();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyAttachRef(current, nearestMountedAncestor) {\n try {\n var ref = current.ref;\n if (null !== ref) {\n var instance = current.stateNode;\n switch (current.tag) {\n case 26:\n case 27:\n case 5:\n var instanceToUse = getPublicInstance(instance);\n break;\n default:\n instanceToUse = instance;\n }\n \"function\" === typeof ref\n ? (current.refCleanup = ref(instanceToUse))\n : (ref.current = instanceToUse);\n }\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n }\n}\nfunction safelyDetachRef(current, nearestMountedAncestor) {\n var ref = current.ref,\n refCleanup = current.refCleanup;\n if (null !== ref)\n if (\"function\" === typeof refCleanup)\n try {\n refCleanup();\n } catch (error) {\n captureCommitPhaseError(current, nearestMountedAncestor, error);\n } finally {\n (current.refCleanup = null),\n (current = current.alternate),\n null != current && (current.refCleanup = null);\n }\n else if (\"function\" === typeof ref)\n try {\n ref(null);\n } catch (error$116) {\n captureCommitPhaseError(current, nearestMountedAncestor, error$116);\n }\n else ref.current = null;\n}\nfunction isHostParent(fiber) {\n return 5 === fiber.tag || 3 === fiber.tag || 4 === fiber.tag;\n}\nfunction getHostSibling(fiber) {\n a: for (;;) {\n for (; null === fiber.sibling; ) {\n if (null === fiber.return || isHostParent(fiber.return)) return null;\n fiber = fiber.return;\n }\n fiber.sibling.return = fiber.return;\n for (\n fiber = fiber.sibling;\n 5 !== fiber.tag && 6 !== fiber.tag && 18 !== fiber.tag;\n\n ) {\n if (fiber.flags & 2) continue a;\n if (null === fiber.child || 4 === fiber.tag) continue a;\n else (fiber.child.return = fiber), (fiber = fiber.child);\n }\n if (!(fiber.flags & 2)) return fiber.stateNode;\n }\n}\nfunction insertOrAppendPlacementNodeIntoContainer(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n if (((node = node.stateNode), before)) {\n if (\"number\" === typeof parent)\n throw Error(\"Container does not support insertBefore operation\");\n } else\n ReactNativePrivateInterface.UIManager.setChildren(parent, [\n \"number\" === typeof node ? node : node._nativeTag\n ]);\n else if (4 !== tag && ((node = node.child), null !== node))\n for (\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNodeIntoContainer(node, before, parent),\n (node = node.sibling);\n}\nfunction insertOrAppendPlacementNode(node, before, parent) {\n var tag = node.tag;\n if (5 === tag || 6 === tag)\n if (((node = node.stateNode), before)) {\n tag = parent._children;\n var index = tag.indexOf(node);\n 0 <= index\n ? (tag.splice(index, 1),\n (before = tag.indexOf(before)),\n tag.splice(before, 0, node),\n ReactNativePrivateInterface.UIManager.manageChildren(\n parent._nativeTag,\n [index],\n [before],\n [],\n [],\n []\n ))\n : ((before = tag.indexOf(before)),\n tag.splice(before, 0, node),\n ReactNativePrivateInterface.UIManager.manageChildren(\n parent._nativeTag,\n [],\n [],\n [\"number\" === typeof node ? node : node._nativeTag],\n [before],\n []\n ));\n } else\n (before = \"number\" === typeof node ? node : node._nativeTag),\n (tag = parent._children),\n (index = tag.indexOf(node)),\n 0 <= index\n ? (tag.splice(index, 1),\n tag.push(node),\n ReactNativePrivateInterface.UIManager.manageChildren(\n parent._nativeTag,\n [index],\n [tag.length - 1],\n [],\n [],\n []\n ))\n : (tag.push(node),\n ReactNativePrivateInterface.UIManager.manageChildren(\n parent._nativeTag,\n [],\n [],\n [before],\n [tag.length - 1],\n []\n ));\n else if (4 !== tag && ((node = node.child), null !== node))\n for (\n insertOrAppendPlacementNode(node, before, parent), node = node.sibling;\n null !== node;\n\n )\n insertOrAppendPlacementNode(node, before, parent), (node = node.sibling);\n}\nvar offscreenSubtreeIsHidden = !1,\n offscreenSubtreeWasHidden = !1,\n PossiblyWeakSet = \"function\" === typeof WeakSet ? WeakSet : Set,\n nextEffect = null,\n shouldFireAfterActiveInstanceBlur = !1;\nfunction commitBeforeMutationEffects(root, firstChild) {\n for (nextEffect = firstChild; null !== nextEffect; )\n if (\n ((root = nextEffect),\n (firstChild = root.child),\n 0 !== (root.subtreeFlags & 1028) && null !== firstChild)\n )\n (firstChild.return = root), (nextEffect = firstChild);\n else\n for (; null !== nextEffect; ) {\n root = nextEffect;\n var current = root.alternate;\n firstChild = root.flags;\n switch (root.tag) {\n case 0:\n break;\n case 11:\n case 15:\n break;\n case 1:\n if (0 !== (firstChild & 1024) && null !== current) {\n firstChild = void 0;\n var finishedWork = root,\n prevProps = current.memoizedProps;\n current = current.memoizedState;\n var instance = finishedWork.stateNode;\n try {\n var resolvedPrevProps = resolveClassComponentProps(\n finishedWork.type,\n prevProps,\n finishedWork.elementType === finishedWork.type\n );\n firstChild = instance.getSnapshotBeforeUpdate(\n resolvedPrevProps,\n current\n );\n instance.__reactInternalSnapshotBeforeUpdate = firstChild;\n } catch (error) {\n captureCommitPhaseError(\n finishedWork,\n finishedWork.return,\n error\n );\n }\n }\n break;\n case 3:\n break;\n case 5:\n case 26:\n case 27:\n case 6:\n case 4:\n case 17:\n break;\n default:\n if (0 !== (firstChild & 1024))\n throw Error(\n \"This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n firstChild = root.sibling;\n if (null !== firstChild) {\n firstChild.return = root.return;\n nextEffect = firstChild;\n break;\n }\n nextEffect = root.return;\n }\n resolvedPrevProps = shouldFireAfterActiveInstanceBlur;\n shouldFireAfterActiveInstanceBlur = !1;\n return resolvedPrevProps;\n}\nfunction commitLayoutEffectOnFiber(finishedRoot, current, finishedWork) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 4 && commitHookEffectListMount(5, finishedWork);\n break;\n case 1:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (flags & 4)\n if (((finishedRoot = finishedWork.stateNode), null === current))\n try {\n finishedRoot.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n else {\n var prevProps = resolveClassComponentProps(\n finishedWork.type,\n current.memoizedProps\n );\n current = current.memoizedState;\n try {\n finishedRoot.componentDidUpdate(\n prevProps,\n current,\n finishedRoot.__reactInternalSnapshotBeforeUpdate\n );\n } catch (error$115) {\n captureCommitPhaseError(\n finishedWork,\n finishedWork.return,\n error$115\n );\n }\n }\n flags & 64 && commitClassCallbacks(finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n if (flags & 64 && ((flags = finishedWork.updateQueue), null !== flags)) {\n finishedRoot = null;\n if (null !== finishedWork.child)\n switch (finishedWork.child.tag) {\n case 27:\n case 5:\n finishedRoot = getPublicInstance(finishedWork.child.stateNode);\n break;\n case 1:\n finishedRoot = finishedWork.child.stateNode;\n }\n try {\n commitCallbacks(flags, finishedRoot);\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 26:\n case 27:\n case 5:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 512 && safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n break;\n case 13:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n break;\n case 22:\n if (0 !== (finishedWork.mode & 1)) {\n if (\n ((prevProps =\n null !== finishedWork.memoizedState || offscreenSubtreeIsHidden),\n !prevProps)\n ) {\n current =\n (null !== current && null !== current.memoizedState) ||\n offscreenSubtreeWasHidden;\n var prevOffscreenSubtreeIsHidden = offscreenSubtreeIsHidden,\n prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = prevProps;\n (offscreenSubtreeWasHidden = current) &&\n !prevOffscreenSubtreeWasHidden\n ? recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n 0 !== (finishedWork.subtreeFlags & 8772)\n )\n : recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n offscreenSubtreeIsHidden = prevOffscreenSubtreeIsHidden;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n }\n } else recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n flags & 512 &&\n (\"manual\" === finishedWork.memoizedProps.mode\n ? safelyAttachRef(finishedWork, finishedWork.return)\n : safelyDetachRef(finishedWork, finishedWork.return));\n break;\n default:\n recursivelyTraverseLayoutEffects(finishedRoot, finishedWork);\n }\n}\nfunction detachFiberAfterEffects(fiber) {\n var alternate = fiber.alternate;\n null !== alternate &&\n ((fiber.alternate = null), detachFiberAfterEffects(alternate));\n fiber.child = null;\n fiber.deletions = null;\n fiber.sibling = null;\n fiber.stateNode = null;\n fiber.return = null;\n fiber.dependencies = null;\n fiber.memoizedProps = null;\n fiber.memoizedState = null;\n fiber.pendingProps = null;\n fiber.stateNode = null;\n fiber.updateQueue = null;\n}\nvar hostParent = null,\n hostParentIsContainer = !1;\nfunction recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n parent\n) {\n for (parent = parent.child; null !== parent; )\n commitDeletionEffectsOnFiber(finishedRoot, nearestMountedAncestor, parent),\n (parent = parent.sibling);\n}\nfunction commitDeletionEffectsOnFiber(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberUnmount)\n try {\n injectedHook.onCommitFiberUnmount(rendererID, deletedFiber);\n } catch (err) {}\n switch (deletedFiber.tag) {\n case 26:\n case 27:\n case 5:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n case 6:\n var prevHostParent = hostParent,\n prevHostParentIsContainer = hostParentIsContainer;\n hostParent = null;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = prevHostParent;\n hostParentIsContainer = prevHostParentIsContainer;\n if (null !== hostParent)\n if (hostParentIsContainer)\n try {\n (finishedRoot = hostParent),\n recursivelyUncacheFiberNode(deletedFiber.stateNode),\n ReactNativePrivateInterface.UIManager.manageChildren(\n finishedRoot,\n [],\n [],\n [],\n [],\n [0]\n );\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n else\n try {\n finishedRoot = hostParent;\n var child = deletedFiber.stateNode;\n recursivelyUncacheFiberNode(child);\n var children = finishedRoot._children,\n index = children.indexOf(child);\n children.splice(index, 1);\n ReactNativePrivateInterface.UIManager.manageChildren(\n finishedRoot._nativeTag,\n [],\n [],\n [],\n [],\n [index]\n );\n } catch (error) {\n captureCommitPhaseError(\n deletedFiber,\n nearestMountedAncestor,\n error\n );\n }\n break;\n case 18:\n null !== hostParent && shim$1();\n break;\n case 4:\n child = hostParent;\n children = hostParentIsContainer;\n hostParent = deletedFiber.stateNode.containerInfo;\n hostParentIsContainer = !0;\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n hostParent = child;\n hostParentIsContainer = children;\n break;\n case 0:\n case 11:\n case 14:\n case 15:\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(2, deletedFiber, nearestMountedAncestor);\n offscreenSubtreeWasHidden ||\n commitHookEffectListUnmount(4, deletedFiber, nearestMountedAncestor);\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 1:\n offscreenSubtreeWasHidden ||\n (safelyDetachRef(deletedFiber, nearestMountedAncestor),\n (child = deletedFiber.stateNode),\n \"function\" === typeof child.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n deletedFiber,\n nearestMountedAncestor,\n child\n ));\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 21:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n case 22:\n offscreenSubtreeWasHidden ||\n safelyDetachRef(deletedFiber, nearestMountedAncestor);\n deletedFiber.mode & 1\n ? ((offscreenSubtreeWasHidden =\n (child = offscreenSubtreeWasHidden) ||\n null !== deletedFiber.memoizedState),\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n ),\n (offscreenSubtreeWasHidden = child))\n : recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n break;\n default:\n recursivelyTraverseDeletionEffects(\n finishedRoot,\n nearestMountedAncestor,\n deletedFiber\n );\n }\n}\nfunction getRetryCache(finishedWork) {\n switch (finishedWork.tag) {\n case 13:\n case 19:\n var retryCache = finishedWork.stateNode;\n null === retryCache &&\n (retryCache = finishedWork.stateNode = new PossiblyWeakSet());\n return retryCache;\n case 22:\n return (\n (finishedWork = finishedWork.stateNode),\n (retryCache = finishedWork._retryCache),\n null === retryCache &&\n (retryCache = finishedWork._retryCache = new PossiblyWeakSet()),\n retryCache\n );\n default:\n throw Error(\n \"Unexpected Suspense handler tag (\" +\n finishedWork.tag +\n \"). This is a bug in React.\"\n );\n }\n}\nfunction attachSuspenseRetryListeners(finishedWork, wakeables) {\n var retryCache = getRetryCache(finishedWork);\n wakeables.forEach(function (wakeable) {\n var retry = resolveRetryWakeable.bind(null, finishedWork, wakeable);\n retryCache.has(wakeable) ||\n (retryCache.add(wakeable), wakeable.then(retry, retry));\n });\n}\nfunction recursivelyTraverseMutationEffects(root$jscomp$0, parentFiber) {\n var deletions = parentFiber.deletions;\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i],\n root = root$jscomp$0,\n returnFiber = parentFiber,\n parent = returnFiber;\n a: for (; null !== parent; ) {\n switch (parent.tag) {\n case 27:\n case 5:\n hostParent = parent.stateNode;\n hostParentIsContainer = !1;\n break a;\n case 3:\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = !0;\n break a;\n case 4:\n hostParent = parent.stateNode.containerInfo;\n hostParentIsContainer = !0;\n break a;\n }\n parent = parent.return;\n }\n if (null === hostParent)\n throw Error(\n \"Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\"\n );\n commitDeletionEffectsOnFiber(root, returnFiber, childToDelete);\n hostParent = null;\n hostParentIsContainer = !1;\n root = childToDelete.alternate;\n null !== root && (root.return = null);\n childToDelete.return = null;\n }\n if (parentFiber.subtreeFlags & 13878)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitMutationEffectsOnFiber(parentFiber, root$jscomp$0),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitMutationEffectsOnFiber(finishedWork, root) {\n var current = finishedWork.alternate,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n (commitHookEffectListUnmount(3, finishedWork, finishedWork.return),\n commitHookEffectListMount(3, finishedWork),\n commitHookEffectListUnmount(5, finishedWork, finishedWork.return));\n break;\n case 1:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (\n flags & 64 &&\n offscreenSubtreeIsHidden &&\n ((finishedWork = finishedWork.updateQueue),\n null !== finishedWork &&\n ((flags = finishedWork.callbacks), null !== flags))\n ) {\n var existingHiddenCallbacks = finishedWork.shared.hiddenCallbacks;\n finishedWork.shared.hiddenCallbacks =\n null === existingHiddenCallbacks\n ? flags\n : existingHiddenCallbacks.concat(flags);\n }\n break;\n case 26:\n case 27:\n case 5:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n if (flags & 4 && null != finishedWork.stateNode) {\n flags = finishedWork.memoizedProps;\n existingHiddenCallbacks =\n null !== current ? current.memoizedProps : flags;\n try {\n var instance = finishedWork.stateNode,\n viewConfig = instance.viewConfig;\n instanceProps.set(instance._nativeTag, flags);\n var updatePayload = diffProperties(\n null,\n existingHiddenCallbacks,\n flags,\n viewConfig.validAttributes\n );\n null != updatePayload &&\n ReactNativePrivateInterface.UIManager.updateView(\n instance._nativeTag,\n viewConfig.uiViewClassName,\n updatePayload\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 6:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n if (flags & 4) {\n if (null === finishedWork.stateNode)\n throw Error(\n \"This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.\"\n );\n flags = finishedWork.memoizedProps;\n existingHiddenCallbacks = finishedWork.stateNode;\n try {\n ReactNativePrivateInterface.UIManager.updateView(\n existingHiddenCallbacks,\n \"RCTRawText\",\n { text: flags }\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n }\n break;\n case 3:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 4:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 12:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n break;\n case 13:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n finishedWork.child.flags & 8192 &&\n ((existingHiddenCallbacks =\n null !== current && null !== current.memoizedState),\n null === finishedWork.memoizedState ||\n existingHiddenCallbacks ||\n (globalMostRecentFallbackTime = now()));\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 22:\n flags & 512 &&\n (offscreenSubtreeWasHidden ||\n null === current ||\n safelyDetachRef(current, current.return));\n instance = null !== finishedWork.memoizedState;\n viewConfig = null !== current && null !== current.memoizedState;\n if (finishedWork.mode & 1) {\n updatePayload = offscreenSubtreeIsHidden;\n var prevOffscreenSubtreeWasHidden = offscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = updatePayload || instance;\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden || viewConfig;\n recursivelyTraverseMutationEffects(root, finishedWork);\n offscreenSubtreeWasHidden = prevOffscreenSubtreeWasHidden;\n offscreenSubtreeIsHidden = updatePayload;\n } else recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n root = finishedWork.stateNode;\n root._current = finishedWork;\n root._visibility &= -3;\n root._visibility |= root._pendingVisibility & 2;\n if (\n flags & 8192 &&\n ((root._visibility = instance\n ? root._visibility & -2\n : root._visibility | 1),\n instance &&\n ((root = offscreenSubtreeIsHidden || offscreenSubtreeWasHidden),\n null === current ||\n viewConfig ||\n root ||\n (0 !== (finishedWork.mode & 1) &&\n recursivelyTraverseDisappearLayoutEffects(finishedWork))),\n null === finishedWork.memoizedProps ||\n \"manual\" !== finishedWork.memoizedProps.mode)\n )\n a: for (current = null, root = finishedWork; ; ) {\n if (5 === root.tag) {\n if (null === current) {\n viewConfig = current = root;\n try {\n if (\n ((existingHiddenCallbacks = viewConfig.stateNode), instance)\n ) {\n updatePayload = existingHiddenCallbacks;\n var viewConfig$jscomp$0 = updatePayload.viewConfig;\n var updatePayload$jscomp$0 = diffProperties(\n null,\n emptyObject,\n { style: { display: \"none\" } },\n viewConfig$jscomp$0.validAttributes\n );\n ReactNativePrivateInterface.UIManager.updateView(\n updatePayload._nativeTag,\n viewConfig$jscomp$0.uiViewClassName,\n updatePayload$jscomp$0\n );\n } else {\n var instance$jscomp$0 = viewConfig.stateNode,\n props = viewConfig.memoizedProps,\n viewConfig$jscomp$1 = instance$jscomp$0.viewConfig,\n prevProps = assign({}, props, {\n style: [props.style, { display: \"none\" }]\n });\n var updatePayload$jscomp$1 = diffProperties(\n null,\n prevProps,\n props,\n viewConfig$jscomp$1.validAttributes\n );\n ReactNativePrivateInterface.UIManager.updateView(\n instance$jscomp$0._nativeTag,\n viewConfig$jscomp$1.uiViewClassName,\n updatePayload$jscomp$1\n );\n }\n } catch (error) {\n captureCommitPhaseError(viewConfig, viewConfig.return, error);\n }\n }\n } else if (6 === root.tag) {\n if (null === current) {\n viewConfig = root;\n try {\n throw Error(\"Not yet implemented.\");\n } catch (error) {\n captureCommitPhaseError(viewConfig, viewConfig.return, error);\n }\n }\n } else if (\n ((22 !== root.tag && 23 !== root.tag) ||\n null === root.memoizedState ||\n root === finishedWork) &&\n null !== root.child\n ) {\n root.child.return = root;\n root = root.child;\n continue;\n }\n if (root === finishedWork) break a;\n for (; null === root.sibling; ) {\n if (null === root.return || root.return === finishedWork) break a;\n current === root && (current = null);\n root = root.return;\n }\n current === root && (current = null);\n root.sibling.return = root.return;\n root = root.sibling;\n }\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((existingHiddenCallbacks = flags.retryQueue),\n null !== existingHiddenCallbacks &&\n ((flags.retryQueue = null),\n attachSuspenseRetryListeners(\n finishedWork,\n existingHiddenCallbacks\n ))));\n break;\n case 19:\n recursivelyTraverseMutationEffects(root, finishedWork);\n commitReconciliationEffects(finishedWork);\n flags & 4 &&\n ((flags = finishedWork.updateQueue),\n null !== flags &&\n ((finishedWork.updateQueue = null),\n attachSuspenseRetryListeners(finishedWork, flags)));\n break;\n case 21:\n break;\n default:\n recursivelyTraverseMutationEffects(root, finishedWork),\n commitReconciliationEffects(finishedWork);\n }\n}\nfunction commitReconciliationEffects(finishedWork) {\n var flags = finishedWork.flags;\n if (flags & 2) {\n try {\n a: {\n for (var parent = finishedWork.return; null !== parent; ) {\n if (isHostParent(parent)) {\n var JSCompiler_inline_result = parent;\n break a;\n }\n parent = parent.return;\n }\n throw Error(\n \"Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n switch (JSCompiler_inline_result.tag) {\n case 27:\n case 5:\n var parent$jscomp$0 = JSCompiler_inline_result.stateNode;\n JSCompiler_inline_result.flags & 32 &&\n (JSCompiler_inline_result.flags &= -33);\n var before = getHostSibling(finishedWork);\n insertOrAppendPlacementNode(finishedWork, before, parent$jscomp$0);\n break;\n case 3:\n case 4:\n var parent$117 = JSCompiler_inline_result.stateNode.containerInfo,\n before$118 = getHostSibling(finishedWork);\n insertOrAppendPlacementNodeIntoContainer(\n finishedWork,\n before$118,\n parent$117\n );\n break;\n default:\n throw Error(\n \"Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.\"\n );\n }\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n finishedWork.flags &= -3;\n }\n flags & 4096 && (finishedWork.flags &= -4097);\n}\nfunction recursivelyTraverseLayoutEffects(root, parentFiber) {\n if (parentFiber.subtreeFlags & 8772)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitLayoutEffectOnFiber(root, parentFiber.alternate, parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction recursivelyTraverseDisappearLayoutEffects(parentFiber) {\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedWork = parentFiber;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 14:\n case 15:\n commitHookEffectListUnmount(4, finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 1:\n safelyDetachRef(finishedWork, finishedWork.return);\n var instance = finishedWork.stateNode;\n \"function\" === typeof instance.componentWillUnmount &&\n safelyCallComponentWillUnmount(\n finishedWork,\n finishedWork.return,\n instance\n );\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 26:\n case 27:\n case 5:\n safelyDetachRef(finishedWork, finishedWork.return);\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n case 22:\n safelyDetachRef(finishedWork, finishedWork.return);\n null === finishedWork.memoizedState &&\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n break;\n default:\n recursivelyTraverseDisappearLayoutEffects(finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseReappearLayoutEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n includeWorkInProgressEffects\n) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 8772);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(4, finishedWork);\n break;\n case 1:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n finishedRoot = finishedWork;\n var instance = finishedRoot.stateNode;\n if (\"function\" === typeof instance.componentDidMount)\n try {\n instance.componentDidMount();\n } catch (error) {\n captureCommitPhaseError(finishedRoot, finishedRoot.return, error);\n }\n finishedRoot = finishedWork;\n instance = finishedRoot.updateQueue;\n if (null !== instance) {\n var instance$jscomp$0 = finishedRoot.stateNode;\n try {\n var hiddenCallbacks = instance.shared.hiddenCallbacks;\n if (null !== hiddenCallbacks)\n for (\n instance.shared.hiddenCallbacks = null, instance = 0;\n instance < hiddenCallbacks.length;\n instance++\n )\n callCallback(hiddenCallbacks[instance], instance$jscomp$0);\n } catch (error) {\n captureCommitPhaseError(finishedRoot, finishedRoot.return, error);\n }\n }\n includeWorkInProgressEffects &&\n flags & 64 &&\n commitClassCallbacks(finishedWork);\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 26:\n case 27:\n case 5:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n case 12:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n break;\n case 13:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n break;\n case 22:\n null === finishedWork.memoizedState &&\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n safelyAttachRef(finishedWork, finishedWork.return);\n break;\n default:\n recursivelyTraverseReappearLayoutEffects(\n finishedRoot,\n finishedWork,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitOffscreenPassiveMountEffects(current, finishedWork) {\n var previousCache = null;\n null !== current &&\n null !== current.memoizedState &&\n null !== current.memoizedState.cachePool &&\n (previousCache = current.memoizedState.cachePool.pool);\n current = null;\n null !== finishedWork.memoizedState &&\n null !== finishedWork.memoizedState.cachePool &&\n (current = finishedWork.memoizedState.cachePool.pool);\n current !== previousCache &&\n (null != current && current.refCount++,\n null != previousCache && releaseCache(previousCache));\n}\nfunction commitCachePassiveMountEffect(current, finishedWork) {\n current = null;\n null !== finishedWork.alternate &&\n (current = finishedWork.alternate.memoizedState.cache);\n finishedWork = finishedWork.memoizedState.cache;\n finishedWork !== current &&\n (finishedWork.refCount++, null != current && releaseCache(current));\n}\nfunction recursivelyTraversePassiveMountEffects(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveMountOnFiber(\n root,\n parentFiber,\n committedLanes,\n committedTransitions\n ),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitPassiveMountOnFiber(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n) {\n var flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 && commitHookEffectListMount(9, finishedWork);\n break;\n case 3:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n ((finishedRoot = null),\n null !== finishedWork.alternate &&\n (finishedRoot = finishedWork.alternate.memoizedState.cache),\n (finishedWork = finishedWork.memoizedState.cache),\n finishedWork !== finishedRoot &&\n (finishedWork.refCount++,\n null != finishedRoot && releaseCache(finishedRoot)));\n break;\n case 12:\n if (flags & 2048) {\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n finishedRoot = finishedWork.stateNode;\n try {\n var _finishedWork$memoize2 = finishedWork.memoizedProps,\n id = _finishedWork$memoize2.id,\n onPostCommit = _finishedWork$memoize2.onPostCommit;\n \"function\" === typeof onPostCommit &&\n onPostCommit(\n id,\n null === finishedWork.alternate ? \"mount\" : \"update\",\n finishedRoot.passiveEffectDuration,\n -0\n );\n } catch (error) {\n captureCommitPhaseError(finishedWork, finishedWork.return, error);\n }\n } else\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n break;\n case 23:\n break;\n case 22:\n _finishedWork$memoize2 = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? _finishedWork$memoize2._visibility & 4\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : finishedWork.mode & 1\n ? recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : ((_finishedWork$memoize2._visibility |= 4),\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n ))\n : _finishedWork$memoize2._visibility & 4\n ? recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n )\n : ((_finishedWork$memoize2._visibility |= 4),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n 0 !== (finishedWork.subtreeFlags & 10256)\n ));\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraversePassiveMountEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions\n );\n }\n}\nfunction recursivelyTraverseReconnectPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber,\n committedLanes$jscomp$0,\n committedTransitions$jscomp$0,\n includeWorkInProgressEffects\n) {\n includeWorkInProgressEffects =\n includeWorkInProgressEffects && 0 !== (parentFiber.subtreeFlags & 10256);\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n committedLanes = committedLanes$jscomp$0,\n committedTransitions = committedTransitions$jscomp$0,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n commitHookEffectListMount(8, finishedWork);\n break;\n case 23:\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState\n ? instance._visibility & 4\n ? recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n )\n : finishedWork.mode & 1\n ? recursivelyTraverseAtomicPassiveEffects(\n finishedRoot,\n finishedWork\n )\n : ((instance._visibility |= 4),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ))\n : ((instance._visibility |= 4),\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n ));\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n includeWorkInProgressEffects &&\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseReconnectPassiveEffects(\n finishedRoot,\n finishedWork,\n committedLanes,\n committedTransitions,\n includeWorkInProgressEffects\n );\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction recursivelyTraverseAtomicPassiveEffects(\n finishedRoot$jscomp$0,\n parentFiber\n) {\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n var finishedRoot = finishedRoot$jscomp$0,\n finishedWork = parentFiber,\n flags = finishedWork.flags;\n switch (finishedWork.tag) {\n case 22:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitOffscreenPassiveMountEffects(\n finishedWork.alternate,\n finishedWork\n );\n break;\n case 24:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n flags & 2048 &&\n commitCachePassiveMountEffect(finishedWork.alternate, finishedWork);\n break;\n default:\n recursivelyTraverseAtomicPassiveEffects(finishedRoot, finishedWork);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nvar suspenseyCommitFlag = 8192;\nfunction recursivelyAccumulateSuspenseyCommit(parentFiber) {\n if (parentFiber.subtreeFlags & suspenseyCommitFlag)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n accumulateSuspenseyCommitOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction accumulateSuspenseyCommitOnFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n recursivelyAccumulateSuspenseyCommit(fiber);\n fiber.flags & suspenseyCommitFlag &&\n null !== fiber.memoizedState &&\n shim();\n break;\n case 5:\n recursivelyAccumulateSuspenseyCommit(fiber);\n break;\n case 3:\n case 4:\n recursivelyAccumulateSuspenseyCommit(fiber);\n break;\n case 22:\n if (null === fiber.memoizedState) {\n var current = fiber.alternate;\n null !== current && null !== current.memoizedState\n ? ((current = suspenseyCommitFlag),\n (suspenseyCommitFlag = 16777216),\n recursivelyAccumulateSuspenseyCommit(fiber),\n (suspenseyCommitFlag = current))\n : recursivelyAccumulateSuspenseyCommit(fiber);\n }\n break;\n default:\n recursivelyAccumulateSuspenseyCommit(fiber);\n }\n}\nfunction detachAlternateSiblings(parentFiber) {\n var previousFiber = parentFiber.alternate;\n if (\n null !== previousFiber &&\n ((parentFiber = previousFiber.child), null !== parentFiber)\n ) {\n previousFiber.child = null;\n do\n (previousFiber = parentFiber.sibling),\n (parentFiber.sibling = null),\n (parentFiber = previousFiber);\n while (null !== parentFiber);\n }\n}\nfunction recursivelyTraversePassiveUnmountEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n if (parentFiber.subtreeFlags & 10256)\n for (parentFiber = parentFiber.child; null !== parentFiber; )\n commitPassiveUnmountOnFiber(parentFiber),\n (parentFiber = parentFiber.sibling);\n}\nfunction commitPassiveUnmountOnFiber(finishedWork) {\n switch (finishedWork.tag) {\n case 0:\n case 11:\n case 15:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n finishedWork.flags & 2048 &&\n commitHookEffectListUnmount(9, finishedWork, finishedWork.return);\n break;\n case 3:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 12:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n case 22:\n var instance = finishedWork.stateNode;\n null !== finishedWork.memoizedState &&\n instance._visibility & 4 &&\n (null === finishedWork.return || 13 !== finishedWork.return.tag)\n ? ((instance._visibility &= -5),\n recursivelyTraverseDisconnectPassiveEffects(finishedWork))\n : recursivelyTraversePassiveUnmountEffects(finishedWork);\n break;\n default:\n recursivelyTraversePassiveUnmountEffects(finishedWork);\n }\n}\nfunction recursivelyTraverseDisconnectPassiveEffects(parentFiber) {\n var deletions = parentFiber.deletions;\n if (0 !== (parentFiber.flags & 16)) {\n if (null !== deletions)\n for (var i = 0; i < deletions.length; i++) {\n var childToDelete = deletions[i];\n nextEffect = childToDelete;\n commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n childToDelete,\n parentFiber\n );\n }\n detachAlternateSiblings(parentFiber);\n }\n for (parentFiber = parentFiber.child; null !== parentFiber; ) {\n deletions = parentFiber;\n switch (deletions.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, deletions, deletions.return);\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n break;\n case 22:\n i = deletions.stateNode;\n i._visibility & 4 &&\n ((i._visibility &= -5),\n recursivelyTraverseDisconnectPassiveEffects(deletions));\n break;\n default:\n recursivelyTraverseDisconnectPassiveEffects(deletions);\n }\n parentFiber = parentFiber.sibling;\n }\n}\nfunction commitPassiveUnmountEffectsInsideOfDeletedTree_begin(\n deletedSubtreeRoot,\n nearestMountedAncestor\n) {\n for (; null !== nextEffect; ) {\n var fiber = nextEffect;\n switch (fiber.tag) {\n case 0:\n case 11:\n case 15:\n commitHookEffectListUnmount(8, fiber, nearestMountedAncestor);\n break;\n case 23:\n case 22:\n if (\n null !== fiber.memoizedState &&\n null !== fiber.memoizedState.cachePool\n ) {\n var cache = fiber.memoizedState.cachePool.pool;\n null != cache && cache.refCount++;\n }\n break;\n case 24:\n releaseCache(fiber.memoizedState.cache);\n }\n cache = fiber.child;\n if (null !== cache) (cache.return = fiber), (nextEffect = cache);\n else\n a: for (fiber = deletedSubtreeRoot; null !== nextEffect; ) {\n cache = nextEffect;\n var sibling = cache.sibling,\n returnFiber = cache.return;\n detachFiberAfterEffects(cache);\n if (cache === fiber) {\n nextEffect = null;\n break a;\n }\n if (null !== sibling) {\n sibling.return = returnFiber;\n nextEffect = sibling;\n break a;\n }\n nextEffect = returnFiber;\n }\n }\n}\nvar DefaultAsyncDispatcher = {\n getCacheForType: function (resourceType) {\n var cache = readContext(CacheContext),\n cacheForType = cache.data.get(resourceType);\n void 0 === cacheForType &&\n ((cacheForType = resourceType()),\n cache.data.set(resourceType, cacheForType));\n return cacheForType;\n }\n },\n PossiblyWeakMap = \"function\" === typeof WeakMap ? WeakMap : Map,\n executionContext = 0,\n workInProgressRoot = null,\n workInProgress = null,\n workInProgressRootRenderLanes = 0,\n workInProgressSuspendedReason = 0,\n workInProgressThrownValue = null,\n workInProgressRootDidSkipSuspendedSiblings = !1,\n workInProgressRootIsPrerendering = !1,\n workInProgressRootDidAttachPingListener = !1,\n entangledRenderLanes = 0,\n workInProgressRootExitStatus = 0,\n workInProgressRootSkippedLanes = 0,\n workInProgressRootInterleavedUpdatedLanes = 0,\n workInProgressRootPingedLanes = 0,\n workInProgressDeferredLane = 0,\n workInProgressSuspendedRetryLanes = 0,\n workInProgressRootConcurrentErrors = null,\n workInProgressRootRecoverableErrors = null,\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1,\n globalMostRecentFallbackTime = 0,\n workInProgressRootRenderTargetTime = Infinity,\n workInProgressTransitions = null,\n legacyErrorBoundariesThatAlreadyFailed = null,\n rootDoesHavePassiveEffects = !1,\n rootWithPendingPassiveEffects = null,\n pendingPassiveEffectsLanes = 0,\n pendingPassiveEffectsRemainingLanes = 0,\n pendingPassiveTransitions = null,\n nestedUpdateCount = 0,\n rootWithNestedUpdates = null;\nfunction requestUpdateLane(fiber) {\n if (0 === (fiber.mode & 1)) return 2;\n if (0 !== (executionContext & 2) && 0 !== workInProgressRootRenderLanes)\n return workInProgressRootRenderLanes & -workInProgressRootRenderLanes;\n if (null !== ReactSharedInternals.T)\n return (\n (fiber = currentEntangledLane),\n 0 !== fiber ? fiber : requestTransitionLane()\n );\n fiber = 0 !== currentUpdatePriority ? currentUpdatePriority : 32;\n return fiber;\n}\nfunction requestDeferredLane() {\n 0 === workInProgressDeferredLane &&\n (workInProgressDeferredLane =\n 0 !== (workInProgressRootRenderLanes & 536870912)\n ? 536870912\n : claimNextTransitionLane());\n var suspenseHandler = suspenseHandlerStackCursor.current;\n null !== suspenseHandler && (suspenseHandler.flags |= 32);\n return workInProgressDeferredLane;\n}\nfunction scheduleUpdateOnFiber(root, fiber, lane) {\n if (\n (root === workInProgressRoot && 2 === workInProgressSuspendedReason) ||\n null !== root.cancelPendingCommit\n )\n prepareFreshStack(root, 0),\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n markRootUpdated$1(root, lane);\n if (0 === (executionContext & 2) || root !== workInProgressRoot)\n root === workInProgressRoot &&\n (0 === (executionContext & 2) &&\n (workInProgressRootInterleavedUpdatedLanes |= lane),\n 4 === workInProgressRootExitStatus &&\n markRootSuspended(\n root,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n )),\n ensureRootIsScheduled(root),\n 2 === lane &&\n 0 === executionContext &&\n 0 === (fiber.mode & 1) &&\n ((workInProgressRootRenderTargetTime = now() + 500),\n flushSyncWorkAcrossRoots_impl(0, !0));\n}\nfunction performWorkOnRoot(root$jscomp$0, lanes, forceSync) {\n if (0 !== (executionContext & 6))\n throw Error(\"Should not already be working.\");\n var shouldTimeSlice =\n (!forceSync &&\n 0 === (lanes & 60) &&\n 0 === (lanes & root$jscomp$0.expiredLanes)) ||\n checkIfRootIsPrerendering(root$jscomp$0, lanes),\n exitStatus = shouldTimeSlice\n ? renderRootConcurrent(root$jscomp$0, lanes)\n : renderRootSync(root$jscomp$0, lanes, !0),\n renderWasConcurrent = shouldTimeSlice;\n do {\n if (0 === exitStatus) {\n workInProgressRootIsPrerendering &&\n !shouldTimeSlice &&\n markRootSuspended(root$jscomp$0, lanes, 0, !1);\n break;\n } else if (6 === exitStatus)\n markRootSuspended(\n root$jscomp$0,\n lanes,\n 0,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n else {\n forceSync = root$jscomp$0.current.alternate;\n if (\n renderWasConcurrent &&\n !isRenderConsistentWithExternalStores(forceSync)\n ) {\n exitStatus = renderRootSync(root$jscomp$0, lanes, !1);\n renderWasConcurrent = !1;\n continue;\n }\n if (0 !== root$jscomp$0.tag && 2 === exitStatus) {\n renderWasConcurrent = lanes;\n if (root$jscomp$0.errorRecoveryDisabledLanes & renderWasConcurrent)\n var JSCompiler_inline_result = 0;\n else\n (JSCompiler_inline_result = root$jscomp$0.pendingLanes & -536870913),\n (JSCompiler_inline_result =\n 0 !== JSCompiler_inline_result\n ? JSCompiler_inline_result\n : JSCompiler_inline_result & 536870912\n ? 536870912\n : 0);\n if (0 !== JSCompiler_inline_result) {\n lanes = JSCompiler_inline_result;\n a: {\n var root = root$jscomp$0;\n exitStatus = workInProgressRootConcurrentErrors;\n JSCompiler_inline_result = renderRootSync(\n root,\n JSCompiler_inline_result,\n !1\n );\n if (2 !== JSCompiler_inline_result) {\n if (workInProgressRootDidAttachPingListener) {\n root.errorRecoveryDisabledLanes |= renderWasConcurrent;\n workInProgressRootInterleavedUpdatedLanes |=\n renderWasConcurrent;\n exitStatus = 4;\n break a;\n }\n renderWasConcurrent = workInProgressRootRecoverableErrors;\n workInProgressRootRecoverableErrors = exitStatus;\n null !== renderWasConcurrent &&\n queueRecoverableErrors(renderWasConcurrent);\n }\n exitStatus = JSCompiler_inline_result;\n }\n renderWasConcurrent = !1;\n if (2 !== exitStatus) continue;\n }\n }\n if (1 === exitStatus) {\n prepareFreshStack(root$jscomp$0, 0);\n markRootSuspended(root$jscomp$0, lanes, 0, !0);\n break;\n }\n a: {\n shouldTimeSlice = root$jscomp$0;\n renderWasConcurrent = exitStatus;\n switch (renderWasConcurrent) {\n case 0:\n case 1:\n throw Error(\"Root did not complete. This is a bug in React.\");\n case 4:\n if ((lanes & 4194176) === lanes) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n break a;\n }\n break;\n case 2:\n workInProgressRootRecoverableErrors = null;\n break;\n case 3:\n case 5:\n break;\n default:\n throw Error(\"Unknown root exit status.\");\n }\n shouldTimeSlice.finishedWork = forceSync;\n shouldTimeSlice.finishedLanes = lanes;\n if (\n (lanes & 62914560) === lanes &&\n 3 === renderWasConcurrent &&\n ((renderWasConcurrent = globalMostRecentFallbackTime + 300 - now()),\n 10 < renderWasConcurrent)\n ) {\n markRootSuspended(\n shouldTimeSlice,\n lanes,\n workInProgressDeferredLane,\n !workInProgressRootDidSkipSuspendedSiblings\n );\n if (0 !== getNextLanes(shouldTimeSlice, 0)) break a;\n shouldTimeSlice.timeoutHandle = scheduleTimeout(\n commitRootWhenReady.bind(\n null,\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n 2,\n -0,\n 0\n ),\n renderWasConcurrent\n );\n break a;\n }\n commitRootWhenReady(\n shouldTimeSlice,\n forceSync,\n workInProgressRootRecoverableErrors,\n workInProgressTransitions,\n workInProgressRootDidIncludeRecursiveRenderUpdate,\n lanes,\n workInProgressDeferredLane,\n workInProgressRootInterleavedUpdatedLanes,\n workInProgressSuspendedRetryLanes,\n workInProgressRootDidSkipSuspendedSiblings,\n 0,\n -0,\n 0\n );\n }\n }\n break;\n } while (1);\n ensureRootIsScheduled(root$jscomp$0);\n}\nfunction queueRecoverableErrors(errors) {\n null === workInProgressRootRecoverableErrors\n ? (workInProgressRootRecoverableErrors = errors)\n : workInProgressRootRecoverableErrors.push.apply(\n workInProgressRootRecoverableErrors,\n errors\n );\n}\nfunction commitRootWhenReady(\n root,\n finishedWork,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n didSkipSuspendedSiblings,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n) {\n lanes = finishedWork.subtreeFlags;\n (lanes & 8192 || 16785408 === (lanes & 16785408)) &&\n accumulateSuspenseyCommitOnFiber(finishedWork);\n finishedWork = ReactSharedInternals.T;\n lanes = currentUpdatePriority;\n try {\n (currentUpdatePriority = 2),\n (ReactSharedInternals.T = null),\n commitRootImpl(\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n lanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes,\n suspendedCommitReason,\n completedRenderStartTime,\n completedRenderEndTime\n );\n } finally {\n (ReactSharedInternals.T = finishedWork), (currentUpdatePriority = lanes);\n }\n}\nfunction isRenderConsistentWithExternalStores(finishedWork) {\n for (var node = finishedWork; ; ) {\n var tag = node.tag;\n if (\n (0 === tag || 11 === tag || 15 === tag) &&\n node.flags & 16384 &&\n ((tag = node.updateQueue),\n null !== tag && ((tag = tag.stores), null !== tag))\n )\n for (var i = 0; i < tag.length; i++) {\n var check = tag[i],\n getSnapshot = check.getSnapshot;\n check = check.value;\n try {\n if (!objectIs(getSnapshot(), check)) return !1;\n } catch (error) {\n return !1;\n }\n }\n tag = node.child;\n if (node.subtreeFlags & 16384 && null !== tag)\n (tag.return = node), (node = tag);\n else {\n if (node === finishedWork) break;\n for (; null === node.sibling; ) {\n if (null === node.return || node.return === finishedWork) return !0;\n node = node.return;\n }\n node.sibling.return = node.return;\n node = node.sibling;\n }\n }\n return !0;\n}\nfunction markRootSuspended(\n root,\n suspendedLanes,\n spawnedLane,\n didAttemptEntireTree\n) {\n suspendedLanes &= ~workInProgressRootPingedLanes;\n suspendedLanes &= ~workInProgressRootInterleavedUpdatedLanes;\n root.suspendedLanes |= suspendedLanes;\n root.pingedLanes &= ~suspendedLanes;\n didAttemptEntireTree && (root.warmLanes |= suspendedLanes);\n didAttemptEntireTree = root.expirationTimes;\n for (var lanes = suspendedLanes; 0 < lanes; ) {\n var index$11 = 31 - clz32(lanes),\n lane = 1 << index$11;\n didAttemptEntireTree[index$11] = -1;\n lanes &= ~lane;\n }\n 0 !== spawnedLane &&\n markSpawnedDeferredLane(root, spawnedLane, suspendedLanes);\n}\nfunction resetWorkInProgressStack() {\n if (null !== workInProgress) {\n if (0 === workInProgressSuspendedReason)\n var interruptedWork = workInProgress.return;\n else\n (interruptedWork = workInProgress),\n (lastContextDependency = currentlyRenderingFiber = null),\n resetHooksOnUnwind(interruptedWork),\n (thenableState$1 = null),\n (thenableIndexCounter$1 = 0),\n (interruptedWork = workInProgress);\n for (; null !== interruptedWork; )\n unwindInterruptedWork(interruptedWork.alternate, interruptedWork),\n (interruptedWork = interruptedWork.return);\n workInProgress = null;\n }\n}\nfunction prepareFreshStack(root, lanes) {\n root.finishedWork = null;\n root.finishedLanes = 0;\n var timeoutHandle = root.timeoutHandle;\n -1 !== timeoutHandle &&\n ((root.timeoutHandle = -1), cancelTimeout(timeoutHandle));\n timeoutHandle = root.cancelPendingCommit;\n null !== timeoutHandle &&\n ((root.cancelPendingCommit = null), timeoutHandle());\n resetWorkInProgressStack();\n workInProgressRoot = root;\n workInProgress = timeoutHandle = createWorkInProgress(root.current, null);\n workInProgressRootRenderLanes = lanes;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n workInProgressRootDidSkipSuspendedSiblings = !1;\n workInProgressRootIsPrerendering = checkIfRootIsPrerendering(root, lanes);\n workInProgressRootDidAttachPingListener = !1;\n workInProgressSuspendedRetryLanes =\n workInProgressDeferredLane =\n workInProgressRootPingedLanes =\n workInProgressRootInterleavedUpdatedLanes =\n workInProgressRootSkippedLanes =\n workInProgressRootExitStatus =\n 0;\n workInProgressRootRecoverableErrors = workInProgressRootConcurrentErrors =\n null;\n workInProgressRootDidIncludeRecursiveRenderUpdate = !1;\n 0 !== (lanes & 8) && (lanes |= lanes & 32);\n var allEntangledLanes = root.entangledLanes;\n if (0 !== allEntangledLanes)\n for (\n root = root.entanglements, allEntangledLanes &= lanes;\n 0 < allEntangledLanes;\n\n ) {\n var index$9 = 31 - clz32(allEntangledLanes),\n lane = 1 << index$9;\n lanes |= root[index$9];\n allEntangledLanes &= ~lane;\n }\n entangledRenderLanes = lanes;\n finishQueueingConcurrentUpdates();\n return timeoutHandle;\n}\nfunction handleThrow(root, thrownValue) {\n currentlyRenderingFiber$1 = null;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n thrownValue === SuspenseException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 3))\n : thrownValue === SuspenseyCommitException\n ? ((thrownValue = getSuspendedThenable()),\n (workInProgressSuspendedReason = 4))\n : (workInProgressSuspendedReason =\n thrownValue === SelectiveHydrationException\n ? 8\n : null !== thrownValue &&\n \"object\" === typeof thrownValue &&\n \"function\" === typeof thrownValue.then\n ? 6\n : 1);\n workInProgressThrownValue = thrownValue;\n null === workInProgress &&\n ((workInProgressRootExitStatus = 1),\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n ));\n}\nfunction pushDispatcher() {\n var prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = ContextOnlyDispatcher;\n return null === prevDispatcher ? ContextOnlyDispatcher : prevDispatcher;\n}\nfunction pushAsyncDispatcher() {\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n return prevAsyncDispatcher;\n}\nfunction renderDidSuspendDelayIfPossible() {\n workInProgressRootExitStatus = 4;\n workInProgressRootDidSkipSuspendedSiblings ||\n ((workInProgressRootRenderLanes & 4194176) !==\n workInProgressRootRenderLanes &&\n null !== suspenseHandlerStackCursor.current) ||\n (workInProgressRootIsPrerendering = !0);\n (0 === (workInProgressRootSkippedLanes & 134217727) &&\n 0 === (workInProgressRootInterleavedUpdatedLanes & 134217727)) ||\n null === workInProgressRoot ||\n markRootSuspended(\n workInProgressRoot,\n workInProgressRootRenderLanes,\n workInProgressDeferredLane,\n !1\n );\n}\nfunction renderRootSync(root, lanes, shouldYieldForPrerendering) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n if (workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes)\n (workInProgressTransitions = null), prepareFreshStack(root, lanes);\n lanes = !1;\n var exitStatus = workInProgressRootExitStatus;\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n var unitOfWork = workInProgress,\n thrownValue = workInProgressThrownValue;\n switch (workInProgressSuspendedReason) {\n case 8:\n resetWorkInProgressStack();\n exitStatus = 6;\n break a;\n case 3:\n case 2:\n case 6:\n null === suspenseHandlerStackCursor.current && (lanes = !0);\n var reason = workInProgressSuspendedReason;\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n if (\n shouldYieldForPrerendering &&\n workInProgressRootIsPrerendering\n ) {\n exitStatus = 0;\n break a;\n }\n break;\n default:\n (reason = workInProgressSuspendedReason),\n (workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, unitOfWork, thrownValue, reason);\n }\n }\n workLoopSync();\n exitStatus = workInProgressRootExitStatus;\n break;\n } catch (thrownValue$133) {\n handleThrow(root, thrownValue$133);\n }\n while (1);\n lanes && root.shellSuspendCounter++;\n lastContextDependency = currentlyRenderingFiber = null;\n executionContext = prevExecutionContext;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n null === workInProgress &&\n ((workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0),\n finishQueueingConcurrentUpdates());\n return exitStatus;\n}\nfunction workLoopSync() {\n for (; null !== workInProgress; ) performUnitOfWork(workInProgress);\n}\nfunction renderRootConcurrent(root, lanes) {\n var prevExecutionContext = executionContext;\n executionContext |= 2;\n var prevDispatcher = pushDispatcher(),\n prevAsyncDispatcher = pushAsyncDispatcher();\n workInProgressRoot !== root || workInProgressRootRenderLanes !== lanes\n ? ((workInProgressTransitions = null),\n (workInProgressRootRenderTargetTime = now() + 500),\n prepareFreshStack(root, lanes))\n : (workInProgressRootIsPrerendering = checkIfRootIsPrerendering(\n root,\n lanes\n ));\n a: do\n try {\n if (0 !== workInProgressSuspendedReason && null !== workInProgress) {\n lanes = workInProgress;\n var thrownValue = workInProgressThrownValue;\n b: switch (workInProgressSuspendedReason) {\n case 1:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 1);\n break;\n case 2:\n if (isThenableResolved(thrownValue)) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n replaySuspendedUnitOfWork(lanes);\n break;\n }\n lanes = function () {\n 2 === workInProgressSuspendedReason &&\n workInProgressRoot === root &&\n (workInProgressSuspendedReason = 7);\n ensureRootIsScheduled(root);\n };\n thrownValue.then(lanes, lanes);\n break a;\n case 3:\n workInProgressSuspendedReason = 7;\n break a;\n case 4:\n workInProgressSuspendedReason = 5;\n break a;\n case 7:\n isThenableResolved(thrownValue)\n ? ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n replaySuspendedUnitOfWork(lanes))\n : ((workInProgressSuspendedReason = 0),\n (workInProgressThrownValue = null),\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 7));\n break;\n case 5:\n var resource = null;\n switch (workInProgress.tag) {\n case 26:\n resource = workInProgress.memoizedState;\n case 5:\n case 27:\n var hostFiber = workInProgress;\n if (resource ? shim(resource) : 1) {\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n var sibling = hostFiber.sibling;\n if (null !== sibling) workInProgress = sibling;\n else {\n var returnFiber = hostFiber.return;\n null !== returnFiber\n ? ((workInProgress = returnFiber),\n completeUnitOfWork(returnFiber))\n : (workInProgress = null);\n }\n break b;\n }\n }\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 5);\n break;\n case 6:\n workInProgressSuspendedReason = 0;\n workInProgressThrownValue = null;\n throwAndUnwindWorkLoop(root, lanes, thrownValue, 6);\n break;\n case 8:\n resetWorkInProgressStack();\n workInProgressRootExitStatus = 6;\n break a;\n default:\n throw Error(\"Unexpected SuspendedReason. This is a bug in React.\");\n }\n }\n workLoopConcurrent();\n break;\n } catch (thrownValue$135) {\n handleThrow(root, thrownValue$135);\n }\n while (1);\n lastContextDependency = currentlyRenderingFiber = null;\n ReactSharedInternals.H = prevDispatcher;\n ReactSharedInternals.A = prevAsyncDispatcher;\n executionContext = prevExecutionContext;\n if (null !== workInProgress) return 0;\n workInProgressRoot = null;\n workInProgressRootRenderLanes = 0;\n finishQueueingConcurrentUpdates();\n return workInProgressRootExitStatus;\n}\nfunction workLoopConcurrent() {\n for (; null !== workInProgress && !shouldYield(); )\n performUnitOfWork(workInProgress);\n}\nfunction performUnitOfWork(unitOfWork) {\n var next = beginWork(unitOfWork.alternate, unitOfWork, entangledRenderLanes);\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction replaySuspendedUnitOfWork(unitOfWork) {\n var next = unitOfWork;\n var current = next.alternate;\n switch (next.tag) {\n case 15:\n case 0:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type,\n void 0,\n workInProgressRootRenderLanes\n );\n break;\n case 11:\n next = replayFunctionComponent(\n current,\n next,\n next.pendingProps,\n next.type.render,\n next.ref,\n workInProgressRootRenderLanes\n );\n break;\n case 5:\n resetHooksOnUnwind(next);\n default:\n unwindInterruptedWork(current, next),\n (next = workInProgress =\n resetWorkInProgress(next, entangledRenderLanes)),\n (next = beginWork(current, next, entangledRenderLanes));\n }\n unitOfWork.memoizedProps = unitOfWork.pendingProps;\n null === next ? completeUnitOfWork(unitOfWork) : (workInProgress = next);\n}\nfunction throwAndUnwindWorkLoop(\n root,\n unitOfWork,\n thrownValue,\n suspendedReason\n) {\n lastContextDependency = currentlyRenderingFiber = null;\n resetHooksOnUnwind(unitOfWork);\n thenableState$1 = null;\n thenableIndexCounter$1 = 0;\n var returnFiber = unitOfWork.return;\n try {\n if (\n throwException(\n root,\n returnFiber,\n unitOfWork,\n thrownValue,\n workInProgressRootRenderLanes\n )\n ) {\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n } catch (error) {\n if (null !== returnFiber) throw ((workInProgress = returnFiber), error);\n workInProgressRootExitStatus = 1;\n logUncaughtError(\n root,\n createCapturedValueAtFiber(thrownValue, root.current)\n );\n workInProgress = null;\n return;\n }\n if (unitOfWork.flags & 32768) {\n if (1 === suspendedReason) root = !0;\n else if (\n workInProgressRootIsPrerendering ||\n 0 !== (workInProgressRootRenderLanes & 536870912)\n )\n root = !1;\n else if (\n ((workInProgressRootDidSkipSuspendedSiblings = root = !0),\n 2 === suspendedReason || 3 === suspendedReason || 6 === suspendedReason)\n )\n (suspendedReason = suspenseHandlerStackCursor.current),\n null !== suspendedReason &&\n 13 === suspendedReason.tag &&\n (suspendedReason.flags |= 16384);\n unwindUnitOfWork(unitOfWork, root);\n } else completeUnitOfWork(unitOfWork);\n}\nfunction completeUnitOfWork(unitOfWork) {\n var completedWork = unitOfWork;\n do {\n if (0 !== (completedWork.flags & 32768)) {\n unwindUnitOfWork(\n completedWork,\n workInProgressRootDidSkipSuspendedSiblings\n );\n return;\n }\n unitOfWork = completedWork.return;\n var next = completeWork(\n completedWork.alternate,\n completedWork,\n entangledRenderLanes\n );\n if (null !== next) {\n workInProgress = next;\n return;\n }\n completedWork = completedWork.sibling;\n if (null !== completedWork) {\n workInProgress = completedWork;\n return;\n }\n workInProgress = completedWork = unitOfWork;\n } while (null !== completedWork);\n 0 === workInProgressRootExitStatus && (workInProgressRootExitStatus = 5);\n}\nfunction unwindUnitOfWork(unitOfWork, skipSiblings) {\n do {\n var next = unwindWork(unitOfWork.alternate, unitOfWork);\n if (null !== next) {\n next.flags &= 32767;\n workInProgress = next;\n return;\n }\n next = unitOfWork.return;\n null !== next &&\n ((next.flags |= 32768), (next.subtreeFlags = 0), (next.deletions = null));\n if (\n !skipSiblings &&\n ((unitOfWork = unitOfWork.sibling), null !== unitOfWork)\n ) {\n workInProgress = unitOfWork;\n return;\n }\n workInProgress = unitOfWork = next;\n } while (null !== unitOfWork);\n workInProgressRootExitStatus = 6;\n workInProgress = null;\n}\nfunction commitRootImpl(\n root,\n recoverableErrors,\n transitions,\n didIncludeRenderPhaseUpdate,\n renderPriorityLevel,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n) {\n do flushPassiveEffects();\n while (null !== rootWithPendingPassiveEffects);\n if (0 !== (executionContext & 6))\n throw Error(\"Should not already be working.\");\n var finishedWork = root.finishedWork;\n didIncludeRenderPhaseUpdate = root.finishedLanes;\n if (null === finishedWork) return null;\n root.finishedWork = null;\n root.finishedLanes = 0;\n if (finishedWork === root.current)\n throw Error(\n \"Cannot commit the same tree as before. This error is likely caused by a bug in React. Please file an issue.\"\n );\n root.callbackNode = null;\n root.callbackPriority = 0;\n root.cancelPendingCommit = null;\n var remainingLanes = finishedWork.lanes | finishedWork.childLanes;\n remainingLanes |= concurrentlyUpdatedLanes;\n markRootFinished(\n root,\n didIncludeRenderPhaseUpdate,\n remainingLanes,\n spawnedLane,\n updatedLanes,\n suspendedRetryLanes\n );\n root === workInProgressRoot &&\n ((workInProgress = workInProgressRoot = null),\n (workInProgressRootRenderLanes = 0));\n (0 === (finishedWork.subtreeFlags & 10256) &&\n 0 === (finishedWork.flags & 10256)) ||\n rootDoesHavePassiveEffects ||\n ((rootDoesHavePassiveEffects = !0),\n (pendingPassiveEffectsRemainingLanes = remainingLanes),\n (pendingPassiveTransitions = transitions),\n scheduleCallback(NormalPriority$1, function () {\n flushPassiveEffects(!0);\n return null;\n }));\n transitions = 0 !== (finishedWork.flags & 15990);\n 0 !== (finishedWork.subtreeFlags & 15990) || transitions\n ? ((transitions = ReactSharedInternals.T),\n (ReactSharedInternals.T = null),\n (spawnedLane = currentUpdatePriority),\n (currentUpdatePriority = 2),\n (updatedLanes = executionContext),\n (executionContext |= 4),\n commitBeforeMutationEffects(root, finishedWork),\n commitMutationEffectsOnFiber(finishedWork, root),\n (root.current = finishedWork),\n commitLayoutEffectOnFiber(root, finishedWork.alternate, finishedWork),\n requestPaint(),\n (executionContext = updatedLanes),\n (currentUpdatePriority = spawnedLane),\n (ReactSharedInternals.T = transitions))\n : (root.current = finishedWork);\n rootDoesHavePassiveEffects\n ? ((rootDoesHavePassiveEffects = !1),\n (rootWithPendingPassiveEffects = root),\n (pendingPassiveEffectsLanes = didIncludeRenderPhaseUpdate))\n : releaseRootPooledCache(root, remainingLanes);\n remainingLanes = root.pendingLanes;\n 0 === remainingLanes && (legacyErrorBoundariesThatAlreadyFailed = null);\n onCommitRoot(finishedWork.stateNode, renderPriorityLevel);\n ensureRootIsScheduled(root);\n if (null !== recoverableErrors)\n for (\n renderPriorityLevel = root.onRecoverableError, finishedWork = 0;\n finishedWork < recoverableErrors.length;\n finishedWork++\n )\n (remainingLanes = recoverableErrors[finishedWork]),\n renderPriorityLevel(remainingLanes.value, {\n componentStack: remainingLanes.stack\n });\n 0 !== (pendingPassiveEffectsLanes & 3) &&\n 0 !== root.tag &&\n flushPassiveEffects();\n remainingLanes = root.pendingLanes;\n 0 !== (didIncludeRenderPhaseUpdate & 4194218) && 0 !== (remainingLanes & 42)\n ? root === rootWithNestedUpdates\n ? nestedUpdateCount++\n : ((nestedUpdateCount = 0), (rootWithNestedUpdates = root))\n : (nestedUpdateCount = 0);\n flushSyncWorkAcrossRoots_impl(0, !1);\n return null;\n}\nfunction releaseRootPooledCache(root, remainingLanes) {\n 0 === (root.pooledCacheLanes &= remainingLanes) &&\n ((remainingLanes = root.pooledCache),\n null != remainingLanes &&\n ((root.pooledCache = null), releaseCache(remainingLanes)));\n}\nfunction flushPassiveEffects() {\n if (null !== rootWithPendingPassiveEffects) {\n var root = rootWithPendingPassiveEffects,\n remainingLanes = pendingPassiveEffectsRemainingLanes;\n pendingPassiveEffectsRemainingLanes = 0;\n var renderPriority = lanesToEventPriority(pendingPassiveEffectsLanes),\n prevTransition = ReactSharedInternals.T,\n previousPriority = currentUpdatePriority;\n try {\n currentUpdatePriority = 32 > renderPriority ? 32 : renderPriority;\n ReactSharedInternals.T = null;\n if (null === rootWithPendingPassiveEffects)\n var JSCompiler_inline_result = !1;\n else {\n renderPriority = pendingPassiveTransitions;\n pendingPassiveTransitions = null;\n var root$jscomp$0 = rootWithPendingPassiveEffects,\n lanes = pendingPassiveEffectsLanes;\n rootWithPendingPassiveEffects = null;\n pendingPassiveEffectsLanes = 0;\n if (0 !== (executionContext & 6))\n throw Error(\"Cannot flush passive effects while already rendering.\");\n var prevExecutionContext = executionContext;\n executionContext |= 4;\n commitPassiveUnmountOnFiber(root$jscomp$0.current);\n commitPassiveMountOnFiber(\n root$jscomp$0,\n root$jscomp$0.current,\n lanes,\n renderPriority\n );\n executionContext = prevExecutionContext;\n flushSyncWorkAcrossRoots_impl(0, !1);\n if (\n injectedHook &&\n \"function\" === typeof injectedHook.onPostCommitFiberRoot\n )\n try {\n injectedHook.onPostCommitFiberRoot(rendererID, root$jscomp$0);\n } catch (err) {}\n JSCompiler_inline_result = !0;\n }\n return JSCompiler_inline_result;\n } finally {\n (currentUpdatePriority = previousPriority),\n (ReactSharedInternals.T = prevTransition),\n releaseRootPooledCache(root, remainingLanes);\n }\n }\n return !1;\n}\nfunction captureCommitPhaseErrorOnRoot(rootFiber, sourceFiber, error) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n sourceFiber = createRootErrorUpdate(rootFiber.stateNode, sourceFiber, 2);\n rootFiber = enqueueUpdate(rootFiber, sourceFiber, 2);\n null !== rootFiber &&\n (markRootUpdated$1(rootFiber, 2), ensureRootIsScheduled(rootFiber));\n}\nfunction captureCommitPhaseError(sourceFiber, nearestMountedAncestor, error) {\n if (3 === sourceFiber.tag)\n captureCommitPhaseErrorOnRoot(sourceFiber, sourceFiber, error);\n else\n for (; null !== nearestMountedAncestor; ) {\n if (3 === nearestMountedAncestor.tag) {\n captureCommitPhaseErrorOnRoot(\n nearestMountedAncestor,\n sourceFiber,\n error\n );\n break;\n } else if (1 === nearestMountedAncestor.tag) {\n var instance = nearestMountedAncestor.stateNode;\n if (\n \"function\" ===\n typeof nearestMountedAncestor.type.getDerivedStateFromError ||\n (\"function\" === typeof instance.componentDidCatch &&\n (null === legacyErrorBoundariesThatAlreadyFailed ||\n !legacyErrorBoundariesThatAlreadyFailed.has(instance)))\n ) {\n sourceFiber = createCapturedValueAtFiber(error, sourceFiber);\n error = createClassErrorUpdate(2);\n instance = enqueueUpdate(nearestMountedAncestor, error, 2);\n null !== instance &&\n (initializeClassErrorUpdate(\n error,\n instance,\n nearestMountedAncestor,\n sourceFiber\n ),\n markRootUpdated$1(instance, 2),\n ensureRootIsScheduled(instance));\n break;\n }\n }\n nearestMountedAncestor = nearestMountedAncestor.return;\n }\n}\nfunction attachPingListener(root, wakeable, lanes) {\n var pingCache = root.pingCache;\n if (null === pingCache) {\n pingCache = root.pingCache = new PossiblyWeakMap();\n var threadIDs = new Set();\n pingCache.set(wakeable, threadIDs);\n } else\n (threadIDs = pingCache.get(wakeable)),\n void 0 === threadIDs &&\n ((threadIDs = new Set()), pingCache.set(wakeable, threadIDs));\n threadIDs.has(lanes) ||\n ((workInProgressRootDidAttachPingListener = !0),\n threadIDs.add(lanes),\n (root = pingSuspendedRoot.bind(null, root, wakeable, lanes)),\n wakeable.then(root, root));\n}\nfunction pingSuspendedRoot(root, wakeable, pingedLanes) {\n var pingCache = root.pingCache;\n null !== pingCache && pingCache.delete(wakeable);\n root.pingedLanes |= root.suspendedLanes & pingedLanes;\n root.warmLanes &= ~pingedLanes;\n workInProgressRoot === root &&\n (workInProgressRootRenderLanes & pingedLanes) === pingedLanes &&\n (4 === workInProgressRootExitStatus ||\n (3 === workInProgressRootExitStatus &&\n (workInProgressRootRenderLanes & 62914560) ===\n workInProgressRootRenderLanes &&\n 300 > now() - globalMostRecentFallbackTime)\n ? 0 === (executionContext & 2) && prepareFreshStack(root, 0)\n : (workInProgressRootPingedLanes |= pingedLanes),\n workInProgressSuspendedRetryLanes === workInProgressRootRenderLanes &&\n (workInProgressSuspendedRetryLanes = 0));\n ensureRootIsScheduled(root);\n}\nfunction retryTimedOutBoundary(boundaryFiber, retryLane) {\n 0 === retryLane &&\n (retryLane = 0 === (boundaryFiber.mode & 1) ? 2 : claimNextRetryLane());\n boundaryFiber = enqueueConcurrentRenderForLane(boundaryFiber, retryLane);\n null !== boundaryFiber &&\n (markRootUpdated$1(boundaryFiber, retryLane),\n ensureRootIsScheduled(boundaryFiber));\n}\nfunction retryDehydratedSuspenseBoundary(boundaryFiber) {\n var suspenseState = boundaryFiber.memoizedState,\n retryLane = 0;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction resolveRetryWakeable(boundaryFiber, wakeable) {\n var retryLane = 0;\n switch (boundaryFiber.tag) {\n case 13:\n var retryCache = boundaryFiber.stateNode;\n var suspenseState = boundaryFiber.memoizedState;\n null !== suspenseState && (retryLane = suspenseState.retryLane);\n break;\n case 19:\n retryCache = boundaryFiber.stateNode;\n break;\n case 22:\n retryCache = boundaryFiber.stateNode._retryCache;\n break;\n default:\n throw Error(\n \"Pinged unknown suspense boundary type. This is probably a bug in React.\"\n );\n }\n null !== retryCache && retryCache.delete(wakeable);\n retryTimedOutBoundary(boundaryFiber, retryLane);\n}\nfunction scheduleCallback(priorityLevel, callback) {\n return scheduleCallback$3(priorityLevel, callback);\n}\nfunction FiberNode(tag, pendingProps, key, mode) {\n this.tag = tag;\n this.key = key;\n this.sibling =\n this.child =\n this.return =\n this.stateNode =\n this.type =\n this.elementType =\n null;\n this.index = 0;\n this.refCleanup = this.ref = null;\n this.pendingProps = pendingProps;\n this.dependencies =\n this.memoizedState =\n this.updateQueue =\n this.memoizedProps =\n null;\n this.mode = mode;\n this.subtreeFlags = this.flags = 0;\n this.deletions = null;\n this.childLanes = this.lanes = 0;\n this.alternate = null;\n}\nfunction createFiberImplClass(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n}\nfunction shouldConstruct(Component) {\n Component = Component.prototype;\n return !(!Component || !Component.isReactComponent);\n}\nfunction createWorkInProgress(current, pendingProps) {\n var workInProgress = current.alternate;\n null === workInProgress\n ? ((workInProgress = createFiberImplClass(\n current.tag,\n pendingProps,\n current.key,\n current.mode\n )),\n (workInProgress.elementType = current.elementType),\n (workInProgress.type = current.type),\n (workInProgress.stateNode = current.stateNode),\n (workInProgress.alternate = current),\n (current.alternate = workInProgress))\n : ((workInProgress.pendingProps = pendingProps),\n (workInProgress.type = current.type),\n (workInProgress.flags = 0),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null));\n workInProgress.flags = current.flags & 31457280;\n workInProgress.childLanes = current.childLanes;\n workInProgress.lanes = current.lanes;\n workInProgress.child = current.child;\n workInProgress.memoizedProps = current.memoizedProps;\n workInProgress.memoizedState = current.memoizedState;\n workInProgress.updateQueue = current.updateQueue;\n pendingProps = current.dependencies;\n workInProgress.dependencies =\n null === pendingProps\n ? null\n : { lanes: pendingProps.lanes, firstContext: pendingProps.firstContext };\n workInProgress.sibling = current.sibling;\n workInProgress.index = current.index;\n workInProgress.ref = current.ref;\n workInProgress.refCleanup = current.refCleanup;\n return workInProgress;\n}\nfunction resetWorkInProgress(workInProgress, renderLanes) {\n workInProgress.flags &= 31457282;\n var current = workInProgress.alternate;\n null === current\n ? ((workInProgress.childLanes = 0),\n (workInProgress.lanes = renderLanes),\n (workInProgress.child = null),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.memoizedProps = null),\n (workInProgress.memoizedState = null),\n (workInProgress.updateQueue = null),\n (workInProgress.dependencies = null),\n (workInProgress.stateNode = null))\n : ((workInProgress.childLanes = current.childLanes),\n (workInProgress.lanes = current.lanes),\n (workInProgress.child = current.child),\n (workInProgress.subtreeFlags = 0),\n (workInProgress.deletions = null),\n (workInProgress.memoizedProps = current.memoizedProps),\n (workInProgress.memoizedState = current.memoizedState),\n (workInProgress.updateQueue = current.updateQueue),\n (workInProgress.type = current.type),\n (renderLanes = current.dependencies),\n (workInProgress.dependencies =\n null === renderLanes\n ? null\n : {\n lanes: renderLanes.lanes,\n firstContext: renderLanes.firstContext\n }));\n return workInProgress;\n}\nfunction createFiberFromTypeAndProps(\n type,\n key,\n pendingProps,\n owner,\n mode,\n lanes\n) {\n var fiberTag = 0;\n owner = type;\n if (\"function\" === typeof type) shouldConstruct(type) && (fiberTag = 1);\n else if (\"string\" === typeof type) fiberTag = 5;\n else\n a: switch (type) {\n case REACT_FRAGMENT_TYPE:\n return createFiberFromFragment(pendingProps.children, mode, lanes, key);\n case REACT_STRICT_MODE_TYPE:\n fiberTag = 8;\n mode |= 8;\n 0 !== (mode & 1) && (mode |= 16);\n break;\n case REACT_PROFILER_TYPE:\n return (\n (type = createFiberImplClass(12, pendingProps, key, mode | 2)),\n (type.elementType = REACT_PROFILER_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_TYPE:\n return (\n (type = createFiberImplClass(13, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_SUSPENSE_LIST_TYPE:\n return (\n (type = createFiberImplClass(19, pendingProps, key, mode)),\n (type.elementType = REACT_SUSPENSE_LIST_TYPE),\n (type.lanes = lanes),\n type\n );\n case REACT_OFFSCREEN_TYPE:\n return createFiberFromOffscreen(pendingProps, mode, lanes, key);\n default:\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_PROVIDER_TYPE:\n case REACT_CONTEXT_TYPE:\n fiberTag = 10;\n break a;\n case REACT_CONSUMER_TYPE:\n fiberTag = 9;\n break a;\n case REACT_FORWARD_REF_TYPE:\n fiberTag = 11;\n break a;\n case REACT_MEMO_TYPE:\n fiberTag = 14;\n break a;\n case REACT_LAZY_TYPE:\n fiberTag = 16;\n owner = null;\n break a;\n }\n fiberTag = 29;\n pendingProps = Error(\n \"Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: \" +\n ((null === type ? \"null\" : typeof type) + \".\")\n );\n owner = null;\n }\n key = createFiberImplClass(fiberTag, pendingProps, key, mode);\n key.elementType = type;\n key.type = owner;\n key.lanes = lanes;\n return key;\n}\nfunction createFiberFromFragment(elements, mode, lanes, key) {\n elements = createFiberImplClass(7, elements, key, mode);\n elements.lanes = lanes;\n return elements;\n}\nfunction createFiberFromOffscreen(pendingProps, mode, lanes, key) {\n pendingProps = createFiberImplClass(22, pendingProps, key, mode);\n pendingProps.elementType = REACT_OFFSCREEN_TYPE;\n pendingProps.lanes = lanes;\n var primaryChildInstance = {\n _visibility: 1,\n _pendingVisibility: 1,\n _pendingMarkers: null,\n _retryCache: null,\n _transitions: null,\n _current: null,\n detach: function () {\n var fiber = primaryChildInstance._current;\n if (null === fiber)\n throw Error(\n \"Calling Offscreen.detach before instance handle has been set.\"\n );\n if (0 === (primaryChildInstance._pendingVisibility & 2)) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root &&\n ((primaryChildInstance._pendingVisibility |= 2),\n scheduleUpdateOnFiber(root, fiber, 2));\n }\n },\n attach: function () {\n var fiber = primaryChildInstance._current;\n if (null === fiber)\n throw Error(\n \"Calling Offscreen.detach before instance handle has been set.\"\n );\n if (0 !== (primaryChildInstance._pendingVisibility & 2)) {\n var root = enqueueConcurrentRenderForLane(fiber, 2);\n null !== root &&\n ((primaryChildInstance._pendingVisibility &= -3),\n scheduleUpdateOnFiber(root, fiber, 2));\n }\n }\n };\n pendingProps.stateNode = primaryChildInstance;\n return pendingProps;\n}\nfunction createFiberFromText(content, mode, lanes) {\n content = createFiberImplClass(6, content, null, mode);\n content.lanes = lanes;\n return content;\n}\nfunction createFiberFromPortal(portal, mode, lanes) {\n mode = createFiberImplClass(\n 4,\n null !== portal.children ? portal.children : [],\n portal.key,\n mode\n );\n mode.lanes = lanes;\n mode.stateNode = {\n containerInfo: portal.containerInfo,\n pendingChildren: null,\n implementation: portal.implementation\n };\n return mode;\n}\nfunction FiberRootNode(\n containerInfo,\n tag,\n hydrate,\n identifierPrefix,\n onUncaughtError,\n onCaughtError,\n onRecoverableError,\n formState\n) {\n this.tag = tag;\n this.containerInfo = containerInfo;\n this.finishedWork =\n this.pingCache =\n this.current =\n this.pendingChildren =\n null;\n this.timeoutHandle = -1;\n this.callbackNode =\n this.next =\n this.pendingContext =\n this.context =\n this.cancelPendingCommit =\n null;\n this.callbackPriority = 0;\n this.expirationTimes = createLaneMap(-1);\n this.entangledLanes =\n this.shellSuspendCounter =\n this.errorRecoveryDisabledLanes =\n this.finishedLanes =\n this.expiredLanes =\n this.warmLanes =\n this.pingedLanes =\n this.suspendedLanes =\n this.pendingLanes =\n 0;\n this.entanglements = createLaneMap(0);\n this.hiddenUpdates = createLaneMap(null);\n this.identifierPrefix = identifierPrefix;\n this.onUncaughtError = onUncaughtError;\n this.onCaughtError = onCaughtError;\n this.onRecoverableError = onRecoverableError;\n this.pooledCache = null;\n this.pooledCacheLanes = 0;\n this.formState = formState;\n this.incompleteTransitions = new Map();\n}\nfunction createPortal$1(children, containerInfo, implementation) {\n var key =\n 3 < arguments.length && void 0 !== arguments[3] ? arguments[3] : null;\n return {\n $$typeof: REACT_PORTAL_TYPE,\n key: null == key ? null : \"\" + key,\n children: children,\n containerInfo: containerInfo,\n implementation: implementation\n };\n}\nfunction findHostInstance(component) {\n var fiber = component._reactInternals;\n if (void 0 === fiber) {\n if (\"function\" === typeof component.render)\n throw Error(\"Unable to find node on an unmounted component.\");\n component = Object.keys(component).join(\",\");\n throw Error(\n \"Argument appears to not be a ReactComponent. Keys: \" + component\n );\n }\n component = findCurrentFiberUsingSlowPath(fiber);\n component = null !== component ? findCurrentHostFiberImpl(component) : null;\n return null === component ? null : getPublicInstance(component.stateNode);\n}\nfunction updateContainer(element, container, parentComponent, callback) {\n parentComponent = container.current;\n var lane = requestUpdateLane(parentComponent);\n null === container.context\n ? (container.context = emptyContextObject)\n : (container.pendingContext = emptyContextObject);\n container = createUpdate(lane);\n container.payload = { element: element };\n callback = void 0 === callback ? null : callback;\n null !== callback && (container.callback = callback);\n element = enqueueUpdate(parentComponent, container, lane);\n null !== element &&\n (scheduleUpdateOnFiber(element, parentComponent, lane),\n entangleTransitions(element, parentComponent, lane));\n return lane;\n}\nvar isomorphicReactPackageVersion = React.version;\nif (\"19.0.0\" !== isomorphicReactPackageVersion)\n throw Error(\n 'Incompatible React versions: The \"react\" and \"react-native-renderer\" packages must have the exact same version. Instead got:\\n - react: ' +\n (isomorphicReactPackageVersion +\n \"\\n - react-native-renderer: 19.0.0\\nLearn more: https://react.dev/warnings/version-mismatch\")\n );\nif (\n \"function\" !==\n typeof ReactNativePrivateInterface.ReactFiberErrorDialog.showErrorDialog\n)\n throw Error(\n \"Expected ReactFiberErrorDialog.showErrorDialog to be a function.\"\n );\nfunction nativeOnUncaughtError(error, errorInfo) {\n !1 !==\n ReactNativePrivateInterface.ReactFiberErrorDialog.showErrorDialog({\n errorBoundary: null,\n error: error,\n componentStack:\n null != errorInfo.componentStack ? errorInfo.componentStack : \"\"\n }) && reportGlobalError(error);\n}\nfunction nativeOnCaughtError(error, errorInfo) {\n !1 !==\n ReactNativePrivateInterface.ReactFiberErrorDialog.showErrorDialog({\n errorBoundary: errorInfo.errorBoundary,\n error: error,\n componentStack:\n null != errorInfo.componentStack ? errorInfo.componentStack : \"\"\n }) && console.error(error);\n}\nfunction unmountComponentAtNode(containerTag) {\n var root = roots.get(containerTag);\n root &&\n updateContainer(null, root, null, function () {\n roots.delete(containerTag);\n });\n}\nbatchedUpdatesImpl = function (fn, a) {\n var prevExecutionContext = executionContext;\n executionContext |= 1;\n try {\n return fn(a);\n } finally {\n (executionContext = prevExecutionContext),\n 0 === executionContext &&\n ((workInProgressRootRenderTargetTime = now() + 500),\n flushSyncWorkAcrossRoots_impl(0, !0));\n }\n};\nvar roots = new Map(),\n internals$jscomp$inline_1213 = {\n bundleType: 0,\n version: \"19.0.0\",\n rendererPackageName: \"react-native-renderer\",\n currentDispatcherRef: ReactSharedInternals,\n findFiberByHostInstance: getInstanceFromTag,\n reconcilerVersion: \"19.0.0\"\n };\nnull !== extraDevToolsConfig &&\n (internals$jscomp$inline_1213.rendererConfig = extraDevToolsConfig);\nif (\"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {\n var hook$jscomp$inline_1551 = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (\n !hook$jscomp$inline_1551.isDisabled &&\n hook$jscomp$inline_1551.supportsFiber\n )\n try {\n (rendererID = hook$jscomp$inline_1551.inject(\n internals$jscomp$inline_1213\n )),\n (injectedHook = hook$jscomp$inline_1551);\n } catch (err) {}\n}\nexports.createPortal = function (children, containerTag) {\n return createPortal$1(\n children,\n containerTag,\n null,\n 2 < arguments.length && void 0 !== arguments[2] ? arguments[2] : null\n );\n};\nexports.dispatchCommand = function (handle, command, args) {\n var nativeTag =\n null != handle._nativeTag\n ? handle._nativeTag\n : ReactNativePrivateInterface.getNativeTagFromPublicInstance(handle);\n null != nativeTag &&\n ((handle = ReactNativePrivateInterface.getNodeFromPublicInstance(handle)),\n null != handle\n ? nativeFabricUIManager.dispatchCommand(handle, command, args)\n : ReactNativePrivateInterface.UIManager.dispatchViewManagerCommand(\n nativeTag,\n command,\n args\n ));\n};\nexports.findHostInstance_DEPRECATED = function (componentOrHandle) {\n return null == componentOrHandle\n ? null\n : componentOrHandle.canonical && componentOrHandle.canonical.publicInstance\n ? componentOrHandle.canonical.publicInstance\n : componentOrHandle._nativeTag\n ? componentOrHandle\n : findHostInstance(componentOrHandle);\n};\nexports.findNodeHandle = function (componentOrHandle) {\n if (null == componentOrHandle) return null;\n if (\"number\" === typeof componentOrHandle) return componentOrHandle;\n if (componentOrHandle._nativeTag) return componentOrHandle._nativeTag;\n if (\n null != componentOrHandle.canonical &&\n null != componentOrHandle.canonical.nativeTag\n )\n return componentOrHandle.canonical.nativeTag;\n var nativeTag =\n ReactNativePrivateInterface.getNativeTagFromPublicInstance(\n componentOrHandle\n );\n if (nativeTag) return nativeTag;\n componentOrHandle = findHostInstance(componentOrHandle);\n return null == componentOrHandle\n ? componentOrHandle\n : null != componentOrHandle._nativeTag\n ? componentOrHandle._nativeTag\n : ReactNativePrivateInterface.getNativeTagFromPublicInstance(\n componentOrHandle\n );\n};\nexports.getInspectorDataForInstance = getInspectorDataForInstance;\nexports.isChildPublicInstance = function () {\n throw Error(\"isChildPublicInstance() is not available in production.\");\n};\nexports.render = function (element, containerTag, callback, options) {\n var root = roots.get(containerTag);\n if (!root) {\n root = nativeOnUncaughtError;\n var onCaughtError = nativeOnCaughtError,\n onRecoverableError = defaultOnRecoverableError;\n options &&\n void 0 !== options.onUncaughtError &&\n (root = options.onUncaughtError);\n options &&\n void 0 !== options.onCaughtError &&\n (onCaughtError = options.onCaughtError);\n options &&\n void 0 !== options.onRecoverableError &&\n (onRecoverableError = options.onRecoverableError);\n options = new FiberRootNode(\n containerTag,\n 0,\n !1,\n \"\",\n root,\n onCaughtError,\n onRecoverableError,\n null\n );\n root = createFiberImplClass(3, null, null, 0);\n options.current = root;\n root.stateNode = options;\n onCaughtError = createCache();\n onCaughtError.refCount++;\n options.pooledCache = onCaughtError;\n onCaughtError.refCount++;\n root.memoizedState = {\n element: null,\n isDehydrated: !1,\n cache: onCaughtError\n };\n initializeUpdateQueue(root);\n root = options;\n roots.set(containerTag, root);\n }\n updateContainer(element, root, null, callback);\n a: if (((element = root.current), element.child))\n switch (element.child.tag) {\n case 27:\n case 5:\n element = getPublicInstance(element.child.stateNode);\n break a;\n default:\n element = element.child.stateNode;\n }\n else element = null;\n return element;\n};\nexports.sendAccessibilityEvent = function (handle, eventType) {\n var nativeTag =\n null != handle._nativeTag\n ? handle._nativeTag\n : ReactNativePrivateInterface.getNativeTagFromPublicInstance(handle);\n null != nativeTag &&\n ((handle = ReactNativePrivateInterface.getNodeFromPublicInstance(handle)),\n null != handle\n ? nativeFabricUIManager.sendAccessibilityEvent(handle, eventType)\n : ReactNativePrivateInterface.legacySendAccessibilityEvent(\n nativeTag,\n eventType\n ));\n};\nexports.unmountComponentAtNode = unmountComponentAtNode;\nexports.unmountComponentAtNodeAndRemoveContainer = function (containerTag) {\n unmountComponentAtNode(containerTag);\n ReactNativePrivateInterface.UIManager.removeRootView(containerTag);\n};\nexports.unstable_batchedUpdates = batchedUpdates$1;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {ViewProps} from '../View/ViewPropTypes';\n\nimport StyleSheet, {type ColorValue} from '../../StyleSheet/StyleSheet';\nimport Platform from '../../Utilities/Platform';\nimport View from '../View/View';\nimport * as React from 'react';\n\nconst PlatformActivityIndicator =\n Platform.OS === 'android'\n ? require('../ProgressBarAndroid/ProgressBarAndroid').default\n : require('./ActivityIndicatorViewNativeComponent').default;\n\nconst GRAY = '#999999';\n\ntype IndicatorSize = number | 'small' | 'large';\n\ntype ActivityIndicatorIOSProps = $ReadOnly<{\n /**\n Whether the indicator should hide when not animating.\n\n @platform ios\n */\n hidesWhenStopped?: ?boolean,\n}>;\nexport type ActivityIndicatorProps = $ReadOnly<{\n ...ViewProps,\n ...ActivityIndicatorIOSProps,\n\n /**\n \tWhether to show the indicator (`true`) or hide it (`false`).\n */\n animating?: ?boolean,\n\n /**\n The foreground color of the spinner.\n\n @default {@platform android} `null` (system accent default color)\n @default {@platform ios} '#999999'\n */\n color?: ?ColorValue,\n\n /**\n Size of the indicator.\n\n @type enum(`'small'`, `'large'`)\n @type {@platform android} number\n */\n size?: ?IndicatorSize,\n}>;\n\nconst ActivityIndicator = (\n {\n animating = true,\n color = Platform.OS === 'ios' ? GRAY : null,\n hidesWhenStopped = true,\n onLayout,\n size = 'small',\n style,\n ...restProps\n }: ActivityIndicatorProps,\n forwardedRef?: any,\n) => {\n let sizeStyle;\n let sizeProp;\n\n switch (size) {\n case 'small':\n sizeStyle = styles.sizeSmall;\n sizeProp = 'small';\n break;\n case 'large':\n sizeStyle = styles.sizeLarge;\n sizeProp = 'large';\n break;\n default:\n sizeStyle = {height: size, width: size};\n break;\n }\n\n const nativeProps = {\n animating,\n color,\n hidesWhenStopped,\n ...restProps,\n ref: forwardedRef,\n style: sizeStyle,\n size: sizeProp,\n };\n\n const androidProps = {\n styleAttr: 'Normal',\n indeterminate: true,\n };\n\n return (\n \n {Platform.OS === 'android' ? (\n // $FlowFixMe[prop-missing] Flow doesn't know when this is the android component\n \n ) : (\n /* $FlowFixMe[incompatible-type] (>=0.106.0 site=react_native_android_fb) This comment\n * suppresses an error found when Flow v0.106 was deployed. To see the\n * error, delete this comment and run Flow. */\n \n )}\n \n );\n};\n\n/**\n Displays a circular loading indicator.\n\n ```SnackPlayer name=ActivityIndicator%20Example\n import React from 'react';\n import {ActivityIndicator, StyleSheet, View} from 'react-native';\n\n const App = () => (\n \n \n \n \n \n \n );\n\n const styles = StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: 'center',\n },\n horizontal: {\n flexDirection: 'row',\n justifyContent: 'space-around',\n padding: 10,\n },\n });\n\n export default App;\n```\n*/\n\nconst ActivityIndicatorWithRef: component(\n ref?: React.RefSetter>,\n ...props: ActivityIndicatorProps\n) = React.forwardRef(ActivityIndicator);\nActivityIndicatorWithRef.displayName = 'ActivityIndicator';\n\nconst styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center',\n },\n sizeSmall: {\n width: 20,\n height: 20,\n },\n sizeLarge: {\n width: 36,\n height: 36,\n },\n});\n\nexport default ActivityIndicatorWithRef;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nimport typeof ProgressBarAndroidNativeComponentType from './ProgressBarAndroidNativeComponent';\nimport type {ProgressBarAndroidProps} from './ProgressBarAndroidTypes';\n\nexport type {ProgressBarAndroidProps};\n\nexport default require('../UnimplementedViews/UnimplementedView')\n .default as $FlowFixMe as component(\n ref?: React.RefSetter<\n React.ElementRef,\n >,\n ...props: ProgressBarAndroidProps\n);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\nimport type {ViewStyleProp} from '../../StyleSheet/StyleSheet';\n\nimport StyleSheet from '../../StyleSheet/StyleSheet';\nimport * as React from 'react';\n\ntype Props = $ReadOnly<{\n style?: ?ViewStyleProp,\n children?: React.Node,\n ...\n}>;\n\n/**\n * Common implementation for a simple stubbed view. Simply applies the view's styles to the inner\n * View component and renders its children.\n */\nclass UnimplementedView extends React.Component {\n render(): React.Node {\n // Workaround require cycle from requireNativeComponent\n const View = require('../View/View').default;\n return (\n \n {this.props.children}\n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n unimplementedView: __DEV__\n ? {\n alignSelf: 'flex-start',\n borderColor: 'red',\n borderWidth: 1,\n }\n : {},\n});\n\nexport default UnimplementedView;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent';\nimport ActivityIndicatorViewNativeComponent from '../../../src/private/specs_DEPRECATED/components/ActivityIndicatorViewNativeComponent';\nexport default ActivityIndicatorViewNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';\nimport type {ColorValue} from '../../../../Libraries/StyleSheet/StyleSheet';\nimport type {WithDefault} from '../../../../Libraries/Types/CodegenTypes';\nimport type {HostComponent} from '../../types/HostComponent';\n\nimport codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';\n\ntype NativeProps = $ReadOnly<{\n ...ViewProps,\n\n /**\n * Whether the indicator should hide when not animating (true by default).\n *\n * See https://reactnative.dev/docs/activityindicator#hideswhenstopped-ios\n */\n hidesWhenStopped?: WithDefault,\n\n /**\n * Whether to show the indicator (true, the default) or hide it (false).\n *\n * See https://reactnative.dev/docs/activityindicator#animating\n */\n animating?: WithDefault,\n\n /**\n * The foreground color of the spinner (default is gray).\n *\n * See https://reactnative.dev/docs/activityindicator#color\n */\n color?: ?ColorValue,\n\n /**\n * Size of the indicator (default is 'small').\n * Passing a number to the size prop is only supported on Android.\n *\n * See https://reactnative.dev/docs/activityindicator#size\n */\n size?: WithDefault<'small' | 'large', 'small'>,\n}>;\n\nexport default (codegenNativeComponent('ActivityIndicatorView', {\n paperComponentName: 'RCTActivityIndicatorView',\n}): HostComponent);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n// TODO: move this file to shims/ReactNative (requires React update and sync)\n\nimport type {HostComponent} from '../../src/private/types/HostComponent';\n\nimport requireNativeComponent from '../../Libraries/ReactNative/requireNativeComponent';\nimport UIManager from '../ReactNative/UIManager';\n\n// TODO: import from CodegenSchema once workspaces are enabled\ntype Options = $ReadOnly<{\n interfaceOnly?: boolean,\n paperComponentName?: string,\n paperComponentNameDeprecated?: string,\n excludedPlatforms?: $ReadOnlyArray<'iOS' | 'android'>,\n}>;\n\nexport type NativeComponentType = HostComponent;\n\n// If this function runs then that means the view configs were not\n// generated at build time using `GenerateViewConfigJs.js`. Thus\n// we need to `requireNativeComponent` to get the view configs from view managers.\n// `requireNativeComponent` is not available in Bridgeless mode.\n// e.g. This function runs at runtime if `codegenNativeComponent` was not called\n// from a file suffixed with NativeComponent.js.\nfunction codegenNativeComponent(\n componentName: string,\n options?: Options,\n): NativeComponentType {\n if (global.RN$Bridgeless === true && __DEV__) {\n console.warn(\n `Codegen didn't run for ${componentName}. This will be an error in the future. Make sure you are using @react-native/babel-preset when building your JavaScript code.`,\n );\n }\n\n let componentNameInUse =\n options && options.paperComponentName != null\n ? options.paperComponentName\n : componentName;\n\n if (options != null && options.paperComponentNameDeprecated != null) {\n if (UIManager.hasViewManagerConfig(componentName)) {\n componentNameInUse = componentName;\n } else if (\n options.paperComponentNameDeprecated != null &&\n UIManager.hasViewManagerConfig(options.paperComponentNameDeprecated)\n ) {\n // $FlowFixMe[incompatible-type]\n componentNameInUse = options.paperComponentNameDeprecated;\n } else {\n throw new Error(\n `Failed to find native component for either ${componentName} or ${\n options.paperComponentNameDeprecated ?? '(unknown)'\n }`,\n );\n }\n }\n\n return (requireNativeComponent(\n // $FlowFixMe[incompatible-call]\n componentNameInUse,\n ): HostComponent);\n}\n\nexport default codegenNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {HostComponent} from '../../src/private/types/HostComponent';\n\nconst createReactNativeComponentClass =\n require('../Renderer/shims/createReactNativeComponentClass').default;\nconst getNativeComponentAttributes =\n require('./getNativeComponentAttributes').default;\n\n/**\n * Creates values that can be used like React components which represent native\n * view managers. You should create JavaScript modules that wrap these values so\n * that the results are memoized. Example:\n *\n * const View = requireNativeComponent('RCTView');\n *\n */\n\nconst requireNativeComponent = (\n uiViewClassName: string,\n): HostComponent =>\n ((createReactNativeComponentClass(uiViewClassName, () =>\n getNativeComponentAttributes(uiViewClassName),\n ): any): HostComponent);\n\nexport default requireNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @noformat\n * @nolint\n * @flow strict-local\n * @generated SignedSource<<52163887de05f1cff05388145cf85b3b>>\n */\n\n'use strict';\n\nimport {ReactNativeViewConfigRegistry} from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface';\nimport {type ViewConfig} from './ReactNativeTypes';\n\nconst {register} = ReactNativeViewConfigRegistry;\n\n/**\n * Creates a renderable ReactNative host component.\n * Use this method for view configs that are loaded from UIManager.\n * Use createReactNativeComponentClass() for view configs defined within JavaScript.\n *\n * @param {string} config iOS View configuration.\n * @private\n */\nconst createReactNativeComponentClass = function (\n name: string,\n callback: () => ViewConfig,\n): string {\n return register(name, callback);\n};\n\nexport default createReactNativeComponentClass;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\n\nimport type {TextStyleProp, ViewStyleProp} from '../StyleSheet/StyleSheet';\nimport type {GestureResponderEvent} from '../Types/CoreEventTypes';\nimport type {\n AccessibilityActionEvent,\n AccessibilityActionInfo,\n AccessibilityState,\n} from './View/ViewAccessibility';\n\nimport StyleSheet, {type ColorValue} from '../StyleSheet/StyleSheet';\nimport Text from '../Text/Text';\n// [Windows\n// import TouchableNativeFeedback from './Touchable/TouchableNativeFeedback';\n// import TouchableOpacity from './Touchable/TouchableOpacity';\n// Windows]\nimport TouchableHighlight from './Touchable/TouchableHighlight';\nimport {PlatformColor} from '../StyleSheet/PlatformColorValueTypes';\nimport Platform from '../Utilities/Platform';\nimport View from './View/View';\nimport invariant from 'invariant';\nimport * as React from 'react';\n\nexport type ButtonProps = $ReadOnly<{\n /**\n Text to display inside the button. On Android the given title will be\n converted to the uppercased form.\n */\n title: string,\n\n /**\n Handler to be called when the user taps the button. The first function\n argument is an event in form of [GestureResponderEvent](pressevent).\n */\n onPress: (event?: GestureResponderEvent) => mixed,\n\n /**\n If `true`, doesn't play system sound on touch.\n\n @platform android\n\n @default false\n */\n touchSoundDisabled?: ?boolean,\n\n /**\n Color of the text (iOS), or background color of the button (Android).\n\n @default {@platform android} '#2196F3'\n @default {@platform ios} '#007AFF'\n */\n color?: ?ColorValue,\n\n /**\n TV preferred focus.\n\n @platform tv\n\n @default false\n */\n hasTVPreferredFocus?: ?boolean,\n\n /**\n Designates the next view to receive focus when the user navigates down. See\n the [Android documentation][android:nextFocusDown].\n\n [android:nextFocusDown]:\n https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusDown\n\n @platform android, tv\n */\n nextFocusDown?: ?number,\n\n /**\n Designates the next view to receive focus when the user navigates forward.\n See the [Android documentation][android:nextFocusForward].\n\n [android:nextFocusForward]:\n https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusForward\n\n @platform android, tv\n */\n nextFocusForward?: ?number,\n\n /**\n Designates the next view to receive focus when the user navigates left. See\n the [Android documentation][android:nextFocusLeft].\n\n [android:nextFocusLeft]:\n https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusLeft\n\n @platform android, tv\n */\n nextFocusLeft?: ?number,\n\n /**\n Designates the next view to receive focus when the user navigates right. See\n the [Android documentation][android:nextFocusRight].\n\n [android:nextFocusRight]:\n https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusRight\n\n @platform android, tv\n */\n nextFocusRight?: ?number,\n\n /**\n Designates the next view to receive focus when the user navigates up. See\n the [Android documentation][android:nextFocusUp].\n\n [android:nextFocusUp]:\n https://developer.android.com/reference/android/view/View.html#attr_android:nextFocusUp\n\n @platform android, tv\n */\n nextFocusUp?: ?number,\n\n /**\n Text to display for blindness accessibility features.\n */\n accessibilityLabel?: ?string,\n /**\n * Alias for accessibilityLabel https://reactnative.dev/docs/view#accessibilitylabel\n * https://github.com/facebook/react-native/issues/34424\n */\n 'aria-label'?: ?string,\n /**\n If `true`, disable all interactions for this component.\n\n @default false\n */\n disabled?: ?boolean,\n\n /**\n Used to locate this view in end-to-end tests.\n */\n testID?: ?string,\n\n /**\n * Accessibility props.\n */\n accessible?: ?boolean,\n accessibilityActions?: ?$ReadOnlyArray,\n onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,\n onAccessibilityTap?: ?() => void, // Windows\n accessibilityState?: ?AccessibilityState,\n\n /**\n * alias for accessibilityState\n *\n * see https://reactnative.dev/docs/accessibility#accessibilitystate\n */\n 'aria-busy'?: ?boolean,\n 'aria-checked'?: ?boolean | 'mixed',\n 'aria-disabled'?: ?boolean,\n 'aria-expanded'?: ?boolean,\n 'aria-selected'?: ?boolean,\n 'aria-readonly'?: ?boolean, // Windows\n 'aria-multiselectable'?: ?boolean, // Windows\n 'aria-required'?: ?boolean, // Windows\n\n /**\n * [Android] Controlling if a view fires accessibility events and if it is reported to accessibility services.\n */\n importantForAccessibility?: ?('auto' | 'yes' | 'no' | 'no-hide-descendants'),\n accessibilityHint?: ?string,\n accessibilityLanguage?: ?Stringish,\n // [Windows\n /**\n Set the order in which elements receive focus when the user navigates through them by pressing Tab.\n */\n tabIndex?: ?number,\n // Windows]\n}>;\n\n/**\n A basic button component that should render nicely on any platform. Supports a\n minimal level of customization.\n\n If this button doesn't look right for your app, you can build your own button\n using [TouchableOpacity](touchableopacity) or\n [TouchableWithoutFeedback](touchablewithoutfeedback). For inspiration, look at\n the [source code for this button component][button:source]. Or, take a look at\n the [wide variety of button components built by the community]\n [button:examples].\n\n [button:source]:\n https://github.com/facebook/react-native/blob/HEAD/Libraries/Components/Button.js\n\n [button:examples]:\n https://js.coach/?menu%5Bcollections%5D=React%20Native&page=1&query=button\n\n ```jsx\n \n ```\n\n ```SnackPlayer name=Button%20Example\n import React from 'react';\n import { StyleSheet, Button, View, SafeAreaView, Text, Alert } from 'react-native';\n\n const Separator = () => (\n \n );\n\n const App = () => (\n \n \n \n The title and onPress handler are required. It is recommended to set accessibilityLabel to help make your app usable by everyone.\n \n Alert.alert('Simple Button pressed')}\n />\n \n \n \n \n Adjust the color in a way that looks standard on each platform. On iOS, the color prop controls the color of the text. On Android, the color adjusts the background color of the button.\n \n Alert.alert('Button with adjusted color pressed')}\n />\n \n \n \n \n All interaction for the component are disabled.\n \n Alert.alert('Cannot press this one')}\n />\n \n \n \n \n This layout strategy lets the title define the width of the button.\n \n \n Alert.alert('Left button pressed')}\n />\n Alert.alert('Right button pressed')}\n />\n \n \n \n );\n\n const styles = StyleSheet.create({\n container: {\n flex: 1,\n justifyContent: 'center',\n marginHorizontal: 16,\n },\n title: {\n textAlign: 'center',\n marginVertical: 8,\n },\n fixToText: {\n flexDirection: 'row',\n justifyContent: 'space-between',\n },\n separator: {\n marginVertical: 8,\n borderBottomColor: '#737373',\n borderBottomWidth: StyleSheet.hairlineWidth,\n },\n });\n\n export default App;\n ```\n */\n\ntype ButtonRef = React.ElementRef;\n\nconst Button: component(\n ref?: React.RefSetter,\n ...props: ButtonProps\n) = React.forwardRef((props: ButtonProps, ref: React.RefSetter) => {\n // Windows\n // [Windows\n const [hover, setHover] = React.useState(false);\n const [pressed, setPressed] = React.useState(false);\n // Windows]\n const {\n accessibilityLabel,\n accessibilityState,\n 'aria-busy': ariaBusy,\n 'aria-checked': ariaChecked,\n 'aria-disabled': ariaDisabled,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n 'aria-selected': ariaSelected,\n 'aria-readonly': ariaReadOnly, // Windows\n 'aria-multiselectable': ariaMultiselectable, // Windows\n 'aria-required': ariaRequired, // Windows\n importantForAccessibility,\n color,\n onPress,\n touchSoundDisabled,\n title,\n hasTVPreferredFocus,\n nextFocusDown,\n nextFocusForward,\n nextFocusLeft,\n nextFocusRight,\n nextFocusUp,\n testID,\n accessible,\n accessibilityActions,\n accessibilityHint,\n accessibilityLanguage,\n onAccessibilityAction,\n onAccessibilityTap, // Windows\n tabIndex,\n } = props;\n const buttonStyles: Array = [styles.button];\n const textStyles: Array = [styles.text];\n if (color) {\n if (Platform.OS === 'ios') {\n textStyles.push({color: color});\n } else {\n buttonStyles.push({backgroundColor: color});\n }\n }\n\n let _accessibilityState = {\n busy: ariaBusy ?? accessibilityState?.busy,\n checked: ariaChecked ?? accessibilityState?.checked,\n disabled: ariaDisabled ?? accessibilityState?.disabled,\n expanded: ariaExpanded ?? accessibilityState?.expanded,\n selected: ariaSelected ?? accessibilityState?.selected,\n readOnly: ariaReadOnly ?? accessibilityState?.readOnly, // Windows\n multiselectable: ariaMultiselectable ?? accessibilityState?.multiselectable, // Windows\n required: ariaRequired ?? accessibilityState?.required, // Windows\n };\n\n const disabled =\n props.disabled != null ? props.disabled : _accessibilityState?.disabled;\n\n _accessibilityState =\n disabled !== _accessibilityState?.disabled\n ? {..._accessibilityState, disabled}\n : _accessibilityState;\n\n if (disabled) {\n buttonStyles.push(styles.buttonDisabled);\n textStyles.push(styles.textDisabled);\n }\n\n invariant(\n typeof title === 'string',\n 'The title prop of a Button must be a string',\n );\n const formattedTitle =\n Platform.OS === 'android' ? title.toUpperCase() : title;\n const Touchable = TouchableHighlight; // Windows\n // If `no` is specified for `importantForAccessibility`, it will be changed to `no-hide-descendants` because the text inside should not be focused.\n const _importantForAccessibility =\n importantForAccessibility === 'no'\n ? 'no-hide-descendants'\n : importantForAccessibility;\n // [Windows\n if (Platform.OS === 'windows') {\n return (\n {\n setPressed(true);\n }}\n onHideUnderlay={() => {\n setPressed(false);\n }}\n style={\n color\n ? {borderRadius: 3}\n : pressed\n ? [buttonStyles, styles.buttonPressed]\n : hover\n ? [buttonStyles, styles.buttonHover]\n : buttonStyles\n }\n onMouseEnter={() => {\n if (!disabled) setHover(true);\n }}\n onMouseLeave={() => {\n if (!disabled) setHover(false);\n }}\n // $FlowFixMe[incompatible-exact]\n // $FlowFixMe[prop-missing]\n // $FlowFixMe[incompatible-type-arg]\n ref={ref}>\n \n \n \n {formattedTitle}\n \n \n \n \n );\n } else {\n return (\n \n \n \n {formattedTitle}\n \n \n \n );\n }\n // Windows]\n});\n\nButton.displayName = 'Button';\n\nconst styles = StyleSheet.create({\n button: Platform.select({\n ios: {},\n android: {\n elevation: 4,\n // Material design blue from https://material.google.com/style/color.html#color-color-palette\n backgroundColor: '#2196F3',\n borderRadius: 2,\n },\n // [Windows\n windows: {\n backgroundColor: PlatformColor('ButtonBackground'),\n borderRadius: 3,\n borderColor: PlatformColor('ButtonBorderBrush'),\n borderWidth: 1,\n borderBottomWidth: 1.5,\n },\n // Windows]\n }),\n text: {\n textAlign: 'center',\n margin: 8,\n ...Platform.select({\n ios: {\n // iOS blue from https://developer.apple.com/ios/human-interface-guidelines/visual-design/color/\n color: '#007AFF',\n fontSize: 18,\n },\n android: {\n color: 'white',\n fontWeight: '500',\n },\n // [Windows\n windows: {\n color: PlatformColor('ButtonForeground'),\n fontWeight: '400',\n fontSize: 14,\n },\n // Windows]\n }),\n },\n buttonDisabled: Platform.select({\n ios: {},\n android: {\n elevation: 0,\n backgroundColor: '#dfdfdf',\n },\n windows: {\n backgroundColor: PlatformColor('ButtonBackgroundDisabled'),\n borderColor: PlatformColor('ButtonBorderBrushDisabled'),\n },\n }),\n textDisabled: Platform.select({\n ios: {\n color: '#cdcdcd',\n },\n android: {\n color: '#a1a1a1',\n },\n // [Windows\n windows: {\n color: PlatformColor('ButtonForegroundDisabled'),\n },\n // Windows]\n }),\n // [Windows\n buttonHover: {\n backgroundColor: PlatformColor('ButtonBackgroundPointerOver'),\n borderColor: PlatformColor('ButtonBorderBrushPointerOver'),\n borderRadius: 3,\n },\n buttonPressed: {\n borderColor: PlatformColor('ButtonBorderBrushPressed'),\n },\n // Windows]\n});\n\nexport default Button;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {TextStyleProp} from '../StyleSheet/StyleSheet';\nimport type {____TextStyle_Internal as TextStyleInternal} from '../StyleSheet/StyleSheetTypes';\nimport type {GestureResponderEvent} from '../Types/CoreEventTypes';\nimport type {NativeTextProps} from './TextNativeComponent';\nimport type {PressRetentionOffset, TextProps} from './TextProps';\n\nimport * as PressabilityDebug from '../Pressability/PressabilityDebug';\nimport usePressability from '../Pressability/usePressability';\nimport flattenStyle from '../StyleSheet/flattenStyle';\nimport processColor from '../StyleSheet/processColor';\nimport Platform from '../Utilities/Platform';\nimport TextAncestor from './TextAncestor';\nimport {NativeText, NativeVirtualText} from './TextNativeComponent';\nimport * as React from 'react';\nimport {useContext, useMemo, useState} from 'react';\n\nexport type {TextProps} from './TextProps';\n\nconst View = require('../Components/View/View').default; // [Windows]\nimport {type ViewStyleProp} from '../StyleSheet/StyleSheet'; // [Windows]\n\ntype TextForwardRef = React.ElementRef<\n typeof NativeText | typeof NativeVirtualText,\n>;\n\n/**\n * Text is the fundamental component for displaying text.\n *\n * @see https://reactnative.dev/docs/text\n */\nconst Text: component(\n ref?: React.RefSetter,\n ...props: TextProps\n) = React.forwardRef(\n (\n {\n accessible,\n accessibilityLabel,\n accessibilityLevel, // Windows\n accessibilityPosInSet, // Windows\n accessibilitySetSize, // Windows\n accessibilityState,\n allowFontScaling,\n 'aria-busy': ariaBusy,\n 'aria-checked': ariaChecked,\n 'aria-disabled': ariaDisabled,\n 'aria-expanded': ariaExpanded,\n 'aria-multiselectable': ariaMultiselectable, // Windows\n 'aria-required': ariaRequired, // Windows\n 'aria-label': ariaLabel,\n 'aria-level': ariaLevel, // Windows\n 'aria-posinset': ariaPosinset, // Windows\n 'aria-setsize': ariaSetsize, // Windows\n 'aria-selected': ariaSelected,\n 'aria-readonly': ariaReadOnly, //Windows\n children,\n ellipsizeMode,\n disabled,\n id,\n nativeID,\n numberOfLines,\n onLongPress,\n onPress,\n onPressIn,\n onPressOut,\n onResponderGrant,\n onResponderMove,\n onResponderRelease,\n onResponderTerminate,\n onResponderTerminationRequest,\n onStartShouldSetResponder,\n pressRetentionOffset,\n selectable,\n selectionColor,\n suppressHighlighting,\n style,\n ...restProps\n }: TextProps,\n forwardedRef,\n ) => {\n const _accessibilityLabel = ariaLabel ?? accessibilityLabel;\n const _accessibilityLevel = ariaLevel ?? accessibilityLevel; // Windows\n const _accessibilityPosInSet = ariaPosinset ?? accessibilityPosInSet; // Windows\n const _accessibilitySetSize = ariaSetsize ?? accessibilitySetSize; // Windows\n\n let _accessibilityState: ?TextProps['accessibilityState'] =\n accessibilityState;\n if (\n ariaBusy != null ||\n ariaChecked != null ||\n ariaDisabled != null ||\n ariaExpanded != null ||\n ariaSelected != null ||\n ariaReadOnly != null || // Windows\n ariaMultiselectable != null || // Windows\n ariaRequired != null // Windows\n ) {\n if (_accessibilityState != null) {\n _accessibilityState = {\n busy: ariaBusy ?? _accessibilityState.busy,\n checked: ariaChecked ?? _accessibilityState.checked,\n disabled: ariaDisabled ?? _accessibilityState.disabled,\n expanded: ariaExpanded ?? _accessibilityState.expanded,\n selected: ariaSelected ?? _accessibilityState.selected,\n readOnly: ariaReadOnly ?? _accessibilityState.readOnly, // Windows\n multiselectable:\n ariaMultiselectable ?? _accessibilityState.multiselectable, // Windows\n required: ariaRequired ?? _accessibilityState.required, // Windows\n };\n } else {\n _accessibilityState = {\n busy: ariaBusy,\n checked: ariaChecked,\n disabled: ariaDisabled,\n expanded: ariaExpanded,\n selected: ariaSelected,\n readOnly: ariaReadOnly, // Windows\n multiselectable: ariaMultiselectable, // Windows\n required: ariaRequired, // Windows\n };\n }\n }\n\n const _accessibilityStateDisabled = _accessibilityState?.disabled;\n const _disabled = disabled ?? _accessibilityStateDisabled;\n\n const isPressable =\n (onPress != null ||\n onLongPress != null ||\n onStartShouldSetResponder != null) &&\n _disabled !== true;\n\n // TODO: Move this processing to the view configuration.\n const _selectionColor =\n selectionColor != null ? processColor(selectionColor) : undefined;\n\n let _style = style;\n if (__DEV__) {\n if (PressabilityDebug.isEnabled() && onPress != null) {\n _style = [style, {color: 'magenta'}];\n }\n }\n\n let _numberOfLines = numberOfLines;\n if (_numberOfLines != null && !(_numberOfLines >= 0)) {\n if (__DEV__) {\n console.error(\n `'numberOfLines' in must be a non-negative number, received: ${_numberOfLines}. The value will be set to 0.`,\n );\n }\n _numberOfLines = 0;\n }\n\n let _selectable = selectable;\n\n let processedStyle = flattenStyle(_style);\n if (processedStyle != null) {\n let overrides: ?{...TextStyleInternal} = null;\n if (typeof processedStyle.fontWeight === 'number') {\n overrides = overrides || ({}: {...TextStyleInternal});\n overrides.fontWeight =\n // $FlowFixMe[incompatible-cast]\n (processedStyle.fontWeight.toString(): TextStyleInternal['fontWeight']);\n }\n\n if (processedStyle.userSelect != null) {\n _selectable = userSelectToSelectableMap[processedStyle.userSelect];\n overrides = overrides || ({}: {...TextStyleInternal});\n overrides.userSelect = undefined;\n }\n\n if (processedStyle.verticalAlign != null) {\n overrides = overrides || ({}: {...TextStyleInternal});\n overrides.textAlignVertical =\n verticalAlignToTextAlignVerticalMap[processedStyle.verticalAlign];\n overrides.verticalAlign = undefined;\n }\n\n if (overrides != null) {\n // $FlowFixMe[incompatible-type]\n _style = [_style, overrides];\n }\n }\n\n const _nativeID = id ?? nativeID;\n\n const hasTextAncestor = useContext(TextAncestor);\n if (hasTextAncestor) {\n if (isPressable) {\n return (\n \n );\n }\n\n return (\n \n {children}\n \n );\n }\n\n // If the disabled prop and accessibilityState.disabled are out of sync but not both in\n // falsy states we need to update the accessibilityState object to use the disabled prop.\n if (\n _disabled !== _accessibilityStateDisabled &&\n ((_disabled != null && _disabled !== false) ||\n (_accessibilityStateDisabled != null &&\n _accessibilityStateDisabled !== false))\n ) {\n _accessibilityState = {..._accessibilityState, disabled: _disabled};\n }\n\n const _accessible = Platform.select({\n ios: accessible !== false,\n android:\n accessible == null\n ? onPress != null || onLongPress != null\n : accessible,\n default: accessible !== false, // [Windows #13996 - default value is accessible !== false]\n });\n\n let nativeText = null;\n if (isPressable) {\n nativeText = (\n \n );\n } else {\n nativeText = (\n \n {children}\n \n );\n }\n\n // [Windows\n // $FlowFixMe[unclear-type]\n let styleProps: ViewStyleProp = (style: any); // Flow style type casting\n if (\n global.RN$Bridgeless !== true && // [Windows] Fabric text handles borders, but on paper we need to wrap it in an extra view\n styleProps &&\n styleProps.borderColor != null &&\n (styleProps.borderWidth != null ||\n styleProps.borderBottomWidth != null ||\n styleProps.borderEndWidth != null ||\n styleProps.borderLeftWidth != null ||\n styleProps.borderRightWidth != null ||\n styleProps.borderStartWidth != null ||\n styleProps.borderTopWidth != null)\n ) {\n return (\n \n \n {nativeText}\n \n \n );\n }\n // Windows]\n\n if (children == null) {\n return nativeText;\n }\n\n // If the children do not contain a JSX element it would not be possible to have a\n // nested `Text` component so we can skip adding the `TextAncestor` context wrapper\n // which has a performance overhead. Since we do this for performance reasons we need\n // to keep the check simple to avoid regressing overall perf. For this reason the\n // `children.length` constant is set to `3`, this should be a reasonable tradeoff\n // to capture the majority of `Text` uses but also not make this check too expensive.\n if (Array.isArray(children) && children.length <= 3) {\n let hasNonTextChild = false;\n for (let child of children) {\n if (child != null && typeof child === 'object') {\n hasNonTextChild = true;\n break;\n }\n }\n if (!hasNonTextChild) {\n return nativeText;\n } else if (typeof children !== 'object') {\n return nativeText;\n }\n }\n\n return (\n {nativeText}\n );\n },\n);\n\nText.displayName = 'Text';\n\ntype TextPressabilityProps = $ReadOnly<{\n onLongPress?: ?(event: GestureResponderEvent) => mixed,\n onPress?: ?(event: GestureResponderEvent) => mixed,\n onPressIn?: ?(event: GestureResponderEvent) => mixed,\n onPressOut?: ?(event: GestureResponderEvent) => mixed,\n onResponderGrant?: ?(event: GestureResponderEvent) => void,\n onResponderMove?: ?(event: GestureResponderEvent) => void,\n onResponderRelease?: ?(event: GestureResponderEvent) => void,\n onResponderTerminate?: ?(event: GestureResponderEvent) => void,\n onResponderTerminationRequest?: ?() => boolean,\n onStartShouldSetResponder?: ?() => boolean,\n pressRetentionOffset?: ?PressRetentionOffset,\n suppressHighlighting?: ?boolean,\n}>;\n\n/**\n * Hook that handles setting up Pressability of Text components.\n *\n * NOTE: This hook is relatively expensive so it should only be used absolutely necessary.\n */\nfunction useTextPressability({\n onLongPress,\n onPress,\n onPressIn,\n onPressOut,\n onResponderGrant,\n onResponderMove,\n onResponderRelease,\n onResponderTerminate,\n onResponderTerminationRequest,\n onStartShouldSetResponder,\n pressRetentionOffset,\n suppressHighlighting,\n}: TextPressabilityProps) {\n const [isHighlighted, setHighlighted] = useState(false);\n\n // Setup pressability config and wrap callbacks needs to track the highlight state.\n const config = useMemo(() => {\n let _onPressIn = onPressIn;\n let _onPressOut = onPressOut;\n\n // Updating isHighlighted causes unnecessary re-renders for platforms that don't use it\n // in the best case, and cause issues with text selection in the worst case. Forcing\n // the isHighlighted prop to false on all platforms except iOS.\n if (Platform.OS === 'ios') {\n _onPressIn = (event: GestureResponderEvent) => {\n setHighlighted(suppressHighlighting == null || !suppressHighlighting);\n onPressIn?.(event);\n };\n\n _onPressOut = (event: GestureResponderEvent) => {\n setHighlighted(false);\n onPressOut?.(event);\n };\n }\n\n return {\n disabled: false,\n pressRectOffset: pressRetentionOffset,\n onLongPress,\n onPress,\n onPressIn: _onPressIn,\n onPressOut: _onPressOut,\n };\n }, [\n pressRetentionOffset,\n onLongPress,\n onPress,\n onPressIn,\n onPressOut,\n suppressHighlighting,\n ]);\n\n // Init the pressability class\n const eventHandlers = usePressability(config);\n\n // Create NativeText event handlers which proxy events to pressability\n const eventHandlersForText = useMemo(\n () =>\n eventHandlers == null\n ? null\n : {\n onResponderGrant(event: GestureResponderEvent) {\n eventHandlers.onResponderGrant(event);\n if (onResponderGrant != null) {\n onResponderGrant(event);\n }\n },\n onResponderMove(event: GestureResponderEvent) {\n eventHandlers.onResponderMove(event);\n if (onResponderMove != null) {\n onResponderMove(event);\n }\n },\n onResponderRelease(event: GestureResponderEvent) {\n eventHandlers.onResponderRelease(event);\n if (onResponderRelease != null) {\n onResponderRelease(event);\n }\n },\n onResponderTerminate(event: GestureResponderEvent) {\n eventHandlers.onResponderTerminate(event);\n if (onResponderTerminate != null) {\n onResponderTerminate(event);\n }\n },\n onClick: eventHandlers.onClick,\n onResponderTerminationRequest:\n onResponderTerminationRequest != null\n ? onResponderTerminationRequest\n : eventHandlers.onResponderTerminationRequest,\n onStartShouldSetResponder:\n onStartShouldSetResponder != null\n ? onStartShouldSetResponder\n : eventHandlers.onStartShouldSetResponder,\n },\n [\n eventHandlers,\n onResponderGrant,\n onResponderMove,\n onResponderRelease,\n onResponderTerminate,\n onResponderTerminationRequest,\n onStartShouldSetResponder,\n ],\n );\n\n // Return the highlight state and NativeText event handlers\n return useMemo(\n () => [isHighlighted, eventHandlersForText],\n [isHighlighted, eventHandlersForText],\n );\n}\n\ntype NativePressableTextProps = $ReadOnly<{\n textProps: NativeTextProps,\n textPressabilityProps: TextPressabilityProps,\n}>;\n\n/**\n * Wrap the NativeVirtualText component and initialize pressability.\n *\n * This logic is split out from the main Text component to enable the more\n * expensive pressability logic to be only initialized when needed.\n */\nconst NativePressableVirtualText: component(\n ref: React.RefSetter,\n ...props: NativePressableTextProps\n) = React.forwardRef(({textProps, textPressabilityProps}, forwardedRef) => {\n const [isHighlighted, eventHandlersForText] = useTextPressability(\n textPressabilityProps,\n );\n\n return (\n \n );\n});\n\n/**\n * Wrap the NativeText component and initialize pressability.\n *\n * This logic is split out from the main Text component to enable the more\n * expensive pressability logic to be only initialized when needed.\n */\nconst NativePressableText: component(\n ref: React.RefSetter,\n ...props: NativePressableTextProps\n) = React.forwardRef(({textProps, textPressabilityProps}, forwardedRef) => {\n const [isHighlighted, eventHandlersForText] = useTextPressability(\n textPressabilityProps,\n );\n\n return (\n \n );\n});\n\nconst userSelectToSelectableMap = {\n auto: true,\n text: true,\n none: false,\n contain: true,\n all: true,\n};\n\nconst verticalAlignToTextAlignVerticalMap = {\n auto: 'auto',\n top: 'top',\n bottom: 'bottom',\n middle: 'center',\n};\n\nexport default Text;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {ColorValue} from '../StyleSheet/StyleSheet';\n\nimport View from '../Components/View/View';\nimport normalizeColor from '../StyleSheet/normalizeColor';\nimport {type RectOrSize, normalizeRect} from '../StyleSheet/Rect';\nimport * as React from 'react';\n\ntype Props = $ReadOnly<{\n color: ColorValue,\n hitSlop: ?RectOrSize,\n}>;\n\n/**\n * Displays a debug overlay to visualize press targets when enabled via the\n * React Native Inspector. Calls to this module should be guarded by `__DEV__`,\n * for example:\n *\n * return (\n * \n * {children}\n * {__DEV__ ? (\n * \n * ) : null}\n * \n * );\n *\n */\nexport function PressabilityDebugView(props: Props): React.Node {\n if (__DEV__) {\n if (isEnabled()) {\n const normalizedColor = normalizeColor(props.color);\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n const baseColor =\n '#' + (normalizedColor ?? 0).toString(16).padStart(8, '0');\n const hitSlop = normalizeRect(props.hitSlop);\n return (\n \n );\n }\n }\n return null;\n}\n\nlet isDebugEnabled = false;\n\nexport function isEnabled(): boolean {\n if (__DEV__) {\n return isDebugEnabled;\n }\n return false;\n}\n\nexport function setEnabled(value: boolean): void {\n if (__DEV__) {\n isDebugEnabled = value;\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport Pressability, {\n type EventHandlers,\n type PressabilityConfig,\n} from './Pressability';\nimport {useEffect, useRef} from 'react';\n\ndeclare function usePressability(config: PressabilityConfig): EventHandlers;\ndeclare function usePressability(config: null | void): null | EventHandlers;\n\n/**\n * Creates a persistent instance of `Pressability` that automatically configures\n * itself and resets. Accepts null `config` to support lazy initialization. Once\n * initialized, will not un-initialize until the component has been unmounted.\n *\n * In order to use `usePressability`, do the following:\n *\n * const config = useMemo(...);\n * const eventHandlers = usePressability(config);\n * const pressableView = ;\n *\n */\nexport default function usePressability(\n config: ?PressabilityConfig,\n): null | EventHandlers {\n const pressabilityRef = useRef(null);\n if (config != null && pressabilityRef.current == null) {\n pressabilityRef.current = new Pressability(config);\n }\n const pressability = pressabilityRef.current;\n\n // On the initial mount, this is a no-op. On updates, `pressability` will be\n // re-configured to use the new configuration.\n useEffect(() => {\n if (config != null && pressability != null) {\n pressability.configure(config);\n }\n }, [config, pressability]);\n\n // On unmount, reset pending state and timers inside `pressability`. This is\n // a separate effect because we do not want to reset when `config` changes.\n useEffect(() => {\n if (pressability != null) {\n return () => {\n pressability.reset();\n };\n }\n }, [pressability]);\n\n return pressability == null ? null : pressability.getEventHandlers();\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostInstance} from '../../src/private/types/HostInstance';\nimport type {\n BlurEvent,\n FocusEvent,\n GestureResponderEvent,\n MouseEvent,\n KeyEvent, // [Windows]\n} from '../Types/CoreEventTypes';\n\nimport SoundManager from '../Components/Sound/SoundManager';\nimport ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';\nimport UIManager from '../ReactNative/UIManager';\nimport {type RectOrSize, normalizeRect} from '../StyleSheet/Rect';\nimport {type PointerEvent} from '../Types/CoreEventTypes';\nimport Platform from '../Utilities/Platform';\nimport {isHoverEnabled} from './HoverState';\nimport PressabilityPerformanceEventEmitter from './PressabilityPerformanceEventEmitter.js';\nimport {type PressabilityTouchSignal as TouchSignal} from './PressabilityTypes.js';\nimport invariant from 'invariant';\n\nexport type PressabilityConfig = $ReadOnly<{\n /**\n * Whether a press gesture can be interrupted by a parent gesture such as a\n * scroll event. Defaults to true.\n */\n cancelable?: ?boolean,\n\n /**\n * Whether to disable initialization of the press gesture.\n */\n disabled?: ?boolean,\n\n /**\n * Amount to extend the `VisualRect` by to create `HitRect`.\n */\n hitSlop?: ?RectOrSize,\n\n /**\n * Amount to extend the `HitRect` by to create `PressRect`.\n */\n pressRectOffset?: ?RectOrSize,\n\n /**\n * Whether to disable the system sound when `onPress` fires on Android.\n **/\n android_disableSound?: ?boolean,\n\n /**\n * Duration to wait after hover in before calling `onHoverIn`.\n */\n delayHoverIn?: ?number,\n\n /**\n * Duration to wait after hover out before calling `onHoverOut`.\n */\n delayHoverOut?: ?number,\n\n /**\n * Duration (in addition to `delayPressIn`) after which a press gesture is\n * considered a long press gesture. Defaults to 500 (milliseconds).\n */\n delayLongPress?: ?number,\n\n /**\n * Duration to wait after press down before calling `onPressIn`.\n */\n delayPressIn?: ?number,\n\n /**\n * Duration to wait after letting up before calling `onPressOut`.\n */\n delayPressOut?: ?number,\n\n /**\n * Minimum duration to wait between calling `onPressIn` and `onPressOut`.\n */\n minPressDuration?: ?number,\n\n /**\n * Called after the element loses focus.\n */\n onBlur?: ?(event: BlurEvent) => mixed,\n\n /**\n * Called after the element is focused.\n */\n onFocus?: ?(event: FocusEvent) => mixed,\n\n /*\n * Called after a key down event is detected.\n */\n onKeyDown?: ?(event: KeyEvent) => mixed,\n\n /*\n * Called after a key up event is detected.\n */\n onKeyUp?: ?(event: KeyEvent) => mixed,\n\n /**\n * Called when the hover is activated to provide visual feedback.\n */\n onHoverIn?: ?(event: MouseEvent) => mixed,\n\n /**\n * Called when the hover is deactivated to undo visual feedback.\n */\n onHoverOut?: ?(event: MouseEvent) => mixed,\n\n /**\n * Called when a long press gesture has been triggered.\n */\n onLongPress?: ?(event: GestureResponderEvent) => mixed,\n\n /**\n * Called when a press gesture has been triggered.\n */\n onPress?: ?(event: GestureResponderEvent) => mixed,\n\n /**\n * Called when the press is activated to provide visual feedback.\n */\n onPressIn?: ?(event: GestureResponderEvent) => mixed,\n\n /**\n * Called when the press location moves. (This should rarely be used.)\n */\n onPressMove?: ?(event: GestureResponderEvent) => mixed,\n\n /**\n * Called when the press is deactivated to undo visual feedback.\n */\n onPressOut?: ?(event: GestureResponderEvent) => mixed,\n\n /**\n * Whether to prevent any other native components from becoming responder\n * while this pressable is responder.\n */\n blockNativeResponder?: ?boolean,\n\n // [Windows\n /**\n * Raw handler for onMouseEnter that will be preferred if set over hover\n * events. This is to preserve compatibility with pre-0.62 behavior which\n * allowed attaching mouse event handlers to Touchables\n */\n onMouseEnter?: ?(event: MouseEvent) => mixed,\n\n /**\n * Raw handler for onMouseLeave that will be preferred if set over hover\n * events. This is to preserve compatibility with pre-0.62 behavior which\n * allowed attaching mouse event handlers to Touchables\n */\n onMouseLeave?: ?(event: MouseEvent) => mixed,\n // Windows]\n}>;\n\nexport type EventHandlers = $ReadOnly<{\n onBlur: (event: BlurEvent) => void,\n onClick: (event: GestureResponderEvent) => void,\n onFocus: (event: FocusEvent) => void,\n onMouseEnter?: (event: MouseEvent) => void,\n onMouseLeave?: (event: MouseEvent) => void,\n onPointerEnter?: (event: PointerEvent) => void,\n onPointerLeave?: (event: PointerEvent) => void,\n onResponderGrant: (event: GestureResponderEvent) => void | boolean,\n onResponderMove: (event: GestureResponderEvent) => void,\n onResponderRelease: (event: GestureResponderEvent) => void,\n onResponderTerminate: (event: GestureResponderEvent) => void,\n onResponderTerminationRequest: () => boolean,\n onStartShouldSetResponder: () => boolean,\n // [Windows\n onKeyUp: (event: KeyEvent) => void,\n onKeyDown: (event: KeyEvent) => void,\n // Windows]\n}>;\n\ntype TouchState =\n | 'NOT_RESPONDER'\n | 'RESPONDER_INACTIVE_PRESS_IN'\n | 'RESPONDER_INACTIVE_PRESS_OUT'\n | 'RESPONDER_ACTIVE_PRESS_IN'\n | 'RESPONDER_ACTIVE_PRESS_OUT'\n | 'RESPONDER_ACTIVE_LONG_PRESS_IN'\n | 'RESPONDER_ACTIVE_LONG_PRESS_OUT'\n | 'ERROR';\n\nconst Transitions = Object.freeze({\n NOT_RESPONDER: {\n DELAY: 'ERROR',\n RESPONDER_GRANT: 'RESPONDER_INACTIVE_PRESS_IN',\n RESPONDER_RELEASE: 'ERROR',\n RESPONDER_TERMINATED: 'ERROR',\n ENTER_PRESS_RECT: 'ERROR',\n LEAVE_PRESS_RECT: 'ERROR',\n LONG_PRESS_DETECTED: 'ERROR',\n },\n RESPONDER_INACTIVE_PRESS_IN: {\n DELAY: 'RESPONDER_ACTIVE_PRESS_IN',\n RESPONDER_GRANT: 'ERROR',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_IN',\n LEAVE_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_OUT',\n LONG_PRESS_DETECTED: 'ERROR',\n },\n RESPONDER_INACTIVE_PRESS_OUT: {\n DELAY: 'RESPONDER_ACTIVE_PRESS_OUT',\n RESPONDER_GRANT: 'ERROR',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_IN',\n LEAVE_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_OUT',\n LONG_PRESS_DETECTED: 'ERROR',\n },\n RESPONDER_ACTIVE_PRESS_IN: {\n DELAY: 'ERROR',\n RESPONDER_GRANT: 'ERROR',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_IN',\n LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_OUT',\n LONG_PRESS_DETECTED: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n },\n RESPONDER_ACTIVE_PRESS_OUT: {\n DELAY: 'ERROR',\n RESPONDER_GRANT: 'ERROR',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_IN',\n LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_OUT',\n LONG_PRESS_DETECTED: 'ERROR',\n },\n RESPONDER_ACTIVE_LONG_PRESS_IN: {\n DELAY: 'ERROR',\n RESPONDER_GRANT: 'ERROR',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',\n LONG_PRESS_DETECTED: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n },\n RESPONDER_ACTIVE_LONG_PRESS_OUT: {\n DELAY: 'ERROR',\n RESPONDER_GRANT: 'ERROR',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',\n LONG_PRESS_DETECTED: 'ERROR',\n },\n ERROR: {\n DELAY: 'NOT_RESPONDER',\n RESPONDER_GRANT: 'RESPONDER_INACTIVE_PRESS_IN',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'NOT_RESPONDER',\n LEAVE_PRESS_RECT: 'NOT_RESPONDER',\n LONG_PRESS_DETECTED: 'NOT_RESPONDER',\n },\n});\n\nconst isActiveSignal = (signal: TouchState) =>\n signal === 'RESPONDER_ACTIVE_PRESS_IN' ||\n signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';\n\nconst isActivationSignal = (signal: TouchState) =>\n signal === 'RESPONDER_ACTIVE_PRESS_OUT' ||\n signal === 'RESPONDER_ACTIVE_PRESS_IN';\n\nconst isPressInSignal = (signal: TouchState) =>\n signal === 'RESPONDER_INACTIVE_PRESS_IN' ||\n signal === 'RESPONDER_ACTIVE_PRESS_IN' ||\n signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';\n\nconst isTerminalSignal = (signal: TouchSignal) =>\n signal === 'RESPONDER_TERMINATED' || signal === 'RESPONDER_RELEASE';\n\nconst DEFAULT_LONG_PRESS_DELAY_MS = 500;\nconst DEFAULT_PRESS_RECT_OFFSETS = {\n bottom: 30,\n left: 20,\n right: 20,\n top: 20,\n};\nconst DEFAULT_MIN_PRESS_DURATION = 130;\n\nconst DEFAULT_LONG_PRESS_DEACTIVATION_DISTANCE = 10;\nlet longPressDeactivationDistance = DEFAULT_LONG_PRESS_DEACTIVATION_DISTANCE;\n\n/**\n * Pressability implements press handling capabilities.\n *\n * =========================== Pressability Tutorial ===========================\n *\n * The `Pressability` class helps you create press interactions by analyzing the\n * geometry of elements and observing when another responder (e.g. ScrollView)\n * has stolen the touch lock. It offers hooks for your component to provide\n * interaction feedback to the user:\n *\n * - When a press has activated (e.g. highlight an element)\n * - When a press has deactivated (e.g. un-highlight an element)\n * - When a press should trigger an action, meaning it activated and deactivated\n * while within the geometry of the element without the lock being stolen.\n *\n * A high quality interaction isn't as simple as you might think. There should\n * be a slight delay before activation. Moving your finger beyond an element's\n * bounds should trigger deactivation, but moving the same finger back within an\n * element's bounds should trigger reactivation.\n *\n * This should be consumed by functional components using `usePressability`. The\n * following steps are only relevant for using `Pressability` in classes:\n *\n * 1. Instantiate `Pressability` and store it on your component's state.\n *\n * state = {\n * pressability: new Pressability({\n * // ...\n * }),\n * };\n *\n * 2. Choose the rendered component who should collect the press events. On that\n * element, spread `pressability.getEventHandlers()` into its props.\n *\n * return (\n * \n * );\n *\n * 3. Update `Pressability` when your component mounts, updates, and unmounts.\n *\n * componentDidMount() {\n * this.state.pressability.configure(...);\n * }\n *\n * componentDidUpdate() {\n * this.state.pressability.configure(...);\n * }\n *\n * componentWillUnmount() {\n * this.state.pressability.reset();\n * }\n *\n * ==================== Pressability Implementation Details ====================\n *\n * `Pressability` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * # Geometry\n *\n * ┌────────────────────────┐\n * │ ┌──────────────────┐ │ - Presses start anywhere within `HitRect`, which\n * │ │ ┌────────────┐ │ │ is expanded via the prop `hitSlop`.\n * │ │ │ VisualRect │ │ │\n * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time\n * │ │ HitRect │ │ before letting up, `VisualRect` activates for\n * │ └──────────────────┘ │ as long as the press stays within `PressRect`.\n * │ PressRect o │\n * └────────────────────│───┘\n * Out Region └────── `PressRect`, which is expanded via the prop\n * `pressRectOffset`, allows presses to move\n * beyond `HitRect` while maintaining activation\n * and being eligible for a \"press\".\n *\n * # State Machine\n *\n * ┌───────────────┐ ◀──── RESPONDER_RELEASE\n * │ NOT_RESPONDER │\n * └───┬───────────┘ ◀──── RESPONDER_TERMINATED\n * │\n * │ RESPONDER_GRANT (HitRect)\n * │\n * ▼\n * ┌─────────────────────┐ ┌───────────────────┐ ┌───────────────────┐\n * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ T + DELAY │ RESPONDER_ACTIVE_ │\n * │ PRESS_IN ├────────▶ │ PRESS_IN ├────────────▶ │ LONG_PRESS_IN │\n * └─┬───────────────────┘ └─┬─────────────────┘ └─┬─────────────────┘\n * │ ▲ │ ▲ │ ▲\n * │LEAVE_ │ │LEAVE_ │ │LEAVE_ │\n * │PRESS_RECT │ENTER_ │PRESS_RECT │ENTER_ │PRESS_RECT │ENTER_\n * │ │PRESS_RECT │ │PRESS_RECT │ │PRESS_RECT\n * ▼ │ ▼ │ ▼ │\n * ┌─────────────┴───────┐ ┌─────────────┴─────┐ ┌─────────────┴─────┐\n * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ │ RESPONDER_ACTIVE_ │\n * │ PRESS_OUT ├────────▶ │ PRESS_OUT │ │ LONG_PRESS_OUT │\n * └─────────────────────┘ └───────────────────┘ └───────────────────┘\n *\n * T + DELAY => LONG_PRESS_DELAY + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the invocation of `onPress` and `onLongPress` that occur when a\n * responder is release while in the \"press in\" states.\n */\nexport default class Pressability {\n _config: PressabilityConfig;\n _eventHandlers: ?EventHandlers = null;\n _hoverInDelayTimeout: ?TimeoutID = null;\n _hoverOutDelayTimeout: ?TimeoutID = null;\n _isHovered: boolean = false;\n _longPressDelayTimeout: ?TimeoutID = null;\n _pressDelayTimeout: ?TimeoutID = null;\n _pressOutDelayTimeout: ?TimeoutID = null;\n _responderID: ?number | HostInstance = null;\n _responderRegion: ?$ReadOnly<{\n bottom: number,\n left: number,\n right: number,\n top: number,\n }> = null;\n _touchActivatePosition: ?$ReadOnly<{\n pageX: number,\n pageY: number,\n }>;\n _touchActivateTime: ?number;\n _touchState: TouchState = 'NOT_RESPONDER';\n _isKeyDown: boolean = false;\n\n constructor(config: PressabilityConfig) {\n this.configure(config);\n }\n\n configure(config: PressabilityConfig): void {\n this._config = config;\n }\n\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n reset(): void {\n this._cancelHoverInDelayTimeout();\n this._cancelHoverOutDelayTimeout();\n this._cancelLongPressDelayTimeout();\n this._cancelPressDelayTimeout();\n this._cancelPressOutDelayTimeout();\n\n // Ensure that, if any async event handlers are fired after unmount\n // due to a race, we don't call any configured callbacks.\n this._config = Object.freeze({});\n }\n\n /**\n * Returns a set of props to spread into the interactive element.\n */\n getEventHandlers(): EventHandlers {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n return this._eventHandlers;\n }\n\n static setLongPressDeactivationDistance(distance: number): void {\n longPressDeactivationDistance = distance;\n }\n\n _createEventHandlers(): EventHandlers {\n const focusEventHandlers = {\n onBlur: (event: BlurEvent): void => {\n const {onBlur} = this._config;\n if (onBlur != null) {\n onBlur(event);\n }\n this._isKeyDown = false;\n },\n onFocus: (event: FocusEvent): void => {\n const {onFocus} = this._config;\n if (onFocus != null) {\n onFocus(event);\n }\n },\n };\n\n const responderEventHandlers = {\n onStartShouldSetResponder: (): boolean => {\n const {disabled} = this._config;\n return !disabled ?? true;\n },\n\n onResponderGrant: (event: GestureResponderEvent): void | boolean => {\n event.persist();\n\n this._cancelPressOutDelayTimeout();\n\n this._responderID = event.currentTarget;\n this._touchState = 'NOT_RESPONDER';\n this._receiveSignal('RESPONDER_GRANT', event);\n\n const delayPressIn = normalizeDelay(this._config.delayPressIn);\n if (delayPressIn > 0) {\n this._pressDelayTimeout = setTimeout(() => {\n this._receiveSignal('DELAY', event);\n }, delayPressIn);\n } else {\n this._receiveSignal('DELAY', event);\n }\n\n const delayLongPress = normalizeDelay(\n this._config.delayLongPress,\n 10,\n DEFAULT_LONG_PRESS_DELAY_MS - delayPressIn,\n );\n this._longPressDelayTimeout = setTimeout(() => {\n this._handleLongPress(event);\n }, delayLongPress + delayPressIn);\n\n return this._config.blockNativeResponder === true;\n },\n\n onResponderMove: (event: GestureResponderEvent): void => {\n const {onPressMove} = this._config;\n if (onPressMove != null) {\n onPressMove(event);\n }\n\n // Region may not have finished being measured, yet.\n const responderRegion = this._responderRegion;\n if (responderRegion == null) {\n return;\n }\n\n const touch = getTouchFromPressEvent(event);\n if (touch == null) {\n this._cancelLongPressDelayTimeout();\n this._receiveSignal('LEAVE_PRESS_RECT', event);\n return;\n }\n\n if (this._touchActivatePosition != null) {\n const deltaX = this._touchActivatePosition.pageX - touch.pageX;\n const deltaY = this._touchActivatePosition.pageY - touch.pageY;\n if (Math.hypot(deltaX, deltaY) > longPressDeactivationDistance) {\n this._cancelLongPressDelayTimeout();\n }\n }\n\n if (this._isTouchWithinResponderRegion(touch, responderRegion)) {\n this._receiveSignal('ENTER_PRESS_RECT', event);\n } else {\n this._cancelLongPressDelayTimeout();\n this._receiveSignal('LEAVE_PRESS_RECT', event);\n }\n },\n\n onResponderRelease: (event: GestureResponderEvent): void => {\n this._receiveSignal('RESPONDER_RELEASE', event);\n },\n\n onResponderTerminate: (event: GestureResponderEvent): void => {\n this._receiveSignal('RESPONDER_TERMINATED', event);\n },\n\n onResponderTerminationRequest: (): boolean => {\n const {cancelable} = this._config;\n return cancelable ?? true;\n },\n\n onClick: (event: GestureResponderEvent): void => {\n // If event has `pointerType`, it was emitted from a PointerEvent and\n // we should ignore it to avoid triggering `onPress` twice.\n if (event?.nativeEvent?.hasOwnProperty?.('pointerType')) {\n return;\n }\n\n // for non-pointer click events (e.g. accessibility clicks), we should only dispatch when we're the \"real\" target\n // in particular, we shouldn't respond to clicks from nested pressables\n if (event?.currentTarget !== event?.target) {\n event?.stopPropagation();\n return;\n }\n\n const {onPress, disabled} = this._config;\n if (onPress != null && disabled !== true) {\n onPress(event);\n }\n },\n };\n\n if (process.env.NODE_ENV === 'test') {\n // We are setting this in order to find this node in ReactNativeTestTools\n // $FlowFixMe[prop-missing]\n responderEventHandlers.onStartShouldSetResponder.testOnly_pressabilityConfig =\n () => this._config;\n }\n\n // [Windows\n const keyboardEventHandlers = {\n onKeyUp: (event: KeyEvent): void => {\n const {onKeyUp} = this._config;\n onKeyUp && onKeyUp(event);\n\n if (\n (event.nativeEvent.code === 'Space' ||\n event.nativeEvent.code === 'Enter' ||\n event.nativeEvent.code === 'GamepadA') &&\n event.defaultPrevented !== true &&\n this._isKeyDown\n ) {\n const {onPressOut, onPress} = this._config;\n // $FlowFixMe: PressEvents don't mesh with keyboarding APIs. Keep legacy behavior of passing KeyEvents instead\n onPressOut && onPressOut(event);\n // $FlowFixMe: PressEvents don't mesh with keyboarding APIs. Keep legacy behavior of passing KeyEvents instead\n onPress && onPress(event);\n }\n // Native windows app clears the key pressed state when another key press interrupts the current\n this._isKeyDown = false;\n },\n onKeyDown: (event: KeyEvent): void => {\n const {onKeyDown, disabled} = this._config;\n onKeyDown && onKeyDown(event);\n\n if (\n (event.nativeEvent.code === 'Space' ||\n event.nativeEvent.code === 'Enter' ||\n event.nativeEvent.code === 'GamepadA') &&\n event.defaultPrevented !== true &&\n disabled !== true\n ) {\n const {onPressIn} = this._config;\n this._isKeyDown = true;\n // $FlowFixMe: PressEvents don't mesh with keyboarding APIs. Keep legacy behavior of passing KeyEvents instead\n onPressIn && onPressIn(event);\n }\n },\n };\n // Windows]\n\n if (\n ReactNativeFeatureFlags.shouldPressibilityUseW3CPointerEventsForHover()\n ) {\n const hoverPointerEvents = {\n onPointerEnter: (undefined: void | (PointerEvent => void)),\n onPointerLeave: (undefined: void | (PointerEvent => void)),\n };\n const {onHoverIn, onHoverOut} = this._config;\n if (onHoverIn != null) {\n hoverPointerEvents.onPointerEnter = (event: PointerEvent) => {\n this._isHovered = true;\n this._cancelHoverOutDelayTimeout();\n if (onHoverIn != null) {\n const delayHoverIn = normalizeDelay(this._config.delayHoverIn);\n if (delayHoverIn > 0) {\n event.persist();\n this._hoverInDelayTimeout = setTimeout(() => {\n onHoverIn(convertPointerEventToMouseEvent(event));\n }, delayHoverIn);\n } else {\n onHoverIn(convertPointerEventToMouseEvent(event));\n }\n }\n };\n }\n if (onHoverOut != null) {\n hoverPointerEvents.onPointerLeave = (event: PointerEvent) => {\n if (this._isHovered) {\n this._isHovered = false;\n this._cancelHoverInDelayTimeout();\n if (onHoverOut != null) {\n const delayHoverOut = normalizeDelay(this._config.delayHoverOut);\n if (delayHoverOut > 0) {\n event.persist();\n this._hoverOutDelayTimeout = setTimeout(() => {\n onHoverOut(convertPointerEventToMouseEvent(event));\n }, delayHoverOut);\n } else {\n onHoverOut(convertPointerEventToMouseEvent(event));\n }\n }\n }\n };\n }\n return {\n ...focusEventHandlers,\n ...responderEventHandlers,\n ...hoverPointerEvents,\n ...keyboardEventHandlers, // [Windows]\n };\n } else {\n const mouseEventHandlers =\n Platform.OS === 'ios' || Platform.OS === 'android'\n ? null\n : {\n onMouseEnter: (event: MouseEvent): void => {\n // [Windows Add attached raw mouse event handler for compat\n if (this._config.onMouseEnter) {\n this._config.onMouseEnter(event);\n }\n // Windows]\n\n if (isHoverEnabled()) {\n this._isHovered = true;\n this._cancelHoverOutDelayTimeout();\n const {onHoverIn} = this._config;\n if (onHoverIn != null) {\n const delayHoverIn = normalizeDelay(\n this._config.delayHoverIn,\n );\n if (delayHoverIn > 0) {\n event.persist();\n this._hoverInDelayTimeout = setTimeout(() => {\n onHoverIn(event);\n }, delayHoverIn);\n } else {\n onHoverIn(event);\n }\n }\n }\n },\n\n onMouseLeave: (event: MouseEvent): void => {\n // [Windows Add attached raw mouse event handler for compat\n if (this._config.onMouseLeave) {\n this._config.onMouseLeave(event);\n }\n // Windows]\n\n if (this._isHovered) {\n this._isHovered = false;\n this._cancelHoverInDelayTimeout();\n const {onHoverOut} = this._config;\n if (onHoverOut != null) {\n const delayHoverOut = normalizeDelay(\n this._config.delayHoverOut,\n );\n if (delayHoverOut > 0) {\n event.persist();\n this._hoverInDelayTimeout = setTimeout(() => {\n onHoverOut(event);\n }, delayHoverOut);\n } else {\n onHoverOut(event);\n }\n }\n }\n },\n };\n\n return {\n ...focusEventHandlers,\n ...responderEventHandlers,\n ...mouseEventHandlers,\n ...keyboardEventHandlers, // [Windows]\n };\n }\n }\n\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n */\n _receiveSignal(signal: TouchSignal, event: GestureResponderEvent): void {\n // Especially on iOS, not all events have timestamps associated.\n // For telemetry purposes, this doesn't matter too much, as long as *some* do.\n // Since the native timestamp is integral for logging telemetry, just skip\n // events if they don't have a timestamp attached.\n if (event.nativeEvent.timestamp != null) {\n PressabilityPerformanceEventEmitter.emitEvent(() => {\n return {\n signal,\n nativeTimestamp: event.nativeEvent.timestamp,\n };\n });\n }\n\n const prevState = this._touchState;\n const nextState = Transitions[prevState]?.[signal];\n if (this._responderID == null && signal === 'RESPONDER_RELEASE') {\n return;\n }\n invariant(\n nextState != null && nextState !== 'ERROR',\n 'Pressability: Invalid signal `%s` for state `%s` on responder: %s',\n signal,\n prevState,\n typeof this._responderID === 'number'\n ? this._responderID\n : '<>',\n );\n if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n this._touchState = nextState;\n }\n }\n\n // [Windows]\n // $FlowFixMe - button typing\n _isDefaultPressButton(button): boolean {\n return !button; // Treat 0 or undefined as default press\n }\n\n /**\n * Performs a transition between touchable states and identify any activations\n * or deactivations (and callback invocations).\n */\n _performTransitionSideEffects(\n prevState: TouchState,\n nextState: TouchState,\n signal: TouchSignal,\n event: GestureResponderEvent,\n ): void {\n if (isTerminalSignal(signal)) {\n this._touchActivatePosition = null;\n this._cancelLongPressDelayTimeout();\n }\n\n const isInitialTransition =\n prevState === 'NOT_RESPONDER' &&\n nextState === 'RESPONDER_INACTIVE_PRESS_IN';\n\n const isActivationTransition =\n !isActivationSignal(prevState) && isActivationSignal(nextState);\n\n if (isInitialTransition || isActivationTransition) {\n this._measureResponderRegion();\n }\n\n if (isPressInSignal(prevState) && signal === 'LONG_PRESS_DETECTED') {\n const {onLongPress} = this._config;\n if (\n onLongPress != null &&\n this._isDefaultPressButton(getTouchFromPressEvent(event).button)\n ) {\n onLongPress(event);\n }\n }\n\n const isPrevActive = isActiveSignal(prevState);\n const isNextActive = isActiveSignal(nextState);\n\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n\n if (isPressInSignal(prevState) && signal === 'RESPONDER_RELEASE') {\n // If we never activated (due to delays), activate and deactivate now.\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n this._deactivate(event);\n }\n const {onLongPress, onPress, android_disableSound} = this._config;\n\n if (\n onPress != null &&\n this._isDefaultPressButton(getTouchFromPressEvent(event).button)\n ) {\n const isPressCanceledByLongPress =\n onLongPress != null && prevState === 'RESPONDER_ACTIVE_LONG_PRESS_IN';\n if (!isPressCanceledByLongPress) {\n if (Platform.OS === 'android' && android_disableSound !== true) {\n SoundManager.playTouchSound();\n }\n onPress(event);\n }\n }\n }\n\n this._cancelPressDelayTimeout();\n }\n\n _activate(event: GestureResponderEvent): void {\n const {onPressIn} = this._config;\n const {pageX, pageY, button} = getTouchFromPressEvent(event);\n this._touchActivatePosition = {pageX, pageY};\n this._touchActivateTime = Date.now();\n if (onPressIn != null && this._isDefaultPressButton(button)) {\n onPressIn(event);\n }\n }\n\n _deactivate(event: GestureResponderEvent): void {\n const {onPressOut} = this._config;\n if (\n onPressOut != null &&\n this._isDefaultPressButton(getTouchFromPressEvent(event).button)\n ) {\n const minPressDuration = normalizeDelay(\n this._config.minPressDuration,\n 0,\n DEFAULT_MIN_PRESS_DURATION,\n );\n const pressDuration = Date.now() - (this._touchActivateTime ?? 0);\n const delayPressOut = Math.max(\n minPressDuration - pressDuration,\n normalizeDelay(this._config.delayPressOut),\n );\n if (delayPressOut > 0) {\n event.persist();\n this._pressOutDelayTimeout = setTimeout(() => {\n onPressOut(event);\n }, delayPressOut);\n } else {\n onPressOut(event);\n }\n }\n this._touchActivateTime = null;\n }\n\n _measureResponderRegion(): void {\n if (this._responderID == null) {\n return;\n }\n\n if (typeof this._responderID === 'number') {\n UIManager.measure(this._responderID, this._measureCallback);\n } else {\n this._responderID.measure(this._measureCallback);\n }\n }\n\n _measureCallback = (\n left: number,\n top: number,\n width: number,\n height: number,\n pageX: number,\n pageY: number,\n ) => {\n if (!left && !top && !width && !height && !pageX && !pageY) {\n return;\n }\n this._responderRegion = {\n bottom: pageY + height,\n left: pageX,\n right: pageX + width,\n top: pageY,\n };\n };\n\n _isTouchWithinResponderRegion(\n touch: $PropertyType,\n responderRegion: $ReadOnly<{\n bottom: number,\n left: number,\n right: number,\n top: number,\n }>,\n ): boolean {\n const hitSlop = normalizeRect(this._config.hitSlop);\n const pressRectOffset = normalizeRect(this._config.pressRectOffset);\n\n let regionBottom = responderRegion.bottom;\n let regionLeft = responderRegion.left;\n let regionRight = responderRegion.right;\n let regionTop = responderRegion.top;\n\n if (hitSlop != null) {\n if (hitSlop.bottom != null) {\n regionBottom += hitSlop.bottom;\n }\n if (hitSlop.left != null) {\n regionLeft -= hitSlop.left;\n }\n if (hitSlop.right != null) {\n regionRight += hitSlop.right;\n }\n if (hitSlop.top != null) {\n regionTop -= hitSlop.top;\n }\n }\n\n regionBottom +=\n pressRectOffset?.bottom ?? DEFAULT_PRESS_RECT_OFFSETS.bottom;\n regionLeft -= pressRectOffset?.left ?? DEFAULT_PRESS_RECT_OFFSETS.left;\n regionRight += pressRectOffset?.right ?? DEFAULT_PRESS_RECT_OFFSETS.right;\n regionTop -= pressRectOffset?.top ?? DEFAULT_PRESS_RECT_OFFSETS.top;\n\n return (\n touch.pageX > regionLeft &&\n touch.pageX < regionRight &&\n touch.pageY > regionTop &&\n touch.pageY < regionBottom\n );\n }\n\n _handleLongPress(event: GestureResponderEvent): void {\n if (\n this._touchState === 'RESPONDER_ACTIVE_PRESS_IN' ||\n this._touchState === 'RESPONDER_ACTIVE_LONG_PRESS_IN'\n ) {\n this._receiveSignal('LONG_PRESS_DETECTED', event);\n }\n }\n\n _cancelHoverInDelayTimeout(): void {\n if (this._hoverInDelayTimeout != null) {\n clearTimeout(this._hoverInDelayTimeout);\n this._hoverInDelayTimeout = null;\n }\n }\n\n _cancelHoverOutDelayTimeout(): void {\n if (this._hoverOutDelayTimeout != null) {\n clearTimeout(this._hoverOutDelayTimeout);\n this._hoverOutDelayTimeout = null;\n }\n }\n\n _cancelLongPressDelayTimeout(): void {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n }\n\n _cancelPressDelayTimeout(): void {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n }\n\n _cancelPressOutDelayTimeout(): void {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n }\n}\n\nfunction normalizeDelay(\n delay: ?number,\n min: number = 0,\n fallback: number = 0,\n): number {\n return Math.max(min, delay ?? fallback);\n}\n\nconst getTouchFromPressEvent = (event: GestureResponderEvent) => {\n const {changedTouches, touches} = event.nativeEvent;\n\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n return event.nativeEvent;\n};\n\nfunction convertPointerEventToMouseEvent(input: PointerEvent): MouseEvent {\n const {clientX, clientY} = input.nativeEvent;\n // [Windows\n const {\n pointerType,\n pressure,\n isLeftButton,\n isRightButton,\n isMiddleButton,\n isBarrelButtonPressed,\n isHorizontalScrollWheel,\n isEraser,\n shiftKey,\n ctrlKey,\n altKey,\n } = input.nativeEvent;\n // Windows]\n return {\n ...input,\n nativeEvent: {\n clientX,\n clientY,\n pageX: clientX,\n pageY: clientY,\n timestamp: input.timeStamp,\n // [Windows\n target:\n input.nativeEvent.target ??\n (typeof input.target === 'number' ? input.target : -1),\n identifier: input.nativeEvent.pointerId,\n locationX: clientX,\n locationY: clientY,\n pointerType,\n force: pressure,\n isLeftButton,\n isRightButton,\n isMiddleButton,\n isBarrelButtonPressed,\n isHorizontalScrollWheel,\n isEraser,\n shiftKey,\n ctrlKey,\n altKey,\n // Windows]\n },\n };\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\nimport NativeSoundManager from './NativeSoundManager';\n\nconst SoundManager = {\n playTouchSound: function (): void {\n if (NativeSoundManager) {\n NativeSoundManager.playTouchSound();\n }\n },\n};\n\nexport default SoundManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeSoundManager';\nimport NativeSoundManager from '../../../src/private/specs_DEPRECATED/modules/NativeSoundManager';\nexport default NativeSoundManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\n/**\n * Native Module used for playing sounds in native platform.\n */\nexport interface Spec extends TurboModule {\n +playTouchSound: () => void;\n}\n\nexport default (TurboModuleRegistry.get('SoundManager'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport type FeatureFlags = {\n /**\n * Function used to enable / disable W3C pointer event emitting in React Native.\n * If enabled you must also flip the equivalent native flags on each platform:\n * iOS -> RCTSetDispatchW3CPointerEvents\n * Android -> ReactFeatureFlags.dispatchPointerEvents\n */\n shouldEmitW3CPointerEvents: () => boolean,\n /**\n * Function used to enable / disable Pressibility from using W3C Pointer Events\n * for its hover callbacks\n */\n shouldPressibilityUseW3CPointerEventsForHover: () => boolean,\n};\n\nconst ReactNativeFeatureFlags: FeatureFlags = {\n shouldEmitW3CPointerEvents: () => false,\n shouldPressibilityUseW3CPointerEventsForHover: () => false,\n};\n\nexport default ReactNativeFeatureFlags;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport {type PressabilityTouchSignal as TouchSignal} from './PressabilityTypes.js';\n\nexport type PressabilityPerformanceEvent = $ReadOnly<{\n signal: TouchSignal,\n nativeTimestamp: number,\n}>;\nexport type PressabilityPerformanceEventListener =\n PressabilityPerformanceEvent => void;\n\nclass PressabilityPerformanceEventEmitter {\n _listeners: Array = [];\n\n constructor() {}\n\n addListener(listener: PressabilityPerformanceEventListener): void {\n this._listeners.push(listener);\n }\n\n removeListener(listener: PressabilityPerformanceEventListener): void {\n const index = this._listeners.indexOf(listener);\n if (index > -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n emitEvent(constructEvent: () => PressabilityPerformanceEvent): void {\n if (this._listeners.length === 0) {\n return;\n }\n\n const event = constructEvent();\n this._listeners.forEach(listener => listener(event));\n }\n}\n\nconst PressabilityPerformanceEventEmitterSingleton: PressabilityPerformanceEventEmitter =\n new PressabilityPerformanceEventEmitter();\n\nexport default PressabilityPerformanceEventEmitterSingleton;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport Platform from '../Utilities/Platform';\n\nlet isEnabled = false;\n\n/* $FlowFixMe[incompatible-type] Error found due to incomplete typing of\n * Platform.flow.js */\nif (Platform.OS === 'web') {\n const canUseDOM = Boolean(\n typeof window !== 'undefined' &&\n window.document &&\n // $FlowFixMe[method-unbinding]\n window.document.createElement,\n );\n\n if (canUseDOM) {\n /**\n * Web browsers emulate mouse events (and hover states) after touch events.\n * This code infers when the currently-in-use modality supports hover\n * (including for multi-modality devices) and considers \"hover\" to be enabled\n * if a mouse movement occurs more than 1 second after the last touch event.\n * This threshold is long enough to account for longer delays between the\n * browser firing touch and mouse events on low-powered devices.\n */\n const HOVER_THRESHOLD_MS = 1000;\n let lastTouchTimestamp = 0;\n\n const enableHover = () => {\n if (isEnabled || Date.now() - lastTouchTimestamp < HOVER_THRESHOLD_MS) {\n return;\n }\n isEnabled = true;\n };\n\n const disableHover = () => {\n lastTouchTimestamp = Date.now();\n if (isEnabled) {\n isEnabled = false;\n }\n };\n\n document.addEventListener('touchstart', disableHover, true);\n document.addEventListener('touchmove', disableHover, true);\n document.addEventListener('mousemove', enableHover, true);\n }\n // [Windows\n} else if (Platform.OS === 'windows') {\n isEnabled = true;\n // Windows]\n}\n\nexport function isHoverEnabled(): boolean {\n return isEnabled;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\nexport type Rect = $ReadOnly<{\n bottom?: ?number,\n left?: ?number,\n right?: ?number,\n top?: ?number,\n}>;\n\nexport type RectOrSize = Rect | number;\n\nexport function createSquare(size: number): Rect {\n return {bottom: size, left: size, right: size, top: size};\n}\n\nexport function normalizeRect(rectOrSize: ?RectOrSize): ?Rect {\n return typeof rectOrSize === 'number' ? createSquare(rectOrSize) : rectOrSize;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {HostComponent} from '../../src/private/types/HostComponent';\nimport type {ProcessedColorValue} from '../StyleSheet/processColor';\nimport type {GestureResponderEvent} from '../Types/CoreEventTypes';\nimport type {TextProps} from './TextProps';\n\nimport {createViewConfig} from '../NativeComponent/ViewConfig';\nimport UIManager from '../ReactNative/UIManager';\nimport createReactNativeComponentClass from '../Renderer/shims/createReactNativeComponentClass';\n\nexport type NativeTextProps = $ReadOnly<{\n ...TextProps,\n isHighlighted?: ?boolean,\n selectionColor?: ?ProcessedColorValue,\n onClick?: ?(event: GestureResponderEvent) => mixed,\n // This is only needed for platforms that optimize text hit testing, e.g.,\n // react-native-windows. It can be used to only hit test virtual text spans\n // that have pressable events attached to them.\n isPressable?: ?boolean,\n}>;\n\nconst textViewConfig = {\n validAttributes: {\n isHighlighted: true,\n isPressable: true,\n numberOfLines: true,\n ellipsizeMode: true,\n allowFontScaling: true,\n dynamicTypeRamp: true,\n maxFontSizeMultiplier: true,\n disabled: true,\n selectable: true,\n selectionColor: true,\n adjustsFontSizeToFit: true,\n minimumFontScale: true,\n textBreakStrategy: true,\n onTextLayout: true,\n onInlineViewLayout: true,\n dataDetectorType: true,\n android_hyphenationFrequency: true,\n lineBreakStrategyIOS: true,\n },\n directEventTypes: {\n topTextLayout: {\n registrationName: 'onTextLayout',\n },\n topInlineViewLayout: {\n registrationName: 'onInlineViewLayout',\n },\n },\n uiViewClassName: 'RCTText',\n};\n\nconst virtualTextViewConfig = {\n validAttributes: {\n isHighlighted: true,\n isPressable: true,\n maxFontSizeMultiplier: true,\n },\n uiViewClassName: 'RCTVirtualText',\n};\n\nexport const NativeText: HostComponent =\n (createReactNativeComponentClass('RCTText', () =>\n createViewConfig(textViewConfig),\n ): any);\n\nexport const NativeVirtualText: HostComponent =\n !global.RN$Bridgeless && !UIManager.hasViewManagerConfig('RCTVirtualText')\n ? NativeText\n : (createReactNativeComponentClass('RCTVirtualText', () =>\n createViewConfig(virtualTextViewConfig),\n ): any);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {ColorValue} from '../../StyleSheet/StyleSheet';\nimport type {TouchableWithoutFeedbackProps} from './TouchableWithoutFeedback';\n\nimport View from '../../Components/View/View';\nimport Pressability, {\n type PressabilityConfig,\n} from '../../Pressability/Pressability';\nimport {PressabilityDebugView} from '../../Pressability/PressabilityDebug';\nimport StyleSheet, {type ViewStyleProp} from '../../StyleSheet/StyleSheet';\nimport Platform from '../../Utilities/Platform';\nimport * as React from 'react';\n\ntype AndroidProps = $ReadOnly<{\n nextFocusDown?: ?number,\n nextFocusForward?: ?number,\n nextFocusLeft?: ?number,\n nextFocusRight?: ?number,\n nextFocusUp?: ?number,\n}>;\n\ntype IOSProps = $ReadOnly<{\n hasTVPreferredFocus?: ?boolean,\n}>;\n\n// [Windows\ntype WindowProps = $ReadOnly<{\n onAccessibilityTap?: ?() => void,\n //onMouseEnter: ?() => void,\n //onMouseLeave: ?() => void,\n //tabIndex: ?number,\n}>;\n// Windows]\n\ntype TouchableHighlightBaseProps = $ReadOnly<{\n /**\n * Determines what the opacity of the wrapped view should be when touch is active.\n */\n activeOpacity?: ?number,\n /**\n * The color of the underlay that will show through when the touch is active.\n */\n underlayColor?: ?ColorValue,\n /**\n * @see https://reactnative.dev/docs/view#style\n */\n style?: ?ViewStyleProp,\n /**\n * Called immediately after the underlay is shown\n */\n onShowUnderlay?: ?() => void,\n /**\n * Called immediately after the underlay is hidden\n */\n onHideUnderlay?: ?() => void,\n testOnly_pressed?: ?boolean,\n\n hostRef: React.RefSetter>,\n}>;\n\ntype TouchableHighlightProps = $ReadOnly<{\n ...TouchableWithoutFeedbackProps,\n ...AndroidProps,\n ...IOSProps,\n ...WindowProps, // [Windows]\n ...TouchableHighlightBaseProps,\n}>;\n\ntype ExtraStyles = $ReadOnly<{\n child: ViewStyleProp,\n underlay: ViewStyleProp,\n}>;\n\ntype State = $ReadOnly<{\n pressability: Pressability,\n extraStyles: ?ExtraStyles,\n}>;\n\n/**\n * A wrapper for making views respond properly to touches.\n * On press down, the opacity of the wrapped view is decreased, which allows\n * the underlay color to show through, darkening or tinting the view.\n *\n * The underlay comes from wrapping the child in a new View, which can affect\n * layout, and sometimes cause unwanted visual artifacts if not used correctly,\n * for example if the backgroundColor of the wrapped view isn't explicitly set\n * to an opaque color.\n *\n * TouchableHighlight must have one child (not zero or more than one).\n * If you wish to have several child components, wrap them in a View.\n *\n * Example:\n *\n * ```\n * renderButton: function() {\n * return (\n * \n * \n * \n * );\n * },\n * ```\n *\n *\n * ### Example\n *\n * ```ReactNativeWebPlayer\n * import React, { Component } from 'react'\n * import {\n * AppRegistry,\n * StyleSheet,\n * TouchableHighlight,\n * Text,\n * View,\n * } from 'react-native'\n *\n * class App extends Component {\n * constructor(props) {\n * super(props)\n * this.state = { count: 0 }\n * }\n *\n * onPress = () => {\n * this.setState({\n * count: this.state.count+1\n * })\n * }\n *\n * render() {\n * return (\n * \n * \n * Touch Here \n * \n * \n * \n * { this.state.count !== 0 ? this.state.count: null}\n * \n * \n * \n * )\n * }\n * }\n *\n * const styles = StyleSheet.create({\n * container: {\n * flex: 1,\n * justifyContent: 'center',\n * paddingHorizontal: 10\n * },\n * button: {\n * alignItems: 'center',\n * backgroundColor: '#DDDDDD',\n * padding: 10\n * },\n * countContainer: {\n * alignItems: 'center',\n * padding: 10\n * },\n * countText: {\n * color: '#FF00FF'\n * }\n * })\n *\n * AppRegistry.registerComponent('App', () => App)\n * ```\n *\n */\nclass TouchableHighlightImpl extends React.Component<\n TouchableHighlightProps,\n State,\n> {\n _hideTimeout: ?TimeoutID;\n _isMounted: boolean = false;\n\n state: State = {\n pressability: new Pressability(this._createPressabilityConfig()),\n extraStyles:\n this.props.testOnly_pressed === true ? this._createExtraStyles() : null,\n };\n\n _createPressabilityConfig(): PressabilityConfig {\n return {\n cancelable: !this.props.rejectResponderTermination,\n disabled:\n this.props.disabled != null\n ? this.props.disabled\n : this.props.accessibilityState?.disabled,\n hitSlop: this.props.hitSlop,\n delayLongPress: this.props.delayLongPress,\n delayPressIn: this.props.delayPressIn,\n delayPressOut: this.props.delayPressOut,\n minPressDuration: 0,\n pressRectOffset: this.props.pressRetentionOffset,\n android_disableSound: this.props.touchSoundDisabled,\n onMouseEnter: this.props.onMouseEnter, // [Windows]\n onMouseLeave: this.props.onMouseLeave, // [Windows]\n onBlur: event => {\n if (Platform.isTV) {\n this._hideUnderlay();\n }\n if (this.props.onBlur != null) {\n this.props.onBlur(event);\n }\n },\n onFocus: event => {\n if (Platform.isTV) {\n this._showUnderlay();\n }\n if (this.props.onFocus != null) {\n this.props.onFocus(event);\n }\n },\n onLongPress: this.props.onLongPress,\n onPress: event => {\n if (this._hideTimeout != null) {\n clearTimeout(this._hideTimeout);\n }\n if (!Platform.isTV) {\n this._showUnderlay();\n this._hideTimeout = setTimeout(() => {\n this._hideUnderlay();\n }, this.props.delayPressOut ?? 0);\n }\n if (this.props.onPress != null) {\n this.props.onPress(event);\n }\n },\n onPressIn: event => {\n if (this._hideTimeout != null) {\n clearTimeout(this._hideTimeout);\n this._hideTimeout = null;\n }\n this._showUnderlay();\n if (this.props.onPressIn != null) {\n this.props.onPressIn(event);\n }\n },\n onPressOut: event => {\n if (this._hideTimeout == null) {\n this._hideUnderlay();\n }\n if (this.props.onPressOut != null) {\n this.props.onPressOut(event);\n }\n },\n };\n }\n\n _createExtraStyles(): ExtraStyles {\n return {\n child: {opacity: this.props.activeOpacity ?? 0.85},\n underlay: {\n backgroundColor:\n this.props.underlayColor === undefined\n ? 'black'\n : this.props.underlayColor,\n },\n };\n }\n\n _showUnderlay(): void {\n if (!this._isMounted || !this._hasPressHandler()) {\n return;\n }\n this.setState({extraStyles: this._createExtraStyles()});\n if (this.props.onShowUnderlay != null) {\n this.props.onShowUnderlay();\n }\n }\n\n _hideUnderlay(): void {\n if (this._hideTimeout != null) {\n clearTimeout(this._hideTimeout);\n this._hideTimeout = null;\n }\n if (this.props.testOnly_pressed === true) {\n return;\n }\n if (this._hasPressHandler()) {\n this.setState({extraStyles: null});\n if (this.props.onHideUnderlay != null) {\n this.props.onHideUnderlay();\n }\n }\n }\n\n _hasPressHandler(): boolean {\n return (\n this.props.onPress != null ||\n this.props.onPressIn != null ||\n this.props.onPressOut != null ||\n this.props.onLongPress != null\n );\n }\n\n render(): React.Node {\n const child = React.Children.only<$FlowFixMe>(this.props.children);\n\n // BACKWARD-COMPATIBILITY: Focus and blur events were never supported before\n // adopting `Pressability`, so preserve that behavior.\n const {\n // [Windows We used to manually hook up onFocus and onBlur. Do we still need to?\n // onBlur,\n // onFocus,\n // Windows]\n ...eventHandlersWithoutBlurAndFocus\n } = this.state.pressability.getEventHandlers();\n\n const accessibilityState =\n this.props.disabled != null\n ? {\n ...this.props.accessibilityState,\n disabled: this.props.disabled,\n }\n : this.props.accessibilityState;\n\n const accessibilityValue = {\n max: this.props['aria-valuemax'] ?? this.props.accessibilityValue?.max,\n min: this.props['aria-valuemin'] ?? this.props.accessibilityValue?.min,\n now: this.props['aria-valuenow'] ?? this.props.accessibilityValue?.now,\n text: this.props['aria-valuetext'] ?? this.props.accessibilityValue?.text,\n };\n\n const accessibilityLiveRegion =\n this.props['aria-live'] === 'off'\n ? 'none'\n : this.props['aria-live'] ?? this.props.accessibilityLiveRegion;\n\n const accessibilityLabel =\n this.props['aria-label'] ?? this.props.accessibilityLabel;\n return (\n \n {React.cloneElement(child, {\n style: StyleSheet.compose(\n child.props.style,\n this.state.extraStyles?.child,\n ),\n })}\n {__DEV__ ? (\n \n ) : null}\n \n );\n }\n\n componentDidMount(): void {\n this._isMounted = true;\n this.state.pressability.configure(this._createPressabilityConfig());\n }\n\n componentDidUpdate(prevProps: TouchableHighlightProps, prevState: State) {\n this.state.pressability.configure(this._createPressabilityConfig());\n }\n\n componentWillUnmount(): void {\n this._isMounted = false;\n if (this._hideTimeout != null) {\n clearTimeout(this._hideTimeout);\n }\n this.state.pressability.reset();\n }\n}\n\nconst TouchableHighlight: component(\n ref?: React.RefSetter>,\n ...props: $ReadOnly<$Diff>\n) = React.forwardRef((props, hostRef) => (\n \n));\n\nTouchableHighlight.displayName = 'TouchableHighlight';\n\nexport default TouchableHighlight;\n","function _objectDestructuringEmpty(t) {\n if (null == t) throw new TypeError(\"Cannot destructure \" + t);\n}\nmodule.exports = _objectDestructuringEmpty, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\n// import typeof DrawerLayoutAndroid from './DrawerLayoutAndroid.android';\nimport type {\n MeasureInWindowOnSuccessCallback,\n MeasureLayoutOnSuccessCallback,\n MeasureOnSuccessCallback,\n} from '../../../src/private/types/HostInstance';\nimport type {\n DrawerLayoutAndroidMethods,\n DrawerLayoutAndroidProps,\n DrawerLayoutAndroidState,\n} from './DrawerLayoutAndroidTypes';\n\nimport UnimplementedView from '../UnimplementedViews/UnimplementedView';\nimport * as React from 'react';\n\nexport type {\n DrawerLayoutAndroidProps,\n DrawerSlideEvent,\n} from './DrawerLayoutAndroidTypes';\n\nexport default class DrawerLayoutAndroid\n extends React.Component\n implements DrawerLayoutAndroidMethods\n{\n render(): React.Node {\n return ;\n }\n\n openDrawer(): void {\n throw new Error('DrawerLayoutAndroid is only available on Android');\n }\n\n closeDrawer(): void {\n throw new Error('DrawerLayoutAndroid is only available on Android');\n }\n\n blur(): void {\n throw new Error('DrawerLayoutAndroid is only available on Android');\n }\n\n focus(): void {\n throw new Error('DrawerLayoutAndroid is only available on Android');\n }\n\n measure(callback: MeasureOnSuccessCallback): void {\n throw new Error('DrawerLayoutAndroid is only available on Android');\n }\n\n measureInWindow(callback: MeasureInWindowOnSuccessCallback): void {\n throw new Error('DrawerLayoutAndroid is only available on Android');\n }\n\n measureLayout(\n relativeToNativeNode: number,\n onSuccess: MeasureLayoutOnSuccessCallback,\n onFail?: () => void,\n ): void {\n throw new Error('DrawerLayoutAndroid is only available on Android');\n }\n\n // $FlowFixMe[unclear-type]\n setNativeProps(nativeProps: Object): void {\n throw new Error('DrawerLayoutAndroid is only available on Android');\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport typeof ScrollViewNativeComponent from '../Components/ScrollView/ScrollViewNativeComponent';\nimport type {ViewStyleProp} from '../StyleSheet/StyleSheet';\nimport type {\n ListRenderItem,\n ListRenderItemInfo,\n ViewabilityConfigCallbackPair,\n ViewToken,\n} from '@react-native/virtualized-lists';\n\nimport * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';\nimport {type ScrollResponderType} from '../Components/ScrollView/ScrollView';\nimport View from '../Components/View/View';\nimport VirtualizedLists from '@react-native/virtualized-lists';\nimport memoizeOne from 'memoize-one';\nimport React from 'react';\n\nconst StyleSheet = require('../StyleSheet/StyleSheet').default;\nconst deepDiffer = require('../Utilities/differ/deepDiffer').default;\nconst Platform = require('../Utilities/Platform').default;\nconst invariant = require('invariant');\n\nconst VirtualizedList = VirtualizedLists.VirtualizedList;\nconst defaultKeyExtractor = VirtualizedLists.keyExtractor;\n\ntype RequiredProps = {\n /**\n * An array (or array-like list) of items to render. Other data types can be\n * used by targeting VirtualizedList directly.\n */\n data: ?$ReadOnly<$ArrayLike>,\n};\ntype OptionalProps = {\n /**\n * Takes an item from `data` and renders it into the list. Example usage:\n *\n * (\n * \n * )}\n * data={[{title: 'Title Text', key: 'item1'}]}\n * renderItem={({item, separators}) => (\n * this._onPress(item)}\n * onShowUnderlay={separators.highlight}\n * onHideUnderlay={separators.unhighlight}>\n * \n * {item.title}\n * \n * \n * )}\n * />\n *\n * Provides additional metadata like `index` if you need it, as well as a more generic\n * `separators.updateProps` function which let's you set whatever props you want to change the\n * rendering of either the leading separator or trailing separator in case the more common\n * `highlight` and `unhighlight` (which set the `highlighted: boolean` prop) are insufficient for\n * your use-case.\n */\n renderItem?: ?ListRenderItem,\n\n /**\n * Optional custom style for multi-item rows generated when numColumns > 1.\n */\n columnWrapperStyle?: ViewStyleProp,\n /**\n * A marker property for telling the list to re-render (since it implements `PureComponent`). If\n * any of your `renderItem`, Header, Footer, etc. functions depend on anything outside of the\n * `data` prop, stick it here and treat it immutably.\n */\n extraData?: any,\n /**\n * `getItemLayout` is an optional optimizations that let us skip measurement of dynamic content if\n * you know the height of items a priori. `getItemLayout` is the most efficient, and is easy to\n * use if you have fixed height items, for example:\n *\n * getItemLayout={(data, index) => (\n * {length: ITEM_HEIGHT, offset: ITEM_HEIGHT * index, index}\n * )}\n *\n * Adding `getItemLayout` can be a great performance boost for lists of several hundred items.\n * Remember to include separator length (height or width) in your offset calculation if you\n * specify `ItemSeparatorComponent`.\n */\n getItemLayout?: (\n data: ?$ReadOnly<$ArrayLike>,\n index: number,\n ) => {\n length: number,\n offset: number,\n index: number,\n ...\n },\n /**\n * If true, renders items next to each other horizontally instead of stacked vertically.\n */\n horizontal?: ?boolean,\n /**\n * How many items to render in the initial batch. This should be enough to fill the screen but not\n * much more. Note these items will never be unmounted as part of the windowed rendering in order\n * to improve perceived performance of scroll-to-top actions.\n */\n initialNumToRender?: ?number,\n /**\n * Instead of starting at the top with the first item, start at `initialScrollIndex`. This\n * disables the \"scroll to top\" optimization that keeps the first `initialNumToRender` items\n * always rendered and immediately renders the items starting at this initial index. Requires\n * `getItemLayout` to be implemented.\n */\n initialScrollIndex?: ?number,\n /**\n * Reverses the direction of scroll. Uses scale transforms of -1.\n */\n inverted?: ?boolean,\n /**\n * Used to extract a unique key for a given item at the specified index. Key is used for caching\n * and as the react key to track item re-ordering. The default extractor checks `item.key`, then\n * falls back to using the index, like React does.\n */\n keyExtractor?: ?(item: ItemT, index: number) => string,\n /**\n * Multiple columns can only be rendered with `horizontal={false}` and will zig-zag like a\n * `flexWrap` layout. Items should all be the same height - masonry layouts are not supported.\n *\n * The default value is 1.\n */\n numColumns?: number,\n /**\n * Note: may have bugs (missing content) in some circumstances - use at your own risk.\n *\n * This may improve scroll performance for large lists.\n *\n * The default value is true for Android.\n */\n removeClippedSubviews?: boolean,\n /**\n * See `ScrollView` for flow type and further documentation.\n */\n fadingEdgeLength?: ?number,\n /**\n * Enable an optimization to memoize the item renderer to prevent unnecessary rerenders.\n */\n strictMode?: boolean,\n};\n\n/**\n * Default Props Helper Functions\n * Use the following helper functions for default values\n */\n\n// removeClippedSubviewsOrDefault(this.props.removeClippedSubviews)\nfunction removeClippedSubviewsOrDefault(removeClippedSubviews: ?boolean) {\n if (ReactNativeFeatureFlags.shouldUseRemoveClippedSubviewsAsDefaultOnIOS()) {\n return removeClippedSubviews ?? true;\n } else {\n return removeClippedSubviews ?? Platform.OS === 'android';\n }\n}\n\n// numColumnsOrDefault(this.props.numColumns)\nfunction numColumnsOrDefault(numColumns: ?number) {\n return numColumns ?? 1;\n}\n\nfunction isArrayLike(data: mixed): boolean {\n // $FlowExpectedError[incompatible-use]\n return typeof Object(data).length === 'number';\n}\n\ntype FlatListBaseProps = {\n ...RequiredProps,\n ...OptionalProps,\n};\n\ntype VirtualizedListProps = React.ElementConfig;\n\nexport type FlatListProps = {\n ...$Diff<\n VirtualizedListProps,\n {\n data: $PropertyType,\n getItem: $PropertyType,\n getItemCount: $PropertyType,\n getItemLayout: $PropertyType,\n renderItem: $PropertyType,\n keyExtractor: $PropertyType,\n ...\n },\n >,\n ...FlatListBaseProps,\n ...\n};\n\n/**\n * A performant interface for rendering simple, flat lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Optional horizontal mode.\n * - Configurable viewability callbacks.\n * - Header support.\n * - Footer support.\n * - Separator support.\n * - Pull to Refresh.\n * - Scroll loading.\n * - ScrollToIndex support.\n *\n * If you need section support, use [``](docs/sectionlist.html).\n *\n * Minimal Example:\n *\n * {item.key}}\n * />\n *\n * More complex, multi-select example demonstrating `PureComponent` usage for perf optimization and avoiding bugs.\n *\n * - By binding the `onPressItem` handler, the props will remain `===` and `PureComponent` will\n * prevent wasteful re-renders unless the actual `id`, `selected`, or `title` props change, even\n * if the components rendered in `MyListItem` did not have such optimizations.\n * - By passing `extraData={this.state}` to `FlatList` we make sure `FlatList` itself will re-render\n * when the `state.selected` changes. Without setting this prop, `FlatList` would not know it\n * needs to re-render any items because it is also a `PureComponent` and the prop comparison will\n * not show any changes.\n * - `keyExtractor` tells the list to use the `id`s for the react keys instead of the default `key` property.\n *\n *\n * class MyListItem extends React.PureComponent {\n * _onPress = () => {\n * this.props.onPressItem(this.props.id);\n * };\n *\n * render() {\n * const textColor = this.props.selected ? \"red\" : \"black\";\n * return (\n * \n * \n * \n * {this.props.title}\n * \n * \n * \n * );\n * }\n * }\n *\n * class MultiSelectList extends React.PureComponent {\n * state = {selected: (new Map(): Map)};\n *\n * _keyExtractor = (item, index) => item.id;\n *\n * _onPressItem = (id: string) => {\n * // updater functions are preferred for transactional updates\n * this.setState((state) => {\n * // copy the map rather than modifying state.\n * const selected = new Map(state.selected);\n * selected.set(id, !selected.get(id)); // toggle\n * return {selected};\n * });\n * };\n *\n * _renderItem = ({item}) => (\n * \n * );\n *\n * render() {\n * return (\n * \n * );\n * }\n * }\n *\n * This is a convenience wrapper around [``](docs/virtualizedlist.html),\n * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed\n * here, along with the following caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n *\n * Also inherits [ScrollView Props](docs/scrollview.html#props), unless it is nested in another FlatList of same orientation.\n */\nclass FlatList extends React.PureComponent> {\n /**\n * Scrolls to the end of the content. May be janky without `getItemLayout` prop.\n */\n scrollToEnd(params?: ?{animated?: ?boolean, ...}) {\n if (this._listRef) {\n this._listRef.scrollToEnd(params);\n }\n }\n\n /**\n * Scrolls to the item at the specified index such that it is positioned in the viewable area\n * such that `viewPosition` 0 places it at the top, 1 at the bottom, and 0.5 centered in the\n * middle. `viewOffset` is a fixed number of pixels to offset the final target position.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n scrollToIndex(params: {\n animated?: ?boolean,\n index: number,\n viewOffset?: number,\n viewPosition?: number,\n ...\n }) {\n if (this._listRef) {\n this._listRef.scrollToIndex(params);\n }\n }\n\n /**\n * Requires linear scan through data - use `scrollToIndex` instead if possible.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n scrollToItem(params: {\n animated?: ?boolean,\n item: ItemT,\n viewOffset?: number,\n viewPosition?: number,\n ...\n }) {\n if (this._listRef) {\n this._listRef.scrollToItem(params);\n }\n }\n\n /**\n * Scroll to a specific content pixel offset in the list.\n *\n * Check out [scrollToOffset](docs/virtualizedlist.html#scrolltooffset) of VirtualizedList\n */\n scrollToOffset(params: {animated?: ?boolean, offset: number, ...}) {\n if (this._listRef) {\n this._listRef.scrollToOffset(params);\n }\n }\n\n /**\n * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g.\n * if `waitForInteractions` is true and the user has not scrolled. This is typically called by\n * taps on items or by navigation actions.\n */\n recordInteraction() {\n if (this._listRef) {\n this._listRef.recordInteraction();\n }\n }\n\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n flashScrollIndicators() {\n if (this._listRef) {\n this._listRef.flashScrollIndicators();\n }\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n */\n getScrollResponder(): ?ScrollResponderType {\n if (this._listRef) {\n return this._listRef.getScrollResponder();\n }\n }\n\n /**\n * Provides a reference to the underlying host component\n */\n getNativeScrollRef():\n | ?React.ElementRef\n | ?React.ElementRef {\n if (this._listRef) {\n /* $FlowFixMe[incompatible-return] Suppresses errors found when fixing\n * TextInput typing */\n return this._listRef.getScrollRef();\n }\n }\n\n getScrollableNode(): any {\n if (this._listRef) {\n return this._listRef.getScrollableNode();\n }\n }\n\n setNativeProps(props: {[string]: mixed, ...}) {\n if (this._listRef) {\n this._listRef.setNativeProps(props);\n }\n }\n\n constructor(props: FlatListProps) {\n super(props);\n this._checkProps(this.props);\n if (this.props.viewabilityConfigCallbackPairs) {\n this._virtualizedListPairs =\n this.props.viewabilityConfigCallbackPairs.map(pair => ({\n viewabilityConfig: pair.viewabilityConfig,\n onViewableItemsChanged: this._createOnViewableItemsChanged(\n pair.onViewableItemsChanged,\n ),\n }));\n } else if (this.props.onViewableItemsChanged) {\n this._virtualizedListPairs.push({\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To\n * see the error delete this comment and run Flow. */\n viewabilityConfig: this.props.viewabilityConfig,\n onViewableItemsChanged: this._createOnViewableItemsChanged(\n // NOTE: we use a wrapper function to allow the actual callback to change\n // while still keeping the function provided to native to be stable\n (...args) => {\n invariant(\n this.props.onViewableItemsChanged,\n 'Changing the nullability of onViewableItemsChanged is not supported. ' +\n 'Once a function or null is supplied that cannot be changed.',\n );\n return this.props.onViewableItemsChanged(...args);\n },\n ),\n });\n }\n }\n\n // $FlowFixMe[missing-local-annot]\n componentDidUpdate(prevProps: FlatListProps) {\n invariant(\n prevProps.numColumns === this.props.numColumns,\n 'Changing numColumns on the fly is not supported. Change the key prop on FlatList when ' +\n 'changing the number of columns to force a fresh render of the component.',\n );\n invariant(\n (prevProps.onViewableItemsChanged == null) ===\n (this.props.onViewableItemsChanged == null),\n 'Changing onViewableItemsChanged nullability on the fly is not supported',\n );\n invariant(\n !deepDiffer(prevProps.viewabilityConfig, this.props.viewabilityConfig),\n 'Changing viewabilityConfig on the fly is not supported',\n );\n invariant(\n prevProps.viewabilityConfigCallbackPairs ===\n this.props.viewabilityConfigCallbackPairs,\n 'Changing viewabilityConfigCallbackPairs on the fly is not supported',\n );\n\n this._checkProps(this.props);\n }\n\n _listRef: ?VirtualizedList;\n _virtualizedListPairs: Array = [];\n\n _captureRef = (ref: ?VirtualizedList) => {\n this._listRef = ref;\n };\n\n // $FlowFixMe[missing-local-annot]\n _checkProps(props: FlatListProps) {\n const {\n // $FlowFixMe[prop-missing] this prop doesn't exist, is only used for an invariant\n getItem,\n // $FlowFixMe[prop-missing] this prop doesn't exist, is only used for an invariant\n getItemCount,\n horizontal,\n columnWrapperStyle,\n onViewableItemsChanged,\n viewabilityConfigCallbackPairs,\n } = props;\n const numColumns = numColumnsOrDefault(this.props.numColumns);\n invariant(\n !getItem && !getItemCount,\n 'FlatList does not support custom data formats.',\n );\n if (numColumns > 1) {\n invariant(!horizontal, 'numColumns does not support horizontal.');\n } else {\n invariant(\n !columnWrapperStyle,\n 'columnWrapperStyle not supported for single column lists',\n );\n }\n invariant(\n !(onViewableItemsChanged && viewabilityConfigCallbackPairs),\n 'FlatList does not support setting both onViewableItemsChanged and ' +\n 'viewabilityConfigCallbackPairs.',\n );\n }\n\n _getItem = (\n data: $ArrayLike,\n index: number,\n ): ?(ItemT | $ReadOnlyArray) => {\n const numColumns = numColumnsOrDefault(this.props.numColumns);\n if (numColumns > 1) {\n const ret = [];\n for (let kk = 0; kk < numColumns; kk++) {\n const itemIndex = index * numColumns + kk;\n if (itemIndex < data.length) {\n const item = data[itemIndex];\n ret.push(item);\n }\n }\n return ret;\n } else {\n return data[index];\n }\n };\n\n _getItemCount = (data: ?$ArrayLike): number => {\n // Legacy behavior of FlatList was to forward \"undefined\" length if invalid\n // data like a non-arraylike object is passed. VirtualizedList would then\n // coerce this, and the math would work out to no-op. For compatibility, if\n // invalid data is passed, we tell VirtualizedList there are zero items\n // available to prevent it from trying to read from the invalid data\n // (without propagating invalidly typed data).\n if (data != null && isArrayLike(data)) {\n const numColumns = numColumnsOrDefault(this.props.numColumns);\n return numColumns > 1 ? Math.ceil(data.length / numColumns) : data.length;\n } else {\n return 0;\n }\n };\n\n _keyExtractor = (items: ItemT | Array, index: number): string => {\n const numColumns = numColumnsOrDefault(this.props.numColumns);\n const keyExtractor = this.props.keyExtractor ?? defaultKeyExtractor;\n\n if (numColumns > 1) {\n invariant(\n Array.isArray(items),\n 'FlatList: Encountered internal consistency error, expected each item to consist of an ' +\n 'array with 1-%s columns; instead, received a single item.',\n numColumns,\n );\n return items\n .map((item, kk) =>\n keyExtractor(((item: $FlowFixMe): ItemT), index * numColumns + kk),\n )\n .join(':');\n }\n\n // $FlowFixMe[incompatible-call] Can't call keyExtractor with an array\n return keyExtractor(items, index);\n };\n\n _pushMultiColumnViewable(arr: Array, v: ViewToken): void {\n const numColumns = numColumnsOrDefault(this.props.numColumns);\n const keyExtractor = this.props.keyExtractor ?? defaultKeyExtractor;\n v.item.forEach((item, ii) => {\n invariant(v.index != null, 'Missing index!');\n const index = v.index * numColumns + ii;\n arr.push({...v, item, key: keyExtractor(item, index), index});\n });\n }\n\n _createOnViewableItemsChanged(\n onViewableItemsChanged: ?(info: {\n viewableItems: Array,\n changed: Array,\n ...\n }) => void,\n // $FlowFixMe[missing-local-annot]\n ) {\n return (info: {\n viewableItems: Array,\n changed: Array,\n ...\n }) => {\n const numColumns = numColumnsOrDefault(this.props.numColumns);\n if (onViewableItemsChanged) {\n if (numColumns > 1) {\n const changed: Array = [];\n const viewableItems: Array = [];\n info.viewableItems.forEach(v =>\n this._pushMultiColumnViewable(viewableItems, v),\n );\n info.changed.forEach(v => this._pushMultiColumnViewable(changed, v));\n onViewableItemsChanged({viewableItems, changed});\n } else {\n onViewableItemsChanged(info);\n }\n }\n };\n }\n\n _renderer = (\n ListItemComponent: ?(React.ComponentType | React.MixedElement),\n renderItem: ?ListRenderItem,\n columnWrapperStyle: ?ViewStyleProp,\n numColumns: ?number,\n extraData: ?any,\n // $FlowFixMe[missing-local-annot]\n ) => {\n const cols = numColumnsOrDefault(numColumns);\n\n const render = (props: ListRenderItemInfo): React.Node => {\n if (ListItemComponent) {\n // $FlowFixMe[not-a-component] Component isn't valid\n // $FlowFixMe[incompatible-type-arg] Component isn't valid\n // $FlowFixMe[incompatible-return] Component isn't valid\n return ;\n } else if (renderItem) {\n // $FlowFixMe[incompatible-call]\n return renderItem(props);\n } else {\n return null;\n }\n };\n\n const renderProp = (info: ListRenderItemInfo) => {\n if (cols > 1) {\n const {item, index} = info;\n invariant(\n Array.isArray(item),\n 'Expected array of items with numColumns > 1',\n );\n return (\n \n {item.map((it, kk) => {\n const element = render({\n // $FlowFixMe[incompatible-call]\n item: it,\n index: index * cols + kk,\n separators: info.separators,\n });\n return element != null ? (\n {element}\n ) : null;\n })}\n \n );\n } else {\n return render(info);\n }\n };\n\n return ListItemComponent\n ? {ListItemComponent: renderProp}\n : {renderItem: renderProp};\n };\n\n _memoizedRenderer: ReturnType = memoizeOne(this._renderer);\n\n render(): React.Node {\n const {\n numColumns,\n columnWrapperStyle,\n removeClippedSubviews: _removeClippedSubviews,\n strictMode = false,\n ...restProps\n } = this.props;\n\n const renderer = strictMode ? this._memoizedRenderer : this._renderer;\n\n return (\n // $FlowFixMe[incompatible-exact] - `restProps` (`Props`) is inexact.\n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n row: {flexDirection: 'row'},\n});\n\nexport default FlatList;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\n\nimport typeof FillRateHelper from './Lists/FillRateHelper';\nimport typeof ViewabilityHelper from './Lists/ViewabilityHelper';\nimport typeof VirtualizedList from './Lists/VirtualizedList';\nimport typeof VirtualizedSectionList from './Lists/VirtualizedSectionList';\n\nimport {typeof VirtualizedListContextResetter} from './Lists/VirtualizedListContext';\nimport {keyExtractor} from './Lists/VirtualizeUtils';\n\nexport type {\n ViewToken,\n ViewabilityConfig,\n ViewabilityConfigCallbackPair,\n ViewabilityConfigCallbackPairs,\n} from './Lists/ViewabilityHelper';\nexport type {\n CellRendererProps,\n ListRenderItemInfo,\n ListRenderItem,\n Separators,\n} from './Lists/VirtualizedListProps';\nexport type {\n VirtualizedSectionListProps,\n ScrollToLocationParamsType,\n SectionBase,\n} from './Lists/VirtualizedSectionList';\nexport type {FillRateInfo} from './Lists/FillRateHelper';\n\nexport default {\n keyExtractor,\n\n get VirtualizedList(): VirtualizedList {\n return require('./Lists/VirtualizedList').default;\n },\n get VirtualizedSectionList(): VirtualizedSectionList {\n return require('./Lists/VirtualizedSectionList').default;\n },\n get VirtualizedListContextResetter(): VirtualizedListContextResetter {\n const VirtualizedListContext = require('./Lists/VirtualizedListContext');\n return VirtualizedListContext.VirtualizedListContextResetter;\n },\n get ViewabilityHelper(): ViewabilityHelper {\n return require('./Lists/ViewabilityHelper').default;\n },\n get FillRateHelper(): FillRateHelper {\n return require('./Lists/FillRateHelper').default;\n },\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type ListMetricsAggregator, {\n CellMetricProps,\n} from './ListMetricsAggregator';\n\nimport * as ReactNativeFeatureFlags from 'react-native/src/private/featureflags/ReactNativeFeatureFlags';\n\n/**\n * Used to find the indices of the frames that overlap the given offsets. Useful for finding the\n * items that bound different windows of content, such as the visible area or the buffered overscan\n * area.\n */\nexport function elementsThatOverlapOffsets(\n offsets: Array,\n props: CellMetricProps,\n listMetrics: ListMetricsAggregator,\n zoomScale: number = 1,\n): Array {\n const itemCount = props.getItemCount(props.data);\n const result = [];\n for (let offsetIndex = 0; offsetIndex < offsets.length; offsetIndex++) {\n const currentOffset = offsets[offsetIndex];\n let left = 0;\n let right = itemCount - 1;\n\n while (left <= right) {\n const mid = left + Math.floor((right - left) / 2);\n const frame = listMetrics.getCellMetricsApprox(mid, props);\n const scaledOffsetStart = frame.offset * zoomScale;\n const scaledOffsetEnd = (frame.offset + frame.length) * zoomScale;\n\n // We want the first frame that contains the offset, with inclusive bounds. Thus, for the\n // first frame the scaledOffsetStart is inclusive, while for other frames it is exclusive.\n if (\n (mid === 0 && currentOffset < scaledOffsetStart) ||\n (mid !== 0 && currentOffset <= scaledOffsetStart)\n ) {\n right = mid - 1;\n } else if (currentOffset > scaledOffsetEnd) {\n left = mid + 1;\n } else {\n result[offsetIndex] = mid;\n break;\n }\n }\n }\n\n return result;\n}\n\n/**\n * Computes the number of elements in the `next` range that are new compared to the `prev` range.\n * Handy for calculating how many new items will be rendered when the render window changes so we\n * can restrict the number of new items render at once so that content can appear on the screen\n * faster.\n */\nexport function newRangeCount(\n prev: {\n first: number,\n last: number,\n ...\n },\n next: {\n first: number,\n last: number,\n ...\n },\n): number {\n return (\n next.last -\n next.first +\n 1 -\n Math.max(\n 0,\n 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first),\n )\n );\n}\n\n/**\n * Custom logic for determining which items should be rendered given the current frame and scroll\n * metrics, as well as the previous render state. The algorithm may evolve over time, but generally\n * prioritizes the visible area first, then expands that with overscan regions ahead and behind,\n * biased in the direction of scroll.\n */\nexport function computeWindowedRenderLimits(\n props: CellMetricProps,\n maxToRenderPerBatch: number,\n windowSize: number,\n prev: {\n first: number,\n last: number,\n },\n listMetrics: ListMetricsAggregator,\n scrollMetrics: {\n dt: number,\n offset: number,\n velocity: number,\n visibleLength: number,\n zoomScale: number,\n ...\n },\n): {\n first: number,\n last: number,\n} {\n const itemCount = props.getItemCount(props.data);\n if (itemCount === 0) {\n return {first: 0, last: -1};\n }\n const {offset, velocity, visibleLength, zoomScale = 1} = scrollMetrics;\n\n // Start with visible area, then compute maximum overscan region by expanding from there, biased\n // in the direction of scroll. Total overscan area is capped, which should cap memory consumption\n // too.\n const visibleBegin = Math.max(0, offset);\n const visibleEnd = visibleBegin + visibleLength;\n const overscanLength = (windowSize - 1) * visibleLength;\n\n // Considering velocity seems to introduce more churn than it's worth.\n const leadFactor = 0.5; // Math.max(0, Math.min(1, velocity / 25 + 0.5));\n\n const fillPreference =\n velocity > 1 ? 'after' : velocity < -1 ? 'before' : 'none';\n\n const overscanBegin = Math.max(\n 0,\n visibleBegin - (1 - leadFactor) * overscanLength,\n );\n const overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength);\n\n const lastItemOffset =\n listMetrics.getCellMetricsApprox(itemCount - 1, props).offset * zoomScale;\n if (lastItemOffset < overscanBegin) {\n // Entire list is before our overscan window\n return {\n first: Math.max(0, itemCount - 1 - maxToRenderPerBatch),\n last: itemCount - 1,\n };\n }\n\n // Find the indices that correspond to the items at the render boundaries we're targeting.\n let [overscanFirst, first, last, overscanLast] = elementsThatOverlapOffsets(\n [overscanBegin, visibleBegin, visibleEnd, overscanEnd],\n props,\n listMetrics,\n zoomScale,\n );\n overscanFirst = overscanFirst == null ? 0 : overscanFirst;\n first = first == null ? Math.max(0, overscanFirst) : first;\n overscanLast = overscanLast == null ? itemCount - 1 : overscanLast;\n last =\n last == null\n ? Math.min(overscanLast, first + maxToRenderPerBatch - 1)\n : last;\n const visible = {first, last};\n\n // We want to limit the number of new cells we're rendering per batch so that we can fill the\n // content on the screen quickly. If we rendered the entire overscan window at once, the user\n // could be staring at white space for a long time waiting for a bunch of offscreen content to\n // render.\n let newCellCount = newRangeCount(prev, visible);\n\n while (true) {\n if (first <= overscanFirst && last >= overscanLast) {\n // If we fill the entire overscan range, we're done.\n break;\n }\n const maxNewCells = newCellCount >= maxToRenderPerBatch;\n\n let firstWillAddMore;\n let lastWillAddMore;\n\n if (ReactNativeFeatureFlags.fixVirtualizeListCollapseWindowSize()) {\n firstWillAddMore = first <= prev.first;\n lastWillAddMore = last >= prev.last;\n } else {\n firstWillAddMore = first <= prev.first || first > prev.last;\n lastWillAddMore = last >= prev.last || last < prev.first;\n }\n\n const firstShouldIncrement =\n first > overscanFirst && (!maxNewCells || !firstWillAddMore);\n const lastShouldIncrement =\n last < overscanLast && (!maxNewCells || !lastWillAddMore);\n if (maxNewCells && !firstShouldIncrement && !lastShouldIncrement) {\n // We only want to stop if we've hit maxNewCells AND we cannot increment first or last\n // without rendering new items. This let's us preserve as many already rendered items as\n // possible, reducing render churn and keeping the rendered overscan range as large as\n // possible.\n break;\n }\n if (\n firstShouldIncrement &&\n !(fillPreference === 'after' && lastShouldIncrement && lastWillAddMore)\n ) {\n if (firstWillAddMore) {\n newCellCount++;\n }\n first--;\n }\n if (\n lastShouldIncrement &&\n !(fillPreference === 'before' && firstShouldIncrement && firstWillAddMore)\n ) {\n if (lastWillAddMore) {\n newCellCount++;\n }\n last++;\n }\n }\n if (\n !(\n last >= first &&\n first >= 0 &&\n last < itemCount &&\n first >= overscanFirst &&\n last <= overscanLast &&\n first <= visible.first &&\n last >= visible.last\n )\n ) {\n throw new Error(\n 'Bad window calculation ' +\n JSON.stringify({\n first,\n last,\n itemCount,\n overscanFirst,\n overscanLast,\n visible,\n }),\n );\n }\n return {first, last};\n}\n\nexport function keyExtractor(item: any, index: number): string {\n if (typeof item === 'object' && item?.key != null) {\n return item.key;\n }\n if (typeof item === 'object' && item?.id != null) {\n return item.id;\n }\n return String(index);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {CellMetricProps, ListOrientation} from './ListMetricsAggregator';\nimport type {ViewToken} from './ViewabilityHelper';\nimport type {\n Item,\n ListRenderItem,\n ListRenderItemInfo,\n Separators,\n VirtualizedListProps,\n} from './VirtualizedListProps';\nimport type {ScrollResponderType} from 'react-native/Libraries/Components/ScrollView/ScrollView';\nimport type {ViewStyleProp} from 'react-native/Libraries/StyleSheet/StyleSheet';\nimport type {\n LayoutChangeEvent,\n ScrollEvent,\n} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport clamp from '../Utilities/clamp';\nimport infoLog from '../Utilities/infoLog';\nimport {CellRenderMask} from './CellRenderMask';\nimport ChildListCollection from './ChildListCollection';\nimport FillRateHelper from './FillRateHelper';\nimport ListMetricsAggregator from './ListMetricsAggregator';\nimport StateSafePureComponent from './StateSafePureComponent';\nimport ViewabilityHelper from './ViewabilityHelper';\nimport CellRenderer from './VirtualizedListCellRenderer';\nimport {\n VirtualizedListCellContextProvider,\n VirtualizedListContext,\n VirtualizedListContextProvider,\n} from './VirtualizedListContext.js';\nimport {\n horizontalOrDefault,\n initialNumToRenderOrDefault,\n maxToRenderPerBatchOrDefault,\n onEndReachedThresholdOrDefault,\n onStartReachedThresholdOrDefault,\n windowSizeOrDefault,\n} from './VirtualizedListProps';\nimport {\n computeWindowedRenderLimits,\n keyExtractor as defaultKeyExtractor,\n} from './VirtualizeUtils';\nimport invariant from 'invariant';\nimport nullthrows from 'nullthrows';\nimport * as React from 'react';\nimport {\n I18nManager,\n Platform,\n RefreshControl,\n ScrollView,\n StyleSheet,\n View,\n findNodeHandle,\n} from 'react-native';\n\nexport type {ListRenderItemInfo, ListRenderItem, Separators};\n\nconst ON_EDGE_REACHED_EPSILON = 0.001;\n\nlet _usedIndexForKey = false;\nlet _keylessItemComponentName: string = '';\n\ntype ViewabilityHelperCallbackTuple = {\n viewabilityHelper: ViewabilityHelper,\n onViewableItemsChanged: (info: {\n viewableItems: Array,\n changed: Array,\n ...\n }) => void,\n ...\n};\n\ntype State = {\n renderMask: CellRenderMask,\n cellsAroundViewport: {first: number, last: number},\n // Used to track items added at the start of the list for maintainVisibleContentPosition.\n firstVisibleItemKey: ?string,\n // When > 0 the scroll position available in JS is considered stale and should not be used.\n pendingScrollUpdateCount: number,\n};\n\nfunction getScrollingThreshold(threshold: number, visibleLength: number) {\n return (threshold * visibleLength) / 2;\n}\n\n/**\n * Base implementation for the more convenient [``](https://reactnative.dev/docs/flatlist)\n * and [``](https://reactnative.dev/docs/sectionlist) components, which are also better\n * documented. In general, this should only really be used if you need more flexibility than\n * `FlatList` provides, e.g. for use with immutable data instead of plain arrays.\n *\n * Virtualization massively improves memory consumption and performance of large lists by\n * maintaining a finite render window of active items and replacing all items outside of the render\n * window with appropriately sized blank space. The window adapts to scrolling behavior, and items\n * are rendered incrementally with low-pri (after any running interactions) if they are far from the\n * visible area, or with hi-pri otherwise to minimize the potential of seeing blank space.\n *\n * Some caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate ands momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` or `id` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n * - As an effort to remove defaultProps, use helper functions when referencing certain props\n *\n */\nclass VirtualizedList extends StateSafePureComponent<\n VirtualizedListProps,\n State,\n> {\n static contextType: typeof VirtualizedListContext = VirtualizedListContext;\n\n // scrollToEnd may be janky without getItemLayout prop\n scrollToEnd(params?: ?{animated?: ?boolean, ...}) {\n const animated = params ? params.animated : true;\n const veryLast = this.props.getItemCount(this.props.data) - 1;\n if (veryLast < 0) {\n return;\n }\n const frame = this._listMetrics.getCellMetricsApprox(veryLast, this.props);\n const offset = Math.max(\n 0,\n frame.offset +\n frame.length +\n this._footerLength -\n this._scrollMetrics.visibleLength,\n );\n\n // TODO: consider using `ref.scrollToEnd` directly\n this.scrollToOffset({animated, offset});\n }\n\n // scrollToIndex may be janky without getItemLayout prop\n scrollToIndex(params: {\n animated?: ?boolean,\n index: number,\n viewOffset?: number,\n viewPosition?: number,\n ...\n }): $FlowFixMe {\n const {data, getItemCount, getItemLayout, onScrollToIndexFailed} =\n this.props;\n const {animated, index, viewOffset, viewPosition} = params;\n invariant(\n index >= 0,\n `scrollToIndex out of range: requested index ${index} but minimum is 0`,\n );\n invariant(\n getItemCount(data) >= 1,\n `scrollToIndex out of range: item length ${getItemCount(\n data,\n )} but minimum is 1`,\n );\n invariant(\n index < getItemCount(data),\n `scrollToIndex out of range: requested index ${index} is out of 0 to ${\n getItemCount(data) - 1\n }`,\n );\n if (\n !getItemLayout &&\n index > this._listMetrics.getHighestMeasuredCellIndex()\n ) {\n invariant(\n !!onScrollToIndexFailed,\n 'scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, ' +\n 'otherwise there is no way to know the location of offscreen indices or handle failures.',\n );\n onScrollToIndexFailed({\n averageItemLength: this._listMetrics.getAverageCellLength(),\n highestMeasuredFrameIndex:\n this._listMetrics.getHighestMeasuredCellIndex(),\n index,\n });\n return;\n }\n const frame = this._listMetrics.getCellMetricsApprox(\n Math.floor(index),\n this.props,\n );\n const offset =\n Math.max(\n 0,\n this._listMetrics.getCellOffsetApprox(index, this.props) -\n (viewPosition || 0) *\n (this._scrollMetrics.visibleLength - frame.length),\n ) - (viewOffset || 0);\n\n this.scrollToOffset({offset, animated});\n }\n\n // scrollToItem may be janky without getItemLayout prop. Required linear scan through items -\n // use scrollToIndex instead if possible.\n scrollToItem(params: {\n animated?: ?boolean,\n item: Item,\n viewOffset?: number,\n viewPosition?: number,\n ...\n }) {\n const {item} = params;\n const {data, getItem, getItemCount} = this.props;\n const itemCount = getItemCount(data);\n for (let index = 0; index < itemCount; index++) {\n if (getItem(data, index) === item) {\n this.scrollToIndex({...params, index});\n break;\n }\n }\n }\n\n /**\n * Scroll to a specific content pixel offset in the list.\n *\n * Param `offset` expects the offset to scroll to.\n * In case of `horizontal` is true, the offset is the x-value,\n * in any other case the offset is the y-value.\n *\n * Param `animated` (`true` by default) defines whether the list\n * should do an animation while scrolling.\n */\n scrollToOffset(params: {animated?: ?boolean, offset: number, ...}) {\n const {animated, offset} = params;\n const scrollRef = this._scrollRef;\n\n if (scrollRef == null) {\n return;\n }\n\n if (scrollRef.scrollTo == null) {\n console.warn(\n 'No scrollTo method provided. This may be because you have two nested ' +\n 'VirtualizedLists with the same orientation, or because you are ' +\n 'using a custom component that does not implement scrollTo.',\n );\n return;\n }\n\n const {horizontal, rtl} = this._orientation();\n if (horizontal && rtl && !this._listMetrics.hasContentLength()) {\n console.warn(\n 'scrollToOffset may not be called in RTL before content is laid out',\n );\n return;\n }\n\n // $FlowFixMe[incompatible-call]\n scrollRef.scrollTo({\n animated,\n ...this._scrollToParamsFromOffset(offset),\n });\n }\n\n _scrollToParamsFromOffset(offset: number): {x?: number, y?: number} {\n const {horizontal, rtl} = this._orientation();\n if (horizontal && rtl) {\n // Add the visible length of the scrollview so that the offset is right-aligned\n const cartOffset = this._listMetrics.cartesianOffset(\n offset + this._scrollMetrics.visibleLength,\n );\n return horizontal ? {x: cartOffset} : {y: cartOffset};\n } else {\n return horizontal ? {x: offset} : {y: offset};\n }\n }\n\n recordInteraction() {\n this._nestedChildLists.forEach(childList => {\n childList.recordInteraction();\n });\n this._viewabilityTuples.forEach(t => {\n t.viewabilityHelper.recordInteraction();\n });\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n }\n\n flashScrollIndicators() {\n if (this._scrollRef == null) {\n return;\n }\n\n this._scrollRef.flashScrollIndicators();\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n * Note that `this._scrollRef` might not be a `ScrollView`, so we\n * need to check that it responds to `getScrollResponder` before calling it.\n */\n getScrollResponder(): ?ScrollResponderType {\n if (this._scrollRef && this._scrollRef.getScrollResponder) {\n return this._scrollRef.getScrollResponder();\n }\n }\n\n getScrollableNode(): ?number {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n return this._scrollRef.getScrollableNode();\n } else {\n return findNodeHandle(this._scrollRef);\n }\n }\n\n getScrollRef(): ?React.ElementRef {\n // $FlowFixMe[prop-missing]\n if (this._scrollRef && this._scrollRef.getScrollRef) {\n // $FlowFixMe[not-a-function]\n return this._scrollRef.getScrollRef();\n } else {\n return this._scrollRef;\n }\n }\n\n setNativeProps(props: Object) {\n if (this._scrollRef) {\n this._scrollRef.setNativeProps(props);\n }\n }\n\n _getCellKey(): string {\n return this.context?.cellKey || 'rootList';\n }\n\n // $FlowFixMe[missing-local-annot]\n _getScrollMetrics = () => {\n return this._scrollMetrics;\n };\n\n hasMore(): boolean {\n return this._hasMore;\n }\n\n // $FlowFixMe[missing-local-annot]\n _getOutermostParentListRef = () => {\n if (this._isNestedWithSameOrientation()) {\n return this.context.getOutermostParentListRef();\n } else {\n return this;\n }\n };\n\n _registerAsNestedChild = (childList: {\n cellKey: string,\n ref: VirtualizedList,\n }): void => {\n this._nestedChildLists.add(childList.ref, childList.cellKey);\n if (this._hasInteracted) {\n childList.ref.recordInteraction();\n }\n };\n\n _unregisterAsNestedChild = (childList: {ref: VirtualizedList}): void => {\n this._nestedChildLists.remove(childList.ref);\n };\n\n state: State;\n\n constructor(props: VirtualizedListProps) {\n super(props);\n this._checkProps(props);\n\n this._fillRateHelper = new FillRateHelper(this._listMetrics);\n\n if (this.props.viewabilityConfigCallbackPairs) {\n this._viewabilityTuples = this.props.viewabilityConfigCallbackPairs.map(\n pair => ({\n viewabilityHelper: new ViewabilityHelper(pair.viewabilityConfig),\n onViewableItemsChanged: pair.onViewableItemsChanged,\n }),\n );\n } else {\n const {onViewableItemsChanged, viewabilityConfig} = this.props;\n if (onViewableItemsChanged) {\n this._viewabilityTuples.push({\n viewabilityHelper: new ViewabilityHelper(viewabilityConfig),\n onViewableItemsChanged: onViewableItemsChanged,\n });\n }\n }\n\n const initialRenderRegion = VirtualizedList._initialRenderRegion(props);\n\n const minIndexForVisible =\n this.props.maintainVisibleContentPosition?.minIndexForVisible ?? 0;\n\n this.state = {\n cellsAroundViewport: initialRenderRegion,\n renderMask: VirtualizedList._createRenderMask(props, initialRenderRegion),\n firstVisibleItemKey:\n this.props.getItemCount(this.props.data) > minIndexForVisible\n ? VirtualizedList._getItemKey(this.props, minIndexForVisible)\n : null,\n // When we have a non-zero initialScrollIndex, we will receive a\n // scroll event later so this will prevent the window from updating\n // until we get a valid offset.\n pendingScrollUpdateCount:\n this.props.initialScrollIndex != null &&\n this.props.initialScrollIndex > 0\n ? 1\n : 0,\n };\n }\n\n _checkProps(props: VirtualizedListProps) {\n const {onScroll, windowSize, getItemCount, data, initialScrollIndex} =\n props;\n\n invariant(\n // $FlowFixMe[prop-missing]\n !onScroll || !onScroll.__isNative,\n 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' +\n 'to support native onScroll events with useNativeDriver',\n );\n invariant(\n windowSizeOrDefault(windowSize) > 0,\n 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.',\n );\n\n invariant(\n getItemCount,\n 'VirtualizedList: The \"getItemCount\" prop must be provided',\n );\n\n const itemCount = getItemCount(data);\n\n if (\n initialScrollIndex != null &&\n !this._hasTriggeredInitialScrollToIndex &&\n (initialScrollIndex < 0 ||\n (itemCount > 0 && initialScrollIndex >= itemCount)) &&\n !this._hasWarned.initialScrollIndex\n ) {\n console.warn(\n `initialScrollIndex \"${initialScrollIndex}\" is not valid (list has ${itemCount} items)`,\n );\n this._hasWarned.initialScrollIndex = true;\n }\n\n if (__DEV__ && !this._hasWarned.flexWrap) {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n const flatStyles = StyleSheet.flatten(this.props.contentContainerStyle);\n if (flatStyles != null && flatStyles.flexWrap === 'wrap') {\n console.warn(\n '`flexWrap: `wrap`` is not supported with the `VirtualizedList` components.' +\n 'Consider using `numColumns` with `FlatList` instead.',\n );\n this._hasWarned.flexWrap = true;\n }\n }\n }\n\n static _findItemIndexWithKey(\n props: VirtualizedListProps,\n key: string,\n hint: ?number,\n ): ?number {\n const itemCount = props.getItemCount(props.data);\n if (hint != null && hint >= 0 && hint < itemCount) {\n const curKey = VirtualizedList._getItemKey(props, hint);\n if (curKey === key) {\n return hint;\n }\n }\n for (let ii = 0; ii < itemCount; ii++) {\n const curKey = VirtualizedList._getItemKey(props, ii);\n if (curKey === key) {\n return ii;\n }\n }\n return null;\n }\n\n static _getItemKey(\n props: {\n data: VirtualizedListProps['data'],\n getItem: VirtualizedListProps['getItem'],\n keyExtractor: VirtualizedListProps['keyExtractor'],\n ...\n },\n index: number,\n ): string {\n const item = props.getItem(props.data, index);\n return VirtualizedList._keyExtractor(item, index, props);\n }\n\n static _createRenderMask(\n props: VirtualizedListProps,\n cellsAroundViewport: {first: number, last: number},\n additionalRegions?: ?$ReadOnlyArray<{first: number, last: number}>,\n ): CellRenderMask {\n const itemCount = props.getItemCount(props.data);\n\n invariant(\n cellsAroundViewport.first >= 0 &&\n cellsAroundViewport.last >= cellsAroundViewport.first - 1 &&\n cellsAroundViewport.last < itemCount,\n `Invalid cells around viewport \"[${cellsAroundViewport.first}, ${cellsAroundViewport.last}]\" was passed to VirtualizedList._createRenderMask`,\n );\n\n const renderMask = new CellRenderMask(itemCount);\n\n if (itemCount > 0) {\n const allRegions = [cellsAroundViewport, ...(additionalRegions ?? [])];\n for (const region of allRegions) {\n renderMask.addCells(region);\n }\n\n // The initially rendered cells are retained as part of the\n // \"scroll-to-top\" optimization\n if (props.initialScrollIndex == null || props.initialScrollIndex <= 0) {\n const initialRegion = VirtualizedList._initialRenderRegion(props);\n renderMask.addCells(initialRegion);\n }\n\n // The layout coordinates of sticker headers may be off-screen while the\n // actual header is on-screen. Keep the most recent before the viewport\n // rendered, even if its layout coordinates are not in viewport.\n const stickyIndicesSet = new Set(props.stickyHeaderIndices);\n VirtualizedList._ensureClosestStickyHeader(\n props,\n stickyIndicesSet,\n renderMask,\n cellsAroundViewport.first,\n );\n }\n\n return renderMask;\n }\n\n static _initialRenderRegion(props: VirtualizedListProps): {\n first: number,\n last: number,\n } {\n const itemCount = props.getItemCount(props.data);\n\n const firstCellIndex = Math.max(\n 0,\n Math.min(itemCount - 1, Math.floor(props.initialScrollIndex ?? 0)),\n );\n\n const lastCellIndex =\n Math.min(\n itemCount,\n firstCellIndex + initialNumToRenderOrDefault(props.initialNumToRender),\n ) - 1;\n\n return {\n first: firstCellIndex,\n last: lastCellIndex,\n };\n }\n\n static _ensureClosestStickyHeader(\n props: VirtualizedListProps,\n stickyIndicesSet: Set,\n renderMask: CellRenderMask,\n cellIdx: number,\n ) {\n const stickyOffset = props.ListHeaderComponent ? 1 : 0;\n\n for (let itemIdx = cellIdx - 1; itemIdx >= 0; itemIdx--) {\n if (stickyIndicesSet.has(itemIdx + stickyOffset)) {\n renderMask.addCells({first: itemIdx, last: itemIdx});\n break;\n }\n }\n }\n\n _adjustCellsAroundViewport(\n props: VirtualizedListProps,\n cellsAroundViewport: {first: number, last: number},\n pendingScrollUpdateCount: number,\n ): {first: number, last: number} {\n const {data, getItemCount} = props;\n const onEndReachedThreshold = onEndReachedThresholdOrDefault(\n props.onEndReachedThreshold,\n );\n const {offset, visibleLength} = this._scrollMetrics;\n const contentLength = this._listMetrics.getContentLength();\n const distanceFromEnd = contentLength - visibleLength - offset;\n\n // Wait until the scroll view metrics have been set up. And until then,\n // we will trust the initialNumToRender suggestion\n if (visibleLength <= 0 || contentLength <= 0) {\n return cellsAroundViewport.last >= getItemCount(data)\n ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props)\n : cellsAroundViewport;\n }\n\n let newCellsAroundViewport: {first: number, last: number};\n if (props.disableVirtualization) {\n const renderAhead =\n distanceFromEnd < onEndReachedThreshold * visibleLength\n ? maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch)\n : 0;\n\n newCellsAroundViewport = {\n first: 0,\n last: Math.min(\n cellsAroundViewport.last + renderAhead,\n getItemCount(data) - 1,\n ),\n };\n } else {\n // If we have a pending scroll update, we should not adjust the render window as it\n // might override the correct window.\n if (pendingScrollUpdateCount > 0) {\n return cellsAroundViewport.last >= getItemCount(data)\n ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props)\n : cellsAroundViewport;\n }\n\n newCellsAroundViewport = computeWindowedRenderLimits(\n props,\n maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch),\n windowSizeOrDefault(props.windowSize),\n cellsAroundViewport,\n this._listMetrics,\n this._scrollMetrics,\n );\n invariant(\n newCellsAroundViewport.last < getItemCount(data),\n 'computeWindowedRenderLimits() should return range in-bounds',\n );\n }\n\n if (this._nestedChildLists.size() > 0) {\n // If some cell in the new state has a child list in it, we should only render\n // up through that item, so that we give that list a chance to render.\n // Otherwise there's churn from multiple child lists mounting and un-mounting\n // their items.\n\n // Will this prevent rendering if the nested list doesn't realize the end?\n const childIdx = this._findFirstChildWithMore(\n newCellsAroundViewport.first,\n newCellsAroundViewport.last,\n );\n\n newCellsAroundViewport.last = childIdx ?? newCellsAroundViewport.last;\n }\n\n return newCellsAroundViewport;\n }\n\n _findFirstChildWithMore(first: number, last: number): number | null {\n for (let ii = first; ii <= last; ii++) {\n const cellKeyForIndex = this._indicesToKeys.get(ii);\n if (\n cellKeyForIndex != null &&\n this._nestedChildLists.anyInCell(cellKeyForIndex, childList =>\n childList.hasMore(),\n )\n ) {\n return ii;\n }\n }\n\n return null;\n }\n\n componentDidMount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.registerAsNestedChild({\n ref: this,\n cellKey: this.context.cellKey,\n });\n }\n }\n\n componentWillUnmount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.unregisterAsNestedChild({ref: this});\n }\n clearTimeout(this._updateCellsToRenderTimeoutID);\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.dispose();\n });\n this._fillRateHelper.deactivateAndFlush();\n }\n\n static getDerivedStateFromProps(\n newProps: VirtualizedListProps,\n prevState: State,\n ): State {\n // first and last could be stale (e.g. if a new, shorter items props is passed in), so we make\n // sure we're rendering a reasonable range here.\n const itemCount = newProps.getItemCount(newProps.data);\n if (itemCount === prevState.renderMask.numCells()) {\n return prevState;\n }\n\n let maintainVisibleContentPositionAdjustment: ?number = null;\n const prevFirstVisibleItemKey = prevState.firstVisibleItemKey;\n const minIndexForVisible =\n newProps.maintainVisibleContentPosition?.minIndexForVisible ?? 0;\n const newFirstVisibleItemKey =\n newProps.getItemCount(newProps.data) > minIndexForVisible\n ? VirtualizedList._getItemKey(newProps, minIndexForVisible)\n : null;\n if (\n newProps.maintainVisibleContentPosition != null &&\n prevFirstVisibleItemKey != null &&\n newFirstVisibleItemKey != null\n ) {\n if (newFirstVisibleItemKey !== prevFirstVisibleItemKey) {\n // Fast path if items were added at the start of the list.\n const hint =\n itemCount - prevState.renderMask.numCells() + minIndexForVisible;\n const firstVisibleItemIndex = VirtualizedList._findItemIndexWithKey(\n newProps,\n prevFirstVisibleItemKey,\n hint,\n );\n maintainVisibleContentPositionAdjustment =\n firstVisibleItemIndex != null\n ? firstVisibleItemIndex - minIndexForVisible\n : null;\n } else {\n maintainVisibleContentPositionAdjustment = null;\n }\n }\n\n const constrainedCells = VirtualizedList._constrainToItemCount(\n maintainVisibleContentPositionAdjustment != null\n ? {\n first:\n prevState.cellsAroundViewport.first +\n maintainVisibleContentPositionAdjustment,\n last:\n prevState.cellsAroundViewport.last +\n maintainVisibleContentPositionAdjustment,\n }\n : prevState.cellsAroundViewport,\n newProps,\n );\n\n return {\n cellsAroundViewport: constrainedCells,\n renderMask: VirtualizedList._createRenderMask(newProps, constrainedCells),\n firstVisibleItemKey: newFirstVisibleItemKey,\n pendingScrollUpdateCount:\n maintainVisibleContentPositionAdjustment != null\n ? prevState.pendingScrollUpdateCount + 1\n : prevState.pendingScrollUpdateCount,\n };\n }\n\n _pushCells(\n cells: Array,\n stickyHeaderIndices: Array,\n stickyIndicesFromProps: Set,\n first: number,\n last: number,\n inversionStyle: ViewStyleProp,\n ) {\n const {\n CellRendererComponent,\n ItemSeparatorComponent,\n ListHeaderComponent,\n ListItemComponent,\n data,\n debug,\n getItem,\n getItemCount,\n getItemLayout,\n horizontal,\n renderItem,\n } = this.props;\n const stickyOffset = ListHeaderComponent ? 1 : 0;\n const end = getItemCount(data) - 1;\n let prevCellKey;\n last = Math.min(end, last);\n\n for (let ii = first; ii <= last; ii++) {\n const item = getItem(data, ii);\n const key = VirtualizedList._keyExtractor(item, ii, this.props);\n\n this._indicesToKeys.set(ii, key);\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n stickyHeaderIndices.push(cells.length);\n }\n\n const shouldListenForLayout =\n getItemLayout == null || debug || this._fillRateHelper.enabled();\n\n cells.push(\n {\n this._cellRefs[key] = ref;\n }}\n renderItem={renderItem}\n {...(shouldListenForLayout && {\n onCellLayout: this._onCellLayout,\n })}\n />,\n );\n prevCellKey = key;\n }\n }\n\n static _constrainToItemCount(\n cells: {first: number, last: number},\n props: VirtualizedListProps,\n ): {first: number, last: number} {\n const itemCount = props.getItemCount(props.data);\n const lastPossibleCellIndex = itemCount - 1;\n\n // Constraining `last` may significantly shrink the window. Adjust `first`\n // to expand the window if the new `last` results in a new window smaller\n // than the number of cells rendered per batch.\n const maxToRenderPerBatch = maxToRenderPerBatchOrDefault(\n props.maxToRenderPerBatch,\n );\n const maxFirst = Math.max(0, lastPossibleCellIndex - maxToRenderPerBatch);\n\n return {\n first: clamp(0, cells.first, maxFirst),\n last: Math.min(lastPossibleCellIndex, cells.last),\n };\n }\n\n _onUpdateSeparators = (keys: Array, newProps: Object) => {\n keys.forEach(key => {\n const ref = key != null && this._cellRefs[key];\n ref && ref.updateSeparatorProps(newProps);\n });\n };\n\n _isNestedWithSameOrientation(): boolean {\n const nestedContext = this.context;\n return !!(\n nestedContext &&\n !!nestedContext.horizontal === horizontalOrDefault(this.props.horizontal)\n );\n }\n\n _getSpacerKey = (isVertical: boolean): string =>\n isVertical ? 'height' : 'width';\n\n static _keyExtractor(\n item: Item,\n index: number,\n props: {\n keyExtractor?: ?(item: Item, index: number) => string,\n ...\n },\n ): string {\n if (props.keyExtractor != null) {\n return props.keyExtractor(item, index);\n }\n\n const key = defaultKeyExtractor(item, index);\n if (key === String(index)) {\n _usedIndexForKey = true;\n if (item.type && item.type.displayName) {\n _keylessItemComponentName = item.type.displayName;\n }\n }\n return key;\n }\n\n render(): React.Node {\n this._checkProps(this.props);\n const {ListEmptyComponent, ListFooterComponent, ListHeaderComponent} =\n this.props;\n const {data, horizontal} = this.props;\n const inversionStyle = this.props.inverted\n ? horizontalOrDefault(this.props.horizontal)\n ? styles.horizontallyInverted\n : styles.verticallyInverted\n : null;\n const cells: Array = [];\n const stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);\n const stickyHeaderIndices = [];\n\n // 1. Add cell for ListHeaderComponent\n if (ListHeaderComponent) {\n if (stickyIndicesFromProps.has(0)) {\n stickyHeaderIndices.push(0);\n }\n const element = React.isValidElement(ListHeaderComponent) ? (\n ListHeaderComponent\n ) : (\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n \n );\n cells.push(\n \n \n {\n // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n element\n }\n \n ,\n );\n }\n\n // 2a. Add a cell for ListEmptyComponent if applicable\n const itemCount = this.props.getItemCount(data);\n if (itemCount === 0 && ListEmptyComponent) {\n const element: ExactReactElement_DEPRECATED = ((React.isValidElement(\n ListEmptyComponent,\n ) ? (\n ListEmptyComponent\n ) : (\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n \n )): any);\n cells.push(\n \n {React.cloneElement(element, {\n onLayout: (event: LayoutChangeEvent) => {\n this._onLayoutEmpty(event);\n // $FlowFixMe[prop-missing] React.Element internal inspection\n if (element.props.onLayout) {\n element.props.onLayout(event);\n }\n },\n // $FlowFixMe[prop-missing] React.Element internal inspection\n style: StyleSheet.compose(inversionStyle, element.props.style),\n })}\n ,\n );\n }\n\n // 2b. Add cells and spacers for each item\n if (itemCount > 0) {\n _usedIndexForKey = false;\n _keylessItemComponentName = '';\n const spacerKey = this._getSpacerKey(!horizontal);\n\n const renderRegions = this.state.renderMask.enumerateRegions();\n const lastRegion = renderRegions[renderRegions.length - 1];\n const lastSpacer = lastRegion?.isSpacer ? lastRegion : null;\n\n for (const section of renderRegions) {\n if (section.isSpacer) {\n // Legacy behavior is to avoid spacers when virtualization is\n // disabled (including head spacers on initial render).\n if (this.props.disableVirtualization) {\n continue;\n }\n\n // Without getItemLayout, we limit our tail spacer to the _highestMeasuredFrameIndex to\n // prevent the user for hyperscrolling into un-measured area because otherwise content will\n // likely jump around as it renders in above the viewport.\n const isLastSpacer = section === lastSpacer;\n const constrainToMeasured = isLastSpacer && !this.props.getItemLayout;\n const last = constrainToMeasured\n ? clamp(\n section.first - 1,\n section.last,\n this._listMetrics.getHighestMeasuredCellIndex(),\n )\n : section.last;\n\n const firstMetrics = this._listMetrics.getCellMetricsApprox(\n section.first,\n this.props,\n );\n const lastMetrics = this._listMetrics.getCellMetricsApprox(\n last,\n this.props,\n );\n const spacerSize =\n lastMetrics.offset + lastMetrics.length - firstMetrics.offset;\n cells.push(\n ,\n );\n } else {\n this._pushCells(\n cells,\n stickyHeaderIndices,\n stickyIndicesFromProps,\n section.first,\n section.last,\n inversionStyle,\n );\n }\n }\n\n if (!this._hasWarned.keys && _usedIndexForKey) {\n console.warn(\n 'VirtualizedList: missing keys for items, make sure to specify a key or id property on each ' +\n 'item or provide a custom keyExtractor.',\n _keylessItemComponentName,\n );\n this._hasWarned.keys = true;\n }\n }\n\n // 3. Add cell for ListFooterComponent\n if (ListFooterComponent) {\n const element = React.isValidElement(ListFooterComponent) ? (\n ListFooterComponent\n ) : (\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n \n );\n cells.push(\n \n \n {\n // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n element\n }\n \n ,\n );\n }\n\n // 4. Render the ScrollView\n const scrollProps = {\n ...this.props,\n onContentSizeChange: this._onContentSizeChange,\n onLayout: this._onLayout,\n onScroll: this._onScroll,\n onScrollBeginDrag: this._onScrollBeginDrag,\n onScrollEndDrag: this._onScrollEndDrag,\n onMomentumScrollBegin: this._onMomentumScrollBegin,\n onMomentumScrollEnd: this._onMomentumScrollEnd,\n // iOS/macOS requires a non-zero scrollEventThrottle to fire more than a\n // single notification while scrolling. This will otherwise no-op.\n scrollEventThrottle: this.props.scrollEventThrottle ?? 0.0001,\n invertStickyHeaders:\n this.props.invertStickyHeaders !== undefined\n ? this.props.invertStickyHeaders\n : this.props.inverted,\n stickyHeaderIndices,\n style: inversionStyle\n ? [inversionStyle, this.props.style]\n : this.props.style,\n isInvertedVirtualizedList: this.props.inverted,\n maintainVisibleContentPosition:\n this.props.maintainVisibleContentPosition != null\n ? {\n ...this.props.maintainVisibleContentPosition,\n // Adjust index to account for ListHeaderComponent.\n minIndexForVisible:\n this.props.maintainVisibleContentPosition.minIndexForVisible +\n (this.props.ListHeaderComponent ? 1 : 0),\n }\n : undefined,\n };\n\n this._hasMore = this.state.cellsAroundViewport.last < itemCount - 1;\n\n const innerRet = (\n \n {React.cloneElement(\n (\n this.props.renderScrollComponent ||\n this._defaultRenderScrollComponent\n )(scrollProps) as ExactReactElement_DEPRECATED,\n {\n ref: this._captureScrollRef,\n },\n cells,\n )}\n \n );\n let ret: React.Node = innerRet;\n if (__DEV__) {\n ret = (\n \n {scrollContext => {\n if (\n scrollContext != null &&\n !scrollContext.horizontal ===\n !horizontalOrDefault(this.props.horizontal) &&\n !this._hasWarned.nesting &&\n this.context == null &&\n this.props.scrollEnabled !== false\n ) {\n console.error(\n 'VirtualizedLists should never be nested inside plain ScrollViews with the same ' +\n 'orientation because it can break windowing and other functionality - use another ' +\n 'VirtualizedList-backed container instead.',\n );\n this._hasWarned.nesting = true;\n }\n return innerRet;\n }}\n \n );\n }\n if (this.props.debug) {\n return (\n \n {ret}\n {this._renderDebugOverlay()}\n \n );\n } else {\n return ret;\n }\n }\n\n componentDidUpdate(prevProps: VirtualizedListProps) {\n const {data, extraData, getItemLayout} = this.props;\n if (data !== prevProps.data || extraData !== prevProps.extraData) {\n // clear the viewableIndices cache to also trigger\n // the onViewableItemsChanged callback with the new data\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.resetViewableIndices();\n });\n }\n // The `this._hiPriInProgress` is guaranteeing a hiPri cell update will only happen\n // once per fiber update. The `_scheduleCellsToRenderUpdate` will set it to true\n // if a hiPri update needs to perform. If `componentDidUpdate` is triggered with\n // `this._hiPriInProgress=true`, means it's triggered by the hiPri update. The\n // `_scheduleCellsToRenderUpdate` will check this condition and not perform\n // another hiPri update.\n const hiPriInProgress = this._hiPriInProgress;\n this._scheduleCellsToRenderUpdate();\n // Make sure setting `this._hiPriInProgress` back to false after `componentDidUpdate`\n // is triggered with `this._hiPriInProgress = true`\n if (hiPriInProgress) {\n this._hiPriInProgress = false;\n }\n\n // We only call `onEndReached` after we render the last cell, but when\n // getItemLayout is present, we can scroll past the last rendered cell, and\n // never trigger a new layout or bounds change, so we need to check again\n // after rendering more cells.\n if (getItemLayout != null) {\n this._maybeCallOnEdgeReached();\n }\n }\n\n _cellRefs: {[string]: null | CellRenderer} = {};\n _fillRateHelper: FillRateHelper;\n _listMetrics: ListMetricsAggregator = new ListMetricsAggregator();\n _footerLength = 0;\n // Used for preventing scrollToIndex from being called multiple times for initialScrollIndex\n _hasTriggeredInitialScrollToIndex = false;\n _hasInteracted = false;\n _hasMore = false;\n _hasWarned: {[string]: boolean} = {};\n _headerLength = 0;\n _hiPriInProgress: boolean = false; // flag to prevent infinite hiPri cell limit update\n _indicesToKeys: Map = new Map();\n _lastFocusedCellKey: ?string = null;\n _nestedChildLists: ChildListCollection =\n new ChildListCollection();\n _offsetFromParentVirtualizedList: number = 0;\n _pendingViewabilityUpdate: boolean = false;\n _prevParentOffset: number = 0;\n _scrollMetrics: {\n dOffset: number,\n dt: number,\n offset: number,\n timestamp: number,\n velocity: number,\n visibleLength: number,\n zoomScale: number,\n } = {\n dOffset: 0,\n dt: 10,\n offset: 0,\n timestamp: 0,\n velocity: 0,\n visibleLength: 0,\n zoomScale: 1,\n };\n _scrollRef: ?React.ElementRef = null;\n _sentStartForContentLength = 0;\n _sentEndForContentLength = 0;\n _updateCellsToRenderTimeoutID: ?TimeoutID = null;\n _viewabilityTuples: Array = [];\n\n _captureScrollRef = (ref: ?React.ElementRef) => {\n this._scrollRef = ref;\n };\n\n _computeBlankness() {\n this._fillRateHelper.computeBlankness(\n this.props,\n this.state.cellsAroundViewport,\n this._scrollMetrics,\n );\n }\n\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\n _defaultRenderScrollComponent = props => {\n const onRefresh = props.onRefresh;\n if (this._isNestedWithSameOrientation()) {\n // Prevent VirtualizedList._onContentSizeChange from being triggered by a bubbling onContentSizeChange event.\n // This could lead to internal inconsistencies within VirtualizedList.\n const {onContentSizeChange, ...otherProps} = props;\n return ;\n } else if (onRefresh) {\n invariant(\n typeof props.refreshing === 'boolean',\n '`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `' +\n JSON.stringify(props.refreshing ?? 'undefined') +\n '`',\n );\n return (\n // $FlowFixMe[prop-missing] Invalid prop usage\n // $FlowFixMe[incompatible-use]\n \n ) : (\n props.refreshControl\n )\n }\n />\n );\n } else {\n // $FlowFixMe[prop-missing] Invalid prop usage\n // $FlowFixMe[incompatible-use]\n return ;\n }\n };\n\n _onCellLayout = (\n e: LayoutChangeEvent,\n cellKey: string,\n cellIndex: number,\n ): void => {\n const layoutHasChanged = this._listMetrics.notifyCellLayout({\n cellIndex,\n cellKey,\n layout: e.nativeEvent.layout,\n orientation: this._orientation(),\n });\n\n if (layoutHasChanged) {\n this._scheduleCellsToRenderUpdate();\n }\n\n this._triggerRemeasureForChildListsInCell(cellKey);\n this._computeBlankness();\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n };\n\n _onCellFocusCapture = (cellKey: string) => {\n this._lastFocusedCellKey = cellKey;\n this._updateCellsToRender();\n };\n\n _onCellUnmount = (cellKey: string) => {\n delete this._cellRefs[cellKey];\n this._listMetrics.notifyCellUnmounted(cellKey);\n };\n\n _triggerRemeasureForChildListsInCell(cellKey: string): void {\n this._nestedChildLists.forEachInCell(cellKey, childList => {\n childList.measureLayoutRelativeToContainingList();\n });\n }\n\n measureLayoutRelativeToContainingList(): void {\n // TODO (T35574538): findNodeHandle sometimes crashes with \"Unable to find\n // node on an unmounted component\" during scrolling\n try {\n if (!this._scrollRef) {\n return;\n }\n // We are assuming that getOutermostParentListRef().getScrollRef()\n // is a non-null reference to a ScrollView\n this._scrollRef.measureLayout(\n this.context.getOutermostParentListRef().getScrollRef(),\n (x, y, width, height) => {\n this._offsetFromParentVirtualizedList = this._selectOffset({x, y});\n this._listMetrics.notifyListContentLayout({\n layout: {width, height},\n orientation: this._orientation(),\n });\n const scrollMetrics = this._convertParentScrollMetrics(\n this.context.getScrollMetrics(),\n );\n\n const metricsChanged =\n this._scrollMetrics.visibleLength !== scrollMetrics.visibleLength ||\n this._scrollMetrics.offset !== scrollMetrics.offset;\n\n if (metricsChanged) {\n this._scrollMetrics.visibleLength = scrollMetrics.visibleLength;\n this._scrollMetrics.offset = scrollMetrics.offset;\n\n // If metrics of the scrollView changed, then we triggered remeasure for child list\n // to ensure VirtualizedList has the right information.\n this._nestedChildLists.forEach(childList => {\n childList.measureLayoutRelativeToContainingList();\n });\n }\n },\n error => {\n console.warn(\n \"VirtualizedList: Encountered an error while measuring a list's\" +\n ' offset from its containing VirtualizedList.',\n );\n },\n );\n } catch (error) {\n console.warn(\n 'measureLayoutRelativeToContainingList threw an error',\n error.stack,\n );\n }\n }\n\n _onLayout = (e: LayoutChangeEvent) => {\n if (this._isNestedWithSameOrientation()) {\n // Need to adjust our scroll metrics to be relative to our containing\n // VirtualizedList before we can make claims about list item viewability\n this.measureLayoutRelativeToContainingList();\n } else {\n this._scrollMetrics.visibleLength = this._selectLength(\n e.nativeEvent.layout,\n );\n }\n this.props.onLayout && this.props.onLayout(e);\n this._scheduleCellsToRenderUpdate();\n this._maybeCallOnEdgeReached();\n };\n\n _onLayoutEmpty = (e: LayoutChangeEvent) => {\n this.props.onLayout && this.props.onLayout(e);\n };\n\n _getFooterCellKey(): string {\n return this._getCellKey() + '-footer';\n }\n\n _onLayoutFooter = (e: LayoutChangeEvent) => {\n this._triggerRemeasureForChildListsInCell(this._getFooterCellKey());\n this._footerLength = this._selectLength(e.nativeEvent.layout);\n };\n\n _onLayoutHeader = (e: LayoutChangeEvent) => {\n this._headerLength = this._selectLength(e.nativeEvent.layout);\n };\n\n // $FlowFixMe[missing-local-annot]\n _renderDebugOverlay() {\n const normalize =\n this._scrollMetrics.visibleLength /\n (this._listMetrics.getContentLength() || 1);\n const framesInLayout = [];\n const itemCount = this.props.getItemCount(this.props.data);\n for (let ii = 0; ii < itemCount; ii++) {\n const frame = this._listMetrics.getCellMetricsApprox(ii, this.props);\n if (frame.isMounted) {\n framesInLayout.push(frame);\n }\n }\n const windowTop = this._listMetrics.getCellMetricsApprox(\n this.state.cellsAroundViewport.first,\n this.props,\n ).offset;\n const frameLast = this._listMetrics.getCellMetricsApprox(\n this.state.cellsAroundViewport.last,\n this.props,\n );\n const windowLen = frameLast.offset + frameLast.length - windowTop;\n const visTop = this._scrollMetrics.offset;\n const visLen = this._scrollMetrics.visibleLength;\n\n return (\n \n {framesInLayout.map((f, ii) => (\n \n ))}\n \n \n \n );\n }\n\n _selectLength(\n metrics: $ReadOnly<{\n height: number,\n width: number,\n ...\n }>,\n ): number {\n return !horizontalOrDefault(this.props.horizontal)\n ? metrics.height\n : metrics.width;\n }\n\n _selectOffset({x, y}: $ReadOnly<{x: number, y: number, ...}>): number {\n return this._orientation().horizontal ? x : y;\n }\n\n _orientation(): ListOrientation {\n return {\n horizontal: horizontalOrDefault(this.props.horizontal),\n rtl: I18nManager.isRTL,\n };\n }\n\n _maybeCallOnEdgeReached() {\n const {\n data,\n getItemCount,\n onStartReached,\n onStartReachedThreshold,\n onEndReached,\n onEndReachedThreshold,\n } = this.props;\n // Wait until we have real metrics\n if (\n !this._listMetrics.hasContentLength() ||\n this._scrollMetrics.visibleLength === 0\n ) {\n return;\n }\n\n // If we have any pending scroll updates it means that the scroll metrics\n // are out of date and we should not call any of the edge reached callbacks.\n if (this.state.pendingScrollUpdateCount > 0) {\n return;\n }\n\n const {visibleLength, offset} = this._scrollMetrics;\n let distanceFromStart = offset;\n let distanceFromEnd =\n this._listMetrics.getContentLength() - visibleLength - offset;\n\n // Especially when oERT is zero it's necessary to 'floor' very small distance values to be 0\n // since debouncing causes us to not fire this event for every single \"pixel\" we scroll and can thus\n // be at the edge of the list with a distance approximating 0 but not quite there.\n if (distanceFromStart < ON_EDGE_REACHED_EPSILON) {\n distanceFromStart = 0;\n }\n if (distanceFromEnd < ON_EDGE_REACHED_EPSILON) {\n distanceFromEnd = 0;\n }\n\n // TODO: T121172172 Look into why we're \"defaulting\" to a threshold of 2px\n // when oERT is not present (different from 2 viewports used elsewhere)\n const DEFAULT_THRESHOLD_PX = 2;\n\n const startThreshold =\n onStartReachedThreshold != null\n ? onStartReachedThreshold * visibleLength\n : DEFAULT_THRESHOLD_PX;\n const endThreshold =\n onEndReachedThreshold != null\n ? onEndReachedThreshold * visibleLength\n : DEFAULT_THRESHOLD_PX;\n const isWithinStartThreshold = distanceFromStart <= startThreshold;\n const isWithinEndThreshold = distanceFromEnd <= endThreshold;\n\n // First check if the user just scrolled within the end threshold\n // and call onEndReached only once for a given content length,\n // and only if onStartReached is not being executed\n if (\n onEndReached &&\n this.state.cellsAroundViewport.last === getItemCount(data) - 1 &&\n isWithinEndThreshold &&\n this._listMetrics.getContentLength() !== this._sentEndForContentLength\n ) {\n this._sentEndForContentLength = this._listMetrics.getContentLength();\n onEndReached({distanceFromEnd});\n }\n\n // Next check if the user just scrolled within the start threshold\n // and call onStartReached only once for a given content length,\n // and only if onEndReached is not being executed\n if (\n onStartReached != null &&\n this.state.cellsAroundViewport.first === 0 &&\n isWithinStartThreshold &&\n this._listMetrics.getContentLength() !== this._sentStartForContentLength\n ) {\n this._sentStartForContentLength = this._listMetrics.getContentLength();\n onStartReached({distanceFromStart});\n }\n\n // If the user scrolls away from the start or end and back again,\n // cause onStartReached or onEndReached to be triggered again\n if (!isWithinStartThreshold) {\n this._sentStartForContentLength = 0;\n }\n if (!isWithinEndThreshold) {\n this._sentEndForContentLength = 0;\n }\n }\n\n _onContentSizeChange = (width: number, height: number) => {\n this._listMetrics.notifyListContentLayout({\n layout: {width, height},\n orientation: this._orientation(),\n });\n\n this._maybeScrollToInitialScrollIndex(width, height);\n\n if (this.props.onContentSizeChange) {\n this.props.onContentSizeChange(width, height);\n }\n this._scheduleCellsToRenderUpdate();\n this._maybeCallOnEdgeReached();\n };\n\n /**\n * Scroll to a specified `initialScrollIndex` prop after the ScrollView\n * content has been laid out, if it is still valid. Only a single scroll is\n * triggered throughout the lifetime of the list.\n */\n _maybeScrollToInitialScrollIndex(\n contentWidth: number,\n contentHeight: number,\n ) {\n if (\n contentWidth > 0 &&\n contentHeight > 0 &&\n this.props.initialScrollIndex != null &&\n this.props.initialScrollIndex > 0 &&\n !this._hasTriggeredInitialScrollToIndex\n ) {\n if (this.props.contentOffset == null) {\n if (\n this.props.initialScrollIndex <\n this.props.getItemCount(this.props.data)\n ) {\n this.scrollToIndex({\n animated: false,\n index: nullthrows(this.props.initialScrollIndex),\n });\n } else {\n this.scrollToEnd({animated: false});\n }\n }\n this._hasTriggeredInitialScrollToIndex = true;\n }\n }\n\n /* Translates metrics from a scroll event in a parent VirtualizedList into\n * coordinates relative to the child list.\n */\n _convertParentScrollMetrics = (metrics: {\n visibleLength: number,\n offset: number,\n ...\n }): $FlowFixMe => {\n // Offset of the top of the nested list relative to the top of its parent's viewport\n const offset = metrics.offset - this._offsetFromParentVirtualizedList;\n // Child's visible length is the same as its parent's\n const visibleLength = metrics.visibleLength;\n const dOffset = offset - this._scrollMetrics.offset;\n const contentLength = this._listMetrics.getContentLength();\n\n return {\n visibleLength,\n contentLength,\n offset,\n dOffset,\n };\n };\n\n unstable_onScroll(e: Object) {\n this._onScroll(e);\n }\n\n _onScroll = (e: Object) => {\n this._nestedChildLists.forEach(childList => {\n childList._onScroll(e);\n });\n if (this.props.onScroll) {\n this.props.onScroll(e);\n }\n const timestamp = e.timeStamp;\n let visibleLength = this._selectLength(e.nativeEvent.layoutMeasurement);\n let contentLength = this._selectLength(e.nativeEvent.contentSize);\n let offset = this._offsetFromScrollEvent(e);\n let dOffset = offset - this._scrollMetrics.offset;\n\n if (this._isNestedWithSameOrientation()) {\n if (this._listMetrics.getContentLength() === 0) {\n // Ignore scroll events until onLayout has been called and we\n // know our offset from our offset from our parent\n return;\n }\n ({visibleLength, contentLength, offset, dOffset} =\n this._convertParentScrollMetrics({\n visibleLength,\n offset,\n }));\n }\n\n const dt = this._scrollMetrics.timestamp\n ? Math.max(1, timestamp - this._scrollMetrics.timestamp)\n : 1;\n const velocity = dOffset / dt;\n\n if (\n dt > 500 &&\n this._scrollMetrics.dt > 500 &&\n contentLength > 5 * visibleLength &&\n !this._hasWarned.perf\n ) {\n infoLog(\n 'VirtualizedList: You have a large list that is slow to update - make sure your ' +\n 'renderItem function renders components that follow React performance best practices ' +\n 'like PureComponent, shouldComponentUpdate, etc.',\n {dt, prevDt: this._scrollMetrics.dt, contentLength},\n );\n this._hasWarned.perf = true;\n }\n\n // For invalid negative values (w/ RTL), set this to 1.\n const zoomScale = e.nativeEvent.zoomScale < 0 ? 1 : e.nativeEvent.zoomScale;\n this._scrollMetrics = {\n dt,\n dOffset,\n offset,\n timestamp,\n velocity,\n visibleLength,\n zoomScale,\n };\n if (this.state.pendingScrollUpdateCount > 0) {\n this.setState<'pendingScrollUpdateCount'>(state => ({\n pendingScrollUpdateCount: state.pendingScrollUpdateCount - 1,\n }));\n }\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n if (!this.props) {\n return;\n }\n this._maybeCallOnEdgeReached();\n if (velocity !== 0) {\n this._fillRateHelper.activate();\n }\n this._computeBlankness();\n this._scheduleCellsToRenderUpdate();\n };\n\n _offsetFromScrollEvent(e: ScrollEvent): number {\n const {contentOffset, contentSize, layoutMeasurement} = e.nativeEvent;\n const {horizontal, rtl} = this._orientation();\n if (horizontal && rtl) {\n return (\n this._selectLength(contentSize) -\n (this._selectOffset(contentOffset) +\n this._selectLength(layoutMeasurement))\n );\n } else {\n return this._selectOffset(contentOffset);\n }\n }\n\n _scheduleCellsToRenderUpdate() {\n // Only trigger high-priority updates if we've actually rendered cells,\n // and with that size estimate, accurately compute how many cells we should render.\n // Otherwise, it would just render as many cells as it can (of zero dimension),\n // each time through attempting to render more (limited by maxToRenderPerBatch),\n // starving the renderer from actually laying out the objects and computing _averageCellLength.\n // If this is triggered in an `componentDidUpdate` followed by a hiPri cellToRenderUpdate\n // We shouldn't do another hipri cellToRenderUpdate\n if (\n (this._listMetrics.getAverageCellLength() > 0 ||\n this.props.getItemLayout != null) &&\n this._shouldRenderWithPriority() &&\n !this._hiPriInProgress\n ) {\n this._hiPriInProgress = true;\n // Don't worry about interactions when scrolling quickly; focus on filling content as fast\n // as possible.\n if (this._updateCellsToRenderTimeoutID != null) {\n clearTimeout(this._updateCellsToRenderTimeoutID);\n this._updateCellsToRenderTimeoutID = null;\n }\n this._updateCellsToRender();\n return;\n } else {\n if (this._updateCellsToRenderTimeoutID == null) {\n this._updateCellsToRenderTimeoutID = setTimeout(() => {\n this._updateCellsToRenderTimeoutID = null;\n this._updateCellsToRender();\n }, this.props.updateCellsBatchingPeriod ?? 50);\n }\n }\n }\n\n _shouldRenderWithPriority(): boolean {\n const {first, last} = this.state.cellsAroundViewport;\n const {offset, visibleLength, velocity} = this._scrollMetrics;\n const itemCount = this.props.getItemCount(this.props.data);\n let hiPri = false;\n const onStartReachedThreshold = onStartReachedThresholdOrDefault(\n this.props.onStartReachedThreshold,\n );\n const onEndReachedThreshold = onEndReachedThresholdOrDefault(\n this.props.onEndReachedThreshold,\n );\n // Mark as high priority if we're close to the start of the first item\n // But only if there are items before the first rendered item\n if (first > 0) {\n const distTop =\n offset -\n this._listMetrics.getCellMetricsApprox(first, this.props).offset;\n hiPri =\n distTop < 0 ||\n (velocity < -2 &&\n distTop <\n getScrollingThreshold(onStartReachedThreshold, visibleLength));\n }\n // Mark as high priority if we're close to the end of the last item\n // But only if there are items after the last rendered item\n if (!hiPri && last >= 0 && last < itemCount - 1) {\n const distBottom =\n this._listMetrics.getCellMetricsApprox(last, this.props).offset -\n (offset + visibleLength);\n hiPri =\n distBottom < 0 ||\n (velocity > 2 &&\n distBottom <\n getScrollingThreshold(onEndReachedThreshold, visibleLength));\n }\n\n return hiPri;\n }\n\n unstable_onScrollBeginDrag(e: ScrollEvent) {\n this._onScrollBeginDrag(e);\n }\n\n _onScrollBeginDrag = (e: ScrollEvent): void => {\n this._nestedChildLists.forEach(childList => {\n childList._onScrollBeginDrag(e);\n });\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.recordInteraction();\n });\n this._hasInteracted = true;\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n };\n\n unstable_onScrollEndDrag(e: ScrollEvent) {\n this._onScrollEndDrag(e);\n }\n\n _onScrollEndDrag = (e: ScrollEvent): void => {\n this._nestedChildLists.forEach(childList => {\n childList._onScrollEndDrag(e);\n });\n const {velocity} = e.nativeEvent;\n if (velocity) {\n this._scrollMetrics.velocity = this._selectOffset(velocity);\n }\n this._computeBlankness();\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n\n unstable_onMomentumScrollBegin(e: ScrollEvent) {\n this._onMomentumScrollBegin(e);\n }\n\n _onMomentumScrollBegin = (e: ScrollEvent): void => {\n this._nestedChildLists.forEach(childList => {\n childList._onMomentumScrollBegin(e);\n });\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n\n unstable_onMomentumScrollEnd(e: ScrollEvent) {\n this._onMomentumScrollEnd(e);\n }\n\n _onMomentumScrollEnd = (e: ScrollEvent): void => {\n this._nestedChildLists.forEach(childList => {\n childList._onMomentumScrollEnd(e);\n });\n this._scrollMetrics.velocity = 0;\n this._computeBlankness();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n };\n\n _updateCellsToRender = () => {\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n\n this.setState<'cellsAroundViewport' | 'renderMask'>((state, props) => {\n const cellsAroundViewport = this._adjustCellsAroundViewport(\n props,\n state.cellsAroundViewport,\n state.pendingScrollUpdateCount,\n );\n const renderMask = VirtualizedList._createRenderMask(\n props,\n cellsAroundViewport,\n this._getNonViewportRenderRegions(props),\n );\n\n if (\n cellsAroundViewport.first === state.cellsAroundViewport.first &&\n cellsAroundViewport.last === state.cellsAroundViewport.last &&\n renderMask.equals(state.renderMask)\n ) {\n return null;\n }\n\n return {cellsAroundViewport, renderMask};\n });\n };\n\n _createViewToken = (\n index: number,\n isViewable: boolean,\n props: CellMetricProps,\n // $FlowFixMe[missing-local-annot]\n ) => {\n const {data, getItem} = props;\n const item = getItem(data, index);\n return {\n index,\n item,\n key: VirtualizedList._keyExtractor(item, index, props),\n isViewable,\n };\n };\n\n __getListMetrics(): ListMetricsAggregator {\n return this._listMetrics;\n }\n\n _getNonViewportRenderRegions = (\n props: CellMetricProps,\n ): $ReadOnlyArray<{\n first: number,\n last: number,\n }> => {\n // Keep a viewport's worth of content around the last focused cell to allow\n // random navigation around it without any blanking. E.g. tabbing from one\n // focused item out of viewport to another.\n if (\n !(this._lastFocusedCellKey && this._cellRefs[this._lastFocusedCellKey])\n ) {\n return [];\n }\n\n const lastFocusedCellRenderer = this._cellRefs[this._lastFocusedCellKey];\n const focusedCellIndex = lastFocusedCellRenderer.props.index;\n const itemCount = props.getItemCount(props.data);\n\n // The last cell we rendered may be at a new index. Bail if we don't know\n // where it is.\n if (\n focusedCellIndex >= itemCount ||\n VirtualizedList._getItemKey(props, focusedCellIndex) !==\n this._lastFocusedCellKey\n ) {\n return [];\n }\n\n let first = focusedCellIndex;\n let heightOfCellsBeforeFocused = 0;\n for (\n let i = first - 1;\n i >= 0 && heightOfCellsBeforeFocused < this._scrollMetrics.visibleLength;\n i--\n ) {\n first--;\n heightOfCellsBeforeFocused += this._listMetrics.getCellMetricsApprox(\n i,\n props,\n ).length;\n }\n\n let last = focusedCellIndex;\n let heightOfCellsAfterFocused = 0;\n for (\n let i = last + 1;\n i < itemCount &&\n heightOfCellsAfterFocused < this._scrollMetrics.visibleLength;\n i++\n ) {\n last++;\n heightOfCellsAfterFocused += this._listMetrics.getCellMetricsApprox(\n i,\n props,\n ).length;\n }\n\n return [{first, last}];\n };\n\n _updateViewableItems(\n props: CellMetricProps,\n cellsAroundViewport: {first: number, last: number},\n ) {\n // If we have any pending scroll updates it means that the scroll metrics\n // are out of date and we should not call any of the visibility callbacks.\n if (this.state.pendingScrollUpdateCount > 0) {\n return;\n }\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.onUpdate(\n props,\n this._scrollMetrics.offset,\n this._scrollMetrics.visibleLength,\n this._listMetrics,\n this._createViewToken,\n tuple.onViewableItemsChanged,\n cellsAroundViewport,\n );\n });\n }\n}\n\nconst styles = StyleSheet.create({\n verticallyInverted:\n Platform.OS === 'android'\n ? {transform: [{scale: -1}]}\n : {transform: [{scaleY: -1}]},\n horizontallyInverted: {\n transform: [{scaleX: -1}],\n },\n debug: {\n flex: 1,\n },\n debugOverlayBase: {\n position: 'absolute',\n top: 0,\n right: 0,\n },\n debugOverlay: {\n bottom: 0,\n width: 20,\n borderColor: 'blue',\n borderWidth: 1,\n },\n debugOverlayFrame: {\n left: 0,\n backgroundColor: 'orange',\n },\n debugOverlayFrameLast: {\n left: 0,\n borderColor: 'green',\n borderWidth: 2,\n },\n debugOverlayFrameVis: {\n left: 0,\n borderColor: 'red',\n borderWidth: 2,\n },\n});\n\nexport default VirtualizedList;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\nfunction clamp(min: number, value: number, max: number): number {\n if (value < min) {\n return min;\n }\n if (value > max) {\n return max;\n }\n return value;\n}\n\nexport default clamp;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\n/**\n * Intentional info-level logging for clear separation from ad-hoc console debug logging.\n */\nfunction infoLog(...args: Array): void {\n return console.log(...args);\n}\n\nexport default infoLog;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport invariant from 'invariant';\n\nexport default class ChildListCollection {\n _cellKeyToChildren: Map> = new Map();\n _childrenToCellKey: Map = new Map();\n\n add(list: TList, cellKey: string): void {\n invariant(\n !this._childrenToCellKey.has(list),\n 'Trying to add already present child list',\n );\n\n const cellLists = this._cellKeyToChildren.get(cellKey) ?? new Set();\n cellLists.add(list);\n this._cellKeyToChildren.set(cellKey, cellLists);\n\n this._childrenToCellKey.set(list, cellKey);\n }\n\n remove(list: TList): void {\n const cellKey = this._childrenToCellKey.get(list);\n invariant(cellKey != null, 'Trying to remove non-present child list');\n this._childrenToCellKey.delete(list);\n\n const cellLists = this._cellKeyToChildren.get(cellKey);\n invariant(cellLists, '_cellKeyToChildren should contain cellKey');\n cellLists.delete(list);\n\n if (cellLists.size === 0) {\n this._cellKeyToChildren.delete(cellKey);\n }\n }\n\n forEach(fn: TList => void): void {\n for (const listSet of this._cellKeyToChildren.values()) {\n for (const list of listSet) {\n fn(list);\n }\n }\n }\n\n forEachInCell(cellKey: string, fn: TList => void): void {\n const listSet = this._cellKeyToChildren.get(cellKey) ?? [];\n for (const list of listSet) {\n fn(list);\n }\n }\n\n anyInCell(cellKey: string, fn: TList => boolean): boolean {\n const listSet = this._cellKeyToChildren.get(cellKey) ?? [];\n for (const list of listSet) {\n if (fn(list)) {\n return true;\n }\n }\n return false;\n }\n\n size(): number {\n return this._childrenToCellKey.size;\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {CellMetricProps} from './ListMetricsAggregator';\n\nimport ListMetricsAggregator from './ListMetricsAggregator';\n\nexport type FillRateInfo = Info;\n\nclass Info {\n any_blank_count: number = 0;\n any_blank_ms: number = 0;\n any_blank_speed_sum: number = 0;\n mostly_blank_count: number = 0;\n mostly_blank_ms: number = 0;\n pixels_blank: number = 0;\n pixels_sampled: number = 0;\n pixels_scrolled: number = 0;\n total_time_spent: number = 0;\n sample_count: number = 0;\n}\n\nconst DEBUG = false;\n\nlet _listeners: Array<(Info) => void> = [];\nlet _minSampleCount = 10;\nlet _sampleRate = DEBUG ? 1 : null;\n\n/**\n * A helper class for detecting when the maximem fill rate of `VirtualizedList` is exceeded.\n * By default the sampling rate is set to zero and this will do nothing. If you want to collect\n * samples (e.g. to log them), make sure to call `FillRateHelper.setSampleRate(0.0-1.0)`.\n *\n * Listeners and sample rate are global for all `VirtualizedList`s - typical usage will combine with\n * `SceneTracker.getActiveScene` to determine the context of the events.\n */\nclass FillRateHelper {\n _anyBlankStartTime: ?number = null;\n _enabled = false;\n _listMetrics: ListMetricsAggregator;\n _info: Info = new Info();\n _mostlyBlankStartTime: ?number = null;\n _samplesStartTime: ?number = null;\n\n static addListener(callback: FillRateInfo => void): {\n remove: () => void,\n ...\n } {\n if (_sampleRate === null) {\n console.warn('Call `FillRateHelper.setSampleRate` before `addListener`.');\n }\n _listeners.push(callback);\n return {\n remove: () => {\n _listeners = _listeners.filter(listener => callback !== listener);\n },\n };\n }\n\n static setSampleRate(sampleRate: number) {\n _sampleRate = sampleRate;\n }\n\n static setMinSampleCount(minSampleCount: number) {\n _minSampleCount = minSampleCount;\n }\n\n constructor(listMetrics: ListMetricsAggregator) {\n this._listMetrics = listMetrics;\n this._enabled = (_sampleRate || 0) > Math.random();\n this._resetData();\n }\n\n activate() {\n if (this._enabled && this._samplesStartTime == null) {\n DEBUG && console.debug('FillRateHelper: activate');\n this._samplesStartTime = global.performance.now();\n }\n }\n\n deactivateAndFlush() {\n if (!this._enabled) {\n return;\n }\n const start = this._samplesStartTime; // const for flow\n if (start == null) {\n DEBUG &&\n console.debug('FillRateHelper: bail on deactivate with no start time');\n return;\n }\n if (this._info.sample_count < _minSampleCount) {\n // Don't bother with under-sampled events.\n this._resetData();\n return;\n }\n const total_time_spent = global.performance.now() - start;\n const info: any = {\n ...this._info,\n total_time_spent,\n };\n if (DEBUG) {\n const derived = {\n avg_blankness: this._info.pixels_blank / this._info.pixels_sampled,\n avg_speed: this._info.pixels_scrolled / (total_time_spent / 1000),\n avg_speed_when_any_blank:\n this._info.any_blank_speed_sum / this._info.any_blank_count,\n any_blank_per_min:\n this._info.any_blank_count / (total_time_spent / 1000 / 60),\n any_blank_time_frac: this._info.any_blank_ms / total_time_spent,\n mostly_blank_per_min:\n this._info.mostly_blank_count / (total_time_spent / 1000 / 60),\n mostly_blank_time_frac: this._info.mostly_blank_ms / total_time_spent,\n };\n for (const key in derived) {\n // $FlowFixMe[prop-missing]\n // $FlowFixMe[invalid-computed-prop]\n derived[key] = Math.round(1000 * derived[key]) / 1000;\n }\n console.debug('FillRateHelper deactivateAndFlush: ', {derived, info});\n }\n _listeners.forEach(listener => listener(info));\n this._resetData();\n }\n\n computeBlankness(\n props: {\n ...CellMetricProps,\n initialNumToRender?: ?number,\n ...\n },\n cellsAroundViewport: {\n first: number,\n last: number,\n ...\n },\n scrollMetrics: {\n dOffset: number,\n offset: number,\n velocity: number,\n visibleLength: number,\n ...\n },\n ): number {\n if (\n !this._enabled ||\n props.getItemCount(props.data) === 0 ||\n cellsAroundViewport.last < cellsAroundViewport.first ||\n this._samplesStartTime == null\n ) {\n return 0;\n }\n const {dOffset, offset, velocity, visibleLength} = scrollMetrics;\n\n // Denominator metrics that we track for all events - most of the time there is no blankness and\n // we want to capture that.\n this._info.sample_count++;\n this._info.pixels_sampled += Math.round(visibleLength);\n this._info.pixels_scrolled += Math.round(Math.abs(dOffset));\n const scrollSpeed = Math.round(Math.abs(velocity) * 1000); // px / sec\n\n // Whether blank now or not, record the elapsed time blank if we were blank last time.\n const now = global.performance.now();\n if (this._anyBlankStartTime != null) {\n this._info.any_blank_ms += now - this._anyBlankStartTime;\n }\n this._anyBlankStartTime = null;\n if (this._mostlyBlankStartTime != null) {\n this._info.mostly_blank_ms += now - this._mostlyBlankStartTime;\n }\n this._mostlyBlankStartTime = null;\n\n let blankTop = 0;\n let first = cellsAroundViewport.first;\n let firstFrame = this._listMetrics.getCellMetrics(first, props);\n while (\n first <= cellsAroundViewport.last &&\n (!firstFrame || !firstFrame.isMounted)\n ) {\n firstFrame = this._listMetrics.getCellMetrics(first, props);\n first++;\n }\n // Only count blankTop if we aren't rendering the first item, otherwise we will count the header\n // as blank.\n if (firstFrame && first > 0) {\n blankTop = Math.min(\n visibleLength,\n Math.max(0, firstFrame.offset - offset),\n );\n }\n let blankBottom = 0;\n let last = cellsAroundViewport.last;\n let lastFrame = this._listMetrics.getCellMetrics(last, props);\n while (\n last >= cellsAroundViewport.first &&\n (!lastFrame || !lastFrame.isMounted)\n ) {\n lastFrame = this._listMetrics.getCellMetrics(last, props);\n last--;\n }\n // Only count blankBottom if we aren't rendering the last item, otherwise we will count the\n // footer as blank.\n if (lastFrame && last < props.getItemCount(props.data) - 1) {\n const bottomEdge = lastFrame.offset + lastFrame.length;\n blankBottom = Math.min(\n visibleLength,\n Math.max(0, offset + visibleLength - bottomEdge),\n );\n }\n const pixels_blank = Math.round(blankTop + blankBottom);\n const blankness = pixels_blank / visibleLength;\n if (blankness > 0) {\n this._anyBlankStartTime = now;\n this._info.any_blank_speed_sum += scrollSpeed;\n this._info.any_blank_count++;\n this._info.pixels_blank += pixels_blank;\n if (blankness > 0.5) {\n this._mostlyBlankStartTime = now;\n this._info.mostly_blank_count++;\n }\n } else if (scrollSpeed < 0.01 || Math.abs(dOffset) < 1) {\n this.deactivateAndFlush();\n }\n return blankness;\n }\n\n enabled(): boolean {\n return this._enabled;\n }\n\n _resetData() {\n this._anyBlankStartTime = null;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n }\n}\n\nexport default FillRateHelper;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {VirtualizedListProps} from './VirtualizedListProps';\nimport type {LayoutRectangle} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport {keyExtractor as defaultKeyExtractor} from './VirtualizeUtils';\nimport invariant from 'invariant';\n\nexport type CellMetrics = {\n /**\n * Index of the item in the list\n */\n index: number,\n /**\n * Length of the cell along the scrolling axis\n */\n length: number,\n /**\n * Distance between this cell and the start of the list along the scrolling\n * axis\n */\n offset: number,\n /**\n * Whether the cell is last known to be mounted\n */\n isMounted: boolean,\n};\n\n// TODO: `inverted` can be incorporated here if it is moved to an order\n// based implementation instead of transform.\nexport type ListOrientation = {\n horizontal: boolean,\n rtl: boolean,\n};\n\n/**\n * Subset of VirtualizedList props needed to calculate cell metrics\n */\nexport type CellMetricProps = {\n data: VirtualizedListProps['data'],\n getItemCount: VirtualizedListProps['getItemCount'],\n getItem: VirtualizedListProps['getItem'],\n getItemLayout?: VirtualizedListProps['getItemLayout'],\n keyExtractor?: VirtualizedListProps['keyExtractor'],\n ...\n};\n\n/**\n * Provides an interface to query information about the metrics of a list and its cells.\n */\nexport default class ListMetricsAggregator {\n _averageCellLength = 0;\n _cellMetrics: Map = new Map();\n _contentLength: ?number;\n _highestMeasuredCellIndex = 0;\n _measuredCellsLength = 0;\n _measuredCellsCount = 0;\n _orientation: ListOrientation = {\n horizontal: false,\n rtl: false,\n };\n\n /**\n * Notify the ListMetricsAggregator that a cell has been laid out.\n *\n * @returns whether the cell layout has changed since last notification\n */\n notifyCellLayout({\n cellIndex,\n cellKey,\n orientation,\n layout,\n }: {\n cellIndex: number,\n cellKey: string,\n orientation: ListOrientation,\n layout: LayoutRectangle,\n }): boolean {\n this._invalidateIfOrientationChanged(orientation);\n\n const next: CellMetrics = {\n index: cellIndex,\n length: this._selectLength(layout),\n isMounted: true,\n offset: this.flowRelativeOffset(layout),\n };\n const curr = this._cellMetrics.get(cellKey);\n\n if (!curr || next.offset !== curr.offset || next.length !== curr.length) {\n if (curr) {\n const dLength = next.length - curr.length;\n this._measuredCellsLength += dLength;\n } else {\n this._measuredCellsLength += next.length;\n this._measuredCellsCount += 1;\n }\n\n this._averageCellLength =\n this._measuredCellsLength / this._measuredCellsCount;\n this._cellMetrics.set(cellKey, next);\n this._highestMeasuredCellIndex = Math.max(\n this._highestMeasuredCellIndex,\n cellIndex,\n );\n return true;\n } else {\n curr.isMounted = true;\n return false;\n }\n }\n\n /**\n * Notify ListMetricsAggregator that a cell has been unmounted.\n */\n notifyCellUnmounted(cellKey: string): void {\n const curr = this._cellMetrics.get(cellKey);\n if (curr) {\n curr.isMounted = false;\n }\n }\n\n /**\n * Notify ListMetricsAggregator that the lists content container has been laid out.\n */\n notifyListContentLayout({\n orientation,\n layout,\n }: {\n orientation: ListOrientation,\n layout: $ReadOnly<{width: number, height: number}>,\n }): void {\n this._invalidateIfOrientationChanged(orientation);\n this._contentLength = this._selectLength(layout);\n }\n\n /**\n * Return the average length of the cells which have been measured\n */\n getAverageCellLength(): number {\n return this._averageCellLength;\n }\n\n /**\n * Return the highest measured cell index (or 0 if nothing has been measured\n * yet)\n */\n getHighestMeasuredCellIndex(): number {\n return this._highestMeasuredCellIndex;\n }\n\n /**\n * Returns the exact metrics of a cell if it has already been laid out,\n * otherwise an estimate based on the average length of previously measured\n * cells\n */\n getCellMetricsApprox(index: number, props: CellMetricProps): CellMetrics {\n const frame = this.getCellMetrics(index, props);\n if (frame && frame.index === index) {\n // check for invalid frames due to row re-ordering\n return frame;\n } else {\n let offset;\n\n const highestMeasuredCellIndex = this.getHighestMeasuredCellIndex();\n if (highestMeasuredCellIndex < index) {\n // If any of the cells before this one have been laid out already, we\n // should use that information in the estimations.\n // This is important because if the list has a header, the initial cell\n // will have a larger offset that we should take into account here.\n const highestMeasuredCellFrame = this.getCellMetrics(\n highestMeasuredCellIndex,\n props,\n );\n if (highestMeasuredCellFrame) {\n offset =\n highestMeasuredCellFrame.offset +\n highestMeasuredCellFrame.length +\n this._averageCellLength * (index - highestMeasuredCellIndex - 1);\n }\n }\n\n if (offset == null) {\n offset = this._averageCellLength * index;\n }\n\n const {data, getItemCount} = props;\n invariant(\n index >= 0 && index < getItemCount(data),\n 'Tried to get frame for out of range index ' + index,\n );\n return {\n length: this._averageCellLength,\n offset,\n index,\n isMounted: false,\n };\n }\n }\n\n /**\n * Returns the exact metrics of a cell if it has already been laid out\n */\n getCellMetrics(index: number, props: CellMetricProps): ?CellMetrics {\n const {data, getItem, getItemCount, getItemLayout} = props;\n invariant(\n index >= 0 && index < getItemCount(data),\n 'Tried to get metrics for out of range cell index ' + index,\n );\n const keyExtractor = props.keyExtractor ?? defaultKeyExtractor;\n const frame = this._cellMetrics.get(\n keyExtractor(getItem(data, index), index),\n );\n if (frame && frame.index === index) {\n return frame;\n }\n\n if (getItemLayout) {\n const {length, offset} = getItemLayout(data, index);\n // TODO: `isMounted` is used for both \"is exact layout\" and \"has been\n // unmounted\". Should be refactored.\n return {index, length, offset, isMounted: true};\n }\n\n return null;\n }\n\n /**\n * Gets an approximate offset to an item at a given index. Supports\n * fractional indices.\n */\n getCellOffsetApprox(index: number, props: CellMetricProps): number {\n if (Number.isInteger(index)) {\n return this.getCellMetricsApprox(index, props).offset;\n } else {\n const frameMetrics = this.getCellMetricsApprox(Math.floor(index), props);\n const remainder = index - Math.floor(index);\n return frameMetrics.offset + remainder * frameMetrics.length;\n }\n }\n\n /**\n * Returns the length of all ScrollView content along the scrolling axis.\n */\n getContentLength(): number {\n return this._contentLength ?? 0;\n }\n\n /**\n * Whether a content length has been observed\n */\n hasContentLength(): boolean {\n return this._contentLength != null;\n }\n\n /**\n * Finds the flow-relative offset (e.g. starting from the left in LTR, but\n * right in RTL) from a layout box.\n */\n flowRelativeOffset(\n layout: LayoutRectangle,\n referenceContentLength?: ?number,\n ): number {\n const {horizontal, rtl} = this._orientation;\n\n if (horizontal && rtl) {\n const contentLength = referenceContentLength ?? this._contentLength;\n invariant(\n contentLength != null,\n 'ListMetricsAggregator must be notified of list content layout before resolving offsets',\n );\n return (\n contentLength -\n (this._selectOffset(layout) + this._selectLength(layout))\n );\n } else {\n return this._selectOffset(layout);\n }\n }\n\n /**\n * Converts a flow-relative offset to a cartesian offset\n */\n cartesianOffset(flowRelativeOffset: number): number {\n const {horizontal, rtl} = this._orientation;\n\n if (horizontal && rtl) {\n invariant(\n this._contentLength != null,\n 'ListMetricsAggregator must be notified of list content layout before resolving offsets',\n );\n return this._contentLength - flowRelativeOffset;\n } else {\n return flowRelativeOffset;\n }\n }\n\n _invalidateIfOrientationChanged(orientation: ListOrientation): void {\n if (orientation.rtl !== this._orientation.rtl) {\n this._cellMetrics.clear();\n }\n\n if (orientation.horizontal !== this._orientation.horizontal) {\n this._averageCellLength = 0;\n this._highestMeasuredCellIndex = 0;\n this._measuredCellsLength = 0;\n this._measuredCellsCount = 0;\n }\n\n this._orientation = orientation;\n }\n\n _selectLength({\n width,\n height,\n }: $ReadOnly<{width: number, height: number, ...}>): number {\n return this._orientation.horizontal ? width : height;\n }\n\n _selectOffset({x, y}: $ReadOnly<{x: number, y: number, ...}>): number {\n return this._orientation.horizontal ? x : y;\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport invariant from 'invariant';\nimport * as React from 'react';\n\n/**\n * `setState` is called asynchronously, and should not rely on the value of\n * `this.props` or `this.state`:\n * https://react.dev/docs/state-and-lifecycle.html#state-updates-may-be-asynchronous\n *\n * SafePureComponent adds runtime enforcement, to catch cases where these\n * variables are read in a state updater function, instead of the ones passed\n * in.\n */\nexport default class StateSafePureComponent<\n Props,\n State: interface {},\n> extends React.PureComponent {\n _inAsyncStateUpdate = false;\n\n constructor(props: Props) {\n super(props);\n this._installSetStateHooks();\n }\n\n setState>(\n partialState: ?(Pick | ((State, Props) => ?Pick)),\n callback?: () => mixed,\n ): void {\n if (typeof partialState === 'function') {\n super.setState((state, props) => {\n this._inAsyncStateUpdate = true;\n let ret;\n try {\n ret = partialState(state, props);\n } catch (err) {\n throw err;\n } finally {\n this._inAsyncStateUpdate = false;\n }\n return ret;\n }, callback);\n } else {\n super.setState(partialState, callback);\n }\n }\n\n _installSetStateHooks() {\n const that = this;\n let {props, state} = this;\n\n Object.defineProperty(this, 'props', {\n get() {\n invariant(\n !that._inAsyncStateUpdate,\n '\"this.props\" should not be accessed during state updates',\n );\n return props;\n },\n set(newProps: Props) {\n props = newProps;\n },\n });\n Object.defineProperty(this, 'state', {\n get() {\n invariant(\n !that._inAsyncStateUpdate,\n '\"this.state\" should not be acceessed during state updates',\n );\n return state;\n },\n set(newState: State) {\n state = newState;\n },\n });\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {CellMetricProps} from './ListMetricsAggregator';\n\nimport ListMetricsAggregator from './ListMetricsAggregator';\n\nconst invariant = require('invariant');\n\nexport type ViewToken = {\n item: any,\n key: string,\n index: ?number,\n isViewable: boolean,\n section?: any,\n ...\n};\n\nexport type ViewabilityConfigCallbackPair = {\n viewabilityConfig: ViewabilityConfig,\n onViewableItemsChanged: (info: {\n viewableItems: Array,\n changed: Array,\n ...\n }) => void,\n ...\n};\n\nexport type ViewabilityConfigCallbackPairs =\n Array;\n\nexport type ViewabilityConfig = $ReadOnly<{\n /**\n * Minimum amount of time (in milliseconds) that an item must be physically viewable before the\n * viewability callback will be fired. A high number means that scrolling through content without\n * stopping will not mark the content as viewable.\n */\n minimumViewTime?: number,\n\n /**\n * Percent of viewport that must be covered for a partially occluded item to count as\n * \"viewable\", 0-100. Fully visible items are always considered viewable. A value of 0 means\n * that a single pixel in the viewport makes the item viewable, and a value of 100 means that\n * an item must be either entirely visible or cover the entire viewport to count as viewable.\n */\n viewAreaCoveragePercentThreshold?: number,\n\n /**\n * Similar to `viewAreaPercentThreshold`, but considers the percent of the item that is visible,\n * rather than the fraction of the viewable area it covers.\n */\n itemVisiblePercentThreshold?: number,\n\n /**\n * Nothing is considered viewable until the user scrolls or `recordInteraction` is called after\n * render.\n */\n waitForInteraction?: boolean,\n}>;\n\n/**\n * A Utility class for calculating viewable items based on current metrics like scroll position and\n * layout.\n *\n * An item is said to be in a \"viewable\" state when any of the following\n * is true for longer than `minimumViewTime` milliseconds (after an interaction if `waitForInteraction`\n * is true):\n *\n * - Occupying >= `viewAreaCoveragePercentThreshold` of the view area XOR fraction of the item\n * visible in the view area >= `itemVisiblePercentThreshold`.\n * - Entirely visible on screen\n */\nclass ViewabilityHelper {\n _config: ViewabilityConfig;\n _hasInteracted: boolean = false;\n _timers: Set = new Set();\n _viewableIndices: Array = [];\n _viewableItems: Map = new Map();\n\n constructor(\n config: ViewabilityConfig = {viewAreaCoveragePercentThreshold: 0},\n ) {\n this._config = config;\n }\n\n /**\n * Cleanup, e.g. on unmount. Clears any pending timers.\n */\n dispose() {\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To see\n * the error delete this comment and run Flow. */\n this._timers.forEach(clearTimeout);\n }\n\n /**\n * Determines which items are viewable based on the current metrics and config.\n */\n computeViewableItems(\n props: CellMetricProps,\n scrollOffset: number,\n viewportHeight: number,\n listMetrics: ListMetricsAggregator,\n // Optional optimization to reduce the scan size\n renderRange?: {\n first: number,\n last: number,\n ...\n },\n ): Array {\n const itemCount = props.getItemCount(props.data);\n const {itemVisiblePercentThreshold, viewAreaCoveragePercentThreshold} =\n this._config;\n const viewAreaMode = viewAreaCoveragePercentThreshold != null;\n const viewablePercentThreshold = viewAreaMode\n ? viewAreaCoveragePercentThreshold\n : itemVisiblePercentThreshold;\n invariant(\n viewablePercentThreshold != null &&\n (itemVisiblePercentThreshold != null) !==\n (viewAreaCoveragePercentThreshold != null),\n 'Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold',\n );\n const viewableIndices = [];\n if (itemCount === 0) {\n return viewableIndices;\n }\n let firstVisible = -1;\n const {first, last} = renderRange || {first: 0, last: itemCount - 1};\n if (last >= itemCount) {\n console.warn(\n 'Invalid render range computing viewability ' +\n JSON.stringify({renderRange, itemCount}),\n );\n return [];\n }\n for (let idx = first; idx <= last; idx++) {\n const metrics = listMetrics.getCellMetrics(idx, props);\n if (!metrics) {\n continue;\n }\n const top = Math.floor(metrics.offset - scrollOffset);\n const bottom = Math.floor(top + metrics.length);\n\n if (top < viewportHeight && bottom > 0) {\n firstVisible = idx;\n if (\n _isViewable(\n viewAreaMode,\n viewablePercentThreshold,\n top,\n bottom,\n viewportHeight,\n metrics.length,\n )\n ) {\n viewableIndices.push(idx);\n }\n } else if (firstVisible >= 0) {\n break;\n }\n }\n return viewableIndices;\n }\n\n /**\n * Figures out which items are viewable and how that has changed from before and calls\n * `onViewableItemsChanged` as appropriate.\n */\n onUpdate(\n props: CellMetricProps,\n scrollOffset: number,\n viewportHeight: number,\n listMetrics: ListMetricsAggregator,\n createViewToken: (\n index: number,\n isViewable: boolean,\n props: CellMetricProps,\n ) => ViewToken,\n onViewableItemsChanged: ({\n viewableItems: Array,\n changed: Array,\n ...\n }) => void,\n // Optional optimization to reduce the scan size\n renderRange?: {\n first: number,\n last: number,\n ...\n },\n ): void {\n const itemCount = props.getItemCount(props.data);\n if (\n (this._config.waitForInteraction && !this._hasInteracted) ||\n itemCount === 0 ||\n !listMetrics.getCellMetrics(0, props)\n ) {\n return;\n }\n let viewableIndices: Array = [];\n if (itemCount) {\n viewableIndices = this.computeViewableItems(\n props,\n scrollOffset,\n viewportHeight,\n listMetrics,\n renderRange,\n );\n }\n if (\n this._viewableIndices.length === viewableIndices.length &&\n this._viewableIndices.every((v, ii) => v === viewableIndices[ii])\n ) {\n // We might get a lot of scroll events where visibility doesn't change and we don't want to do\n // extra work in those cases.\n return;\n }\n this._viewableIndices = viewableIndices;\n if (this._config.minimumViewTime) {\n const handle: TimeoutID = setTimeout(() => {\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To\n * see the error delete this comment and run Flow. */\n this._timers.delete(handle);\n this._onUpdateSync(\n props,\n viewableIndices,\n onViewableItemsChanged,\n createViewToken,\n );\n }, this._config.minimumViewTime);\n /* $FlowFixMe[incompatible-call] (>=0.63.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.63 was deployed. To see\n * the error delete this comment and run Flow. */\n this._timers.add(handle);\n } else {\n this._onUpdateSync(\n props,\n viewableIndices,\n onViewableItemsChanged,\n createViewToken,\n );\n }\n }\n\n /**\n * clean-up cached _viewableIndices to evaluate changed items on next update\n */\n resetViewableIndices() {\n this._viewableIndices = [];\n }\n\n /**\n * Records that an interaction has happened even if there has been no scroll.\n */\n recordInteraction() {\n this._hasInteracted = true;\n }\n\n _onUpdateSync(\n props: CellMetricProps,\n viewableIndicesToCheck: Array,\n onViewableItemsChanged: ({\n changed: Array,\n viewableItems: Array,\n ...\n }) => void,\n createViewToken: (\n index: number,\n isViewable: boolean,\n props: CellMetricProps,\n ) => ViewToken,\n ) {\n // Filter out indices that have gone out of view since this call was scheduled.\n viewableIndicesToCheck = viewableIndicesToCheck.filter(ii =>\n this._viewableIndices.includes(ii),\n );\n const prevItems = this._viewableItems;\n const nextItems = new Map(\n viewableIndicesToCheck.map(ii => {\n const viewable = createViewToken(ii, true, props);\n return [viewable.key, viewable];\n }),\n );\n\n const changed = [];\n for (const [key, viewable] of nextItems) {\n if (!prevItems.has(key)) {\n changed.push(viewable);\n }\n }\n for (const [key, viewable] of prevItems) {\n if (!nextItems.has(key)) {\n changed.push({...viewable, isViewable: false});\n }\n }\n if (changed.length > 0) {\n this._viewableItems = nextItems;\n onViewableItemsChanged({\n viewableItems: Array.from(nextItems.values()),\n changed,\n viewabilityConfig: this._config,\n });\n }\n }\n}\n\nfunction _isViewable(\n viewAreaMode: boolean,\n viewablePercentThreshold: number,\n top: number,\n bottom: number,\n viewportHeight: number,\n itemLength: number,\n): boolean {\n if (_isEntirelyVisible(top, bottom, viewportHeight)) {\n return true;\n } else {\n const pixels = _getPixelsVisible(top, bottom, viewportHeight);\n const percent =\n 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);\n return percent >= viewablePercentThreshold;\n }\n}\n\nfunction _getPixelsVisible(\n top: number,\n bottom: number,\n viewportHeight: number,\n): number {\n const visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);\n return Math.max(0, visibleHeight);\n}\n\nfunction _isEntirelyVisible(\n top: number,\n bottom: number,\n viewportHeight: number,\n): boolean {\n return top >= 0 && bottom <= viewportHeight && bottom > top;\n}\n\nexport default ViewabilityHelper;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {CellRendererProps, ListRenderItem} from './VirtualizedListProps';\nimport type {ViewStyleProp} from 'react-native/Libraries/StyleSheet/StyleSheet';\nimport type {\n FocusEvent,\n LayoutChangeEvent,\n} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport {VirtualizedListCellContextProvider} from './VirtualizedListContext.js';\nimport invariant from 'invariant';\nimport * as React from 'react';\nimport {StyleSheet, View} from 'react-native';\n\nexport type Props = {\n CellRendererComponent?: ?React.ComponentType>,\n ItemSeparatorComponent: ?React.ComponentType<\n any | {highlighted: boolean, leadingItem: ?ItemT},\n >,\n ListItemComponent?: ?(React.ComponentType | React.MixedElement),\n cellKey: string,\n horizontal: ?boolean,\n index: number,\n inversionStyle: ViewStyleProp,\n item: ItemT,\n onCellLayout?: (\n event: LayoutChangeEvent,\n cellKey: string,\n index: number,\n ) => void,\n onCellFocusCapture?: (cellKey: string) => void,\n onUnmount: (cellKey: string) => void,\n onUpdateSeparators: (\n cellKeys: Array,\n props: Partial>,\n ) => void,\n prevCellKey: ?string,\n renderItem?: ?ListRenderItem,\n ...\n};\n\ntype SeparatorProps = $ReadOnly<{\n highlighted: boolean,\n leadingItem: ?ItemT,\n}>;\n\ntype State = {\n separatorProps: SeparatorProps,\n ...\n};\n\nexport default class CellRenderer extends React.PureComponent<\n Props,\n State,\n> {\n state: State = {\n separatorProps: {\n highlighted: false,\n leadingItem: this.props.item,\n },\n };\n\n static getDerivedStateFromProps(\n props: Props,\n prevState: State,\n ): ?State {\n if (props.item !== prevState.separatorProps.leadingItem) {\n return {\n separatorProps: {\n ...prevState.separatorProps,\n leadingItem: props.item,\n },\n };\n }\n return null;\n }\n\n // TODO: consider factoring separator stuff out of VirtualizedList into FlatList since it's not\n // reused by SectionList and we can keep VirtualizedList simpler.\n // $FlowFixMe[missing-local-annot]\n _separators = {\n highlight: () => {\n const {cellKey, prevCellKey} = this.props;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: true,\n });\n },\n unhighlight: () => {\n const {cellKey, prevCellKey} = this.props;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: false,\n });\n },\n updateProps: (\n select: 'leading' | 'trailing',\n newProps: SeparatorProps,\n ) => {\n const {cellKey, prevCellKey} = this.props;\n this.props.onUpdateSeparators(\n [select === 'leading' ? prevCellKey : cellKey],\n newProps,\n );\n },\n };\n\n updateSeparatorProps(newProps: SeparatorProps) {\n this.setState(state => ({\n separatorProps: {...state.separatorProps, ...newProps},\n }));\n }\n\n componentWillUnmount() {\n this.props.onUnmount(this.props.cellKey);\n }\n\n _onLayout = (nativeEvent: LayoutChangeEvent): void => {\n this.props.onCellLayout?.(\n nativeEvent,\n this.props.cellKey,\n this.props.index,\n );\n };\n\n _onCellFocusCapture = (e: FocusEvent): void => {\n this.props.onCellFocusCapture?.(this.props.cellKey);\n };\n\n _renderElement(\n renderItem: ?ListRenderItem,\n ListItemComponent: any,\n item: ItemT,\n index: number,\n ): React.Node {\n if (renderItem && ListItemComponent) {\n console.warn(\n 'VirtualizedList: Both ListItemComponent and renderItem props are present. ListItemComponent will take' +\n ' precedence over renderItem.',\n );\n }\n\n if (ListItemComponent) {\n return (\n \n );\n }\n\n if (renderItem) {\n return renderItem({\n item,\n index,\n separators: this._separators,\n });\n }\n\n invariant(\n false,\n 'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.',\n );\n }\n\n render(): React.Node {\n const {\n CellRendererComponent,\n ItemSeparatorComponent,\n ListItemComponent,\n cellKey,\n horizontal,\n item,\n index,\n inversionStyle,\n onCellLayout,\n renderItem,\n } = this.props;\n const element = this._renderElement(\n renderItem,\n ListItemComponent,\n item,\n index,\n );\n\n // NOTE: that when this is a sticky header, `onLayout` will get automatically extracted and\n // called explicitly by `ScrollViewStickyHeader`.\n const itemSeparator: React.Node = React.isValidElement(\n ItemSeparatorComponent,\n )\n ? // $FlowFixMe[incompatible-type]\n ItemSeparatorComponent\n : // $FlowFixMe[incompatible-type]\n ItemSeparatorComponent && (\n \n );\n const cellStyle = inversionStyle\n ? horizontal\n ? [styles.rowReverse, inversionStyle]\n : [styles.columnReverse, inversionStyle]\n : horizontal\n ? [styles.row, inversionStyle]\n : inversionStyle;\n const result = !CellRendererComponent ? (\n \n {element}\n {itemSeparator}\n \n ) : (\n \n {element}\n {itemSeparator}\n \n );\n\n return (\n \n {result}\n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n row: {\n flexDirection: 'row',\n },\n rowReverse: {\n flexDirection: 'row-reverse',\n },\n columnReverse: {\n flexDirection: 'column-reverse',\n },\n});\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport typeof VirtualizedList from './VirtualizedList';\n\nimport * as React from 'react';\nimport {useContext, useMemo} from 'react';\n\ntype Context = $ReadOnly<{\n cellKey: ?string,\n getScrollMetrics: () => {\n contentLength: number,\n dOffset: number,\n dt: number,\n offset: number,\n timestamp: number,\n velocity: number,\n visibleLength: number,\n zoomScale: number,\n },\n horizontal: ?boolean,\n getOutermostParentListRef: () => React.ElementRef,\n registerAsNestedChild: ({\n cellKey: string,\n ref: React.ElementRef,\n }) => void,\n unregisterAsNestedChild: ({ref: React.ElementRef}) => void,\n}>;\n\nexport const VirtualizedListContext: React.Context =\n React.createContext(null);\nif (__DEV__) {\n VirtualizedListContext.displayName = 'VirtualizedListContext';\n}\n\n/**\n * Resets the context. Intended for use by portal-like components (e.g. Modal).\n */\nexport function VirtualizedListContextResetter({\n children,\n}: {\n children: React.Node,\n}): React.Node {\n return (\n \n {children}\n \n );\n}\n\n/**\n * Sets the context with memoization. Intended to be used by `VirtualizedList`.\n */\nexport function VirtualizedListContextProvider({\n children,\n value,\n}: {\n children: React.Node,\n value: Context,\n}): React.Node {\n // Avoid setting a newly created context object if the values are identical.\n const context = useMemo(\n () => ({\n cellKey: null,\n getScrollMetrics: value.getScrollMetrics,\n horizontal: value.horizontal,\n getOutermostParentListRef: value.getOutermostParentListRef,\n registerAsNestedChild: value.registerAsNestedChild,\n unregisterAsNestedChild: value.unregisterAsNestedChild,\n }),\n [\n value.getScrollMetrics,\n value.horizontal,\n value.getOutermostParentListRef,\n value.registerAsNestedChild,\n value.unregisterAsNestedChild,\n ],\n );\n return (\n \n {children}\n \n );\n}\n\n/**\n * Sets the `cellKey`. Intended to be used by `VirtualizedList` for each cell.\n */\nexport function VirtualizedListCellContextProvider({\n cellKey,\n children,\n}: {\n cellKey: string,\n children: React.Node,\n}): React.Node {\n // Avoid setting a newly created context object if the values are identical.\n const currContext = useContext(VirtualizedListContext);\n const context = useMemo(\n () => (currContext == null ? null : {...currContext, cellKey}),\n [currContext, cellKey],\n );\n return (\n \n {children}\n \n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {\n ViewabilityConfig,\n ViewabilityConfigCallbackPair,\n ViewToken,\n} from './ViewabilityHelper';\nimport type {ViewStyleProp} from 'react-native/Libraries/StyleSheet/StyleSheet';\nimport type {\n FocusEvent,\n LayoutChangeEvent,\n} from 'react-native/Libraries/Types/CoreEventTypes';\n\nimport * as React from 'react';\nimport {typeof ScrollView} from 'react-native';\n\nexport type Item = any;\n\nexport type Separators = {\n highlight: () => void,\n unhighlight: () => void,\n updateProps: (select: 'leading' | 'trailing', newProps: Object) => void,\n ...\n};\n\nexport type ListRenderItemInfo = {\n item: ItemT,\n index: number,\n separators: Separators,\n ...\n};\n\nexport type CellRendererProps = $ReadOnly<{\n cellKey: string,\n children: React.Node,\n index: number,\n item: ItemT,\n onFocusCapture?: (event: FocusEvent) => void,\n onLayout?: (event: LayoutChangeEvent) => void,\n style: ViewStyleProp,\n}>;\n\nexport type ListRenderItem = (\n info: ListRenderItemInfo,\n) => React.Node;\n\ntype RequiredProps = {\n /**\n * The default accessor functions assume this is an Array<{key: string} | {id: string}> but you can override\n * getItem, getItemCount, and keyExtractor to handle any type of index-based data.\n */\n data?: any,\n /**\n * A generic accessor for extracting an item from any sort of data blob.\n */\n getItem: (data: any, index: number) => ?Item,\n /**\n * Determines how many items are in the data blob.\n */\n getItemCount: (data: any) => number,\n};\ntype OptionalProps = {\n renderItem?: ?ListRenderItem,\n /**\n * `debug` will turn on extra logging and visual overlays to aid with debugging both usage and\n * implementation, but with a significant perf hit.\n */\n debug?: ?boolean,\n /**\n * DEPRECATED: Virtualization provides significant performance and memory optimizations, but fully\n * unmounts react instances that are outside of the render window. You should only need to disable\n * this for debugging purposes. Defaults to false.\n */\n disableVirtualization?: ?boolean,\n /**\n * A marker property for telling the list to re-render (since it implements `PureComponent`). If\n * any of your `renderItem`, Header, Footer, etc. functions depend on anything outside of the\n * `data` prop, stick it here and treat it immutably.\n */\n extraData?: any,\n // e.g. height, y\n getItemLayout?: (\n data: any,\n index: number,\n ) => {\n length: number,\n offset: number,\n index: number,\n ...\n },\n horizontal?: ?boolean,\n /**\n * How many items to render in the initial batch. This should be enough to fill the screen but not\n * much more. Note these items will never be unmounted as part of the windowed rendering in order\n * to improve perceived performance of scroll-to-top actions.\n */\n initialNumToRender?: ?number,\n /**\n * Instead of starting at the top with the first item, start at `initialScrollIndex`. This\n * disables the \"scroll to top\" optimization that keeps the first `initialNumToRender` items\n * always rendered and immediately renders the items starting at this initial index. Requires\n * `getItemLayout` to be implemented.\n */\n initialScrollIndex?: ?number,\n /**\n * Reverses the direction of scroll. Uses scale transforms of -1.\n */\n inverted?: ?boolean,\n keyExtractor?: ?(item: Item, index: number) => string,\n /**\n * CellRendererComponent allows customizing how cells rendered by\n * `renderItem`/`ListItemComponent` are wrapped when placed into the\n * underlying ScrollView. This component must accept event handlers which\n * notify VirtualizedList of changes within the cell.\n */\n CellRendererComponent?: ?React.ComponentType>,\n /**\n * Rendered in between each item, but not at the top or bottom. By default, `highlighted` and\n * `leadingItem` props are provided. `renderItem` provides `separators.highlight`/`unhighlight`\n * which will update the `highlighted` prop, but you can also add custom props with\n * `separators.updateProps`.\n */\n ItemSeparatorComponent?: ?React.ComponentType,\n /**\n * Takes an item from `data` and renders it into the list. Example usage:\n *\n * (\n * \n * )}\n * data={[{title: 'Title Text', key: 'item1'}]}\n * ListItemComponent={({item, separators}) => (\n * this._onPress(item)}\n * onShowUnderlay={separators.highlight}\n * onHideUnderlay={separators.unhighlight}>\n * \n * {item.title}\n * \n * \n * )}\n * />\n *\n * Provides additional metadata like `index` if you need it, as well as a more generic\n * `separators.updateProps` function which let's you set whatever props you want to change the\n * rendering of either the leading separator or trailing separator in case the more common\n * `highlight` and `unhighlight` (which set the `highlighted: boolean` prop) are insufficient for\n * your use-case.\n */\n ListItemComponent?: ?(React.ComponentType | React.MixedElement),\n /**\n * Rendered when the list is empty. Can be a React Component Class, a render function, or\n * a rendered element.\n */\n ListEmptyComponent?: ?(React.ComponentType | React.MixedElement),\n /**\n * Rendered at the bottom of all the items. Can be a React Component Class, a render function, or\n * a rendered element.\n */\n ListFooterComponent?: ?(React.ComponentType | React.MixedElement),\n /**\n * Styling for internal View for ListFooterComponent\n */\n ListFooterComponentStyle?: ViewStyleProp,\n /**\n * Rendered at the top of all the items. Can be a React Component Class, a render function, or\n * a rendered element.\n */\n ListHeaderComponent?: ?(React.ComponentType | React.MixedElement),\n /**\n * Styling for internal View for ListHeaderComponent\n */\n ListHeaderComponentStyle?: ViewStyleProp,\n /**\n * The maximum number of items to render in each incremental render batch. The more rendered at\n * once, the better the fill rate, but responsiveness may suffer because rendering content may\n * interfere with responding to button taps or other interactions.\n */\n maxToRenderPerBatch?: ?number,\n /**\n * Called once when the scroll position gets within within `onEndReachedThreshold`\n * from the logical end of the list.\n */\n onEndReached?: ?(info: {distanceFromEnd: number, ...}) => void,\n /**\n * How far from the end (in units of visible length of the list) the trailing edge of the\n * list must be from the end of the content to trigger the `onEndReached` callback.\n * Thus, a value of 0.5 will trigger `onEndReached` when the end of the content is\n * within half the visible length of the list.\n */\n onEndReachedThreshold?: ?number,\n /**\n * If provided, a standard RefreshControl will be added for \"Pull to Refresh\" functionality. Make\n * sure to also set the `refreshing` prop correctly.\n */\n onRefresh?: ?() => void,\n /**\n * Used to handle failures when scrolling to an index that has not been measured yet. Recommended\n * action is to either compute your own offset and `scrollTo` it, or scroll as far as possible and\n * then try again after more items have been rendered.\n */\n onScrollToIndexFailed?: ?(info: {\n index: number,\n highestMeasuredFrameIndex: number,\n averageItemLength: number,\n ...\n }) => void,\n /**\n * Called once when the scroll position gets within within `onStartReachedThreshold`\n * from the logical start of the list.\n */\n onStartReached?: ?(info: {distanceFromStart: number, ...}) => void,\n /**\n * How far from the start (in units of visible length of the list) the leading edge of the\n * list must be from the start of the content to trigger the `onStartReached` callback.\n * Thus, a value of 0.5 will trigger `onStartReached` when the start of the content is\n * within half the visible length of the list.\n */\n onStartReachedThreshold?: ?number,\n /**\n * Called when the viewability of rows changes, as defined by the\n * `viewabilityConfig` prop.\n */\n onViewableItemsChanged?: ?(info: {\n viewableItems: Array,\n changed: Array,\n ...\n }) => void,\n persistentScrollbar?: ?boolean,\n /**\n * Set this when offset is needed for the loading indicator to show correctly.\n */\n progressViewOffset?: number,\n /**\n * A custom refresh control element. When set, it overrides the default\n * component built internally. The onRefresh and refreshing\n * props are also ignored. Only works for vertical VirtualizedList.\n */\n refreshControl?: ?React.MixedElement,\n /**\n * Set this true while waiting for new data from a refresh.\n */\n refreshing?: ?boolean,\n /**\n * Note: may have bugs (missing content) in some circumstances - use at your own risk.\n *\n * This may improve scroll performance for large lists.\n */\n removeClippedSubviews?: boolean,\n /**\n * Render a custom scroll component, e.g. with a differently styled `RefreshControl`.\n */\n renderScrollComponent?: (props: Object) => React.MixedElement,\n /**\n * Amount of time between low-pri item render batches, e.g. for rendering items quite a ways off\n * screen. Similar fill rate/responsiveness tradeoff as `maxToRenderPerBatch`.\n */\n updateCellsBatchingPeriod?: ?number,\n /**\n * See `ViewabilityHelper` for flow type and further documentation.\n */\n viewabilityConfig?: ViewabilityConfig,\n /**\n * List of ViewabilityConfig/onViewableItemsChanged pairs. A specific onViewableItemsChanged\n * will be called when its corresponding ViewabilityConfig's conditions are met.\n */\n viewabilityConfigCallbackPairs?: Array,\n /**\n * Determines the maximum number of items rendered outside of the visible area, in units of\n * visible lengths. So if your list fills the screen, then `windowSize={21}` (the default) will\n * render the visible screen area plus up to 10 screens above and 10 below the viewport. Reducing\n * this number will reduce memory consumption and may improve performance, but will increase the\n * chance that fast scrolling may reveal momentary blank areas of unrendered content.\n */\n windowSize?: ?number,\n};\n\nexport type VirtualizedListProps = {\n ...React.ElementConfig,\n ...RequiredProps,\n ...OptionalProps,\n};\n\n/**\n * Default Props Helper Functions\n * Use the following helper functions for default values\n */\n\n// horizontalOrDefault(this.props.horizontal)\nexport function horizontalOrDefault(horizontal: ?boolean): boolean {\n return horizontal ?? false;\n}\n\n// initialNumToRenderOrDefault(this.props.initialNumToRender)\nexport function initialNumToRenderOrDefault(\n initialNumToRender: ?number,\n): number {\n return initialNumToRender ?? 10;\n}\n\n// maxToRenderPerBatchOrDefault(this.props.maxToRenderPerBatch)\nexport function maxToRenderPerBatchOrDefault(\n maxToRenderPerBatch: ?number,\n): number {\n return maxToRenderPerBatch ?? 10;\n}\n\n// onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold)\nexport function onStartReachedThresholdOrDefault(\n onStartReachedThreshold: ?number,\n): number {\n return onStartReachedThreshold ?? 2;\n}\n\n// onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold)\nexport function onEndReachedThresholdOrDefault(\n onEndReachedThreshold: ?number,\n): number {\n return onEndReachedThreshold ?? 2;\n}\n\n// windowSizeOrDefault(this.props.windowSize)\nexport function windowSizeOrDefault(windowSize: ?number): number {\n return windowSize ?? 21;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport invariant from 'invariant';\n\nexport type CellRegion = {\n first: number,\n last: number,\n isSpacer: boolean,\n};\n\nexport class CellRenderMask {\n _numCells: number;\n _regions: Array;\n\n constructor(numCells: number) {\n invariant(\n numCells >= 0,\n 'CellRenderMask must contain a non-negative number os cells',\n );\n\n this._numCells = numCells;\n\n if (numCells === 0) {\n this._regions = [];\n } else {\n this._regions = [\n {\n first: 0,\n last: numCells - 1,\n isSpacer: true,\n },\n ];\n }\n }\n\n enumerateRegions(): $ReadOnlyArray {\n return this._regions;\n }\n\n addCells(cells: {first: number, last: number}): void {\n invariant(\n cells.first >= 0 &&\n cells.first < this._numCells &&\n cells.last >= -1 &&\n cells.last < this._numCells &&\n cells.last >= cells.first - 1,\n 'CellRenderMask.addCells called with invalid cell range',\n );\n\n // VirtualizedList uses inclusive ranges, where zero-count states are\n // possible. E.g. [0, -1] for no cells, starting at 0.\n if (cells.last < cells.first) {\n return;\n }\n\n const [firstIntersect, firstIntersectIdx] = this._findRegion(cells.first);\n const [lastIntersect, lastIntersectIdx] = this._findRegion(cells.last);\n\n // Fast-path if the cells to add are already all present in the mask. We\n // will otherwise need to do some mutation.\n if (firstIntersectIdx === lastIntersectIdx && !firstIntersect.isSpacer) {\n return;\n }\n\n // We need to replace the existing covered regions with 1-3 new regions\n // depending whether we need to split spacers out of overlapping regions.\n const newLeadRegion: Array = [];\n const newTailRegion: Array = [];\n const newMainRegion: CellRegion = {\n ...cells,\n isSpacer: false,\n };\n\n if (firstIntersect.first < newMainRegion.first) {\n if (firstIntersect.isSpacer) {\n newLeadRegion.push({\n first: firstIntersect.first,\n last: newMainRegion.first - 1,\n isSpacer: true,\n });\n } else {\n newMainRegion.first = firstIntersect.first;\n }\n }\n\n if (lastIntersect.last > newMainRegion.last) {\n if (lastIntersect.isSpacer) {\n newTailRegion.push({\n first: newMainRegion.last + 1,\n last: lastIntersect.last,\n isSpacer: true,\n });\n } else {\n newMainRegion.last = lastIntersect.last;\n }\n }\n\n const replacementRegions: Array = [\n ...newLeadRegion,\n newMainRegion,\n ...newTailRegion,\n ];\n const numRegionsToDelete = lastIntersectIdx - firstIntersectIdx + 1;\n this._regions.splice(\n firstIntersectIdx,\n numRegionsToDelete,\n ...replacementRegions,\n );\n }\n\n numCells(): number {\n return this._numCells;\n }\n\n equals(other: CellRenderMask): boolean {\n return (\n this._numCells === other._numCells &&\n this._regions.length === other._regions.length &&\n this._regions.every(\n (region, i) =>\n region.first === other._regions[i].first &&\n region.last === other._regions[i].last &&\n region.isSpacer === other._regions[i].isSpacer,\n )\n );\n }\n\n _findRegion(cellIdx: number): [CellRegion, number] {\n let firstIdx = 0;\n let lastIdx = this._regions.length - 1;\n\n while (firstIdx <= lastIdx) {\n const middleIdx = Math.floor((firstIdx + lastIdx) / 2);\n const middleRegion = this._regions[middleIdx];\n\n if (cellIdx >= middleRegion.first && cellIdx <= middleRegion.last) {\n return [middleRegion, middleIdx];\n } else if (cellIdx < middleRegion.first) {\n lastIdx = middleIdx - 1;\n } else if (cellIdx > middleRegion.last) {\n firstIdx = middleIdx + 1;\n }\n }\n\n invariant(false, `A region was not found containing cellIdx ${cellIdx}`);\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {ViewToken} from './ViewabilityHelper';\n\nimport VirtualizedList from './VirtualizedList';\nimport {keyExtractor as defaultKeyExtractor} from './VirtualizeUtils';\nimport invariant from 'invariant';\nimport * as React from 'react';\ntype Item = any;\n\nexport type SectionBase = {\n /**\n * The data for rendering items in this section.\n */\n data: $ReadOnlyArray,\n /**\n * Optional key to keep track of section re-ordering. If you don't plan on re-ordering sections,\n * the array index will be used by default.\n */\n key?: string,\n // Optional props will override list-wide props just for this section.\n renderItem?: ?(info: {\n item: SectionItemT,\n index: number,\n section: SectionBase,\n separators: {\n highlight: () => void,\n unhighlight: () => void,\n updateProps: (select: 'leading' | 'trailing', newProps: Object) => void,\n ...\n },\n ...\n }) => null | React.MixedElement,\n ItemSeparatorComponent?: ?React.ComponentType,\n keyExtractor?: (item: SectionItemT, index?: ?number) => string,\n ...\n};\n\ntype RequiredProps> = {\n sections: $ReadOnlyArray,\n};\n\ntype OptionalProps> = {\n /**\n * Default renderer for every item in every section.\n */\n renderItem?: (info: {\n item: Item,\n index: number,\n section: SectionT,\n separators: {\n highlight: () => void,\n unhighlight: () => void,\n updateProps: (select: 'leading' | 'trailing', newProps: Object) => void,\n ...\n },\n ...\n }) => null | React.Node,\n /**\n * Rendered at the top of each section. These stick to the top of the `ScrollView` by default on\n * iOS. See `stickySectionHeadersEnabled`.\n */\n renderSectionHeader?: ?(info: {section: SectionT, ...}) => null | React.Node,\n /**\n * Rendered at the bottom of each section.\n */\n renderSectionFooter?: ?(info: {section: SectionT, ...}) => null | React.Node,\n /**\n * Rendered at the top and bottom of each section (note this is different from\n * `ItemSeparatorComponent` which is only rendered between items). These are intended to separate\n * sections from the headers above and below and typically have the same highlight response as\n * `ItemSeparatorComponent`. Also receives `highlighted`, `[leading/trailing][Item/Separator]`,\n * and any custom props from `separators.updateProps`.\n */\n SectionSeparatorComponent?: ?React.ComponentType,\n /**\n * Makes section headers stick to the top of the screen until the next one pushes it off. Only\n * enabled by default on iOS because that is the platform standard there.\n */\n stickySectionHeadersEnabled?: boolean,\n onEndReached?: ?({distanceFromEnd: number, ...}) => void,\n};\n\ntype VirtualizedListProps = React.ElementConfig;\n\nexport type VirtualizedSectionListProps> = {\n ...RequiredProps,\n ...OptionalProps,\n ...$Diff<\n VirtualizedListProps,\n {\n renderItem: $PropertyType,\n data: $PropertyType,\n ...\n },\n >,\n};\nexport type ScrollToLocationParamsType = {\n animated?: ?boolean,\n itemIndex: number,\n sectionIndex: number,\n viewOffset?: number,\n viewPosition?: number,\n};\n\ntype State = {childProps: VirtualizedListProps, ...};\n\n/**\n * Right now this just flattens everything into one list and uses VirtualizedList under the\n * hood. The only operation that might not scale well is concatting the data arrays of all the\n * sections when new props are received, which should be plenty fast for up to ~10,000 items.\n */\nclass VirtualizedSectionList<\n SectionT: SectionBase,\n> extends React.PureComponent, State> {\n scrollToLocation(params: ScrollToLocationParamsType) {\n let index = params.itemIndex;\n for (let i = 0; i < params.sectionIndex; i++) {\n index += this.props.getItemCount(this.props.sections[i].data) + 2;\n }\n let viewOffset = params.viewOffset || 0;\n if (this._listRef == null) {\n return;\n }\n const listRef = this._listRef;\n if (params.itemIndex > 0 && this.props.stickySectionHeadersEnabled) {\n const frame = listRef\n .__getListMetrics()\n .getCellMetricsApprox(index - params.itemIndex, listRef.props);\n viewOffset += frame.length;\n }\n const toIndexParams = {\n ...params,\n viewOffset,\n index,\n };\n // $FlowFixMe[incompatible-use]\n this._listRef.scrollToIndex(toIndexParams);\n }\n\n getListRef(): ?VirtualizedList {\n return this._listRef;\n }\n\n render(): React.Node {\n const {\n ItemSeparatorComponent, // don't pass through, rendered with renderItem\n SectionSeparatorComponent,\n renderItem: _renderItem,\n renderSectionFooter,\n renderSectionHeader,\n sections: _sections,\n stickySectionHeadersEnabled,\n ...passThroughProps\n } = this.props;\n\n const listHeaderOffset = this.props.ListHeaderComponent ? 1 : 0;\n\n const stickyHeaderIndices = this.props.stickySectionHeadersEnabled\n ? ([]: Array)\n : undefined;\n\n let itemCount = 0;\n for (const section of this.props.sections) {\n // Track the section header indices\n if (stickyHeaderIndices != null) {\n stickyHeaderIndices.push(itemCount + listHeaderOffset);\n }\n\n // Add two for the section header and footer.\n itemCount += 2;\n itemCount += this.props.getItemCount(section.data);\n }\n const renderItem = this._renderItem(itemCount);\n\n return (\n \n this._getItem(this.props, sections, index)\n }\n getItemCount={() => itemCount}\n onViewableItemsChanged={\n this.props.onViewableItemsChanged\n ? this._onViewableItemsChanged\n : undefined\n }\n ref={this._captureRef}\n />\n );\n }\n\n _getItem(\n props: VirtualizedSectionListProps,\n sections: ?$ReadOnlyArray,\n index: number,\n ): ?Item {\n if (!sections) {\n return null;\n }\n let itemIdx = index - 1;\n for (let i = 0; i < sections.length; i++) {\n const section = sections[i];\n const sectionData = section.data;\n const itemCount = props.getItemCount(sectionData);\n if (itemIdx === -1 || itemIdx === itemCount) {\n // We intend for there to be overflow by one on both ends of the list.\n // This will be for headers and footers. When returning a header or footer\n // item the section itself is the item.\n return section;\n } else if (itemIdx < itemCount) {\n // If we are in the bounds of the list's data then return the item.\n return props.getItem(sectionData, itemIdx);\n } else {\n itemIdx -= itemCount + 2; // Add two for the header and footer\n }\n }\n return null;\n }\n\n // $FlowFixMe[missing-local-annot]\n _keyExtractor = (item: Item, index: number) => {\n const info = this._subExtractor(index);\n return (info && info.key) || String(index);\n };\n\n _subExtractor(index: number): ?{\n section: SectionT,\n // Key of the section or combined key for section + item\n key: string,\n // Relative index within the section\n index: ?number,\n // True if this is the section header\n header?: ?boolean,\n leadingItem?: ?Item,\n leadingSection?: ?SectionT,\n trailingItem?: ?Item,\n trailingSection?: ?SectionT,\n ...\n } {\n let itemIndex = index;\n const {getItem, getItemCount, keyExtractor, sections} = this.props;\n for (let i = 0; i < sections.length; i++) {\n const section = sections[i];\n const sectionData = section.data;\n const key = section.key || String(i);\n itemIndex -= 1; // The section adds an item for the header\n if (itemIndex >= getItemCount(sectionData) + 1) {\n itemIndex -= getItemCount(sectionData) + 1; // The section adds an item for the footer.\n } else if (itemIndex === -1) {\n return {\n section,\n key: key + ':header',\n index: null,\n header: true,\n trailingSection: sections[i + 1],\n };\n } else if (itemIndex === getItemCount(sectionData)) {\n return {\n section,\n key: key + ':footer',\n index: null,\n header: false,\n trailingSection: sections[i + 1],\n };\n } else {\n const extractor =\n section.keyExtractor || keyExtractor || defaultKeyExtractor;\n return {\n section,\n key:\n key + ':' + extractor(getItem(sectionData, itemIndex), itemIndex),\n index: itemIndex,\n leadingItem: getItem(sectionData, itemIndex - 1),\n leadingSection: sections[i - 1],\n trailingItem: getItem(sectionData, itemIndex + 1),\n trailingSection: sections[i + 1],\n };\n }\n }\n }\n\n _convertViewable = (viewable: ViewToken): ?ViewToken => {\n invariant(viewable.index != null, 'Received a broken ViewToken');\n const info = this._subExtractor(viewable.index);\n if (!info) {\n return null;\n }\n const keyExtractorWithNullableIndex = info.section.keyExtractor;\n const keyExtractorWithNonNullableIndex =\n this.props.keyExtractor || defaultKeyExtractor;\n const key =\n keyExtractorWithNullableIndex != null\n ? keyExtractorWithNullableIndex(viewable.item, info.index)\n : keyExtractorWithNonNullableIndex(viewable.item, info.index ?? 0);\n\n return {\n ...viewable,\n index: info.index,\n key,\n section: info.section,\n };\n };\n\n _onViewableItemsChanged = ({\n viewableItems,\n changed,\n }: {\n viewableItems: Array,\n changed: Array,\n ...\n }) => {\n const onViewableItemsChanged = this.props.onViewableItemsChanged;\n if (onViewableItemsChanged != null) {\n onViewableItemsChanged({\n viewableItems: viewableItems\n .map(this._convertViewable, this)\n .filter(Boolean),\n changed: changed.map(this._convertViewable, this).filter(Boolean),\n });\n }\n };\n\n _renderItem =\n (listItemCount: number): $FlowFixMe =>\n // eslint-disable-next-line react/no-unstable-nested-components\n ({item, index}: {item: Item, index: number, ...}) => {\n const info = this._subExtractor(index);\n if (!info) {\n return null;\n }\n const infoIndex = info.index;\n if (infoIndex == null) {\n const {section} = info;\n if (info.header === true) {\n const {renderSectionHeader} = this.props;\n return renderSectionHeader ? renderSectionHeader({section}) : null;\n } else {\n const {renderSectionFooter} = this.props;\n return renderSectionFooter ? renderSectionFooter({section}) : null;\n }\n } else {\n const renderItem = info.section.renderItem || this.props.renderItem;\n const SeparatorComponent = this._getSeparatorComponent(\n index,\n info,\n listItemCount,\n );\n invariant(renderItem, 'no renderItem!');\n return (\n \n );\n }\n };\n\n _updatePropsFor = (cellKey: string, value: any) => {\n const updateProps = this._updatePropsMap[cellKey];\n if (updateProps != null) {\n updateProps(value);\n }\n };\n\n _updateHighlightFor = (cellKey: string, value: boolean) => {\n const updateHighlight = this._updateHighlightMap[cellKey];\n if (updateHighlight != null) {\n updateHighlight(value);\n }\n };\n\n _setUpdateHighlightFor = (\n cellKey: string,\n updateHighlightFn: ?(boolean) => void,\n ) => {\n if (updateHighlightFn != null) {\n this._updateHighlightMap[cellKey] = updateHighlightFn;\n } else {\n // $FlowFixMe[prop-missing]\n delete this._updateHighlightFor[cellKey];\n }\n };\n\n _setUpdatePropsFor = (cellKey: string, updatePropsFn: ?(boolean) => void) => {\n if (updatePropsFn != null) {\n this._updatePropsMap[cellKey] = updatePropsFn;\n } else {\n delete this._updatePropsMap[cellKey];\n }\n };\n\n _getSeparatorComponent(\n index: number,\n info?: ?Object,\n listItemCount: number,\n ): ?React.ComponentType {\n info = info || this._subExtractor(index);\n if (!info) {\n return null;\n }\n const ItemSeparatorComponent =\n info.section.ItemSeparatorComponent || this.props.ItemSeparatorComponent;\n const {SectionSeparatorComponent} = this.props;\n const isLastItemInList = index === listItemCount - 1;\n const isLastItemInSection =\n info.index === this.props.getItemCount(info.section.data) - 1;\n if (SectionSeparatorComponent && isLastItemInSection) {\n return SectionSeparatorComponent;\n }\n if (ItemSeparatorComponent && !isLastItemInSection && !isLastItemInList) {\n return ItemSeparatorComponent;\n }\n return null;\n }\n\n _updateHighlightMap: {[string]: (boolean) => void} = {};\n _updatePropsMap: {[string]: void | (boolean => void)} = {};\n _listRef: ?VirtualizedList;\n _captureRef = (ref: null | VirtualizedList) => {\n this._listRef = ref;\n };\n}\n\ntype ItemWithSeparatorCommonProps = $ReadOnly<{\n leadingItem: ?Item,\n leadingSection: ?Object,\n section: Object,\n trailingItem: ?Item,\n trailingSection: ?Object,\n}>;\n\ntype ItemWithSeparatorProps = $ReadOnly<{\n ...ItemWithSeparatorCommonProps,\n LeadingSeparatorComponent: ?React.ComponentType,\n SeparatorComponent: ?React.ComponentType,\n cellKey: string,\n index: number,\n item: Item,\n setSelfHighlightCallback: (\n cellKey: string,\n updateFn: ?(boolean) => void,\n ) => void,\n setSelfUpdatePropsCallback: (\n cellKey: string,\n updateFn: ?(boolean) => void,\n ) => void,\n prevCellKey?: ?string,\n updateHighlightFor: (prevCellKey: string, value: boolean) => void,\n updatePropsFor: (prevCellKey: string, value: Object) => void,\n renderItem: Function,\n inverted: boolean,\n}>;\n\nfunction ItemWithSeparator(props: ItemWithSeparatorProps): React.Node {\n const {\n LeadingSeparatorComponent,\n // this is the trailing separator and is associated with this item\n SeparatorComponent,\n cellKey,\n prevCellKey,\n setSelfHighlightCallback,\n updateHighlightFor,\n setSelfUpdatePropsCallback,\n updatePropsFor,\n item,\n index,\n section,\n inverted,\n } = props;\n\n const [leadingSeparatorHiglighted, setLeadingSeparatorHighlighted] =\n React.useState(false);\n\n const [separatorHighlighted, setSeparatorHighlighted] = React.useState(false);\n\n const [leadingSeparatorProps, setLeadingSeparatorProps] = React.useState({\n leadingItem: props.leadingItem,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.item,\n trailingSection: props.trailingSection,\n });\n const [separatorProps, setSeparatorProps] = React.useState({\n leadingItem: props.item,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.trailingItem,\n trailingSection: props.trailingSection,\n });\n\n React.useEffect(() => {\n setSelfHighlightCallback(cellKey, setSeparatorHighlighted);\n // $FlowFixMe[incompatible-call]\n setSelfUpdatePropsCallback(cellKey, setSeparatorProps);\n\n return () => {\n setSelfUpdatePropsCallback(cellKey, null);\n setSelfHighlightCallback(cellKey, null);\n };\n }, [\n cellKey,\n setSelfHighlightCallback,\n setSeparatorProps,\n setSelfUpdatePropsCallback,\n ]);\n\n const separators = {\n highlight: () => {\n setLeadingSeparatorHighlighted(true);\n setSeparatorHighlighted(true);\n if (prevCellKey != null) {\n updateHighlightFor(prevCellKey, true);\n }\n },\n unhighlight: () => {\n setLeadingSeparatorHighlighted(false);\n setSeparatorHighlighted(false);\n if (prevCellKey != null) {\n updateHighlightFor(prevCellKey, false);\n }\n },\n updateProps: (\n select: 'leading' | 'trailing',\n newProps: Partial,\n ) => {\n if (select === 'leading') {\n if (LeadingSeparatorComponent != null) {\n setLeadingSeparatorProps({...leadingSeparatorProps, ...newProps});\n } else if (prevCellKey != null) {\n // update the previous item's separator\n updatePropsFor(prevCellKey, {...leadingSeparatorProps, ...newProps});\n }\n } else if (select === 'trailing' && SeparatorComponent != null) {\n setSeparatorProps({...separatorProps, ...newProps});\n }\n },\n };\n const element = props.renderItem({\n item,\n index,\n section,\n separators,\n });\n const leadingSeparator = LeadingSeparatorComponent != null && (\n \n );\n const separator = SeparatorComponent != null && (\n \n );\n const RenderSeparator = leadingSeparator || separator;\n const firstSeparator = inverted === false ? leadingSeparator : separator;\n const secondSeparator = inverted === false ? separator : leadingSeparator;\n\n return (\n <>\n {RenderSeparator ? firstSeparator : null}\n {element}\n {RenderSeparator ? secondSeparator : null}\n \n );\n}\n\nexport default VirtualizedSectionList as component(\n ref: React.RefSetter<\n interface {\n getListRef(): ?VirtualizedList,\n scrollToLocation(params: ScrollToLocationParamsType): void,\n },\n >,\n ...VirtualizedSectionListProps>\n);\n","'use strict';\n\nvar safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nmodule.exports = memoizeOne;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {ImageStyleProp} from '../StyleSheet/StyleSheet';\nimport type {RootTag} from '../Types/RootTagTypes';\nimport type {AbstractImageIOS, ImageIOS} from './ImageTypes.flow';\nimport type {ImageSize} from './NativeImageLoaderAndroid';\n\nimport {createRootTag} from '../ReactNative/RootTag';\nimport TextAncestor from '../Text/TextAncestor'; // [Windows]\nimport invariant from 'invariant'; // [Windows]\nimport flattenStyle from '../StyleSheet/flattenStyle';\nimport StyleSheet from '../StyleSheet/StyleSheet';\nimport ImageAnalyticsTagContext from './ImageAnalyticsTagContext';\nimport {\n unstable_getImageComponentDecorator,\n useWrapRefWithImageAttachedCallbacks,\n} from './ImageInjection';\nimport {getImageSourcesFromImageProps} from './ImageSourceUtils';\nimport {convertObjectFitToResizeMode} from './ImageUtils';\nimport ImageViewNativeComponent from './ImageViewNativeComponent';\nimport NativeImageLoaderIOS from './NativeImageLoaderIOS';\nimport resolveAssetSource from './resolveAssetSource';\nimport * as React from 'react';\n\nfunction getSize(\n uri: string,\n success?: (width: number, height: number) => void,\n failure?: (error: mixed) => void,\n): void | Promise {\n const promise = NativeImageLoaderIOS.getSize(uri).then(([width, height]) => ({\n width,\n height,\n }));\n if (typeof success !== 'function') {\n return promise;\n }\n promise\n .then(sizes => success(sizes.width, sizes.height))\n .catch(\n failure ||\n function () {\n console.warn('Failed to get size for image: ' + uri);\n },\n );\n}\n\nfunction getSizeWithHeaders(\n uri: string,\n headers: {[string]: string, ...},\n success?: (width: number, height: number) => void,\n failure?: (error: mixed) => void,\n): void | Promise {\n const promise = NativeImageLoaderIOS.getSizeWithHeaders(uri, headers);\n if (typeof success !== 'function') {\n return promise;\n }\n promise\n .then(sizes => success(sizes.width, sizes.height))\n .catch(\n failure ||\n function () {\n console.warn('Failed to get size for image: ' + uri);\n },\n );\n}\n\nfunction prefetchWithMetadata(\n url: string,\n queryRootName: string,\n rootTag?: ?RootTag,\n): Promise {\n if (NativeImageLoaderIOS.prefetchImageWithMetadata) {\n // number params like rootTag cannot be nullable before TurboModules is available\n return NativeImageLoaderIOS.prefetchImageWithMetadata(\n url,\n queryRootName,\n // NOTE: RootTag type\n rootTag != null ? rootTag : createRootTag(0),\n );\n } else {\n return NativeImageLoaderIOS.prefetchImage(url);\n }\n}\n\nfunction prefetch(url: string): Promise {\n return NativeImageLoaderIOS.prefetchImage(url);\n}\n\nasync function queryCache(\n urls: Array,\n): Promise<{[string]: 'memory' | 'disk' | 'disk/memory', ...}> {\n return NativeImageLoaderIOS.queryCache(urls);\n}\n\n/**\n * A React component for displaying different types of images,\n * including network images, static resources, temporary local images, and\n * images from local disk, such as the camera roll.\n *\n * See https://reactnative.dev/docs/image\n */\nlet BaseImage: AbstractImageIOS = React.forwardRef((props, forwardedRef) => {\n const source = getImageSourcesFromImageProps(props) || {\n uri: undefined,\n width: undefined,\n height: undefined,\n };\n\n let style: ImageStyleProp;\n let sources;\n if (Array.isArray(source)) {\n style = [styles.base, props.style];\n sources = source;\n } else {\n const {uri} = source;\n if (uri === '') {\n console.warn('source.uri should not be an empty string');\n }\n const width = source.width ?? props.width;\n const height = source.height ?? props.height;\n style = [{width, height}, styles.base, props.style];\n sources = [source];\n }\n\n const flattenedStyle = flattenStyle(style);\n const objectFit = convertObjectFitToResizeMode(flattenedStyle?.objectFit);\n const resizeMode =\n objectFit || props.resizeMode || flattenedStyle?.resizeMode || 'cover';\n const tintColor = props.tintColor ?? flattenedStyle?.tintColor;\n\n if (props.children != null) {\n throw new Error(\n 'The component cannot contain children. If you want to render content on top of the image, consider using the component or absolute positioning.',\n );\n }\n const {\n 'aria-busy': ariaBusy,\n 'aria-checked': ariaChecked,\n 'aria-disabled': ariaDisabled,\n 'aria-expanded': ariaExpanded,\n 'aria-selected': ariaSelected,\n 'aria-readonly': ariaReadOnly, // Windows\n 'aria-multiselectable': ariaMultiselectable, // Windows\n 'aria-required': ariaRequired, // Windows\n height,\n src,\n ...restProps\n } = props;\n\n const _accessibilityState = {\n busy: ariaBusy ?? props.accessibilityState?.busy,\n checked: ariaChecked ?? props.accessibilityState?.checked,\n disabled: ariaDisabled ?? props.accessibilityState?.disabled,\n expanded: ariaExpanded ?? props.accessibilityState?.expanded,\n selected: ariaSelected ?? props.accessibilityState?.selected,\n readOnly: ariaReadOnly ?? props.accessibilityState?.readOnly, // Windows\n multiselectable:\n ariaMultiselectable ?? props.accessibilityState?.multiselectable, // Windows\n required: ariaRequired ?? props.accessibilityState?.required, // Windows\n };\n const accessibilityLabel = props['aria-label'] ?? props.accessibilityLabel;\n\n const actualRef = useWrapRefWithImageAttachedCallbacks(forwardedRef);\n\n // [Windows - Paper doesn't support Views in Text while Fabric does\n if (global.RN$Bridgeless !== true) {\n return (\n // [Windows\n \n {hasTextAncestor => {\n invariant(\n !hasTextAncestor,\n 'Nesting of within is not currently supported.',\n );\n // windows]\n return (\n \n {analyticTag => (\n \n )}\n \n );\n }}\n \n );\n } else {\n return (\n \n {analyticTag => (\n \n )}\n \n );\n }\n // Windows]\n});\n\nconst imageComponentDecorator = unstable_getImageComponentDecorator();\nif (imageComponentDecorator != null) {\n BaseImage = imageComponentDecorator(BaseImage);\n}\n\n// $FlowExpectedError[incompatible-type] Eventually we need to move these functions from statics of the component to exports in the module.\nconst Image: ImageIOS = BaseImage;\n\nImage.displayName = 'Image';\n\n/**\n * Retrieve the width and height (in pixels) of an image prior to displaying it.\n *\n * See https://reactnative.dev/docs/image#getsize\n */\n// $FlowFixMe[incompatible-use] This property isn't writable but we're actually defining it here for the first time.\nImage.getSize = getSize;\n\n/**\n * Retrieve the width and height (in pixels) of an image prior to displaying it\n * with the ability to provide the headers for the request.\n *\n * See https://reactnative.dev/docs/image#getsizewithheaders\n */\n// $FlowFixMe[incompatible-use] This property isn't writable but we're actually defining it here for the first time.\nImage.getSizeWithHeaders = getSizeWithHeaders;\n\n/**\n * Prefetches a remote image for later use by downloading it to the disk\n * cache.\n *\n * See https://reactnative.dev/docs/image#prefetch\n */\n// $FlowFixMe[incompatible-use] This property isn't writable but we're actually defining it here for the first time.\nImage.prefetch = prefetch;\n\n/**\n * Prefetches a remote image for later use by downloading it to the disk\n * cache, and adds metadata for queryRootName and rootTag.\n *\n * See https://reactnative.dev/docs/image#prefetch\n */\n// $FlowFixMe[incompatible-use] This property isn't writable but we're actually defining it here for the first time.\nImage.prefetchWithMetadata = prefetchWithMetadata;\n\n/**\n * Performs cache interrogation.\n *\n * See https://reactnative.dev/docs/image#querycache\n */\n// $FlowFixMe[incompatible-use] This property isn't writable but we're actually defining it here for the first time.\nImage.queryCache = queryCache;\n\n/**\n * Resolves an asset reference into an object.\n *\n * See https://reactnative.dev/docs/image#resolveassetsource\n */\n// $FlowFixMe[incompatible-use] This property isn't writable but we're actually defining it here for the first time.\nImage.resolveAssetSource = resolveAssetSource;\n\nconst styles = StyleSheet.create({\n base: {\n overflow: 'hidden',\n },\n});\n\nexport default Image;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport * as React from 'react';\n\ntype ContextType = ?string;\n\nconst Context: React.Context =\n React.createContext(null);\n\nif (__DEV__) {\n Context.displayName = 'ImageAnalyticsTagContext';\n}\n\nexport default Context;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostComponent} from '../../src/private/types/HostComponent';\nimport type {HostInstance} from '../../src/private/types/HostInstance';\nimport type {ViewProps} from '../Components/View/ViewPropTypes';\nimport type {PartialViewConfig} from '../Renderer/shims/ReactNativeTypes';\nimport type {\n ColorValue,\n DangerouslyImpreciseStyle,\n ImageStyleProp,\n} from '../StyleSheet/StyleSheet';\nimport type {ResolvedAssetSource} from './AssetSourceResolver';\nimport type {ImageProps} from './ImageProps';\nimport type {ImageSource} from './ImageSource';\n\nimport * as NativeComponentRegistry from '../NativeComponent/NativeComponentRegistry';\nimport {ConditionallyIgnoredEventHandlers} from '../NativeComponent/ViewConfigIgnore';\nimport codegenNativeCommands from '../Utilities/codegenNativeCommands';\nimport Platform from '../Utilities/Platform';\n\ntype Props = $ReadOnly<{\n ...ImageProps,\n ...ViewProps,\n\n style?: ImageStyleProp | DangerouslyImpreciseStyle,\n\n // iOS native props\n tintColor?: ColorValue,\n\n // Android native props\n shouldNotifyLoadEvents?: boolean,\n src?:\n | ?ResolvedAssetSource\n | ?$ReadOnlyArray>,\n headers?: ?{[string]: string},\n defaultSource?: ?ImageSource | ?string,\n loadingIndicatorSrc?: ?string,\n}>;\n\ninterface NativeCommands {\n +setIsVisible_EXPERIMENTAL: (\n viewRef: HostInstance,\n isVisible: boolean,\n time: number,\n ) => void;\n}\n\nexport const Commands: NativeCommands = codegenNativeCommands({\n supportedCommands: ['setIsVisible_EXPERIMENTAL'],\n});\n\nexport const __INTERNAL_VIEW_CONFIG: PartialViewConfig =\n Platform.OS === 'android'\n ? {\n uiViewClassName: 'RCTImageView',\n bubblingEventTypes: {},\n directEventTypes: {\n topLoadStart: {\n registrationName: 'onLoadStart',\n },\n topProgress: {\n registrationName: 'onProgress',\n },\n topError: {\n registrationName: 'onError',\n },\n topLoad: {\n registrationName: 'onLoad',\n },\n topLoadEnd: {\n registrationName: 'onLoadEnd',\n },\n },\n validAttributes: {\n blurRadius: true,\n defaultSource: true,\n internal_analyticTag: true,\n resizeMethod: true,\n resizeMode: true,\n resizeMultiplier: true,\n tintColor: {\n process: require('../StyleSheet/processColor').default,\n },\n borderBottomLeftRadius: true,\n borderTopLeftRadius: true,\n src: true,\n // NOTE: New Architecture expects this to be called `source`,\n // regardless of the platform, therefore propagate it as well.\n // For the backwards compatibility reasons, we keep both `src`\n // and `source`, which will be identical at this stage.\n source: true,\n borderRadius: true,\n headers: true,\n shouldNotifyLoadEvents: true,\n overlayColor: {\n process: require('../StyleSheet/processColor').default,\n },\n borderColor: {\n process: require('../StyleSheet/processColor').default,\n },\n accessible: true,\n progressiveRenderingEnabled: true,\n fadeDuration: true,\n borderBottomRightRadius: true,\n borderTopRightRadius: true,\n loadingIndicatorSrc: true,\n },\n }\n : {\n uiViewClassName: 'RCTImageView',\n bubblingEventTypes: {},\n directEventTypes: {\n topLoadStart: {\n registrationName: 'onLoadStart',\n },\n topProgress: {\n registrationName: 'onProgress',\n },\n topError: {\n registrationName: 'onError',\n },\n topPartialLoad: {\n registrationName: 'onPartialLoad',\n },\n topLoad: {\n registrationName: 'onLoad',\n },\n topLoadEnd: {\n registrationName: 'onLoadEnd',\n },\n },\n validAttributes: {\n blurRadius: true,\n capInsets: {\n diff: require('../Utilities/differ/insetsDiffer').default,\n },\n defaultSource: {\n process: require('./resolveAssetSource').default,\n },\n internal_analyticTag: true,\n resizeMode: true,\n source: true,\n tintColor: {\n process: require('../StyleSheet/processColor').default,\n },\n ...ConditionallyIgnoredEventHandlers({\n onLoadStart: true,\n onLoad: true,\n onLoadEnd: true,\n onProgress: true,\n onError: true,\n onPartialLoad: true,\n }),\n },\n };\n\nconst ImageViewNativeComponent: HostComponent =\n NativeComponentRegistry.get(\n 'RCTImageView',\n () => __INTERNAL_VIEW_CONFIG,\n );\n\nexport default ImageViewNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS';\nimport NativeImageLoaderIOS from '../../src/private/specs_DEPRECATED/modules/NativeImageLoaderIOS';\nexport default NativeImageLoaderIOS;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {RootTag} from '../../../../Libraries/TurboModule/RCTExport';\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +getConstants: () => {};\n // Return [width, height] of image uri\n +getSize: (uri: string) => Promise<$ReadOnlyArray>;\n +getSizeWithHeaders: (\n uri: string,\n headers: Object,\n ) => Promise<{\n width: number,\n height: number,\n ...\n }>;\n +prefetchImage: (uri: string) => Promise;\n +prefetchImageWithMetadata?: (\n uri: string,\n queryRootName: string,\n rootTag: RootTag,\n ) => Promise;\n +queryCache: (uris: Array) => Promise;\n}\n\nexport default (TurboModuleRegistry.getEnforcing('ImageLoader'): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport type {ResolvedAssetSource} from './AssetSourceResolver';\nimport type {ImageProps} from './ImageProps';\n\nimport resolveAssetSource from './resolveAssetSource';\n\n/**\n * A function which returns the appropriate value for image source\n * by resolving the `source`, `src` and `srcSet` props.\n */\nexport function getImageSourcesFromImageProps(\n imageProps: ImageProps,\n): ?ResolvedAssetSource | $ReadOnlyArray<{uri: string, ...}> {\n let source = resolveAssetSource(imageProps.source);\n\n let sources;\n\n const {crossOrigin, referrerPolicy, src, srcSet, width, height} = imageProps;\n\n const headers: {[string]: string} = {};\n if (crossOrigin === 'use-credentials') {\n headers['Access-Control-Allow-Credentials'] = 'true';\n }\n if (referrerPolicy != null) {\n headers['Referrer-Policy'] = referrerPolicy;\n }\n if (srcSet != null) {\n const sourceList = [];\n const srcSetList = srcSet.split(', ');\n // `src` prop should be used with default scale if `srcSet` does not have 1x scale.\n let shouldUseSrcForDefaultScale = true;\n srcSetList.forEach(imageSrc => {\n const [uri, xScale = '1x'] = imageSrc.split(' ');\n if (!xScale.endsWith('x')) {\n console.warn(\n 'The provided format for scale is not supported yet. Please use scales like 1x, 2x, etc.',\n );\n } else {\n const scale = parseInt(xScale.split('x')[0], 10);\n if (!isNaN(scale)) {\n // 1x scale is provided in `srcSet` prop so ignore the `src` prop if provided.\n shouldUseSrcForDefaultScale =\n scale === 1 ? false : shouldUseSrcForDefaultScale;\n sourceList.push({headers: headers, scale, uri, width, height});\n }\n }\n });\n\n if (shouldUseSrcForDefaultScale && src != null) {\n sourceList.push({\n headers: headers,\n scale: 1,\n uri: src,\n width,\n height,\n });\n }\n if (sourceList.length === 0) {\n console.warn('The provided value for srcSet is not valid.');\n }\n\n sources = sourceList;\n } else if (src != null) {\n sources = [{uri: src, headers: headers, width, height}];\n } else {\n sources = source;\n }\n return sources;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {ImageResizeMode} from './ImageResizeMode';\n\nconst objectFitMap: {[string]: ImageResizeMode} = {\n contain: 'contain',\n cover: 'cover',\n fill: 'stretch',\n 'scale-down': 'contain',\n none: 'none',\n};\n\nexport function convertObjectFitToResizeMode(\n objectFit: ?string,\n): ?ImageResizeMode {\n return objectFit != null ? objectFitMap[objectFit] : undefined;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {\n AbstractImageAndroid,\n AbstractImageIOS,\n Image as ImageComponent,\n} from './ImageTypes.flow';\n\nimport useMergeRefs from '../Utilities/useMergeRefs';\nimport * as React from 'react';\nimport {useRef} from 'react';\n\ntype ImageComponentDecorator = (AbstractImageAndroid => AbstractImageAndroid) &\n (AbstractImageIOS => AbstractImageIOS);\n\nlet injectedImageComponentDecorator: ?ImageComponentDecorator;\n\nexport function unstable_setImageComponentDecorator(\n imageComponentDecorator: ?ImageComponentDecorator,\n): void {\n injectedImageComponentDecorator = imageComponentDecorator;\n}\n\nexport function unstable_getImageComponentDecorator(): ?ImageComponentDecorator {\n return injectedImageComponentDecorator;\n}\n\ntype ImageInstance = React.ElementRef;\n\ntype ImageAttachedCallback = (\n imageInstance: ImageInstance,\n) => void | (() => void);\n\nconst imageAttachedCallbacks = new Set();\n\nexport function unstable_registerImageAttachedCallback(\n callback: ImageAttachedCallback,\n): void {\n imageAttachedCallbacks.add(callback);\n}\n\nexport function unstable_unregisterImageAttachedCallback(\n callback: ImageAttachedCallback,\n): void {\n imageAttachedCallbacks.delete(callback);\n}\n\nexport function useWrapRefWithImageAttachedCallbacks(\n forwardedRef: React.RefSetter,\n): React.RefSetter {\n const pendingCleanupCallbacks = useRef void>>([]);\n\n const imageAttachedCallbacksRef =\n useRef void>(null);\n\n if (imageAttachedCallbacksRef.current == null) {\n imageAttachedCallbacksRef.current = (node: ImageInstance | null): void => {\n if (node == null) {\n if (pendingCleanupCallbacks.current.length > 0) {\n pendingCleanupCallbacks.current.forEach(cb => cb());\n pendingCleanupCallbacks.current = [];\n }\n } else {\n imageAttachedCallbacks.forEach(imageAttachedCallback => {\n const maybeCleanupCallback = imageAttachedCallback(node);\n if (maybeCleanupCallback != null) {\n pendingCleanupCallbacks.current.push(maybeCleanupCallback);\n }\n });\n }\n };\n }\n\n // `useMergeRefs` returns a stable ref if its arguments don't change.\n return useMergeRefs(\n forwardedRef,\n imageAttachedCallbacksRef.current,\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport useRefEffect from './useRefEffect';\nimport * as React from 'react';\nimport {useCallback} from 'react';\n\n/**\n * Constructs a new ref that forwards new values to each of the given refs. The\n * given refs will always be invoked in the order that they are supplied.\n *\n * WARNING: A known problem of merging refs using this approach is that if any\n * of the given refs change, the returned callback ref will also be changed. If\n * the returned callback ref is supplied as a `ref` to a React element, this may\n * lead to problems with the given refs being invoked more times than desired.\n */\nexport default function useMergeRefs(\n ...refs: $ReadOnlyArray>\n): React.RefSetter {\n const refEffect = useCallback(\n (current: Instance) => {\n const cleanups: $ReadOnlyArray void)> = refs.map(ref => {\n if (ref == null) {\n return undefined;\n } else {\n if (typeof ref === 'function') {\n // $FlowIssue[incompatible-type] - Flow does not understand ref cleanup.\n const cleanup: void | (() => void) = ref(current);\n return typeof cleanup === 'function'\n ? cleanup\n : () => {\n ref(null);\n };\n } else {\n ref.current = current;\n return () => {\n ref.current = null;\n };\n }\n }\n });\n\n return () => {\n for (const cleanup of cleanups) {\n cleanup?.();\n }\n };\n },\n [...refs], // eslint-disable-line react-hooks/exhaustive-deps\n );\n return useRefEffect(refEffect);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport {useCallback, useRef} from 'react';\n\ntype CallbackRef = T => mixed;\n\n/**\n * Constructs a callback ref that provides similar semantics as `useEffect`. The\n * supplied `effect` callback will be called with non-null component instances.\n * The `effect` callback can also optionally return a cleanup function.\n *\n * When a component is updated or unmounted, the cleanup function is called. The\n * `effect` callback will then be called again, if applicable.\n *\n * When a new `effect` callback is supplied, the previously returned cleanup\n * function will be called before the new `effect` callback is called with the\n * same instance.\n *\n * WARNING: The `effect` callback should be stable (e.g. using `useCallback`).\n */\nexport default function useRefEffect(\n effect: TInstance => (() => void) | void,\n): CallbackRef {\n const cleanupRef = useRef<(() => void) | void>(undefined);\n return useCallback(\n (instance: null | TInstance) => {\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = undefined;\n }\n if (instance != null) {\n cleanupRef.current = effect(instance);\n }\n },\n [effect],\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostInstance} from '../../src/private/types/HostInstance';\nimport type {ImageBackgroundProps} from './ImageProps';\n\nimport View from '../Components/View/View';\nimport flattenStyle from '../StyleSheet/flattenStyle';\nimport StyleSheet from '../StyleSheet/StyleSheet';\nimport Image from './Image';\nimport * as React from 'react';\n\n/**\n * Very simple drop-in replacement for which supports nesting views.\n *\n * ```ReactNativeWebPlayer\n * import React, { Component } from 'react';\n * import { AppRegistry, View, ImageBackground, Text } from 'react-native';\n *\n * class DisplayAnImageBackground extends Component {\n * render() {\n * return (\n * \n * React\n * \n * );\n * }\n * }\n *\n * // App registration and rendering\n * AppRegistry.registerComponent('DisplayAnImageBackground', () => DisplayAnImageBackground);\n * ```\n */\nclass ImageBackground extends React.Component {\n setNativeProps(props: {...}) {\n // Work-around flow\n const viewRef = this._viewRef;\n if (viewRef) {\n viewRef.setNativeProps(props);\n }\n }\n\n _viewRef: ?React.ElementRef = null;\n\n _captureRef = (ref: null | HostInstance) => {\n this._viewRef = ref;\n };\n\n render(): React.Node {\n const {\n children,\n style,\n imageStyle,\n imageRef,\n importantForAccessibility,\n ...props\n } = this.props;\n\n // $FlowFixMe[underconstrained-implicit-instantiation]\n const flattenedStyle = flattenStyle(style);\n return (\n \n {/* $FlowFixMe[incompatible-use] */}\n overwrites width and height styles\n // (which is not quite correct), and these styles conflict with explicitly set styles\n // of and with our internal layout model here.\n // So, we have to proxy/reapply these styles explicitly for actual component.\n // This workaround should be removed after implementing proper support of\n // intrinsic content size of the .\n // $FlowFixMe[prop-missing]\n width: flattenedStyle?.width,\n // $FlowFixMe[prop-missing]\n height: flattenedStyle?.height,\n },\n imageStyle,\n ]}\n ref={imageRef}\n />\n {children}\n \n );\n }\n}\n\nexport default ImageBackground;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport SafeAreaView from '../../Components/SafeAreaView/SafeAreaView';\nimport StyleSheet, {\n type ColorValue,\n type ViewStyleProp,\n} from '../../StyleSheet/StyleSheet';\nimport Platform from '../../Utilities/Platform';\nimport useWindowDimensions from '../../Utilities/useWindowDimensions';\nimport RCTInputAccessoryViewNativeComponent from './RCTInputAccessoryViewNativeComponent';\nimport * as React from 'react';\n\n/**\n * Note: iOS only\n *\n * A component which enables customization of the keyboard input accessory view.\n * The input accessory view is displayed above the keyboard whenever a TextInput\n * has focus. This component can be used to create custom toolbars.\n *\n * To use this component wrap your custom toolbar with the\n * InputAccessoryView component, and set a nativeID. Then, pass that nativeID\n * as the inputAccessoryViewID of whatever TextInput you desire. A simple\n * example:\n *\n * ```ReactNativeWebPlayer\n * import React, { Component } from 'react';\n * import { AppRegistry, TextInput, InputAccessoryView, Button } from 'react-native';\n *\n * export default class UselessTextInput extends Component {\n * constructor(props) {\n * super(props);\n * this.state = {text: 'Placeholder Text'};\n * }\n *\n * render() {\n * const inputAccessoryViewID = \"uniqueID\";\n * return (\n * \n * \n * this.setState({text})}\n * value={this.state.text}\n * />\n * \n * \n * this.setState({text: 'Placeholder Text'})}\n * title=\"Reset Text\"\n * />\n * \n * \n * );\n * }\n * }\n *\n * // skip this line if using Create React Native App\n * AppRegistry.registerComponent('AwesomeProject', () => UselessTextInput);\n * ```\n *\n * This component can also be used to create sticky text inputs (text inputs\n * which are anchored to the top of the keyboard). To do this, wrap a\n * TextInput with the InputAccessoryView component, and don't set a nativeID.\n * For an example, look at InputAccessoryViewExample.js in RNTester.\n */\n\nexport type InputAccessoryViewProps = $ReadOnly<{\n +children: React.Node,\n /**\n * An ID which is used to associate this `InputAccessoryView` to\n * specified TextInput(s).\n */\n nativeID?: ?string,\n style?: ?ViewStyleProp,\n backgroundColor?: ?ColorValue,\n}>;\n\nconst InputAccessoryView: React.ComponentType = (\n props: InputAccessoryViewProps,\n) => {\n const {width} = useWindowDimensions();\n\n if (Platform.OS === 'ios') {\n if (React.Children.count(props.children) === 0) {\n return null;\n }\n\n return (\n \n \n {props.children}\n \n \n );\n } else {\n console.warn(' is only supported on iOS.');\n return null;\n }\n};\n\nconst styles = StyleSheet.create({\n container: {\n position: 'absolute',\n },\n safeAreaView: {\n flex: 1,\n },\n});\n\nexport default InputAccessoryView;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {ViewProps} from '../View/ViewPropTypes';\n\nimport Platform from '../../Utilities/Platform';\nimport View from '../View/View';\nimport * as React from 'react';\n\n/**\n * Renders nested content and automatically applies paddings reflect the portion\n * of the view that is not covered by navigation bars, tab bars, toolbars, and\n * other ancestor views.\n *\n * Moreover, and most importantly, Safe Area's paddings reflect physical\n * limitation of the screen, such as rounded corners or camera notches (aka\n * sensor housing area on iPhone X).\n */\nconst exported: component(\n ref?: React.RefSetter>,\n ...props: ViewProps\n) = Platform.select({\n ios: require('./RCTSafeAreaViewNativeComponent').default,\n default: View,\n});\n\nexport default exported;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent';\nimport RCTSafeAreaViewNativeComponent from '../../../src/private/specs_DEPRECATED/components/RCTSafeAreaViewNativeComponent';\nexport default RCTSafeAreaViewNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';\nimport type {HostComponent} from '../../types/HostComponent';\n\nimport codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';\n\ntype NativeProps = $ReadOnly<{\n ...ViewProps,\n\n // No props\n}>;\n\nexport default (codegenNativeComponent('SafeAreaView', {\n paperComponentName: 'RCTSafeAreaView',\n interfaceOnly: true,\n}): HostComponent);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport Dimensions from './Dimensions';\nimport {\n type DisplayMetrics,\n type DisplayMetricsAndroid,\n} from './NativeDeviceInfo';\nimport {useEffect, useState} from 'react';\n\nexport default function useWindowDimensions():\n | DisplayMetrics\n | DisplayMetricsAndroid {\n const [dimensions, setDimensions] = useState(() => Dimensions.get('window'));\n useEffect(() => {\n function handleChange({\n window,\n }: {\n window: DisplayMetrics | DisplayMetricsAndroid,\n }) {\n if (\n dimensions.width !== window.width ||\n dimensions.height !== window.height ||\n dimensions.scale !== window.scale ||\n dimensions.fontScale !== window.fontScale\n ) {\n setDimensions(window);\n }\n }\n const subscription = Dimensions.addEventListener('change', handleChange);\n // We might have missed an update between calling `get` in render and\n // `addEventListener` in this handler, so we set it here. If there was\n // no change, React will filter out this update as a no-op.\n handleChange({window: Dimensions.get('window')});\n return () => {\n subscription.remove();\n };\n }, [dimensions]);\n return dimensions;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent';\nimport RCTInputAccessoryViewNativeComponent from '../../../src/private/specs_DEPRECATED/components/RCTInputAccessoryViewNativeComponent';\nexport default RCTInputAccessoryViewNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';\nimport type {ColorValue} from '../../../../Libraries/StyleSheet/StyleSheet';\nimport type {HostComponent} from '../../types/HostComponent';\n\nimport codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';\n\ntype NativeProps = $ReadOnly<{\n ...ViewProps,\n backgroundColor?: ?ColorValue,\n}>;\n\nexport default (codegenNativeComponent('InputAccessory', {\n interfaceOnly: true,\n paperComponentName: 'RCTInputAccessoryView',\n excludedPlatforms: ['android'],\n}): HostComponent);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n * @oncall react_native\n */\n\nimport StyleSheet from '../../StyleSheet/StyleSheet';\nimport LayoutConformanceNativeComponent from './LayoutConformanceNativeComponent';\nimport * as React from 'react';\n\nexport type LayoutConformanceProps = $ReadOnly<{\n /**\n * strict: Layout in accordance with W3C spec, even when breaking\n * compatibility: Layout with the same behavior as previous versions of React Native\n */\n mode: 'strict' | 'compatibility',\n\n children: React.Node,\n}>;\n\n// We want a graceful fallback for apps using legacy arch, but need to know\n// ahead of time whether the component is available, so we test for global.\n// This does not correctly handle mixed arch apps (which is okay, since we just\n// degrade the error experience).\nconst isFabricUIManagerInstalled = global?.nativeFabricUIManager != null;\n\nfunction LayoutConformance(props: LayoutConformanceProps): React.Node {\n return (\n \n );\n}\n\nfunction UnimplementedLayoutConformance(\n props: LayoutConformanceProps,\n): React.Node {\n if (__DEV__) {\n const warnOnce = require('../../Utilities/warnOnce').default;\n\n warnOnce(\n 'layoutconformance-unsupported',\n '\"LayoutConformance\" is only supported in the New Architecture',\n );\n }\n\n return props.children;\n}\n\nexport default (isFabricUIManagerInstalled\n ? LayoutConformance\n : UnimplementedLayoutConformance) as component(...LayoutConformanceProps);\n\nconst styles = StyleSheet.create({\n container: {\n display: 'contents',\n },\n});\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {ViewProps} from '../View/ViewPropTypes';\n\nimport * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';\n\ntype Props = $ReadOnly<{\n mode: 'strict' | 'compatibility',\n ...ViewProps,\n}>;\n\nconst LayoutConformanceNativeComponent: HostComponent =\n NativeComponentRegistry.get('LayoutConformance', () => ({\n uiViewClassName: 'LayoutConformance',\n validAttributes: {\n mode: true,\n },\n }));\n\nexport default LayoutConformanceNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {ViewStyleProp} from '../../StyleSheet/StyleSheet';\nimport type {\n ViewLayout,\n ViewLayoutEvent,\n ViewProps,\n} from '../View/ViewPropTypes';\nimport type {KeyboardEvent, KeyboardMetrics} from './Keyboard';\n\nimport LayoutAnimation from '../../LayoutAnimation/LayoutAnimation';\nimport StyleSheet from '../../StyleSheet/StyleSheet';\nimport Platform from '../../Utilities/Platform';\nimport {type EventSubscription} from '../../vendor/emitter/EventEmitter';\nimport AccessibilityInfo from '../AccessibilityInfo/AccessibilityInfo';\nimport View from '../View/View';\nimport Keyboard from './Keyboard';\nimport * as React from 'react';\n\nexport type KeyboardAvoidingViewProps = $ReadOnly<{\n ...ViewProps,\n\n /**\n * Specify how to react to the presence of the keyboard.\n */\n behavior?: ?('height' | 'position' | 'padding'),\n\n /**\n * Style of the content container when `behavior` is 'position'.\n */\n contentContainerStyle?: ?ViewStyleProp,\n\n /**\n * Controls whether this `KeyboardAvoidingView` instance should take effect.\n * This is useful when more than one is on the screen. Defaults to true.\n */\n enabled?: ?boolean,\n\n /**\n * Distance between the top of the user screen and the React Native view. This\n * may be non-zero in some cases. Defaults to 0.\n */\n keyboardVerticalOffset?: number,\n}>;\n\ntype State = {\n bottom: number,\n};\n\n/**\n * View that moves out of the way when the keyboard appears by automatically\n * adjusting its height, position, or bottom padding.\n */\nclass KeyboardAvoidingView extends React.Component<\n KeyboardAvoidingViewProps,\n State,\n> {\n _frame: ?ViewLayout = null;\n _keyboardEvent: ?KeyboardEvent = null;\n _subscriptions: Array = [];\n viewRef: {current: React.ElementRef | null, ...};\n _initialFrameHeight: number = 0;\n _bottom: number = 0;\n\n constructor(props: KeyboardAvoidingViewProps) {\n super(props);\n this.state = {bottom: 0};\n this.viewRef = React.createRef();\n }\n\n async _relativeKeyboardHeight(\n keyboardFrame: KeyboardMetrics,\n ): Promise {\n const frame = this._frame;\n if (!frame || !keyboardFrame) {\n return 0;\n }\n\n // On iOS when Prefer Cross-Fade Transitions is enabled, the keyboard position\n // & height is reported differently (0 instead of Y position value matching height of frame)\n if (\n Platform.OS === 'ios' &&\n keyboardFrame.screenY === 0 &&\n (await AccessibilityInfo.prefersCrossFadeTransitions())\n ) {\n return 0;\n }\n\n const keyboardY =\n keyboardFrame.screenY - (this.props.keyboardVerticalOffset ?? 0);\n\n if (this.props.behavior === 'height') {\n return Math.max(\n this.state.bottom + frame.y + frame.height - keyboardY,\n 0,\n );\n }\n\n // Calculate the displacement needed for the view such that it\n // no longer overlaps with the keyboard\n return Math.max(frame.y + frame.height - keyboardY, 0);\n }\n\n _onKeyboardChange = (event: ?KeyboardEvent) => {\n this._keyboardEvent = event;\n // $FlowFixMe[unused-promise]\n this._updateBottomIfNecessary();\n };\n\n _onKeyboardHide = (event: ?KeyboardEvent) => {\n this._keyboardEvent = null;\n // $FlowFixMe[unused-promise]\n this._updateBottomIfNecessary();\n };\n\n _onLayout = async (event: ViewLayoutEvent) => {\n event.persist();\n\n const oldFrame = this._frame;\n this._frame = event.nativeEvent.layout;\n if (!this._initialFrameHeight) {\n // save the initial frame height, before the keyboard is visible\n this._initialFrameHeight = this._frame.height;\n }\n\n // update bottom height for the first time or when the height is changed\n if (!oldFrame || oldFrame.height !== this._frame.height) {\n await this._updateBottomIfNecessary();\n }\n\n if (this.props.onLayout) {\n this.props.onLayout(event);\n }\n };\n\n // Avoid unnecessary renders if the KeyboardAvoidingView is disabled.\n _setBottom = (value: number) => {\n const enabled = this.props.enabled ?? true;\n this._bottom = value;\n if (enabled) {\n this.setState({bottom: value});\n }\n };\n\n _updateBottomIfNecessary = async () => {\n if (this._keyboardEvent == null) {\n this._setBottom(0);\n return;\n }\n\n const {duration, easing, endCoordinates} = this._keyboardEvent;\n const height = await this._relativeKeyboardHeight(endCoordinates);\n\n if (this._bottom === height) {\n return;\n }\n\n this._setBottom(height);\n\n const enabled = this.props.enabled ?? true;\n if (enabled && duration && easing) {\n LayoutAnimation.configureNext({\n // We have to pass the duration equal to minimal accepted duration defined here: RCTLayoutAnimation.m\n duration: duration > 10 ? duration : 10,\n update: {\n duration: duration > 10 ? duration : 10,\n type: LayoutAnimation.Types[easing] || 'keyboard',\n },\n });\n }\n };\n\n componentDidUpdate(_: KeyboardAvoidingViewProps, prevState: State): void {\n const enabled = this.props.enabled ?? true;\n if (enabled && this._bottom !== prevState.bottom) {\n this.setState({bottom: this._bottom});\n }\n }\n\n componentDidMount(): void {\n if (!Keyboard.isVisible()) {\n this._keyboardEvent = null;\n this._setBottom(0);\n }\n\n if (Platform.OS === 'ios') {\n this._subscriptions = [\n // When undocked, split or floating, iOS will emit\n // UIKeyboardWillHideNotification notification.\n // UIKeyboardWillChangeFrameNotification will be emitted before\n // UIKeyboardWillHideNotification, so we need to listen to\n // keyboardWillHide and keyboardWillShow instead of\n // keyboardWillChangeFrame.\n Keyboard.addListener('keyboardWillHide', this._onKeyboardHide),\n Keyboard.addListener('keyboardWillShow', this._onKeyboardChange),\n ];\n } else {\n this._subscriptions = [\n Keyboard.addListener('keyboardDidHide', this._onKeyboardChange),\n Keyboard.addListener('keyboardDidShow', this._onKeyboardChange),\n ];\n }\n }\n\n componentWillUnmount(): void {\n this._subscriptions.forEach(subscription => {\n subscription.remove();\n });\n }\n\n render(): React.Node {\n const {\n behavior,\n children,\n contentContainerStyle,\n enabled = true,\n // eslint-disable-next-line no-unused-vars\n keyboardVerticalOffset = 0,\n style,\n onLayout,\n ...props\n } = this.props;\n const bottomHeight = enabled === true ? this.state.bottom : 0;\n switch (behavior) {\n case 'height':\n let heightStyle;\n if (this._frame != null && this.state.bottom > 0) {\n // Note that we only apply a height change when there is keyboard present,\n // i.e. this.state.bottom is greater than 0. If we remove that condition,\n // this.frame.height will never go back to its original value.\n // When height changes, we need to disable flex.\n heightStyle = {\n height: this._initialFrameHeight - bottomHeight,\n flex: 0,\n };\n }\n return (\n \n {children}\n \n );\n\n case 'position':\n return (\n \n \n {children}\n \n \n );\n\n case 'padding':\n return (\n \n {children}\n \n );\n\n default:\n return (\n \n {children}\n \n );\n }\n }\n}\n\nexport default KeyboardAvoidingView;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport type {\n LayoutAnimationConfig as LayoutAnimationConfig_,\n LayoutAnimationProperty,\n LayoutAnimationType,\n} from '../Renderer/shims/ReactNativeTypes';\n\nimport * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';\nimport {getFabricUIManager} from '../ReactNative/FabricUIManager';\nimport Platform from '../Utilities/Platform';\n\nexport type {\n LayoutAnimationType,\n LayoutAnimationProperty,\n LayoutAnimationAnimationConfig as LayoutAnimationAnim,\n} from '../Renderer/shims/ReactNativeTypes';\n\nconst UIManager = require('../ReactNative/UIManager').default;\n\n// Reexport type\nexport type LayoutAnimationConfig = LayoutAnimationConfig_;\n\nexport type LayoutAnimationTypes = $ReadOnly<{\n [type in LayoutAnimationType]: type,\n}>;\n\nexport type LayoutAnimationProperties = $ReadOnly<{\n [prop in LayoutAnimationProperty]: prop,\n}>;\n\ntype OnAnimationDidEndCallback = () => void;\ntype OnAnimationDidFailCallback = () => void;\n\nlet isLayoutAnimationEnabled: boolean =\n ReactNativeFeatureFlags.isLayoutAnimationEnabled();\n\nfunction setEnabled(value: boolean) {\n isLayoutAnimationEnabled = isLayoutAnimationEnabled;\n}\n\n/**\n * Configures the next commit to be animated.\n *\n * onAnimationDidEnd is guaranteed to be called when the animation completes.\n * onAnimationDidFail is *never* called in the classic, pre-Fabric renderer,\n * and never has been. In the new renderer (Fabric) it is called only if configuration\n * parsing fails.\n */\nfunction configureNext(\n config: LayoutAnimationConfig,\n onAnimationDidEnd?: OnAnimationDidEndCallback,\n onAnimationDidFail?: OnAnimationDidFailCallback,\n) {\n if (Platform.isDisableAnimations) {\n return;\n }\n\n if (!isLayoutAnimationEnabled) {\n return;\n }\n\n // Since LayoutAnimations may possibly be disabled for now on iOS (Fabric),\n // or Android (non-Fabric) we race a setTimeout with animation completion,\n // in case onComplete is never called\n // from native. Once LayoutAnimations+Fabric unconditionally ship everywhere, we can\n // delete this mechanism at least in the Fabric branch.\n let animationCompletionHasRun = false;\n const onAnimationComplete = () => {\n if (animationCompletionHasRun) {\n return;\n }\n animationCompletionHasRun = true;\n clearTimeout(raceWithAnimationId);\n onAnimationDidEnd?.();\n };\n const raceWithAnimationId = setTimeout(\n onAnimationComplete,\n (config.duration ?? 0) + 17 /* one frame + 1ms */,\n );\n\n // In Fabric, LayoutAnimations are unconditionally enabled for Android, and\n // conditionally enabled on iOS (pending fully shipping; this is a temporary state).\n const FabricUIManager = getFabricUIManager();\n if (FabricUIManager?.configureNextLayoutAnimation) {\n global?.nativeFabricUIManager?.configureNextLayoutAnimation(\n config,\n onAnimationComplete,\n onAnimationDidFail ??\n function () {} /* this will only be called if configuration parsing fails */,\n );\n return;\n }\n\n // This will only run if Fabric is *not* installed.\n // If you have Fabric + non-Fabric running in the same VM, non-Fabric LayoutAnimations\n // will not work.\n if (UIManager?.configureNextLayoutAnimation) {\n UIManager.configureNextLayoutAnimation(\n config,\n onAnimationComplete ?? function () {},\n onAnimationDidFail ??\n function () {} /* this should never be called in Non-Fabric */,\n );\n }\n}\n\nfunction create(\n duration: number,\n type?: LayoutAnimationType,\n property?: LayoutAnimationProperty,\n): LayoutAnimationConfig {\n return {\n duration,\n create: {type, property},\n update: {type},\n delete: {type, property},\n };\n}\n\nconst Presets = {\n easeInEaseOut: (create(\n 300,\n 'easeInEaseOut',\n 'opacity',\n ): LayoutAnimationConfig),\n linear: (create(500, 'linear', 'opacity'): LayoutAnimationConfig),\n spring: ({\n duration: 700,\n create: {\n type: 'linear',\n property: 'opacity',\n },\n update: {\n type: 'spring',\n springDamping: 0.4,\n },\n delete: {\n type: 'linear',\n property: 'opacity',\n },\n }: LayoutAnimationConfig),\n};\n\n/**\n * Automatically animates views to their new positions when the\n * next layout happens.\n *\n * A common way to use this API is to call it before calling `setState`.\n *\n * Note that in order to get this to work on **Android** you need to set the following flags via `UIManager`:\n *\n * UIManager.setLayoutAnimationEnabledExperimental && UIManager.setLayoutAnimationEnabledExperimental(true);\n */\nconst LayoutAnimation = {\n /**\n * Schedules an animation to happen on the next layout.\n *\n * @param config Specifies animation properties:\n *\n * - `duration` in milliseconds\n * - `create`, `AnimationConfig` for animating in new views\n * - `update`, `AnimationConfig` for animating views that have been updated\n *\n * @param onAnimationDidEnd Called when the animation finished.\n * Only supported on iOS.\n * @param onError Called on error. Only supported on iOS.\n */\n configureNext,\n /**\n * Helper for creating a config for `configureNext`.\n */\n create,\n Types: Object.freeze({\n spring: 'spring',\n linear: 'linear',\n easeInEaseOut: 'easeInEaseOut',\n easeIn: 'easeIn',\n easeOut: 'easeOut',\n keyboard: 'keyboard',\n }) as LayoutAnimationTypes,\n Properties: Object.freeze({\n opacity: 'opacity',\n scaleX: 'scaleX',\n scaleY: 'scaleY',\n scaleXY: 'scaleXY',\n }) as LayoutAnimationProperties,\n checkConfig(...args: Array) {\n console.error('LayoutAnimation.checkConfig(...) has been disabled.');\n },\n Presets,\n easeInEaseOut: (configureNext.bind(null, Presets.easeInEaseOut): (\n onAnimationDidEnd?: OnAnimationDidEndCallback,\n ) => void),\n linear: (configureNext.bind(null, Presets.linear): (\n onAnimationDidEnd?: OnAnimationDidEndCallback,\n ) => void),\n spring: (configureNext.bind(null, Presets.spring): (\n onAnimationDidEnd?: OnAnimationDidEndCallback,\n ) => void),\n setEnabled,\n};\n\nexport default LayoutAnimation;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {EventSubscription} from '../../vendor/emitter/EventEmitter';\n\nimport NativeEventEmitter from '../../EventEmitter/NativeEventEmitter';\nimport LayoutAnimation from '../../LayoutAnimation/LayoutAnimation';\nimport dismissKeyboard from '../../Utilities/dismissKeyboard';\nimport Platform from '../../Utilities/Platform';\nimport NativeKeyboardObserver from './NativeKeyboardObserver';\n\nexport type KeyboardEventName = $Keys;\n\nexport type KeyboardEventEasing =\n | 'easeIn'\n | 'easeInEaseOut'\n | 'easeOut'\n | 'linear'\n | 'keyboard';\n\nexport type KeyboardMetrics = $ReadOnly<{\n screenX: number,\n screenY: number,\n width: number,\n height: number,\n}>;\n\nexport type KeyboardEvent = AndroidKeyboardEvent | IOSKeyboardEvent;\n\ntype BaseKeyboardEvent = {\n duration: number,\n easing: KeyboardEventEasing,\n endCoordinates: KeyboardMetrics,\n};\n\nexport type AndroidKeyboardEvent = $ReadOnly<{\n ...BaseKeyboardEvent,\n duration: 0,\n easing: 'keyboard',\n}>;\n\nexport type IOSKeyboardEvent = $ReadOnly<{\n ...BaseKeyboardEvent,\n startCoordinates: KeyboardMetrics,\n isEventFromThisApp: boolean,\n}>;\n\ntype KeyboardEventDefinitions = {\n keyboardWillShow: [KeyboardEvent],\n keyboardDidShow: [KeyboardEvent],\n keyboardWillHide: [KeyboardEvent],\n keyboardDidHide: [KeyboardEvent],\n keyboardWillChangeFrame: [KeyboardEvent],\n keyboardDidChangeFrame: [KeyboardEvent],\n};\n\n/**\n * `Keyboard` module to control keyboard events.\n *\n * ### Usage\n *\n * The Keyboard module allows you to listen for native events and react to them, as\n * well as make changes to the keyboard, like dismissing it.\n *\n *```\n * import React, { Component } from 'react';\n * import { Keyboard, TextInput } from 'react-native';\n *\n * class Example extends Component {\n * componentWillMount () {\n * this.keyboardDidShowListener = Keyboard.addListener('keyboardDidShow', this._keyboardDidShow);\n * this.keyboardDidHideListener = Keyboard.addListener('keyboardDidHide', this._keyboardDidHide);\n * }\n *\n * componentWillUnmount () {\n * this.keyboardDidShowListener.remove();\n * this.keyboardDidHideListener.remove();\n * }\n *\n * _keyboardDidShow () {\n * alert('Keyboard Shown');\n * }\n *\n * _keyboardDidHide () {\n * alert('Keyboard Hidden');\n * }\n *\n * render() {\n * return (\n * \n * );\n * }\n * }\n *```\n */\n\nclass Keyboard {\n _currentlyShowing: ?KeyboardEvent;\n\n _emitter: NativeEventEmitter =\n new NativeEventEmitter(\n // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior\n // If you want to use the native module on other platforms, please remove this condition and test its behavior\n Platform.OS !== 'ios' ? null : NativeKeyboardObserver,\n );\n\n constructor() {\n this.addListener('keyboardDidShow', ev => {\n this._currentlyShowing = ev;\n });\n this.addListener('keyboardDidHide', _ev => {\n this._currentlyShowing = null;\n });\n }\n\n /**\n * The `addListener` function connects a JavaScript function to an identified native\n * keyboard notification event.\n *\n * This function then returns the reference to the listener.\n *\n * @param {string} eventName The `nativeEvent` is the string that identifies the event you're listening for. This\n *can be any of the following:\n *\n * - `keyboardWillShow`\n * - `keyboardDidShow`\n * - `keyboardWillHide`\n * - `keyboardDidHide`\n * - `keyboardWillChangeFrame`\n * - `keyboardDidChangeFrame`\n *\n * Android versions prior to API 30 rely on observing layout changes when\n * `android:windowSoftInputMode` is set to `adjustResize` or `adjustPan`.\n *\n * `keyboardWillShow` as well as `keyboardWillHide` are not available on Android since there is\n * no native corresponding event.\n *\n * @param {function} callback function to be called when the event fires.\n */\n addListener>(\n eventType: K,\n listener: (...$ElementType) => mixed,\n context?: mixed,\n ): EventSubscription {\n return this._emitter.addListener(eventType, listener);\n }\n\n /**\n * Removes all listeners for a specific event type.\n *\n * @param {string} eventType The native event string listeners are watching which will be removed.\n */\n removeAllListeners>(eventType: ?K): void {\n this._emitter.removeAllListeners(eventType);\n }\n\n /**\n * Dismisses the active keyboard and removes focus.\n */\n dismiss(): void {\n dismissKeyboard();\n }\n\n /**\n * Whether the keyboard is last known to be visible.\n */\n isVisible(): boolean {\n return !!this._currentlyShowing;\n }\n\n /**\n * Return the metrics of the soft-keyboard if visible.\n */\n metrics(): ?KeyboardMetrics {\n return this._currentlyShowing?.endCoordinates;\n }\n\n /**\n * Useful for syncing TextInput (or other keyboard accessory view) size of\n * position changes with keyboard movements.\n */\n scheduleLayoutAnimation(event: KeyboardEvent): void {\n const {duration, easing} = event;\n if (duration != null && duration !== 0) {\n LayoutAnimation.configureNext({\n duration: duration,\n update: {\n duration: duration,\n type: (easing != null && LayoutAnimation.Types[easing]) || 'keyboard',\n },\n });\n }\n }\n}\n\nexport default (new Keyboard(): Keyboard);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n// This function dismisses the currently-open keyboard, if any.\n\n'use strict';\n\nconst TextInputState =\n require('../Components/TextInput/TextInputState').default;\n\nfunction dismissKeyboard() {\n TextInputState.blurTextInput(TextInputState.currentlyFocusedInput());\n}\n\nexport default dismissKeyboard;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeKeyboardObserver';\nimport NativeKeyboardObserver from '../../../src/private/specs_DEPRECATED/modules/NativeKeyboardObserver';\nexport default NativeKeyboardObserver;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +addListener: (eventName: string) => void;\n +removeListeners: (count: number) => void;\n}\n\nexport default (TurboModuleRegistry.get('KeyboardObserver'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {ViewProps} from '../Components/View/ViewPropTypes';\nimport type {RootTag} from '../ReactNative/RootTag';\nimport type {DirectEventHandler} from '../Types/CodegenTypes';\n\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport {type ColorValue} from '../StyleSheet/StyleSheet';\nimport {type EventSubscription} from '../vendor/emitter/EventEmitter';\nimport ModalInjection from './ModalInjection';\nimport NativeModalManager from './NativeModalManager';\nimport RCTModalHostView from './RCTModalHostViewNativeComponent';\nimport VirtualizedLists from '@react-native/virtualized-lists';\nimport React from 'react';\n\nconst ScrollView = require('../Components/ScrollView/ScrollView').default;\nconst View = require('../Components/View/View').default;\nconst AppContainer = require('../ReactNative/AppContainer').default;\nconst I18nManager = require('../ReactNative/I18nManager').default;\nconst {RootTagContext} = require('../ReactNative/RootTag');\nconst StyleSheet = require('../StyleSheet/StyleSheet').default;\nconst Platform = require('../Utilities/Platform').default;\n\nconst VirtualizedListContextResetter =\n VirtualizedLists.VirtualizedListContextResetter;\n\ntype ModalEventDefinitions = {\n modalDismissed: [{modalID: number}],\n};\n\nconst ModalEventEmitter =\n (Platform.OS === 'ios' || Platform.OS === 'windows') && // [Windows]\n NativeModalManager != null\n ? new NativeEventEmitter(\n // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior\n // If you want to use the native module on other platforms, please remove this condition and test its behavior\n Platform.OS !== 'ios' && Platform.OS !== 'windows' // [Windows]\n ? null\n : NativeModalManager,\n )\n : null;\n\n/**\n * The Modal component is a simple way to present content above an enclosing view.\n *\n * See https://reactnative.dev/docs/modal\n */\n\n// In order to route onDismiss callbacks, we need to uniquely identifier each\n// on screen. There can be different ones, either nested or as siblings.\n// We cannot pass the onDismiss callback to native as the view will be\n// destroyed before the callback is fired.\nlet uniqueModalIdentifier = 0;\n\ntype OrientationChangeEvent = $ReadOnly<{\n orientation: 'portrait' | 'landscape',\n}>;\n\nexport type ModalBaseProps = {\n /**\n * @deprecated Use animationType instead\n */\n animated?: boolean,\n /**\n * The `animationType` prop controls how the modal animates.\n *\n * - `slide` slides in from the bottom\n * - `fade` fades into view\n * - `none` appears without an animation\n */\n animationType?: ?('none' | 'slide' | 'fade'),\n /**\n * The `transparent` prop determines whether your modal will fill the entire view.\n * Setting this to `true` will render the modal over a transparent background.\n */\n transparent?: ?boolean,\n /**\n * The `visible` prop determines whether your modal is visible.\n */\n visible?: ?boolean,\n /**\n * The `onRequestClose` callback is called when the user taps the hardware back button on Android or the menu button on Apple TV.\n *\n * This is required on Apple TV and Android.\n */\n // onRequestClose?: (event: NativeSyntheticEvent) => void;\n onRequestClose?: ?DirectEventHandler,\n /**\n * The `onShow` prop allows passing a function that will be called once the modal has been shown.\n */\n // onShow?: (event: NativeSyntheticEvent) => void;\n onShow?: ?DirectEventHandler,\n\n /**\n * The `backdropColor` props sets the background color of the modal's container.\n * Defaults to `white` if not provided and transparent is `false`. Ignored if `transparent` is `true`.\n */\n backdropColor?: ColorValue,\n};\n\nexport type ModalPropsIOS = {\n /**\n * The `presentationStyle` determines the style of modal to show\n */\n presentationStyle?: ?(\n | 'fullScreen'\n | 'pageSheet'\n | 'formSheet'\n | 'overFullScreen'\n ),\n\n /**\n * The `supportedOrientations` prop allows the modal to be rotated to any of the specified orientations.\n * On iOS, the modal is still restricted by what's specified in your app's Info.plist's UISupportedInterfaceOrientations field.\n */\n supportedOrientations?: ?$ReadOnlyArray<\n | 'portrait'\n | 'portrait-upside-down'\n | 'landscape'\n | 'landscape-left'\n | 'landscape-right',\n >,\n\n /**\n * The `onDismiss` prop allows passing a function that will be called once the modal has been dismissed.\n */\n // onDismiss?: (() => void) | undefined;\n onDismiss?: ?() => void,\n\n /**\n * The `onOrientationChange` callback is called when the orientation changes while the modal is being displayed.\n * The orientation provided is only 'portrait' or 'landscape'. This callback is also called on initial render, regardless of the current orientation.\n */\n // onOrientationChange?:\n // | ((event: NativeSyntheticEvent) => void)\n // | undefined;\n onOrientationChange?: ?DirectEventHandler,\n};\n\nexport type ModalPropsAndroid = {\n /**\n * Controls whether to force hardware acceleration for the underlying window.\n */\n hardwareAccelerated?: ?boolean,\n\n /**\n * Determines whether your modal should go under the system statusbar.\n */\n statusBarTranslucent?: ?boolean,\n\n /**\n * Determines whether your modal should go under the system navigationbar.\n */\n navigationBarTranslucent?: ?boolean,\n};\n\nexport type ModalPropsWindows = {\n /**\n * [Windows] The `title` prop sets the title of the modal window.\n */\n title?: ?string,\n};\n\nexport type ModalProps = {\n ...ModalBaseProps,\n ...ModalPropsIOS,\n ...ModalPropsAndroid,\n ...ModalPropsWindows,\n ...ViewProps,\n};\n\nfunction confirmProps(props: ModalProps) {\n if (__DEV__) {\n if (\n props.presentationStyle &&\n props.presentationStyle !== 'overFullScreen' &&\n props.transparent === true\n ) {\n console.warn(\n `Modal with '${props.presentationStyle}' presentation style and 'transparent' value is not supported.`,\n );\n }\n if (\n props.navigationBarTranslucent === true &&\n props.statusBarTranslucent !== true\n ) {\n console.warn(\n 'Modal with translucent navigation bar and without translucent status bar is not supported.',\n );\n }\n }\n}\n\n// Create a state to track whether the Modal is rendering or not.\n// This is the only prop that controls whether the modal is rendered or not.\ntype State = {\n isRendered: boolean,\n};\n\nclass Modal extends React.Component {\n static defaultProps: {hardwareAccelerated: boolean, visible: boolean} = {\n visible: true,\n hardwareAccelerated: false,\n };\n\n static contextType: React.Context = RootTagContext;\n\n _identifier: number;\n _eventSubscription: ?EventSubscription;\n\n constructor(props: ModalProps) {\n super(props);\n if (__DEV__) {\n confirmProps(props);\n }\n this._identifier = uniqueModalIdentifier++;\n this.state = {\n isRendered: props.visible === true,\n };\n }\n\n componentDidMount() {\n // 'modalDismissed' is for the old renderer in iOS only\n if (ModalEventEmitter) {\n this._eventSubscription = ModalEventEmitter.addListener(\n 'modalDismissed',\n event => {\n this.setState({isRendered: false}, () => {\n if (event.modalID === this._identifier && this.props.onDismiss) {\n this.props.onDismiss();\n }\n });\n },\n );\n }\n }\n\n componentWillUnmount() {\n if (this._eventSubscription) {\n this._eventSubscription.remove();\n }\n }\n\n componentDidUpdate(prevProps: ModalProps) {\n if (prevProps.visible === false && this.props.visible === true) {\n this.setState({isRendered: true});\n }\n\n if (__DEV__) {\n confirmProps(this.props);\n }\n }\n\n // Helper function to encapsulate platform specific logic to show or not the Modal.\n _shouldShowModal(): boolean {\n if (Platform.OS === 'ios' || Platform.OS === 'windows') {\n // [Windows]\n return this.props.visible === true || this.state.isRendered === true;\n }\n\n return this.props.visible === true;\n }\n\n render(): React.Node {\n if (!this._shouldShowModal()) {\n return null;\n }\n\n const containerStyles = {\n backgroundColor:\n this.props.transparent === true\n ? 'transparent'\n : this.props.backdropColor ?? 'white',\n };\n\n let animationType = this.props.animationType || 'none';\n\n let presentationStyle = this.props.presentationStyle;\n if (!presentationStyle) {\n presentationStyle = 'fullScreen';\n if (this.props.transparent === true) {\n presentationStyle = 'overFullScreen';\n }\n }\n\n // [Windows] - apply empty rootViewStyle to AppContainer to prevent modal from always expanding to fill available space\n const innerChildren = __DEV__ ? (\n \n {this.props.children}\n \n ) : (\n this.props.children\n );\n\n const onDismiss = () => {\n // OnDismiss is implemented on iOS/Windows only. // [Windows]\n if (Platform.OS === 'ios' || Platform.OS === 'windows') {\n // [Windows]\n this.setState({isRendered: false}, () => {\n if (this.props.onDismiss) {\n this.props.onDismiss();\n }\n });\n }\n };\n\n return (\n \n \n \n \n {innerChildren}\n \n \n \n \n );\n }\n\n // We don't want any responder events bubbling out of the modal.\n _shouldSetResponder(): boolean {\n return true;\n }\n}\n\nconst side = I18nManager.getConstants().isRTL ? 'right' : 'left';\nconst styles = StyleSheet.create({\n modal: {\n position: 'absolute',\n },\n container: {\n /* $FlowFixMe[invalid-computed-prop] (>=0.111.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.111 was deployed. To see\n * the error, delete this comment and run Flow. */\n // $FlowFixMe[incompatible-call]\n [side]: 0,\n top: 0,\n flex: 1,\n },\n});\n\n// $FlowFixMe[prop-missing]\nconst ExportedModal: React.AbstractComponent<\n React.ElementConfig,\n // $FlowFixMe[incompatible-type-arg]\n> = ModalInjection.unstable_Modal ?? Modal;\n\nexport default ExportedModal;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport typeof Modal from './Modal';\n\nexport default {\n unstable_Modal: (null: ?Modal),\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeModalManager';\nimport NativeModalManager from '../../src/private/specs_DEPRECATED/modules/NativeModalManager';\nexport default NativeModalManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n // RCTEventEmitter\n +addListener: (eventName: string) => void;\n +removeListeners: (count: number) => void;\n}\n\nexport default (TurboModuleRegistry.get('ModalManager'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nexport * from '../../src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent';\nimport RCTModalHostViewNativeComponent from '../../src/private/specs_DEPRECATED/components/RCTModalHostViewNativeComponent';\nexport default RCTModalHostViewNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';\nimport type {\n DirectEventHandler,\n Int32,\n WithDefault,\n} from '../../../../Libraries/Types/CodegenTypes';\nimport type {HostComponent} from '../../types/HostComponent';\n\nimport codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';\n\ntype OrientationChangeEvent = $ReadOnly<{|\n orientation: 'portrait' | 'landscape',\n|}>;\n\ntype NativeProps = $ReadOnly<{|\n ...ViewProps,\n\n /**\n * The `animationType` prop controls how the modal animates.\n *\n * See https://reactnative.dev/docs/modal#animationtype\n */\n animationType?: WithDefault<'none' | 'slide' | 'fade', 'none'>,\n\n /**\n * The `presentationStyle` prop controls how the modal appears.\n *\n * See https://reactnative.dev/docs/modal#presentationstyle\n */\n presentationStyle?: WithDefault<\n 'fullScreen' | 'pageSheet' | 'formSheet' | 'overFullScreen',\n 'fullScreen',\n >,\n\n /**\n * The `transparent` prop determines whether your modal will fill the\n * entire view.\n *\n * See https://reactnative.dev/docs/modal#transparent\n */\n transparent?: WithDefault,\n\n /**\n * The `statusBarTranslucent` prop determines whether your modal should go under\n * the system statusbar.\n *\n * See https://reactnative.dev/docs/modal#statusBarTranslucent\n */\n statusBarTranslucent?: WithDefault,\n\n /**\n * The `navigationBarTranslucent` prop determines whether your modal should go under\n * the system navigationbar.\n *\n * See https://reactnative.dev/docs/modal#navigationBarTranslucent\n */\n navigationBarTranslucent?: WithDefault,\n\n /**\n * The `hardwareAccelerated` prop controls whether to force hardware\n * acceleration for the underlying window.\n *\n * See https://reactnative.dev/docs/modal#hardwareaccelerated\n */\n hardwareAccelerated?: WithDefault,\n\n /**\n * The `onRequestClose` callback is called when the user taps the hardware\n * back button on Android or the menu button on Apple TV.\n *\n * This is required on Apple TV and Android.\n *\n * See https://reactnative.dev/docs/modal#onrequestclose\n */\n onRequestClose?: ?DirectEventHandler,\n\n /**\n * The `onShow` prop allows passing a function that will be called once the\n * modal has been shown.\n *\n * See https://reactnative.dev/docs/modal#onshow\n */\n onShow?: ?DirectEventHandler,\n\n /**\n * The `onDismiss` prop allows passing a function that will be called once\n * the modal has been dismissed.\n *\n * See https://reactnative.dev/docs/modal#ondismiss\n */\n onDismiss?: ?DirectEventHandler,\n\n /**\n * The `visible` prop determines whether your modal is visible.\n *\n * See https://reactnative.dev/docs/modal#visible\n */\n visible?: WithDefault,\n\n /**\n * Deprecated. Use the `animationType` prop instead.\n */\n animated?: WithDefault,\n\n /**\n * The `supportedOrientations` prop allows the modal to be rotated to any of the specified orientations.\n *\n * See https://reactnative.dev/docs/modal#supportedorientations\n */\n supportedOrientations?: WithDefault<\n $ReadOnlyArray<\n | 'portrait'\n | 'portrait-upside-down'\n | 'landscape'\n | 'landscape-left'\n | 'landscape-right',\n >,\n 'portrait',\n >,\n\n /**\n * The `onOrientationChange` callback is called when the orientation changes while the modal is being displayed.\n *\n * See https://reactnative.dev/docs/modal#onorientationchange\n */\n onOrientationChange?: ?DirectEventHandler,\n\n /**\n * The `identifier` is the unique number for identifying Modal components.\n */\n identifier?: WithDefault,\n\n /*\n title for the modal\n windows only\n */\n // [Windows\n title?: WithDefault,\n // Windows]\n|}>;\n\nexport default (codegenNativeComponent('ModalHostView', {\n interfaceOnly: true,\n paperComponentName: 'RCTModalHostView',\n}): HostComponent);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {HostInstance} from '../../../src/private/types/HostInstance';\nimport type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';\nimport type {PointProp} from '../../StyleSheet/PointPropType';\nimport type {ViewStyleProp} from '../../StyleSheet/StyleSheet';\nimport type {ColorValue} from '../../StyleSheet/StyleSheet';\nimport type {\n GestureResponderEvent,\n LayoutChangeEvent,\n ScrollEvent,\n} from '../../Types/CoreEventTypes';\nimport type {EventSubscription} from '../../vendor/emitter/EventEmitter';\nimport type {KeyboardEvent, KeyboardMetrics} from '../Keyboard/Keyboard';\nimport typeof View from '../View/View';\nimport type {ViewProps} from '../View/ViewPropTypes';\nimport type {ScrollViewStickyHeaderProps} from './ScrollViewStickyHeader';\n\nimport {\n HScrollContentViewNativeComponent,\n HScrollViewNativeComponent,\n} from '../../../src/private/components/HScrollViewNativeComponents';\nimport {\n VScrollContentViewNativeComponent,\n VScrollViewNativeComponent,\n} from '../../../src/private/components/VScrollViewNativeComponents';\nimport AnimatedImplementation from '../../Animated/AnimatedImplementation';\nimport FrameRateLogger from '../../Interaction/FrameRateLogger';\nimport {findNodeHandle} from '../../ReactNative/RendererProxy';\nimport UIManager from '../../ReactNative/UIManager';\nimport flattenStyle from '../../StyleSheet/flattenStyle';\nimport splitLayoutProps from '../../StyleSheet/splitLayoutProps';\nimport StyleSheet from '../../StyleSheet/StyleSheet';\nimport Dimensions from '../../Utilities/Dimensions';\nimport dismissKeyboard from '../../Utilities/dismissKeyboard';\nimport Platform from '../../Utilities/Platform';\nimport Keyboard from '../Keyboard/Keyboard';\nimport TextInputState from '../TextInput/TextInputState';\nimport processDecelerationRate from './processDecelerationRate';\nimport Commands from './ScrollViewCommands';\nimport ScrollViewContext, {HORIZONTAL, VERTICAL} from './ScrollViewContext';\nimport ScrollViewStickyHeader from './ScrollViewStickyHeader';\nimport invariant from 'invariant';\nimport memoize from 'memoize-one';\nimport nullthrows from 'nullthrows';\nimport * as React from 'react';\n\n/*\n * iOS scroll event timing nuances:\n * ===============================\n *\n *\n * Scrolling without bouncing, if you touch down:\n * -------------------------------\n *\n * 1. `onMomentumScrollBegin` (when animation begins after letting up)\n * ... physical touch starts ...\n * 2. `onTouchStartCapture` (when you press down to stop the scroll)\n * 3. `onTouchStart` (same, but bubble phase)\n * 4. `onResponderRelease` (when lifting up - you could pause forever before * lifting)\n * 5. `onMomentumScrollEnd`\n *\n *\n * Scrolling with bouncing, if you touch down:\n * -------------------------------\n *\n * 1. `onMomentumScrollBegin` (when animation begins after letting up)\n * ... bounce begins ...\n * ... some time elapses ...\n * ... physical touch during bounce ...\n * 2. `onMomentumScrollEnd` (Makes no sense why this occurs first during bounce)\n * 3. `onTouchStartCapture` (immediately after `onMomentumScrollEnd`)\n * 4. `onTouchStart` (same, but bubble phase)\n * 5. `onTouchEnd` (You could hold the touch start for a long time)\n * 6. `onMomentumScrollBegin` (When releasing the view starts bouncing back)\n *\n * So when we receive an `onTouchStart`, how can we tell if we are touching\n * *during* an animation (which then causes the animation to stop)? The only way\n * to tell is if the `touchStart` occurred immediately after the\n * `onMomentumScrollEnd`.\n *\n * This is abstracted out for you, so you can just call this.scrollResponderIsAnimating() if\n * necessary\n *\n * `ScrollView` also includes logic for blurring a currently focused input\n * if one is focused while scrolling. This is a natural place\n * to put this logic since it can support not dismissing the keyboard while\n * scrolling, unless a recognized \"tap\"-like gesture has occurred.\n *\n * The public lifecycle API includes events for keyboard interaction, responder\n * interaction, and scrolling (among others). The keyboard callbacks\n * `onKeyboardWill/Did/*` are *global* events, but are invoked on scroll\n * responder's props so that you can guarantee that the scroll responder's\n * internal state has been updated accordingly (and deterministically) by\n * the time the props callbacks are invoke. Otherwise, you would always wonder\n * if the scroll responder is currently in a state where it recognizes new\n * keyboard positions etc. If coordinating scrolling with keyboard movement,\n * *always* use these hooks instead of listening to your own global keyboard\n * events.\n *\n * Public keyboard lifecycle API: (props callbacks)\n *\n * Standard Keyboard Appearance Sequence:\n *\n * this.props.onKeyboardWillShow\n * this.props.onKeyboardDidShow\n *\n * `onScrollResponderKeyboardDismissed` will be invoked if an appropriate\n * tap inside the scroll responder's scrollable region was responsible\n * for the dismissal of the keyboard. There are other reasons why the\n * keyboard could be dismissed.\n *\n * this.props.onScrollResponderKeyboardDismissed\n *\n * Standard Keyboard Hide Sequence:\n *\n * this.props.onKeyboardWillHide\n * this.props.onKeyboardDidHide\n */\n\nexport interface ScrollViewScrollToOptions {\n x?: number;\n y?: number;\n animated?: boolean;\n}\n\n// Public methods for ScrollView\nexport interface ScrollViewImperativeMethods {\n +getScrollResponder: $PropertyType;\n +getScrollableNode: $PropertyType;\n +getInnerViewNode: $PropertyType;\n +getInnerViewRef: $PropertyType;\n +getNativeScrollRef: $PropertyType;\n +scrollTo: $PropertyType;\n +scrollToEnd: $PropertyType;\n +flashScrollIndicators: $PropertyType;\n +scrollResponderZoomTo: $PropertyType;\n +scrollResponderScrollNativeHandleToKeyboard: $PropertyType<\n ScrollView,\n 'scrollResponderScrollNativeHandleToKeyboard',\n >;\n}\n\nexport type DecelerationRateType = 'fast' | 'normal' | number;\nexport type ScrollResponderType = ScrollViewImperativeMethods;\n\nexport interface PublicScrollViewInstance\n extends HostInstance,\n ScrollViewImperativeMethods {}\n\ntype InnerViewInstance = React.ElementRef;\n\nexport type ScrollViewPropsIOS = $ReadOnly<{\n /**\n * Controls whether iOS should automatically adjust the content inset\n * for scroll views that are placed behind a navigation bar or\n * tab bar/ toolbar. The default value is true.\n * @platform ios\n */\n automaticallyAdjustContentInsets?: ?boolean,\n /**\n * Controls whether the ScrollView should automatically adjust its `contentInset`\n * and `scrollViewInsets` when the Keyboard changes its size. The default value is false.\n * @platform ios\n */\n automaticallyAdjustKeyboardInsets?: ?boolean,\n /**\n * Controls whether iOS should automatically adjust the scroll indicator\n * insets. The default value is true. Available on iOS 13 and later.\n * @platform ios\n */\n automaticallyAdjustsScrollIndicatorInsets?: ?boolean,\n /**\n * The amount by which the scroll view content is inset from the edges\n * of the scroll view. Defaults to `{top: 0, left: 0, bottom: 0, right: 0}`.\n * @platform ios\n */\n contentInset?: ?EdgeInsetsProp,\n /**\n * When true, the scroll view bounces when it reaches the end of the\n * content if the content is larger then the scroll view along the axis of\n * the scroll direction. When false, it disables all bouncing even if\n * the `alwaysBounce*` props are true. The default value is true.\n * @platform ios\n */\n bounces?: ?boolean,\n /**\n * By default, ScrollView has an active pan responder that hijacks panresponders\n * deeper in the render tree in order to prevent accidental touches while scrolling.\n * However, in certain occasions (such as when using snapToInterval) in a vertical scrollview\n * You may want to disable this behavior in order to prevent the ScrollView from blocking touches\n */\n disableScrollViewPanResponder?: ?boolean,\n /**\n * When true, gestures can drive zoom past min/max and the zoom will animate\n * to the min/max value at gesture end, otherwise the zoom will not exceed\n * the limits.\n * @platform ios\n */\n bouncesZoom?: ?boolean,\n /**\n * When true, the scroll view bounces horizontally when it reaches the end\n * even if the content is smaller than the scroll view itself. The default\n * value is true when `horizontal={true}` and false otherwise.\n * @platform ios\n */\n alwaysBounceHorizontal?: ?boolean,\n /**\n * When true, the scroll view bounces vertically when it reaches the end\n * even if the content is smaller than the scroll view itself. The default\n * value is false when `horizontal={true}` and true otherwise.\n * @platform ios\n */\n alwaysBounceVertical?: ?boolean,\n /**\n * When true, the scroll view automatically centers the content when the\n * content is smaller than the scroll view bounds; when the content is\n * larger than the scroll view, this property has no effect. The default\n * value is false.\n * @platform ios\n */\n centerContent?: ?boolean,\n /**\n * The style of the scroll indicators.\n *\n * - `'default'` (the default), same as `black`.\n * - `'black'`, scroll indicator is black. This style is good against a light background.\n * - `'white'`, scroll indicator is white. This style is good against a dark background.\n *\n * @platform ios\n */\n indicatorStyle?: ?('default' | 'black' | 'white'),\n /**\n * When true, the ScrollView will try to lock to only vertical or horizontal\n * scrolling while dragging. The default value is false.\n * @platform ios\n */\n directionalLockEnabled?: ?boolean,\n /**\n * When false, once tracking starts, won't try to drag if the touch moves.\n * The default value is true.\n * @platform ios\n */\n canCancelContentTouches?: ?boolean,\n /**\n * The maximum allowed zoom scale. The default value is 1.0.\n * @platform ios\n */\n maximumZoomScale?: ?number,\n /**\n * The minimum allowed zoom scale. The default value is 1.0.\n * @platform ios\n */\n minimumZoomScale?: ?number,\n /**\n * When true, ScrollView allows use of pinch gestures to zoom in and out.\n * The default value is true.\n * @platform ios\n */\n pinchGestureEnabled?: ?boolean,\n /**\n * The amount by which the scroll view indicators are inset from the edges\n * of the scroll view. This should normally be set to the same value as\n * the `contentInset`. Defaults to `{0, 0, 0, 0}`.\n * @platform ios\n */\n scrollIndicatorInsets?: ?EdgeInsetsProp,\n /**\n * When true, the scroll view can be programmatically scrolled beyond its\n * content size. The default value is false.\n * @platform ios\n */\n scrollToOverflowEnabled?: ?boolean,\n /**\n * When true, the scroll view scrolls to top when the status bar is tapped.\n * The default value is true.\n * @platform ios\n */\n scrollsToTop?: ?boolean,\n /**\n * Fires when the scroll view scrolls to top after the status bar has been tapped\n * @platform ios\n */\n onScrollToTop?: (event: ScrollEvent) => void,\n /**\n * When true, shows a horizontal scroll indicator.\n * The default value is true.\n */\n showsHorizontalScrollIndicator?: ?boolean,\n /**\n * The current scale of the scroll view content. The default value is 1.0.\n * @platform ios\n */\n zoomScale?: ?number,\n /**\n * This property specifies how the safe area insets are used to modify the\n * content area of the scroll view. The default value of this property is\n * \"never\". Available on iOS 11 and later.\n * @platform ios\n */\n contentInsetAdjustmentBehavior?: ?(\n | 'automatic'\n | 'scrollableAxes'\n | 'never'\n | 'always'\n ),\n}>;\n\nexport type ScrollViewPropsAndroid = $ReadOnly<{\n /**\n * Enables nested scrolling for Android API level 21+.\n * Nested scrolling is supported by default on iOS\n * @platform android\n */\n nestedScrollEnabled?: ?boolean,\n /**\n * Sometimes a scrollview takes up more space than its content fills. When this is\n * the case, this prop will fill the rest of the scrollview with a color to avoid setting\n * a background and creating unnecessary overdraw. This is an advanced optimization\n * that is not needed in the general case.\n * @platform android\n */\n endFillColor?: ?ColorValue,\n /**\n * Tag used to log scroll performance on this scroll view. Will force\n * momentum events to be turned on (see sendMomentumEvents). This doesn't do\n * anything out of the box and you need to implement a custom native\n * FpsListener for it to be useful.\n * @platform android\n */\n scrollPerfTag?: ?string,\n /**\n * Used to override default value of overScroll mode.\n *\n * Possible values:\n *\n * - `'auto'` - Default value, allow a user to over-scroll\n * this view only if the content is large enough to meaningfully scroll.\n * - `'always'` - Always allow a user to over-scroll this view.\n * - `'never'` - Never allow a user to over-scroll this view.\n *\n * @platform android\n */\n overScrollMode?: ?('auto' | 'always' | 'never'),\n /**\n * Causes the scrollbars not to turn transparent when they are not in use.\n * The default value is false.\n *\n * @platform android\n */\n persistentScrollbar?: ?boolean,\n /**\n * Fades out the edges of the scroll content.\n *\n * If the value is greater than 0, the fading edges will be set accordingly\n * to the current scroll direction and position,\n * indicating if there is more content to show.\n *\n * The default value is 0.\n *\n * @platform android\n */\n fadingEdgeLength?: ?number,\n}>;\n\ntype StickyHeaderComponentType = component(\n ref?: React.RefSetter<$ReadOnly void}>>,\n ...ScrollViewStickyHeaderProps\n);\n\nexport type ScrollViewProps = $ReadOnly<{\n ...ViewProps,\n ...ScrollViewPropsIOS,\n ...ScrollViewPropsAndroid,\n\n /**\n * These styles will be applied to the scroll view content container which\n * wraps all of the child views. Example:\n *\n * ```\n * return (\n * \n * \n * );\n * ...\n * const styles = StyleSheet.create({\n * contentContainer: {\n * paddingVertical: 20\n * }\n * });\n * ```\n */\n contentContainerStyle?: ?ViewStyleProp,\n /**\n * Used to manually set the starting scroll offset.\n * The default value is `{x: 0, y: 0}`.\n */\n contentOffset?: ?PointProp,\n /**\n * When true, the scroll view stops on the next index (in relation to scroll\n * position at release) regardless of how fast the gesture is. This can be\n * used for pagination when the page is less than the width of the\n * horizontal ScrollView or the height of the vertical ScrollView. The default value is false.\n */\n disableIntervalMomentum?: ?boolean,\n /**\n * A floating-point number that determines how quickly the scroll view\n * decelerates after the user lifts their finger. You may also use string\n * shortcuts `\"normal\"` and `\"fast\"` which match the underlying iOS settings\n * for `UIScrollViewDecelerationRateNormal` and\n * `UIScrollViewDecelerationRateFast` respectively.\n *\n * - `'normal'`: 0.998 on iOS, 0.985 on Android (the default)\n * - `'fast'`: 0.99 on iOS, 0.9 on Android\n */\n decelerationRate?: ?DecelerationRateType,\n\n /**\n * *Experimental, iOS Only*. The API is experimental and will change in future releases.\n *\n * Controls how much distance is travelled after user stops scrolling.\n * Value greater than 1 will increase the distance travelled.\n * Value less than 1 will decrease the distance travelled.\n *\n * @deprecated\n *\n * The default value is 1.\n */\n experimental_endDraggingSensitivityMultiplier?: ?number,\n\n /**\n * When true, the scroll view's children are arranged horizontally in a row\n * instead of vertically in a column. The default value is false.\n */\n horizontal?: ?boolean,\n /**\n * If sticky headers should stick at the bottom instead of the top of the\n * ScrollView. This is usually used with inverted ScrollViews.\n */\n invertStickyHeaders?: ?boolean,\n /**\n * Determines whether the keyboard gets dismissed in response to a drag.\n *\n * *Cross platform*\n *\n * - `'none'` (the default), drags do not dismiss the keyboard.\n * - `'on-drag'`, the keyboard is dismissed when a drag begins.\n *\n * *iOS Only*\n *\n * - `'interactive'`, the keyboard is dismissed interactively with the drag and moves in\n * synchrony with the touch; dragging upwards cancels the dismissal.\n * On android this is not supported and it will have the same behavior as 'none'.\n */\n keyboardDismissMode?: ?// default\n // cross-platform\n ('none' | 'on-drag' | 'interactive'), // ios only\n /**\n * Determines when the keyboard should stay visible after a tap.\n *\n * - `'never'` (the default), tapping outside of the focused text input when the keyboard\n * is up dismisses the keyboard. When this happens, children won't receive the tap.\n * - `'always'`, the keyboard will not dismiss automatically, and the scroll view will not\n * catch taps, but children of the scroll view can catch taps.\n * - `'handled'`, the keyboard will not dismiss automatically when the tap was handled by\n * a children, (or captured by an ancestor).\n * - `false`, deprecated, use 'never' instead\n * - `true`, deprecated, use 'always' instead\n */\n keyboardShouldPersistTaps?: ?('always' | 'never' | 'handled' | true | false),\n /**\n * When set, the scroll view will adjust the scroll position so that the first child that is\n * partially or fully visible and at or beyond `minIndexForVisible` will not change position.\n * This is useful for lists that are loading content in both directions, e.g. a chat thread,\n * where new messages coming in might otherwise cause the scroll position to jump. A value of 0\n * is common, but other values such as 1 can be used to skip loading spinners or other content\n * that should not maintain position.\n *\n * The optional `autoscrollToTopThreshold` can be used to make the content automatically scroll\n * to the top after making the adjustment if the user was within the threshold of the top before\n * the adjustment was made. This is also useful for chat-like applications where you want to see\n * new messages scroll into place, but not if the user has scrolled up a ways and it would be\n * disruptive to scroll a bunch.\n *\n * Caveat 1: Reordering elements in the scrollview with this enabled will probably cause\n * jumpiness and jank. It can be fixed, but there are currently no plans to do so. For now,\n * don't re-order the content of any ScrollViews or Lists that use this feature.\n *\n * Caveat 2: This simply uses `contentOffset` and `frame.origin` in native code to compute\n * visibility. Occlusion, transforms, and other complexity won't be taken into account as to\n * whether content is \"visible\" or not.\n *\n */\n maintainVisibleContentPosition?: ?$ReadOnly<{\n minIndexForVisible: number,\n autoscrollToTopThreshold?: ?number,\n }>,\n /**\n * Called when the momentum scroll starts (scroll which occurs as the ScrollView glides to a stop).\n */\n onMomentumScrollBegin?: ?(event: ScrollEvent) => void,\n /**\n * Called when the momentum scroll ends (scroll which occurs as the ScrollView glides to a stop).\n */\n onMomentumScrollEnd?: ?(event: ScrollEvent) => void,\n\n /**\n * Fires at most once per frame during scrolling.\n */\n onScroll?: ?(event: ScrollEvent) => void,\n /**\n * Called when the user begins to drag the scroll view.\n */\n onScrollBeginDrag?: ?(event: ScrollEvent) => void,\n /**\n * Called when the user stops dragging the scroll view and it either stops\n * or begins to glide.\n */\n onScrollEndDrag?: ?(event: ScrollEvent) => void,\n /**\n * Called when scrollable content view of the ScrollView changes.\n *\n * Handler function is passed the content width and content height as parameters:\n * `(contentWidth, contentHeight)`\n *\n * It's implemented using onLayout handler attached to the content container\n * which this ScrollView renders.\n */\n onContentSizeChange?: (contentWidth: number, contentHeight: number) => void,\n onKeyboardDidShow?: (event: KeyboardEvent) => void,\n onKeyboardDidHide?: (event: KeyboardEvent) => void,\n onKeyboardWillShow?: (event: KeyboardEvent) => void,\n onKeyboardWillHide?: (event: KeyboardEvent) => void,\n /**\n * When true, the scroll view stops on multiples of the scroll view's size\n * when scrolling. This can be used for horizontal pagination. The default\n * value is false.\n */\n pagingEnabled?: ?boolean,\n /**\n * When false, the view cannot be scrolled via touch interaction.\n * The default value is true.\n *\n * Note that the view can always be scrolled by calling `scrollTo`.\n */\n scrollEnabled?: ?boolean,\n /**\n * Limits how often scroll events will be fired while scrolling, specified as\n * a time interval in ms. This may be useful when expensive work is performed\n * in response to scrolling. Values <= `16` will disable throttling,\n * regardless of the refresh rate of the device.\n */\n scrollEventThrottle?: ?number,\n /**\n * When true, shows a vertical scroll indicator.\n * The default value is true.\n */\n showsVerticalScrollIndicator?: ?boolean,\n /**\n * When true, Sticky header is hidden when scrolling down, and dock at the top\n * when scrolling up\n */\n stickyHeaderHiddenOnScroll?: ?boolean,\n /**\n * An array of child indices determining which children get docked to the\n * top of the screen when scrolling. For example, passing\n * `stickyHeaderIndices={[0]}` will cause the first child to be fixed to the\n * top of the scroll view. This property is not supported in conjunction\n * with `horizontal={true}`.\n */\n stickyHeaderIndices?: ?$ReadOnlyArray,\n /**\n * A React Component that will be used to render sticky headers.\n * To be used together with `stickyHeaderIndices` or with `SectionList`, defaults to `ScrollViewStickyHeader`.\n * You may need to set this if your sticky header uses custom transforms (eg. translation),\n * for example when you want your list to have an animated hidable header.\n */\n StickyHeaderComponent?: StickyHeaderComponentType,\n /**\n * When `snapToInterval` is set, `snapToAlignment` will define the relationship\n * of the snapping to the scroll view.\n *\n * - `'start'` (the default) will align the snap at the left (horizontal) or top (vertical)\n * - `'center'` will align the snap in the center\n * - `'end'` will align the snap at the right (horizontal) or bottom (vertical)\n */\n snapToAlignment?: ?('start' | 'center' | 'end'),\n /**\n * When set, causes the scroll view to stop at multiples of the value of\n * `snapToInterval`. This can be used for paginating through children\n * that have lengths smaller than the scroll view. Typically used in\n * combination with `snapToAlignment` and `decelerationRate=\"fast\"`.\n *\n * Overrides less configurable `pagingEnabled` prop.\n */\n snapToInterval?: ?number,\n /**\n * When set, causes the scroll view to stop at the defined offsets.\n * This can be used for paginating through variously sized children\n * that have lengths smaller than the scroll view. Typically used in\n * combination with `decelerationRate=\"fast\"`.\n *\n * Overrides less configurable `pagingEnabled` and `snapToInterval` props.\n */\n snapToOffsets?: ?$ReadOnlyArray,\n /**\n * Use in conjunction with `snapToOffsets`. By default, the beginning\n * of the list counts as a snap offset. Set `snapToStart` to false to disable\n * this behavior and allow the list to scroll freely between its start and\n * the first `snapToOffsets` offset.\n * The default value is true.\n */\n snapToStart?: ?boolean,\n /**\n * Use in conjunction with `snapToOffsets`. By default, the end\n * of the list counts as a snap offset. Set `snapToEnd` to false to disable\n * this behavior and allow the list to scroll freely between its end and\n * the last `snapToOffsets` offset.\n * The default value is true.\n */\n snapToEnd?: ?boolean,\n /**\n * Experimental: When true, offscreen child views (whose `overflow` value is\n * `hidden`) are removed from their native backing superview when offscreen.\n * This can improve scrolling performance on long lists. The default value is\n * true.\n */\n removeClippedSubviews?: ?boolean,\n /**\n * A RefreshControl component, used to provide pull-to-refresh\n * functionality for the ScrollView. Only works for vertical ScrollViews\n * (`horizontal` prop must be `false`).\n *\n * See [RefreshControl](docs/refreshcontrol.html).\n */\n /* $FlowFixMe[unclear-type] - how to handle generic type without existential\n * operator? */\n refreshControl?: ?React.Node,\n children?: React.Node,\n /**\n * A ref to the inner View element of the ScrollView. This should be used\n * instead of calling `getInnerViewRef`.\n */\n innerViewRef?: React.RefSetter,\n /**\n * A ref to the Native ScrollView component. This ref can be used to call\n * all of ScrollView's public methods, in addition to native methods like\n * measure, measureLayout, etc.\n */\n scrollViewRef?: React.RefSetter,\n}>;\n\ntype State = {\n layoutHeight: ?number,\n};\n\nconst IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;\n\nexport type ScrollViewComponentStatics = $ReadOnly<{\n Context: typeof ScrollViewContext,\n}>;\n\n/**\n * Component that wraps platform ScrollView while providing\n * integration with touch locking \"responder\" system.\n *\n * Keep in mind that ScrollViews must have a bounded height in order to work,\n * since they contain unbounded-height children into a bounded container (via\n * a scroll interaction). In order to bound the height of a ScrollView, either\n * set the height of the view directly (discouraged) or make sure all parent\n * views have bounded height. Forgetting to transfer `{flex: 1}` down the\n * view stack can lead to errors here, which the element inspector makes\n * easy to debug.\n *\n * Doesn't yet support other contained responders from blocking this scroll\n * view from becoming the responder.\n *\n *\n * `` vs [``](https://reactnative.dev/docs/flatlist) - which one to use?\n *\n * `ScrollView` simply renders all its react child components at once. That\n * makes it very easy to understand and use.\n *\n * On the other hand, this has a performance downside. Imagine you have a very\n * long list of items you want to display, maybe several screens worth of\n * content. Creating JS components and native views for everything all at once,\n * much of which may not even be shown, will contribute to slow rendering and\n * increased memory usage.\n *\n * This is where `FlatList` comes into play. `FlatList` renders items lazily,\n * just when they are about to appear, and removes items that scroll way off\n * screen to save memory and processing time.\n *\n * `FlatList` is also handy if you want to render separators between your items,\n * multiple columns, infinite scroll loading, or any number of other features it\n * supports out of the box.\n */\nclass ScrollView extends React.Component {\n static Context: typeof ScrollViewContext = ScrollViewContext;\n\n constructor(props: ScrollViewProps) {\n super(props);\n\n this._scrollAnimatedValue = new AnimatedImplementation.Value(\n this.props.contentOffset?.y ?? 0,\n );\n this._scrollAnimatedValue.setOffset(this.props.contentInset?.top ?? 0);\n }\n\n _scrollAnimatedValue: AnimatedImplementation.Value;\n _scrollAnimatedValueAttachment: ?{detach: () => void, ...} = null;\n _stickyHeaderRefs: Map<\n React.Key,\n React.ElementRef,\n > = new Map();\n _headerLayoutYs: Map = new Map();\n\n _keyboardMetrics: ?KeyboardMetrics = null;\n _additionalScrollOffset: number = 0;\n _isTouching: boolean = false;\n _lastMomentumScrollBeginTime: number = 0;\n _lastMomentumScrollEndTime: number = 0;\n\n // Reset to false every time becomes responder. This is used to:\n // - Determine if the scroll view has been scrolled and therefore should\n // refuse to give up its responder lock.\n // - Determine if releasing should dismiss the keyboard when we are in\n // tap-to-dismiss mode (this.props.keyboardShouldPersistTaps !== 'always').\n _observedScrollSinceBecomingResponder: boolean = false;\n _becameResponderWhileAnimating: boolean = false;\n _preventNegativeScrollOffset: ?boolean = null;\n\n _animated: ?boolean = null;\n\n _subscriptionKeyboardWillShow: ?EventSubscription = null;\n _subscriptionKeyboardWillHide: ?EventSubscription = null;\n _subscriptionKeyboardDidShow: ?EventSubscription = null;\n _subscriptionKeyboardDidHide: ?EventSubscription = null;\n\n state: State = {\n layoutHeight: null,\n };\n\n componentDidMount() {\n if (typeof this.props.keyboardShouldPersistTaps === 'boolean') {\n console.warn(\n `'keyboardShouldPersistTaps={${\n this.props.keyboardShouldPersistTaps === true ? 'true' : 'false'\n }}' is deprecated. ` +\n `Use 'keyboardShouldPersistTaps=\"${\n this.props.keyboardShouldPersistTaps ? 'always' : 'never'\n }\"' instead`,\n );\n }\n\n this._keyboardMetrics = Keyboard.metrics();\n this._additionalScrollOffset = 0;\n\n this._subscriptionKeyboardWillShow = Keyboard.addListener(\n 'keyboardWillShow',\n this.scrollResponderKeyboardWillShow,\n );\n this._subscriptionKeyboardWillHide = Keyboard.addListener(\n 'keyboardWillHide',\n this.scrollResponderKeyboardWillHide,\n );\n this._subscriptionKeyboardDidShow = Keyboard.addListener(\n 'keyboardDidShow',\n this.scrollResponderKeyboardDidShow,\n );\n this._subscriptionKeyboardDidHide = Keyboard.addListener(\n 'keyboardDidHide',\n this.scrollResponderKeyboardDidHide,\n );\n\n this._updateAnimatedNodeAttachment();\n }\n\n componentDidUpdate(prevProps: ScrollViewProps) {\n const prevContentInsetTop = prevProps.contentInset\n ? prevProps.contentInset.top\n : 0;\n const newContentInsetTop = this.props.contentInset\n ? this.props.contentInset.top\n : 0;\n if (prevContentInsetTop !== newContentInsetTop) {\n this._scrollAnimatedValue.setOffset(newContentInsetTop || 0);\n }\n\n this._updateAnimatedNodeAttachment();\n }\n\n componentWillUnmount() {\n if (this._subscriptionKeyboardWillShow != null) {\n this._subscriptionKeyboardWillShow.remove();\n }\n if (this._subscriptionKeyboardWillHide != null) {\n this._subscriptionKeyboardWillHide.remove();\n }\n if (this._subscriptionKeyboardDidShow != null) {\n this._subscriptionKeyboardDidShow.remove();\n }\n if (this._subscriptionKeyboardDidHide != null) {\n this._subscriptionKeyboardDidHide.remove();\n }\n\n if (this._scrollAnimatedValueAttachment) {\n this._scrollAnimatedValueAttachment.detach();\n }\n }\n\n /**\n * Returns a reference to the underlying scroll responder, which supports\n * operations like `scrollTo`. All ScrollView-like components should\n * implement this method so that they can be composed while providing access\n * to the underlying scroll responder's methods.\n */\n getScrollResponder: () => ScrollResponderType = () => {\n // $FlowFixMe[unclear-type]\n return ((this: any): ScrollResponderType);\n };\n\n getScrollableNode: () => ?number = () => {\n return findNodeHandle(this.getNativeScrollRef());\n };\n\n getInnerViewNode: () => ?number = () => {\n return findNodeHandle(this._innerView.nativeInstance);\n };\n\n getInnerViewRef: () => InnerViewInstance | null = () => {\n return this._innerView.nativeInstance;\n };\n\n getNativeScrollRef: () => HostInstance | null = () => {\n return this._scrollView.nativeInstance;\n };\n\n /**\n * Scrolls to a given x, y offset, either immediately or with a smooth animation.\n *\n * Example:\n *\n * `scrollTo({x: 0, y: 0, animated: true})`\n *\n * Note: The weird function signature is due to the fact that, for historical reasons,\n * the function also accepts separate arguments as an alternative to the options object.\n * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.\n */\n scrollTo: (\n options?: ScrollViewScrollToOptions | number,\n deprecatedX?: number,\n deprecatedAnimated?: boolean,\n ) => void = (options, deprecatedX, deprecatedAnimated) => {\n let x, y, animated;\n if (typeof options === 'number') {\n console.warn(\n '`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, ' +\n 'animated: true})` instead.',\n );\n y = options;\n x = deprecatedX;\n animated = deprecatedAnimated;\n } else if (options) {\n y = options.y;\n x = options.x;\n animated = options.animated;\n }\n const component = this.getNativeScrollRef();\n if (component == null) {\n return;\n }\n Commands.scrollTo(component, x || 0, y || 0, animated !== false);\n };\n\n /**\n * If this is a vertical ScrollView scrolls to the bottom.\n * If this is a horizontal ScrollView scrolls to the right.\n *\n * Use `scrollToEnd({animated: true})` for smooth animated scrolling,\n * `scrollToEnd({animated: false})` for immediate scrolling.\n * If no options are passed, `animated` defaults to true.\n */\n scrollToEnd: (options?: ?ScrollViewScrollToOptions) => void = options => {\n // Default to true\n const animated = (options && options.animated) !== false;\n const component = this.getNativeScrollRef();\n if (component == null) {\n return;\n }\n Commands.scrollToEnd(component, animated);\n };\n\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n flashScrollIndicators: () => void = () => {\n const component = this.getNativeScrollRef();\n if (component == null) {\n return;\n }\n Commands.flashScrollIndicators(component);\n };\n\n /**\n * This method should be used as the callback to onFocus in a TextInputs'\n * parent view. Note that any module using this mixin needs to return\n * the parent view's ref in getScrollViewRef() in order to use this method.\n * @param {number} nodeHandle The TextInput node handle\n * @param {number} additionalOffset The scroll view's bottom \"contentInset\".\n * Default is 0.\n * @param {bool} preventNegativeScrolling Whether to allow pulling the content\n * down to make it meet the keyboard's top. Default is false.\n */\n scrollResponderScrollNativeHandleToKeyboard: (\n nodeHandle: number | HostInstance,\n additionalOffset?: number,\n preventNegativeScrollOffset?: boolean,\n ) => void = (\n nodeHandle: number | HostInstance,\n additionalOffset?: number,\n preventNegativeScrollOffset?: boolean,\n ) => {\n this._additionalScrollOffset = additionalOffset || 0;\n this._preventNegativeScrollOffset = !!preventNegativeScrollOffset;\n\n if (this._innerView.nativeInstance == null) {\n return;\n }\n\n if (typeof nodeHandle === 'number') {\n UIManager.measureLayout(\n nodeHandle,\n nullthrows(findNodeHandle(this)),\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this._textInputFocusError,\n this._inputMeasureAndScrollToKeyboard,\n );\n } else {\n nodeHandle.measureLayout(\n this._innerView.nativeInstance,\n this._inputMeasureAndScrollToKeyboard,\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this._textInputFocusError,\n );\n }\n };\n\n /**\n * A helper function to zoom to a specific rect in the scrollview. The argument has the shape\n * {x: number; y: number; width: number; height: number; animated: boolean = true}\n *\n * @platform ios\n */\n scrollResponderZoomTo: (\n rect: {\n x: number,\n y: number,\n width: number,\n height: number,\n animated?: boolean,\n },\n animated?: boolean, // deprecated, put this inside the rect argument instead\n ) => void = (\n rect: {\n x: number,\n y: number,\n width: number,\n height: number,\n animated?: boolean,\n },\n animated?: boolean, // deprecated, put this inside the rect argument instead\n ) => {\n invariant(Platform.OS === 'ios', 'zoomToRect is not implemented');\n if ('animated' in rect) {\n this._animated = rect.animated;\n delete rect.animated;\n } else if (typeof animated !== 'undefined') {\n console.warn(\n '`scrollResponderZoomTo` `animated` argument is deprecated. Use `options.animated` instead',\n );\n }\n\n const component = this.getNativeScrollRef();\n if (component == null) {\n return;\n }\n Commands.zoomToRect(component, rect, animated !== false);\n };\n\n _textInputFocusError() {\n console.warn('Error measuring text field.');\n }\n\n /**\n * The calculations performed here assume the scroll view takes up the entire\n * screen - even if has some content inset. We then measure the offsets of the\n * keyboard, and compensate both for the scroll view's \"contentInset\".\n *\n * @param {number} left Position of input w.r.t. table view.\n * @param {number} top Position of input w.r.t. table view.\n * @param {number} width Width of the text input.\n * @param {number} height Height of the text input.\n */\n _inputMeasureAndScrollToKeyboard: (\n left: number,\n top: number,\n width: number,\n height: number,\n ) => void = (left: number, top: number, width: number, height: number) => {\n let keyboardScreenY = Dimensions.get('window').height;\n\n const scrollTextInputIntoVisibleRect = () => {\n if (this._keyboardMetrics != null) {\n keyboardScreenY = this._keyboardMetrics.screenY;\n }\n let scrollOffsetY =\n top - keyboardScreenY + height + this._additionalScrollOffset;\n\n // By default, this can scroll with negative offset, pulling the content\n // down so that the target component's bottom meets the keyboard's top.\n // If requested otherwise, cap the offset at 0 minimum to avoid content\n // shifting down.\n if (this._preventNegativeScrollOffset === true) {\n scrollOffsetY = Math.max(0, scrollOffsetY);\n }\n this.scrollTo({x: 0, y: scrollOffsetY, animated: true});\n\n this._additionalScrollOffset = 0;\n this._preventNegativeScrollOffset = false;\n };\n\n if (this._keyboardMetrics == null) {\n // `_keyboardMetrics` is set inside `scrollResponderKeyboardWillShow` which\n // is not guaranteed to be called before `_inputMeasureAndScrollToKeyboard` but native has already scheduled it.\n // In case it was not called before `_inputMeasureAndScrollToKeyboard`, we postpone scrolling to\n // text input.\n setTimeout(() => {\n scrollTextInputIntoVisibleRect();\n }, 0);\n } else {\n scrollTextInputIntoVisibleRect();\n }\n };\n\n _getKeyForIndex(\n index: number,\n // $FlowFixMe[unclear-type] - The children and its key is unknown.\n childArray: any,\n ): React.Key {\n const child = childArray[index];\n return child && child.key;\n }\n\n _updateAnimatedNodeAttachment() {\n if (this._scrollAnimatedValueAttachment) {\n this._scrollAnimatedValueAttachment.detach();\n }\n if (\n this.props.stickyHeaderIndices &&\n this.props.stickyHeaderIndices.length > 0\n ) {\n this._scrollAnimatedValueAttachment =\n AnimatedImplementation.attachNativeEvent(\n this.getNativeScrollRef(),\n 'onScroll',\n [{nativeEvent: {contentOffset: {y: this._scrollAnimatedValue}}}],\n );\n }\n }\n\n _setStickyHeaderRef(\n key: string,\n ref: ?React.ElementRef,\n ) {\n if (ref) {\n this._stickyHeaderRefs.set(key, ref);\n } else {\n this._stickyHeaderRefs.delete(key);\n }\n }\n\n _onStickyHeaderLayout(\n index: number,\n event: LayoutChangeEvent,\n key: React.Key,\n ) {\n const {stickyHeaderIndices} = this.props;\n if (!stickyHeaderIndices) {\n return;\n }\n const childArray = React.Children.toArray<$FlowFixMe>(this.props.children);\n if (key !== this._getKeyForIndex(index, childArray)) {\n // ignore stale layout update\n return;\n }\n\n const layoutY = event.nativeEvent.layout.y;\n this._headerLayoutYs.set(key, layoutY);\n\n const indexOfIndex = stickyHeaderIndices.indexOf(index);\n const previousHeaderIndex = stickyHeaderIndices[indexOfIndex - 1];\n if (previousHeaderIndex != null) {\n const previousHeader = this._stickyHeaderRefs.get(\n this._getKeyForIndex(previousHeaderIndex, childArray),\n );\n previousHeader &&\n previousHeader.setNextHeaderY &&\n previousHeader.setNextHeaderY(layoutY);\n }\n }\n\n _handleScroll = (e: ScrollEvent) => {\n this._observedScrollSinceBecomingResponder = true;\n this.props.onScroll && this.props.onScroll(e);\n };\n\n _handleLayout = (e: LayoutChangeEvent) => {\n if (this.props.invertStickyHeaders === true) {\n this.setState({layoutHeight: e.nativeEvent.layout.height});\n }\n if (this.props.onLayout) {\n this.props.onLayout(e);\n }\n };\n\n _handleContentOnLayout = (e: LayoutChangeEvent) => {\n const {width, height} = e.nativeEvent.layout;\n this.props.onContentSizeChange &&\n this.props.onContentSizeChange(width, height);\n };\n\n _innerView: RefForwarder =\n createRefForwarder(\n (instance: InnerViewInstance): InnerViewInstance => instance,\n );\n\n _scrollView: RefForwarder =\n createRefForwarder(nativeInstance => {\n // This is a hack. Ideally we would forwardRef to the underlying\n // host component. However, since ScrollView has it's own methods that can be\n // called as well, if we used the standard forwardRef then these\n // methods wouldn't be accessible and thus be a breaking change.\n //\n // Therefore we edit ref to include ScrollView's public methods so that\n // they are callable from the ref.\n\n // $FlowFixMe[prop-missing] - Known issue with appending custom methods.\n const publicInstance: PublicScrollViewInstance = Object.assign(\n nativeInstance,\n {\n getScrollResponder: this.getScrollResponder,\n getScrollableNode: this.getScrollableNode,\n getInnerViewNode: this.getInnerViewNode,\n getInnerViewRef: this.getInnerViewRef,\n getNativeScrollRef: this.getNativeScrollRef,\n scrollTo: this.scrollTo,\n scrollToEnd: this.scrollToEnd,\n flashScrollIndicators: this.flashScrollIndicators,\n scrollResponderZoomTo: this.scrollResponderZoomTo,\n scrollResponderScrollNativeHandleToKeyboard:\n this.scrollResponderScrollNativeHandleToKeyboard,\n },\n );\n\n return publicInstance;\n });\n\n /**\n * Warning, this may be called several times for a single keyboard opening.\n * It's best to store the information in this method and then take any action\n * at a later point (either in `keyboardDidShow` or other).\n *\n * Here's the order that events occur in:\n * - focus\n * - willShow {startCoordinates, endCoordinates} several times\n * - didShow several times\n * - blur\n * - willHide {startCoordinates, endCoordinates} several times\n * - didHide several times\n *\n * The `ScrollResponder` module callbacks for each of these events.\n * Even though any user could have easily listened to keyboard events\n * themselves, using these `props` callbacks ensures that ordering of events\n * is consistent - and not dependent on the order that the keyboard events are\n * subscribed to. This matters when telling the scroll view to scroll to where\n * the keyboard is headed - the scroll responder better have been notified of\n * the keyboard destination before being instructed to scroll to where the\n * keyboard will be. Stick to the `ScrollResponder` callbacks, and everything\n * will work.\n *\n * WARNING: These callbacks will fire even if a keyboard is displayed in a\n * different navigation pane. Filter out the events to determine if they are\n * relevant to you. (For example, only if you receive these callbacks after\n * you had explicitly focused a node etc).\n */\n\n scrollResponderKeyboardWillShow: (e: KeyboardEvent) => void = (\n e: KeyboardEvent,\n ) => {\n this._keyboardMetrics = e.endCoordinates;\n this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);\n };\n\n scrollResponderKeyboardWillHide: (e: KeyboardEvent) => void = (\n e: KeyboardEvent,\n ) => {\n this._keyboardMetrics = null;\n this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);\n };\n\n scrollResponderKeyboardDidShow: (e: KeyboardEvent) => void = (\n e: KeyboardEvent,\n ) => {\n this._keyboardMetrics = e.endCoordinates;\n this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);\n };\n\n scrollResponderKeyboardDidHide: (e: KeyboardEvent) => void = (\n e: KeyboardEvent,\n ) => {\n this._keyboardMetrics = null;\n this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);\n };\n\n /**\n * Invoke this from an `onMomentumScrollBegin` event.\n */\n _handleMomentumScrollBegin: (e: ScrollEvent) => void = (e: ScrollEvent) => {\n this._lastMomentumScrollBeginTime = global.performance.now();\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n\n /**\n * Invoke this from an `onMomentumScrollEnd` event.\n */\n _handleMomentumScrollEnd: (e: ScrollEvent) => void = (e: ScrollEvent) => {\n FrameRateLogger.endScroll();\n this._lastMomentumScrollEndTime = global.performance.now();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n };\n\n /**\n * Unfortunately, `onScrollBeginDrag` also fires when *stopping* the scroll\n * animation, and there's not an easy way to distinguish a drag vs. stopping\n * momentum.\n *\n * Invoke this from an `onScrollBeginDrag` event.\n */\n _handleScrollBeginDrag: (e: ScrollEvent) => void = (e: ScrollEvent) => {\n FrameRateLogger.beginScroll(); // TODO: track all scrolls after implementing onScrollEndAnimation\n\n if (\n Platform.OS === 'android' &&\n this.props.keyboardDismissMode === 'on-drag'\n ) {\n dismissKeyboard();\n }\n\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n };\n\n /**\n * Invoke this from an `onScrollEndDrag` event.\n */\n _handleScrollEndDrag: (e: ScrollEvent) => void = (e: ScrollEvent) => {\n const {velocity} = e.nativeEvent;\n // - If we are animating, then this is a \"drag\" that is stopping the scrollview and momentum end\n // will fire.\n // - If velocity is non-zero, then the interaction will stop when momentum scroll ends or\n // another drag starts and ends.\n // - If we don't get velocity, better to stop the interaction twice than not stop it.\n if (\n !this._isAnimating() &&\n (!velocity || (velocity.x === 0 && velocity.y === 0))\n ) {\n FrameRateLogger.endScroll();\n }\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n\n /**\n * A helper function for this class that lets us quickly determine if the\n * view is currently animating. This is particularly useful to know when\n * a touch has just started or ended.\n */\n _isAnimating: () => boolean = () => {\n const now = global.performance.now();\n const timeSinceLastMomentumScrollEnd =\n now - this._lastMomentumScrollEndTime;\n const isAnimating =\n timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS ||\n this._lastMomentumScrollEndTime < this._lastMomentumScrollBeginTime;\n return isAnimating;\n };\n\n /**\n * Invoke this from an `onResponderGrant` event.\n */\n _handleResponderGrant: (e: GestureResponderEvent) => void = (\n e: GestureResponderEvent,\n ) => {\n this._observedScrollSinceBecomingResponder = false;\n this.props.onResponderGrant && this.props.onResponderGrant(e);\n this._becameResponderWhileAnimating = this._isAnimating();\n };\n\n /**\n * Invoke this from an `onResponderReject` event.\n *\n * Some other element is not yielding its role as responder. Normally, we'd\n * just disable the `UIScrollView`, but a touch has already began on it, the\n * `UIScrollView` will not accept being disabled after that. The easiest\n * solution for now is to accept the limitation of disallowing this\n * altogether. To improve this, find a way to disable the `UIScrollView` after\n * a touch has already started.\n */\n _handleResponderReject: () => void = () => {};\n\n /**\n * Invoke this from an `onResponderRelease` event.\n */\n _handleResponderRelease: (e: GestureResponderEvent) => void = (\n e: GestureResponderEvent,\n ) => {\n this._isTouching = e.nativeEvent.touches.length !== 0;\n this.props.onResponderRelease && this.props.onResponderRelease(e);\n\n if (typeof e.target === 'number') {\n if (__DEV__) {\n console.error(\n 'Did not expect event target to be a number. Should have been a native component',\n );\n }\n\n return;\n }\n\n // By default scroll views will unfocus a textField\n // if another touch occurs outside of it\n const currentlyFocusedTextInput = TextInputState.currentlyFocusedInput();\n if (\n currentlyFocusedTextInput != null &&\n this.props.keyboardShouldPersistTaps !== true &&\n this.props.keyboardShouldPersistTaps !== 'always' &&\n this._keyboardIsDismissible() &&\n e.target !== currentlyFocusedTextInput &&\n !this._observedScrollSinceBecomingResponder &&\n !this._becameResponderWhileAnimating\n ) {\n TextInputState.blurTextInput(currentlyFocusedTextInput);\n }\n };\n\n /**\n * We will allow the scroll view to give up its lock iff it acquired the lock\n * during an animation. This is a very useful default that happens to satisfy\n * many common user experiences.\n *\n * - Stop a scroll on the left edge, then turn that into an outer view's\n * backswipe.\n * - Stop a scroll mid-bounce at the top, continue pulling to have the outer\n * view dismiss.\n * - However, without catching the scroll view mid-bounce (while it is\n * motionless), if you drag far enough for the scroll view to become\n * responder (and therefore drag the scroll view a bit), any backswipe\n * navigation of a swipe gesture higher in the view hierarchy, should be\n * rejected.\n */\n _handleResponderTerminationRequest: () => boolean = () => {\n return !this._observedScrollSinceBecomingResponder;\n };\n\n /**\n * Invoke this from an `onScroll` event.\n */\n _handleScrollShouldSetResponder: () => boolean = () => {\n // Allow any event touch pass through if the default pan responder is disabled\n if (this.props.disableScrollViewPanResponder === true) {\n return false;\n }\n return this._isTouching;\n };\n\n /**\n * Merely touch starting is not sufficient for a scroll view to become the\n * responder. Being the \"responder\" means that the very next touch move/end\n * event will result in an action/movement.\n *\n * Invoke this from an `onStartShouldSetResponder` event.\n *\n * `onStartShouldSetResponder` is used when the next move/end will trigger\n * some UI movement/action, but when you want to yield priority to views\n * nested inside of the view.\n *\n * There may be some cases where scroll views actually should return `true`\n * from `onStartShouldSetResponder`: Any time we are detecting a standard tap\n * that gives priority to nested views.\n *\n * - If a single tap on the scroll view triggers an action such as\n * recentering a map style view yet wants to give priority to interaction\n * views inside (such as dropped pins or labels), then we would return true\n * from this method when there is a single touch.\n *\n * - Similar to the previous case, if a two finger \"tap\" should trigger a\n * zoom, we would check the `touches` count, and if `>= 2`, we would return\n * true.\n *\n */\n _handleStartShouldSetResponder: (e: GestureResponderEvent) => boolean = (\n e: GestureResponderEvent,\n ) => {\n // Allow any event touch pass through if the default pan responder is disabled\n if (this.props.disableScrollViewPanResponder === true) {\n return false;\n }\n\n const currentlyFocusedInput = TextInputState.currentlyFocusedInput();\n if (\n this.props.keyboardShouldPersistTaps === 'handled' &&\n this._keyboardIsDismissible() &&\n e.target !== currentlyFocusedInput\n ) {\n return true;\n }\n return false;\n };\n\n /**\n * There are times when the scroll view wants to become the responder\n * (meaning respond to the next immediate `touchStart/touchEnd`), in a way\n * that *doesn't* give priority to nested views (hence the capture phase):\n *\n * - Currently animating.\n * - Tapping anywhere that is not a text input, while the keyboard is\n * up (which should dismiss the keyboard).\n *\n * Invoke this from an `onStartShouldSetResponderCapture` event.\n */\n _handleStartShouldSetResponderCapture: (e: GestureResponderEvent) => boolean =\n (e: GestureResponderEvent) => {\n // The scroll view should receive taps instead of its descendants if:\n // * it is already animating/decelerating\n if (this._isAnimating()) {\n return true;\n }\n\n // Allow any event touch pass through if the default pan responder is disabled\n if (this.props.disableScrollViewPanResponder === true) {\n return false;\n }\n\n // * the keyboard is up, keyboardShouldPersistTaps is 'never' (the default),\n // and a new touch starts with a non-textinput target (in which case the\n // first tap should be sent to the scroll view and dismiss the keyboard,\n // then the second tap goes to the actual interior view)\n const {keyboardShouldPersistTaps} = this.props;\n const keyboardNeverPersistTaps =\n !keyboardShouldPersistTaps || keyboardShouldPersistTaps === 'never';\n\n if (typeof e.target === 'number') {\n if (__DEV__) {\n console.error(\n 'Did not expect event target to be a number. Should have been a native component',\n );\n }\n\n return false;\n }\n\n // Let presses through if the soft keyboard is detached from the viewport\n if (this._softKeyboardIsDetached()) {\n return false;\n }\n\n if (\n keyboardNeverPersistTaps &&\n this._keyboardIsDismissible() &&\n e.target != null &&\n // $FlowFixMe[incompatible-type]\n !TextInputState.isTextInput(e.target)\n ) {\n return true;\n }\n\n return false;\n };\n\n /**\n * Do we consider there to be a dismissible soft-keyboard open?\n */\n _keyboardIsDismissible: () => boolean = () => {\n const currentlyFocusedInput = TextInputState.currentlyFocusedInput();\n\n // We cannot dismiss the keyboard without an input to blur, even if a soft\n // keyboard is open (e.g. when keyboard is open due to a native component\n // not participating in TextInputState). It's also possible that the\n // currently focused input isn't a TextInput (such as by calling ref.focus\n // on a non-TextInput).\n const hasFocusedTextInput =\n currentlyFocusedInput != null &&\n TextInputState.isTextInput(currentlyFocusedInput);\n\n // Even if an input is focused, we may not have a keyboard to dismiss. E.g\n // when using a physical keyboard. Ensure we have an event for an opened\n // keyboard.\n const softKeyboardMayBeOpen =\n this._keyboardMetrics != null || this._keyboardEventsAreUnreliable();\n\n return hasFocusedTextInput && softKeyboardMayBeOpen;\n };\n\n /**\n * Whether an open soft keyboard is present which does not overlap the\n * viewport. E.g. for a VR soft-keyboard which is detached from the app\n * viewport.\n */\n _softKeyboardIsDetached: () => boolean = () => {\n return this._keyboardMetrics != null && this._keyboardMetrics.height === 0;\n };\n\n _keyboardEventsAreUnreliable: () => boolean = () => {\n // Android versions prior to API 30 rely on observing layout changes when\n // `android:windowSoftInputMode` is set to `adjustResize` or `adjustPan`.\n return Platform.OS === 'android' && Platform.Version < 30;\n };\n\n /**\n * Invoke this from an `onTouchEnd` event.\n *\n * @param {GestureResponderEvent} e Event.\n */\n _handleTouchEnd: (e: GestureResponderEvent) => void = (\n e: GestureResponderEvent,\n ) => {\n const nativeEvent = e.nativeEvent;\n this._isTouching = nativeEvent.touches.length !== 0;\n\n const {keyboardShouldPersistTaps} = this.props;\n const keyboardNeverPersistsTaps =\n !keyboardShouldPersistTaps || keyboardShouldPersistTaps === 'never';\n\n // Dismiss the keyboard now if we didn't become responder in capture phase\n // to eat presses, but still want to dismiss on interaction.\n // Don't do anything if the target of the touch event is the current input.\n const currentlyFocusedTextInput = TextInputState.currentlyFocusedInput();\n if (\n currentlyFocusedTextInput != null &&\n e.target !== currentlyFocusedTextInput &&\n this._softKeyboardIsDetached() &&\n this._keyboardIsDismissible() &&\n keyboardNeverPersistsTaps\n ) {\n TextInputState.blurTextInput(currentlyFocusedTextInput);\n }\n\n this.props.onTouchEnd && this.props.onTouchEnd(e);\n };\n\n /**\n * Invoke this from an `onTouchCancel` event.\n *\n * @param {GestureResponderEvent} e Event.\n */\n _handleTouchCancel: (e: GestureResponderEvent) => void = (\n e: GestureResponderEvent,\n ) => {\n this._isTouching = false;\n this.props.onTouchCancel && this.props.onTouchCancel(e);\n };\n\n /**\n * Invoke this from an `onTouchStart` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {GestureResponderEvent} e Touch Start event.\n */\n _handleTouchStart: (e: GestureResponderEvent) => void = (\n e: GestureResponderEvent,\n ) => {\n this._isTouching = true;\n this.props.onTouchStart && this.props.onTouchStart(e);\n };\n\n /**\n * Invoke this from an `onTouchMove` event.\n *\n * Since we know that the `SimpleEventPlugin` occurs later in the plugin\n * order, after `ResponderEventPlugin`, we can detect that we were *not*\n * permitted to be the responder (presumably because a contained view became\n * responder). The `onResponderReject` won't fire in that case - it only\n * fires when a *current* responder rejects our request.\n *\n * @param {GestureResponderEvent} e Touch Start event.\n */\n _handleTouchMove: (e: GestureResponderEvent) => void = (\n e: GestureResponderEvent,\n ) => {\n this.props.onTouchMove && this.props.onTouchMove(e);\n };\n\n render(): React.Node {\n const horizontal = this.props.horizontal === true;\n\n const NativeScrollView = horizontal\n ? HScrollViewNativeComponent\n : VScrollViewNativeComponent;\n\n const NativeScrollContentView = horizontal\n ? HScrollContentViewNativeComponent\n : VScrollContentViewNativeComponent;\n\n const contentContainerStyle = [\n horizontal && styles.contentContainerHorizontal,\n this.props.contentContainerStyle,\n ];\n if (__DEV__ && this.props.style !== undefined) {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n const style = flattenStyle(this.props.style);\n const childLayoutProps = ['alignItems', 'justifyContent'].filter(\n // $FlowFixMe[incompatible-use]\n prop => style && style[prop] !== undefined,\n );\n invariant(\n childLayoutProps.length === 0,\n 'ScrollView child layout (' +\n JSON.stringify(childLayoutProps) +\n ') must be applied through the contentContainerStyle prop.',\n );\n }\n\n const contentSizeChangeProps =\n this.props.onContentSizeChange == null\n ? null\n : {\n onLayout: this._handleContentOnLayout,\n };\n\n const {stickyHeaderIndices} = this.props;\n let children = this.props.children;\n /**\n * This function can cause unnecessary remount when nested in conditionals as it causes remap of children keys.\n * https://react.dev/reference/react/Children#children-toarray-caveats\n */\n children = React.Children.toArray<$FlowFixMe>(children);\n\n if (stickyHeaderIndices != null && stickyHeaderIndices.length > 0) {\n children = children.map((child, index) => {\n const indexOfIndex = child ? stickyHeaderIndices.indexOf(index) : -1;\n if (indexOfIndex > -1) {\n const key = child.key;\n const nextIndex = stickyHeaderIndices[indexOfIndex + 1];\n const StickyHeaderComponent =\n this.props.StickyHeaderComponent || ScrollViewStickyHeader;\n return (\n this._setStickyHeaderRef(key, ref)}\n nextHeaderLayoutY={this._headerLayoutYs.get(\n this._getKeyForIndex(nextIndex, children),\n )}\n onLayout={event => this._onStickyHeaderLayout(index, event, key)}\n scrollAnimatedValue={this._scrollAnimatedValue}\n inverted={this.props.invertStickyHeaders}\n hiddenOnScroll={this.props.stickyHeaderHiddenOnScroll}\n scrollViewHeight={this.state.layoutHeight}>\n {child}\n \n );\n } else {\n return child;\n }\n });\n }\n children = (\n \n {children}\n \n );\n\n const hasStickyHeaders =\n Array.isArray(stickyHeaderIndices) && stickyHeaderIndices.length > 0;\n\n // Some ScrollView native component behaviors rely on using the metrics\n // of mounted views for anchoring. Make sure not to flatten children if\n // this is the case.\n const preserveChildren =\n this.props.maintainVisibleContentPosition != null ||\n (Platform.OS === 'android' && this.props.snapToAlignment != null);\n\n const contentContainer = (\n \n {children}\n \n );\n\n const alwaysBounceHorizontal =\n this.props.alwaysBounceHorizontal !== undefined\n ? this.props.alwaysBounceHorizontal\n : this.props.horizontal;\n\n const alwaysBounceVertical =\n this.props.alwaysBounceVertical !== undefined\n ? this.props.alwaysBounceVertical\n : !this.props.horizontal;\n\n const accessible = this.props.accessible !== false; // [Windows]\n\n const baseStyle = horizontal ? styles.baseHorizontal : styles.baseVertical;\n\n const {experimental_endDraggingSensitivityMultiplier, ...otherProps} =\n this.props;\n const props = {\n ...otherProps,\n accessible, // [Windows]\n alwaysBounceHorizontal,\n alwaysBounceVertical,\n style: StyleSheet.compose(baseStyle, this.props.style),\n // Override the onContentSizeChange from props, since this event can\n // bubble up from TextInputs\n onContentSizeChange: null,\n onLayout: this._handleLayout,\n onMomentumScrollBegin: this._handleMomentumScrollBegin,\n onMomentumScrollEnd: this._handleMomentumScrollEnd,\n onResponderGrant: this._handleResponderGrant,\n onResponderReject: this._handleResponderReject,\n onResponderRelease: this._handleResponderRelease,\n onResponderTerminationRequest: this._handleResponderTerminationRequest,\n onScrollBeginDrag: this._handleScrollBeginDrag,\n onScrollEndDrag: this._handleScrollEndDrag,\n onScrollShouldSetResponder: this._handleScrollShouldSetResponder,\n onStartShouldSetResponder: this._handleStartShouldSetResponder,\n onStartShouldSetResponderCapture:\n this._handleStartShouldSetResponderCapture,\n onTouchEnd: this._handleTouchEnd,\n onTouchMove: this._handleTouchMove,\n onTouchStart: this._handleTouchStart,\n onTouchCancel: this._handleTouchCancel,\n onScroll: this._handleScroll,\n endDraggingSensitivityMultiplier:\n experimental_endDraggingSensitivityMultiplier,\n scrollEventThrottle: hasStickyHeaders\n ? 1\n : this.props.scrollEventThrottle,\n sendMomentumEvents:\n this.props.onMomentumScrollBegin || this.props.onMomentumScrollEnd\n ? true\n : false,\n // default to true\n snapToStart: this.props.snapToStart !== false,\n // default to true\n snapToEnd: this.props.snapToEnd !== false,\n // pagingEnabled is overridden by snapToInterval / snapToOffsets\n pagingEnabled: Platform.select({\n // on iOS, pagingEnabled must be set to false to have snapToInterval / snapToOffsets work\n ios:\n this.props.pagingEnabled === true &&\n this.props.snapToInterval == null &&\n this.props.snapToOffsets == null,\n // on Android, pagingEnabled must be set to true to have snapToInterval / snapToOffsets work\n android:\n this.props.pagingEnabled === true ||\n this.props.snapToInterval != null ||\n this.props.snapToOffsets != null,\n }),\n };\n\n const {decelerationRate} = this.props;\n if (decelerationRate != null) {\n props.decelerationRate = processDecelerationRate(decelerationRate);\n }\n\n const refreshControl = this.props.refreshControl;\n const scrollViewRef = this._scrollView.getForwardingRef(\n this.props.scrollViewRef,\n );\n\n if (refreshControl != null) {\n if (Platform.OS === 'ios') {\n // On iOS the RefreshControl is a child of the ScrollView.\n return (\n // $FlowFixMe[incompatible-type] - Flow only knows element refs.\n \n {refreshControl}\n {contentContainer}\n \n );\n } else if (Platform.OS === 'android') {\n // On Android wrap the ScrollView with a AndroidSwipeRefreshLayout.\n // Since the ScrollView is wrapped add the style props to the\n // AndroidSwipeRefreshLayout and use flex: 1 for the ScrollView.\n // Note: we should split props.style on the inner and outer props\n // however, the ScrollView still needs the baseStyle to be scrollable\n const {outer, inner} = splitLayoutProps(flattenStyle(props.style));\n // $FlowFixMe[incompatible-call]\n return React.cloneElement(\n refreshControl,\n {style: StyleSheet.compose(baseStyle, outer)},\n \n {contentContainer}\n ,\n );\n }\n }\n return (\n // $FlowFixMe[incompatible-type] - Flow only knows element refs.\n \n {contentContainer}\n \n );\n }\n}\n\nconst styles = StyleSheet.create({\n baseVertical: {\n flexGrow: 1,\n flexShrink: 1,\n flexDirection: 'column',\n overflow: 'scroll',\n },\n baseHorizontal: {\n flexGrow: 1,\n flexShrink: 1,\n flexDirection: 'row',\n overflow: 'scroll',\n },\n contentContainerHorizontal: {\n flexDirection: 'row',\n },\n});\n\ntype RefForwarder = {\n getForwardingRef: (\n ?React.RefSetter,\n ) => (TNativeInstance | null) => void,\n nativeInstance: TNativeInstance | null,\n publicInstance: TPublicInstance | null,\n};\n\n/**\n * Helper function that should be replaced with `useCallback` and `useMergeRefs`\n * once `ScrollView` is reimplemented as a functional component.\n */\nfunction createRefForwarder(\n mutator: TNativeInstance => TPublicInstance,\n): RefForwarder {\n const state: RefForwarder = {\n getForwardingRef: memoize(forwardedRef => {\n return (nativeInstance: TNativeInstance | null): void => {\n const publicInstance =\n nativeInstance == null ? null : mutator(nativeInstance);\n\n state.nativeInstance = nativeInstance;\n state.publicInstance = publicInstance;\n\n if (forwardedRef != null) {\n if (typeof forwardedRef === 'function') {\n forwardedRef(publicInstance);\n } else {\n forwardedRef.current = publicInstance;\n }\n }\n };\n }),\n nativeInstance: null,\n publicInstance: null,\n };\n\n return state;\n}\n\n// TODO: After upgrading to React 19, remove `forwardRef` from this component.\n// NOTE: This wrapper component is necessary because `ScrollView` is a class\n// component and we need to map `ref` to a differently named prop. This can be\n// removed when `ScrollView` is a functional component.\nconst Wrapper: component(\n ref?: React.RefSetter,\n ...props: ScrollViewProps\n) = React.forwardRef(function Wrapper(\n props: ScrollViewProps,\n ref: ?React.RefSetter,\n): React.Node {\n return ref == null ? (\n \n ) : (\n \n );\n});\nWrapper.displayName = 'ScrollView';\n// $FlowExpectedError[prop-missing]\nWrapper.Context = ScrollViewContext;\n\nexport default ((Wrapper: $FlowFixMe): typeof Wrapper &\n ScrollViewComponentStatics);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {EventConfig, Mapping} from './AnimatedEvent';\nimport type {\n AnimationConfig,\n EndCallback,\n EndResult,\n} from './animations/Animation';\nimport type {DecayAnimationConfig} from './animations/DecayAnimation';\nimport type {SpringAnimationConfig} from './animations/SpringAnimation';\nimport type {TimingAnimationConfig} from './animations/TimingAnimation';\n\nimport {AnimatedEvent, attachNativeEvent} from './AnimatedEvent';\nimport DecayAnimation from './animations/DecayAnimation';\nimport SpringAnimation from './animations/SpringAnimation';\nimport TimingAnimation from './animations/TimingAnimation';\nimport createAnimatedComponent from './createAnimatedComponent';\nimport AnimatedAddition from './nodes/AnimatedAddition';\nimport AnimatedColor from './nodes/AnimatedColor';\nimport AnimatedDiffClamp from './nodes/AnimatedDiffClamp';\nimport AnimatedDivision from './nodes/AnimatedDivision';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedModulo from './nodes/AnimatedModulo';\nimport AnimatedMultiplication from './nodes/AnimatedMultiplication';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedSubtraction from './nodes/AnimatedSubtraction';\nimport AnimatedTracking from './nodes/AnimatedTracking';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\n\nexport type CompositeAnimation = {\n start: (callback?: ?EndCallback, isLooping?: boolean) => void,\n stop: () => void,\n reset: () => void,\n _startNativeLoop: (iterations?: number) => void,\n _isUsingNativeDriver: () => boolean,\n ...\n};\n\nconst add = function (\n a: AnimatedNode | number,\n b: AnimatedNode | number,\n): AnimatedAddition {\n return new AnimatedAddition(a, b);\n};\n\nconst subtract = function (\n a: AnimatedNode | number,\n b: AnimatedNode | number,\n): AnimatedSubtraction {\n return new AnimatedSubtraction(a, b);\n};\n\nconst divide = function (\n a: AnimatedNode | number,\n b: AnimatedNode | number,\n): AnimatedDivision {\n return new AnimatedDivision(a, b);\n};\n\nconst multiply = function (\n a: AnimatedNode | number,\n b: AnimatedNode | number,\n): AnimatedMultiplication {\n return new AnimatedMultiplication(a, b);\n};\n\nconst modulo = function (a: AnimatedNode, modulus: number): AnimatedModulo {\n return new AnimatedModulo(a, modulus);\n};\n\nconst diffClamp = function (\n a: AnimatedNode,\n min: number,\n max: number,\n): AnimatedDiffClamp {\n return new AnimatedDiffClamp(a, min, max);\n};\n\nconst _combineCallbacks = function (\n callback: ?EndCallback,\n config: $ReadOnly<{...AnimationConfig, ...}>,\n) {\n if (callback && config.onComplete) {\n return (...args: Array) => {\n config.onComplete && config.onComplete(...args);\n callback && callback(...args);\n };\n } else {\n return callback || config.onComplete;\n }\n};\n\nconst maybeVectorAnim = function (\n value: AnimatedValue | AnimatedValueXY | AnimatedColor,\n config: Object,\n anim: (value: AnimatedValue, config: Object) => CompositeAnimation,\n): ?CompositeAnimation {\n if (value instanceof AnimatedValueXY) {\n const configX = {...config};\n const configY = {...config};\n for (const key in config) {\n const {x, y} = config[key];\n if (x !== undefined && y !== undefined) {\n configX[key] = x;\n configY[key] = y;\n }\n }\n const aX = anim((value: AnimatedValueXY).x, configX);\n const aY = anim((value: AnimatedValueXY).y, configY);\n // We use `stopTogether: false` here because otherwise tracking will break\n // because the second animation will get stopped before it can update.\n return parallel([aX, aY], {stopTogether: false});\n } else if (value instanceof AnimatedColor) {\n const configR = {...config};\n const configG = {...config};\n const configB = {...config};\n const configA = {...config};\n for (const key in config) {\n const {r, g, b, a} = config[key];\n if (\n r !== undefined &&\n g !== undefined &&\n b !== undefined &&\n a !== undefined\n ) {\n configR[key] = r;\n configG[key] = g;\n configB[key] = b;\n configA[key] = a;\n }\n }\n const aR = anim((value: AnimatedColor).r, configR);\n const aG = anim((value: AnimatedColor).g, configG);\n const aB = anim((value: AnimatedColor).b, configB);\n const aA = anim((value: AnimatedColor).a, configA);\n // We use `stopTogether: false` here because otherwise tracking will break\n // because the second animation will get stopped before it can update.\n return parallel([aR, aG, aB, aA], {stopTogether: false});\n }\n return null;\n};\n\nconst spring = function (\n value: AnimatedValue | AnimatedValueXY | AnimatedColor,\n config: SpringAnimationConfig,\n): CompositeAnimation {\n const start = function (\n animatedValue: AnimatedValue | AnimatedValueXY | AnimatedColor,\n configuration: SpringAnimationConfig,\n callback?: ?EndCallback,\n ): void {\n callback = _combineCallbacks(callback, configuration);\n const singleValue: any = animatedValue;\n const singleConfig: any = configuration;\n singleValue.stopTracking();\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(\n new AnimatedTracking(\n singleValue,\n configuration.toValue,\n SpringAnimation,\n singleConfig,\n callback,\n ),\n );\n } else {\n singleValue.animate(new SpringAnimation(singleConfig), callback);\n }\n };\n return (\n maybeVectorAnim(value, config, spring) || {\n start: function (callback?: ?EndCallback): void {\n start(value, config, callback);\n },\n\n stop: function (): void {\n value.stopAnimation();\n },\n\n reset: function (): void {\n value.resetAnimation();\n },\n\n _startNativeLoop: function (iterations?: number): void {\n const singleConfig = {...config, iterations};\n start(value, singleConfig);\n },\n\n _isUsingNativeDriver: function (): boolean {\n return config.useNativeDriver || false;\n },\n }\n );\n};\n\nconst timing = function (\n value: AnimatedValue | AnimatedValueXY | AnimatedColor,\n config: TimingAnimationConfig,\n): CompositeAnimation {\n const start = function (\n animatedValue: AnimatedValue | AnimatedValueXY | AnimatedColor,\n configuration: TimingAnimationConfig,\n callback?: ?EndCallback,\n ): void {\n callback = _combineCallbacks(callback, configuration);\n const singleValue: any = animatedValue;\n const singleConfig: any = configuration;\n singleValue.stopTracking();\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(\n new AnimatedTracking(\n singleValue,\n configuration.toValue,\n TimingAnimation,\n singleConfig,\n callback,\n ),\n );\n } else {\n singleValue.animate(new TimingAnimation(singleConfig), callback);\n }\n };\n\n return (\n maybeVectorAnim(value, config, timing) || {\n start: function (callback?: ?EndCallback, isLooping?: boolean): void {\n start(value, {...config, isLooping}, callback);\n },\n\n stop: function (): void {\n value.stopAnimation();\n },\n\n reset: function (): void {\n value.resetAnimation();\n },\n\n _startNativeLoop: function (iterations?: number): void {\n const singleConfig = {...config, iterations};\n start(value, singleConfig);\n },\n\n _isUsingNativeDriver: function (): boolean {\n return config.useNativeDriver || false;\n },\n }\n );\n};\n\nconst decay = function (\n value: AnimatedValue | AnimatedValueXY | AnimatedColor,\n config: DecayAnimationConfig,\n): CompositeAnimation {\n const start = function (\n animatedValue: AnimatedValue | AnimatedValueXY | AnimatedColor,\n configuration: DecayAnimationConfig,\n callback?: ?EndCallback,\n ): void {\n callback = _combineCallbacks(callback, configuration);\n const singleValue: any = animatedValue;\n const singleConfig: any = configuration;\n singleValue.stopTracking();\n singleValue.animate(new DecayAnimation(singleConfig), callback);\n };\n\n return (\n maybeVectorAnim(value, config, decay) || {\n start: function (callback?: ?EndCallback): void {\n start(value, config, callback);\n },\n\n stop: function (): void {\n value.stopAnimation();\n },\n\n reset: function (): void {\n value.resetAnimation();\n },\n\n _startNativeLoop: function (iterations?: number): void {\n const singleConfig = {...config, iterations};\n start(value, singleConfig);\n },\n\n _isUsingNativeDriver: function (): boolean {\n return config.useNativeDriver || false;\n },\n }\n );\n};\n\nconst sequence = function (\n animations: Array,\n): CompositeAnimation {\n let current = 0;\n return {\n start: function (callback?: ?EndCallback, isLooping?: boolean) {\n const onComplete = function (result: EndResult) {\n if (!result.finished) {\n callback && callback(result);\n return;\n }\n\n current++;\n\n if (current === animations.length) {\n // if the start is called, even without a reset, it should start from the beginning\n current = 0;\n callback && callback(result);\n return;\n }\n\n animations[current].start(onComplete, isLooping);\n };\n\n if (animations.length === 0) {\n callback && callback({finished: true});\n } else {\n animations[current].start(onComplete, isLooping);\n }\n },\n\n stop: function () {\n if (current < animations.length) {\n animations[current].stop();\n }\n },\n\n reset: function () {\n animations.forEach((animation, idx) => {\n if (idx <= current) {\n animation.reset();\n }\n });\n current = 0;\n },\n\n _startNativeLoop: function () {\n throw new Error(\n 'Loops run using the native driver cannot contain Animated.sequence animations',\n );\n },\n\n _isUsingNativeDriver: function (): boolean {\n return false;\n },\n };\n};\n\ntype ParallelConfig = {\n // If one is stopped, stop all. default: true\n stopTogether?: boolean,\n ...\n};\nconst parallel = function (\n animations: Array,\n config?: ?ParallelConfig,\n): CompositeAnimation {\n let doneCount = 0;\n // Make sure we only call stop() at most once for each animation\n const hasEnded: {[number]: boolean} = {};\n const stopTogether = !(config && config.stopTogether === false);\n\n const result = {\n start: function (callback?: ?EndCallback, isLooping?: boolean) {\n if (doneCount === animations.length) {\n callback && callback({finished: true});\n return;\n }\n\n animations.forEach((animation, idx) => {\n const cb = function (endResult: EndResult) {\n hasEnded[idx] = true;\n doneCount++;\n if (doneCount === animations.length) {\n doneCount = 0;\n callback && callback(endResult);\n return;\n }\n\n if (!endResult.finished && stopTogether) {\n result.stop();\n }\n };\n\n if (!animation) {\n cb({finished: true});\n } else {\n animation.start(cb, isLooping);\n }\n });\n },\n\n stop: function (): void {\n animations.forEach((animation, idx) => {\n !hasEnded[idx] && animation.stop();\n hasEnded[idx] = true;\n });\n },\n\n reset: function (): void {\n animations.forEach((animation, idx) => {\n animation.reset();\n hasEnded[idx] = false;\n doneCount = 0;\n });\n },\n\n _startNativeLoop: function (): empty {\n throw new Error(\n 'Loops run using the native driver cannot contain Animated.parallel animations',\n );\n },\n\n _isUsingNativeDriver: function (): boolean {\n return false;\n },\n };\n\n return result;\n};\n\nconst delay = function (time: number): CompositeAnimation {\n // Would be nice to make a specialized implementation\n return timing(new AnimatedValue(0), {\n toValue: 0,\n delay: time,\n duration: 0,\n useNativeDriver: false,\n });\n};\n\nconst stagger = function (\n time: number,\n animations: Array,\n): CompositeAnimation {\n return parallel(\n animations.map((animation, i) => {\n return sequence([delay(time * i), animation]);\n }),\n );\n};\n\ntype LoopAnimationConfig = {\n iterations: number,\n resetBeforeIteration?: boolean,\n ...\n};\n\nconst loop = function (\n animation: CompositeAnimation,\n // $FlowFixMe[prop-missing]\n {iterations = -1, resetBeforeIteration = true}: LoopAnimationConfig = {},\n): CompositeAnimation {\n let isFinished = false;\n let iterationsSoFar = 0;\n return {\n start: function (callback?: ?EndCallback) {\n const restart = function (result: EndResult = {finished: true}): void {\n if (\n isFinished ||\n iterationsSoFar === iterations ||\n result.finished === false\n ) {\n callback && callback(result);\n } else {\n iterationsSoFar++;\n resetBeforeIteration && animation.reset();\n animation.start(restart, iterations === -1);\n }\n };\n if (!animation || iterations === 0) {\n callback && callback({finished: true});\n } else {\n if (animation._isUsingNativeDriver()) {\n animation._startNativeLoop(iterations);\n } else {\n restart(); // Start looping recursively on the js thread\n }\n }\n },\n\n stop: function (): void {\n isFinished = true;\n animation.stop();\n },\n\n reset: function (): void {\n iterationsSoFar = 0;\n isFinished = false;\n animation.reset();\n },\n\n _startNativeLoop: function () {\n throw new Error(\n 'Loops run using the native driver cannot contain Animated.loop animations',\n );\n },\n\n _isUsingNativeDriver: function (): boolean {\n return animation._isUsingNativeDriver();\n },\n };\n};\n\nfunction forkEvent(\n event: ?AnimatedEvent | ?Function,\n listener: Function,\n): AnimatedEvent | Function {\n if (!event) {\n return listener;\n } else if (event instanceof AnimatedEvent) {\n event.__addListener(listener);\n return event;\n } else {\n return (...args) => {\n typeof event === 'function' && event(...args);\n listener(...args);\n };\n }\n}\n\nfunction unforkEvent(\n event: ?AnimatedEvent | ?Function,\n listener: Function,\n): void {\n if (event && event instanceof AnimatedEvent) {\n event.__removeListener(listener);\n }\n}\n\nconst event = function (\n argMapping: $ReadOnlyArray,\n config: EventConfig,\n): any {\n const animatedEvent = new AnimatedEvent(argMapping, config);\n if (animatedEvent.__isNative) {\n return animatedEvent;\n } else {\n return animatedEvent.__getHandler();\n }\n};\n\n// All types of animated nodes that represent scalar numbers and can be interpolated (etc)\ntype AnimatedNumeric =\n | AnimatedAddition\n | AnimatedDiffClamp\n | AnimatedDivision\n | AnimatedInterpolation\n | AnimatedModulo\n | AnimatedMultiplication\n | AnimatedSubtraction\n | AnimatedValue;\n\nexport type {AnimatedNumeric as Numeric};\n\n/**\n * The `Animated` library is designed to make animations fluid, powerful, and\n * easy to build and maintain. `Animated` focuses on declarative relationships\n * between inputs and outputs, with configurable transforms in between, and\n * simple `start`/`stop` methods to control time-based animation execution.\n * If additional transforms are added, be sure to include them in\n * AnimatedMock.js as well.\n *\n * See https://reactnative.dev/docs/animated\n */\nexport default {\n /**\n * Standard value class for driving animations. Typically initialized with\n * `new Animated.Value(0);`\n *\n * See https://reactnative.dev/docs/animated#value\n */\n Value: AnimatedValue,\n /**\n * 2D value class for driving 2D animations, such as pan gestures.\n *\n * See https://reactnative.dev/docs/animatedvaluexy\n */\n ValueXY: AnimatedValueXY,\n /**\n * Value class for driving color animations.\n */\n Color: AnimatedColor,\n /**\n * Exported to use the Interpolation type in flow.\n *\n * See https://reactnative.dev/docs/animated#interpolation\n */\n Interpolation: AnimatedInterpolation,\n /**\n * Exported for ease of type checking. All animated values derive from this\n * class.\n *\n * See https://reactnative.dev/docs/animated#node\n */\n Node: AnimatedNode,\n\n /**\n * Animates a value from an initial velocity to zero based on a decay\n * coefficient.\n *\n * See https://reactnative.dev/docs/animated#decay\n */\n decay,\n /**\n * Animates a value along a timed easing curve. The Easing module has tons of\n * predefined curves, or you can use your own function.\n *\n * See https://reactnative.dev/docs/animated#timing\n */\n timing,\n /**\n * Animates a value according to an analytical spring model based on\n * damped harmonic oscillation.\n *\n * See https://reactnative.dev/docs/animated#spring\n */\n spring,\n\n /**\n * Creates a new Animated value composed from two Animated values added\n * together.\n *\n * See https://reactnative.dev/docs/animated#add\n */\n add,\n\n /**\n * Creates a new Animated value composed by subtracting the second Animated\n * value from the first Animated value.\n *\n * See https://reactnative.dev/docs/animated#subtract\n */\n subtract,\n\n /**\n * Creates a new Animated value composed by dividing the first Animated value\n * by the second Animated value.\n *\n * See https://reactnative.dev/docs/animated#divide\n */\n divide,\n\n /**\n * Creates a new Animated value composed from two Animated values multiplied\n * together.\n *\n * See https://reactnative.dev/docs/animated#multiply\n */\n multiply,\n\n /**\n * Creates a new Animated value that is the (non-negative) modulo of the\n * provided Animated value.\n *\n * See https://reactnative.dev/docs/animated#modulo\n */\n modulo,\n\n /**\n * Create a new Animated value that is limited between 2 values. It uses the\n * difference between the last value so even if the value is far from the\n * bounds it will start changing when the value starts getting closer again.\n *\n * See https://reactnative.dev/docs/animated#diffclamp\n */\n diffClamp,\n\n /**\n * Starts an animation after the given delay.\n *\n * See https://reactnative.dev/docs/animated#delay\n */\n delay,\n /**\n * Starts an array of animations in order, waiting for each to complete\n * before starting the next. If the current running animation is stopped, no\n * following animations will be started.\n *\n * See https://reactnative.dev/docs/animated#sequence\n */\n sequence,\n /**\n * Starts an array of animations all at the same time. By default, if one\n * of the animations is stopped, they will all be stopped. You can override\n * this with the `stopTogether` flag.\n *\n * See https://reactnative.dev/docs/animated#parallel\n */\n parallel,\n /**\n * Array of animations may run in parallel (overlap), but are started in\n * sequence with successive delays. Nice for doing trailing effects.\n *\n * See https://reactnative.dev/docs/animated#stagger\n */\n stagger,\n /**\n * Loops a given animation continuously, so that each time it reaches the\n * end, it resets and begins again from the start.\n *\n * See https://reactnative.dev/docs/animated#loop\n */\n loop,\n\n /**\n * Takes an array of mappings and extracts values from each arg accordingly,\n * then calls `setValue` on the mapped outputs.\n *\n * See https://reactnative.dev/docs/animated#event\n */\n event,\n\n /**\n * Make any React component Animatable. Used to create `Animated.View`, etc.\n *\n * See https://reactnative.dev/docs/animated#createanimatedcomponent\n */\n createAnimatedComponent,\n\n /**\n * Imperative API to attach an animated value to an event on a view. Prefer\n * using `Animated.event` with `useNativeDrive: true` if possible.\n *\n * See https://reactnative.dev/docs/animated#attachnativeevent\n */\n attachNativeEvent,\n\n /**\n * Advanced imperative API for snooping on animated events that are passed in\n * through props. Use values directly where possible.\n *\n * See https://reactnative.dev/docs/animated#forkevent\n */\n forkEvent,\n unforkEvent,\n\n /**\n * Expose Event class, so it can be used as a type for type checkers.\n */\n Event: AnimatedEvent,\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type AnimatedValue from '../nodes/AnimatedValue';\nimport type {AnimationConfig, EndCallback} from './Animation';\n\nimport Animation from './Animation';\n\nexport type DecayAnimationConfig = $ReadOnly<{\n ...AnimationConfig,\n velocity:\n | number\n | $ReadOnly<{\n x: number,\n y: number,\n ...\n }>,\n deceleration?: number,\n ...\n}>;\n\nexport type DecayAnimationConfigSingle = $ReadOnly<{\n ...AnimationConfig,\n velocity: number,\n deceleration?: number,\n ...\n}>;\n\nexport default class DecayAnimation extends Animation {\n _startTime: number;\n _lastValue: number;\n _fromValue: number;\n _deceleration: number;\n _velocity: number;\n _onUpdate: (value: number) => void;\n _animationFrame: ?AnimationFrameID;\n _platformConfig: ?PlatformConfig;\n\n constructor(config: DecayAnimationConfigSingle) {\n super(config);\n\n this._deceleration = config.deceleration ?? 0.998;\n this._velocity = config.velocity;\n this._platformConfig = config.platformConfig;\n }\n\n __getNativeAnimationConfig(): $ReadOnly<{\n deceleration: number,\n iterations: number,\n platformConfig: ?PlatformConfig,\n type: 'decay',\n velocity: number,\n ...\n }> {\n return {\n type: 'decay',\n deceleration: this._deceleration,\n velocity: this._velocity,\n iterations: this.__iterations,\n platformConfig: this._platformConfig,\n debugID: this.__getDebugID(),\n };\n }\n\n start(\n fromValue: number,\n onUpdate: (value: number) => void,\n onEnd: ?EndCallback,\n previousAnimation: ?Animation,\n animatedValue: AnimatedValue,\n ): void {\n super.start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue);\n\n this._lastValue = fromValue;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this._startTime = Date.now();\n\n const useNativeDriver = this.__startAnimationIfNative(animatedValue);\n if (!useNativeDriver) {\n this._animationFrame = requestAnimationFrame(() => this.onUpdate());\n }\n }\n\n onUpdate(): void {\n const now = Date.now();\n\n const value =\n this._fromValue +\n (this._velocity / (1 - this._deceleration)) *\n (1 - Math.exp(-(1 - this._deceleration) * (now - this._startTime)));\n\n this._onUpdate(value);\n\n if (Math.abs(this._lastValue - value) < 0.1) {\n this.__notifyAnimationEnd({finished: true});\n return;\n }\n\n this._lastValue = value;\n if (this.__active) {\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n\n stop(): void {\n super.stop();\n if (this._animationFrame != null) {\n global.cancelAnimationFrame(this._animationFrame);\n }\n this.__notifyAnimationEnd({finished: false});\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type AnimatedNode from '../nodes/AnimatedNode';\nimport type AnimatedValue from '../nodes/AnimatedValue';\n\nimport NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';\nimport * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';\nimport AnimatedProps from '../nodes/AnimatedProps';\n\nexport type EndResult = {finished: boolean, value?: number, ...};\nexport type EndCallback = (result: EndResult) => void;\n\nexport type AnimationConfig = $ReadOnly<{\n isInteraction?: boolean,\n useNativeDriver: boolean,\n platformConfig?: PlatformConfig,\n onComplete?: ?EndCallback,\n iterations?: number,\n isLooping?: boolean,\n debugID?: ?string,\n ...\n}>;\n\nlet startNativeAnimationNextId = 1;\n\n// Important note: start() and stop() will only be called at most once.\n// Once an animation has been stopped or finished its course, it will\n// not be reused.\nexport default class Animation {\n #nativeID: ?number;\n #onEnd: ?EndCallback;\n #useNativeDriver: boolean;\n\n __active: boolean;\n __isInteraction: boolean;\n __isLooping: ?boolean;\n __iterations: number;\n __debugID: ?string;\n\n constructor(config: AnimationConfig) {\n this.#useNativeDriver = NativeAnimatedHelper.shouldUseNativeDriver(config);\n\n this.__active = false;\n this.__isInteraction = config.isInteraction ?? !this.#useNativeDriver;\n this.__isLooping = config.isLooping;\n this.__iterations = config.iterations ?? 1;\n if (__DEV__) {\n this.__debugID = config.debugID;\n }\n }\n\n start(\n fromValue: number,\n onUpdate: (value: number) => void,\n onEnd: ?EndCallback,\n previousAnimation: ?Animation,\n animatedValue: AnimatedValue,\n ): void {\n if (!this.#useNativeDriver && animatedValue.__isNative === true) {\n throw new Error(\n 'Attempting to run JS driven animation on animated node ' +\n 'that has been moved to \"native\" earlier by starting an ' +\n 'animation with `useNativeDriver: true`',\n );\n }\n\n this.#onEnd = onEnd;\n this.__active = true;\n }\n\n stop(): void {\n if (this.#nativeID != null) {\n const nativeID = this.#nativeID;\n const identifier = `${nativeID}:stopAnimation`;\n try {\n // This is only required when singleOpBatching is used, as otherwise\n // we flush calls immediately when there's no pending queue.\n NativeAnimatedHelper.API.setWaitingForIdentifier(identifier);\n NativeAnimatedHelper.API.stopAnimation(nativeID);\n } finally {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(identifier);\n }\n }\n this.__active = false;\n }\n\n __getNativeAnimationConfig(): $ReadOnly<{\n platformConfig: ?PlatformConfig,\n ...\n }> {\n // Subclasses that have corresponding animation implementation done in native\n // should override this method\n throw new Error('This animation type cannot be offloaded to native');\n }\n\n __findAnimatedPropsNodes(node: AnimatedNode): Array {\n const result = [];\n\n if (node instanceof AnimatedProps) {\n result.push(node);\n return result;\n }\n\n for (const child of node.__getChildren()) {\n result.push(...this.__findAnimatedPropsNodes(child));\n }\n\n return result;\n }\n\n __startAnimationIfNative(animatedValue: AnimatedValue): boolean {\n if (!this.#useNativeDriver) {\n return false;\n }\n\n const startNativeAnimationWaitId = `${startNativeAnimationNextId}:startAnimation`;\n startNativeAnimationNextId += 1;\n NativeAnimatedHelper.API.setWaitingForIdentifier(\n startNativeAnimationWaitId,\n );\n try {\n const config = this.__getNativeAnimationConfig();\n animatedValue.__makeNative(config.platformConfig);\n this.#nativeID = NativeAnimatedHelper.generateNewAnimationId();\n NativeAnimatedHelper.API.startAnimatingNode(\n this.#nativeID,\n animatedValue.__getNativeTag(),\n config,\n result => {\n this.__notifyAnimationEnd(result);\n\n // When using natively driven animations, once the animation completes,\n // we need to ensure that the JS side nodes are synced with the updated\n // values.\n const {value} = result;\n if (value != null) {\n animatedValue.__onAnimatedValueUpdateReceived(value);\n\n if (this.__isLooping === true) {\n return;\n }\n\n // Once the JS side node is synced with the updated values, trigger an\n // update on the AnimatedProps nodes to call any registered callbacks.\n this.__findAnimatedPropsNodes(animatedValue).forEach(node =>\n node.update(),\n );\n }\n },\n );\n\n return true;\n } catch (e) {\n throw e;\n } finally {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(\n startNativeAnimationWaitId,\n );\n }\n }\n\n /**\n * Notify the completion callback that the animation has ended. The completion\n * callback will never be called more than once.\n */\n __notifyAnimationEnd(result: EndResult): void {\n const callback = this.#onEnd;\n if (callback != null) {\n this.#onEnd = null;\n callback(result);\n }\n }\n\n __getDebugID(): ?string {\n if (__DEV__) {\n return this.__debugID;\n }\n return undefined;\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {EventConfig} from '../../../Libraries/Animated/AnimatedEvent';\nimport type {\n AnimationConfig,\n EndCallback,\n} from '../../../Libraries/Animated/animations/Animation';\nimport type {\n AnimatedNodeConfig,\n EventMapping,\n} from '../../../Libraries/Animated/NativeAnimatedModule';\nimport type {EventSubscription} from '../../../Libraries/vendor/emitter/EventEmitter';\n\nimport NativeAnimatedNonTurboModule from '../../../Libraries/Animated/NativeAnimatedModule';\nimport NativeAnimatedTurboModule from '../../../Libraries/Animated/NativeAnimatedTurboModule';\nimport NativeEventEmitter from '../../../Libraries/EventEmitter/NativeEventEmitter';\nimport RCTDeviceEventEmitter from '../../../Libraries/EventEmitter/RCTDeviceEventEmitter';\nimport Platform from '../../../Libraries/Utilities/Platform';\nimport * as ReactNativeFeatureFlags from '../featureflags/ReactNativeFeatureFlags';\nimport invariant from 'invariant';\nimport nullthrows from 'nullthrows';\n\n// TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.\nconst NativeAnimatedModule: typeof NativeAnimatedTurboModule =\n NativeAnimatedNonTurboModule ?? NativeAnimatedTurboModule;\n\nlet __nativeAnimatedNodeTagCount = 1; /* used for animated nodes */\nlet __nativeAnimationIdCount = 1; /* used for started animations */\n\nlet nativeEventEmitter;\n\nlet waitingForQueuedOperations = new Set();\nlet queueOperations = false;\nlet queue: Array<() => void> = [];\nlet singleOpQueue: Array = [];\n\nconst isSingleOpBatching =\n Platform.OS === 'android' &&\n NativeAnimatedModule?.queueAndExecuteBatchedOperations != null &&\n ReactNativeFeatureFlags.animatedShouldUseSingleOp();\nlet flushQueueImmediate = null;\n\nconst eventListenerGetValueCallbacks: {\n [number]: (value: number) => void,\n} = {};\nconst eventListenerAnimationFinishedCallbacks: {\n [number]: EndCallback,\n} = {};\nlet globalEventEmitterGetValueListener: ?EventSubscription = null;\nlet globalEventEmitterAnimationFinishedListener: ?EventSubscription = null;\n\nfunction createNativeOperations(): $NonMaybeType {\n const methodNames = [\n 'createAnimatedNode', // 1\n 'updateAnimatedNodeConfig', // 2\n 'getValue', // 3\n 'startListeningToAnimatedNodeValue', // 4\n 'stopListeningToAnimatedNodeValue', // 5\n 'connectAnimatedNodes', // 6\n 'disconnectAnimatedNodes', // 7\n 'startAnimatingNode', // 8\n 'stopAnimation', // 9\n 'setAnimatedNodeValue', // 10\n 'setAnimatedNodeOffset', // 11\n 'flattenAnimatedNodeOffset', // 12\n 'extractAnimatedNodeOffset', // 13\n 'connectAnimatedNodeToView', // 14\n 'disconnectAnimatedNodeFromView', // 15\n 'restoreDefaultValues', // 16\n 'dropAnimatedNode', // 17\n 'addAnimatedEventToView', // 18\n 'removeAnimatedEventFromView', // 19\n 'addListener', // 20\n 'removeListener', // 21\n ];\n const nativeOperations: {\n [$Values]: (...$ReadOnlyArray) => void,\n } = {};\n if (isSingleOpBatching) {\n for (let ii = 0, length = methodNames.length; ii < length; ii++) {\n const methodName = methodNames[ii];\n const operationID = ii + 1;\n nativeOperations[methodName] = (...args) => {\n // `singleOpQueue` is a flat array of operation IDs and arguments, which\n // is possible because # arguments is fixed for each operation. For more\n // details, see `NativeAnimatedModule.queueAndExecuteBatchedOperations`.\n singleOpQueue.push(operationID, ...args);\n };\n }\n } else {\n for (let ii = 0, length = methodNames.length; ii < length; ii++) {\n const methodName = methodNames[ii];\n nativeOperations[methodName] = (...args) => {\n const method = nullthrows(NativeAnimatedModule)[methodName];\n // If queueing is explicitly on, *or* the queue has not yet\n // been flushed, use the queue. This is to prevent operations\n // from being executed out of order.\n if (queueOperations || queue.length !== 0) {\n // $FlowExpectedError[incompatible-call] - Dynamism.\n queue.push(() => method(...args));\n } else {\n // $FlowExpectedError[incompatible-call] - Dynamism.\n method(...args);\n }\n };\n }\n }\n // $FlowExpectedError[incompatible-return] - Dynamism.\n return nativeOperations;\n}\n\nconst NativeOperations = createNativeOperations();\n\n/**\n * Wrappers around NativeAnimatedModule to provide flow and autocomplete support for\n * the native module methods, and automatic queue management on Android\n */\nconst API = {\n getValue: (isSingleOpBatching\n ? (tag, saveValueCallback) => {\n if (saveValueCallback) {\n eventListenerGetValueCallbacks[tag] = saveValueCallback;\n }\n /* $FlowExpectedError[incompatible-call] - `saveValueCallback` is handled\n differently when `isSingleOpBatching` is enabled. */\n NativeOperations.getValue(tag);\n }\n : (tag, saveValueCallback) => {\n NativeOperations.getValue(tag, saveValueCallback);\n }) as $NonMaybeType['getValue'],\n\n setWaitingForIdentifier(id: string): void {\n waitingForQueuedOperations.add(id);\n queueOperations = true;\n if (\n ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush() &&\n flushQueueImmediate\n ) {\n if (ReactNativeFeatureFlags.enableAnimatedClearImmediateFix()) {\n clearImmediate(flushQueueImmediate);\n } else {\n clearTimeout(flushQueueImmediate);\n }\n }\n },\n\n unsetWaitingForIdentifier(id: string): void {\n waitingForQueuedOperations.delete(id);\n\n if (waitingForQueuedOperations.size === 0) {\n queueOperations = false;\n API.disableQueue();\n }\n },\n\n disableQueue(): void {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n\n if (ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush()) {\n const prevImmediate = flushQueueImmediate;\n clearImmediate(prevImmediate);\n flushQueueImmediate = setImmediate(API.flushQueue);\n } else {\n API.flushQueue();\n }\n },\n\n flushQueue: (isSingleOpBatching\n ? (): void => {\n invariant(\n NativeAnimatedModule,\n 'Native animated module is not available',\n );\n flushQueueImmediate = null;\n\n if (singleOpQueue.length === 0) {\n return;\n }\n\n // Set up event listener for callbacks if it's not set up\n ensureGlobalEventEmitterListeners();\n\n // Single op batching doesn't use callback functions, instead we\n // use RCTDeviceEventEmitter. This reduces overhead of sending lots of\n // JSI functions across to native code; but also, TM infrastructure currently\n // does not support packing a function into native arrays.\n NativeAnimatedModule?.queueAndExecuteBatchedOperations?.(singleOpQueue);\n singleOpQueue.length = 0;\n }\n : (): void => {\n invariant(\n NativeAnimatedModule,\n 'Native animated module is not available',\n );\n flushQueueImmediate = null;\n\n if (queue.length === 0) {\n return;\n }\n\n if (Platform.OS === 'android') {\n NativeAnimatedModule?.startOperationBatch?.();\n }\n\n for (let q = 0, l = queue.length; q < l; q++) {\n queue[q]();\n }\n queue.length = 0;\n\n if (Platform.OS === 'android') {\n NativeAnimatedModule?.finishOperationBatch?.();\n }\n }) as () => void,\n\n createAnimatedNode(tag: number, config: AnimatedNodeConfig): void {\n NativeOperations.createAnimatedNode(tag, config);\n },\n\n updateAnimatedNodeConfig(tag: number, config: AnimatedNodeConfig): void {\n NativeOperations.updateAnimatedNodeConfig?.(tag, config);\n },\n\n startListeningToAnimatedNodeValue(tag: number): void {\n NativeOperations.startListeningToAnimatedNodeValue(tag);\n },\n\n stopListeningToAnimatedNodeValue(tag: number): void {\n NativeOperations.stopListeningToAnimatedNodeValue(tag);\n },\n\n connectAnimatedNodes(parentTag: number, childTag: number): void {\n NativeOperations.connectAnimatedNodes(parentTag, childTag);\n },\n\n disconnectAnimatedNodes(parentTag: number, childTag: number): void {\n NativeOperations.disconnectAnimatedNodes(parentTag, childTag);\n },\n\n startAnimatingNode: (isSingleOpBatching\n ? (animationId, nodeTag, config, endCallback) => {\n if (endCallback) {\n eventListenerAnimationFinishedCallbacks[animationId] = endCallback;\n }\n /* $FlowExpectedError[incompatible-call] - `endCallback` is handled\n differently when `isSingleOpBatching` is enabled. */\n NativeOperations.startAnimatingNode(animationId, nodeTag, config);\n }\n : (animationId, nodeTag, config, endCallback) => {\n NativeOperations.startAnimatingNode(\n animationId,\n nodeTag,\n config,\n endCallback,\n );\n }) as $NonMaybeType['startAnimatingNode'],\n\n stopAnimation(animationId: number) {\n NativeOperations.stopAnimation(animationId);\n },\n\n setAnimatedNodeValue(nodeTag: number, value: number): void {\n NativeOperations.setAnimatedNodeValue(nodeTag, value);\n },\n\n setAnimatedNodeOffset(nodeTag: number, offset: number): void {\n NativeOperations.setAnimatedNodeOffset(nodeTag, offset);\n },\n\n flattenAnimatedNodeOffset(nodeTag: number): void {\n NativeOperations.flattenAnimatedNodeOffset(nodeTag);\n },\n\n extractAnimatedNodeOffset(nodeTag: number): void {\n NativeOperations.extractAnimatedNodeOffset(nodeTag);\n },\n\n connectAnimatedNodeToView(nodeTag: number, viewTag: number): void {\n NativeOperations.connectAnimatedNodeToView(nodeTag, viewTag);\n },\n\n disconnectAnimatedNodeFromView(nodeTag: number, viewTag: number): void {\n NativeOperations.disconnectAnimatedNodeFromView(nodeTag, viewTag);\n },\n\n restoreDefaultValues(nodeTag: number): void {\n NativeOperations.restoreDefaultValues?.(nodeTag);\n },\n\n dropAnimatedNode(tag: number): void {\n NativeOperations.dropAnimatedNode(tag);\n },\n\n addAnimatedEventToView(\n viewTag: number,\n eventName: string,\n eventMapping: EventMapping,\n ) {\n NativeOperations.addAnimatedEventToView(viewTag, eventName, eventMapping);\n },\n\n removeAnimatedEventFromView(\n viewTag: number,\n eventName: string,\n animatedNodeTag: number,\n ) {\n NativeOperations.removeAnimatedEventFromView(\n viewTag,\n eventName,\n animatedNodeTag,\n );\n },\n};\n\nfunction ensureGlobalEventEmitterListeners() {\n if (\n globalEventEmitterGetValueListener &&\n globalEventEmitterAnimationFinishedListener\n ) {\n return;\n }\n globalEventEmitterGetValueListener = RCTDeviceEventEmitter.addListener(\n 'onNativeAnimatedModuleGetValue',\n params => {\n const {tag} = params;\n const callback = eventListenerGetValueCallbacks[tag];\n if (!callback) {\n return;\n }\n callback(params.value);\n delete eventListenerGetValueCallbacks[tag];\n },\n );\n globalEventEmitterAnimationFinishedListener =\n RCTDeviceEventEmitter.addListener(\n 'onNativeAnimatedModuleAnimationFinished',\n params => {\n // TODO: remove Array.isArray once native changes have propagated\n const animations = Array.isArray(params) ? params : [params];\n for (const animation of animations) {\n const {animationId} = animation;\n const callback = eventListenerAnimationFinishedCallbacks[animationId];\n if (callback) {\n callback(animation);\n delete eventListenerAnimationFinishedCallbacks[animationId];\n }\n }\n },\n );\n}\n\nfunction generateNewNodeTag(): number {\n return __nativeAnimatedNodeTagCount++;\n}\n\nfunction generateNewAnimationId(): number {\n return __nativeAnimationIdCount++;\n}\n\nfunction assertNativeAnimatedModule(): void {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n}\n\nlet _warnedMissingNativeAnimated = false;\n\nfunction shouldUseNativeDriver(\n config: $ReadOnly<{...AnimationConfig, ...}> | EventConfig,\n): boolean {\n if (config.useNativeDriver == null) {\n console.warn(\n 'Animated: `useNativeDriver` was not specified. This is a required ' +\n 'option and must be explicitly set to `true` or `false`',\n );\n }\n\n if (config.useNativeDriver === true && !NativeAnimatedModule) {\n if (process.env.NODE_ENV !== 'test') {\n if (!_warnedMissingNativeAnimated) {\n console.warn(\n 'Animated: `useNativeDriver` is not supported because the native ' +\n 'animated module is missing. Falling back to JS-based animation. To ' +\n 'resolve this, add `RCTAnimation` module to this app, or remove ' +\n '`useNativeDriver`. ' +\n 'Make sure to run `bundle exec pod install` first. Read more about autolinking: https://github.com/react-native-community/cli/blob/master/docs/autolinking.md',\n );\n _warnedMissingNativeAnimated = true;\n }\n }\n return false;\n }\n\n return config.useNativeDriver || false;\n}\n\nfunction transformDataType(value: number | string): number | string {\n // Change the string type to number type so we can reuse the same logic in\n // iOS and Android platform\n if (typeof value !== 'string') {\n return value;\n }\n\n // Normalize degrees and radians to a number expressed in radians\n if (value.endsWith('deg')) {\n const degrees = parseFloat(value) || 0;\n return (degrees * Math.PI) / 180.0;\n } else if (value.endsWith('rad')) {\n return parseFloat(value) || 0;\n } else {\n return value;\n }\n}\n\nexport default {\n API,\n generateNewNodeTag,\n generateNewAnimationId,\n assertNativeAnimatedModule,\n shouldUseNativeDriver,\n transformDataType,\n // $FlowExpectedError[unsafe-getters-setters] - unsafe getter lint suppression\n // $FlowExpectedError[missing-type-arg] - unsafe getter lint suppression\n get nativeEventEmitter(): NativeEventEmitter {\n if (!nativeEventEmitter) {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n nativeEventEmitter = new NativeEventEmitter(\n // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior\n // If you want to use the native module on other platforms, please remove this condition and test its behavior\n Platform.OS !== 'ios' ? null : NativeAnimatedModule,\n );\n }\n return nativeEventEmitter;\n },\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeAnimatedModule';\nimport NativeAnimatedModule from '../../src/private/specs_DEPRECATED/modules/NativeAnimatedModule';\nexport default NativeAnimatedModule;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport shouldUseTurboAnimatedModule from '../../../../Libraries/Animated/shouldUseTurboAnimatedModule';\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\ntype EndResult = {finished: boolean, value?: number, ...};\ntype EndCallback = (result: EndResult) => void;\ntype SaveValueCallback = (value: number) => void;\n\nexport type EventMapping = {\n nativeEventPath: Array,\n animatedValueTag: ?number,\n};\n\n// The config has different keys depending on the type of the Node\n// TODO(T54896888): Make these types strict\nexport type AnimatedNodeConfig = Object;\nexport type AnimatingNodeConfig = Object;\n\nexport interface Spec extends TurboModule {\n +startOperationBatch: () => void;\n +finishOperationBatch: () => void;\n +createAnimatedNode: (tag: number, config: AnimatedNodeConfig) => void;\n +updateAnimatedNodeConfig?: (tag: number, config: AnimatedNodeConfig) => void;\n +getValue: (tag: number, saveValueCallback: SaveValueCallback) => void;\n +startListeningToAnimatedNodeValue: (tag: number) => void;\n +stopListeningToAnimatedNodeValue: (tag: number) => void;\n +connectAnimatedNodes: (parentTag: number, childTag: number) => void;\n +disconnectAnimatedNodes: (parentTag: number, childTag: number) => void;\n +startAnimatingNode: (\n animationId: number,\n nodeTag: number,\n config: AnimatingNodeConfig,\n endCallback: EndCallback,\n ) => void;\n +stopAnimation: (animationId: number) => void;\n +setAnimatedNodeValue: (nodeTag: number, value: number) => void;\n +setAnimatedNodeOffset: (nodeTag: number, offset: number) => void;\n +flattenAnimatedNodeOffset: (nodeTag: number) => void;\n +extractAnimatedNodeOffset: (nodeTag: number) => void;\n +connectAnimatedNodeToView: (nodeTag: number, viewTag: number) => void;\n +disconnectAnimatedNodeFromView: (nodeTag: number, viewTag: number) => void;\n +restoreDefaultValues: (nodeTag: number) => void;\n +dropAnimatedNode: (tag: number) => void;\n +addAnimatedEventToView: (\n viewTag: number,\n eventName: string,\n eventMapping: EventMapping,\n ) => void;\n +removeAnimatedEventFromView: (\n viewTag: number,\n eventName: string,\n animatedNodeTag: number,\n ) => void;\n\n // Events\n +addListener: (eventName: string) => void;\n +removeListeners: (count: number) => void;\n\n // All of the above in a batched mode\n +queueAndExecuteBatchedOperations?: (operationsAndArgs: Array) => void;\n}\n\nconst NativeModule: ?Spec = !shouldUseTurboAnimatedModule()\n ? TurboModuleRegistry.get('NativeAnimatedModule')\n : null;\nexport default NativeModule;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport Platform from '../Utilities/Platform';\n\nfunction shouldUseTurboAnimatedModule(): boolean {\n return Platform.OS === 'ios' && global.RN$Bridgeless === true;\n}\n\nexport default shouldUseTurboAnimatedModule;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule';\nimport NativeAnimatedTurboModule from '../../src/private/specs_DEPRECATED/modules/NativeAnimatedTurboModule';\nexport default NativeAnimatedTurboModule;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport shouldUseTurboAnimatedModule from '../../../../Libraries/Animated/shouldUseTurboAnimatedModule';\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\ntype EndResult = {finished: boolean, value?: number, ...};\ntype EndCallback = (result: EndResult) => void;\ntype SaveValueCallback = (value: number) => void;\n\nexport type EventMapping = {\n nativeEventPath: Array,\n animatedValueTag: ?number,\n};\n\n// The config has different keys depending on the type of the Node\n// TODO(T54896888): Make these types strict\nexport type AnimatedNodeConfig = Object;\nexport type AnimatingNodeConfig = Object;\n\nexport interface Spec extends TurboModule {\n +startOperationBatch: () => void;\n +finishOperationBatch: () => void;\n +createAnimatedNode: (tag: number, config: AnimatedNodeConfig) => void;\n +updateAnimatedNodeConfig?: (tag: number, config: AnimatedNodeConfig) => void;\n +getValue: (tag: number, saveValueCallback: SaveValueCallback) => void;\n +startListeningToAnimatedNodeValue: (tag: number) => void;\n +stopListeningToAnimatedNodeValue: (tag: number) => void;\n +connectAnimatedNodes: (parentTag: number, childTag: number) => void;\n +disconnectAnimatedNodes: (parentTag: number, childTag: number) => void;\n +startAnimatingNode: (\n animationId: number,\n nodeTag: number,\n config: AnimatingNodeConfig,\n endCallback: EndCallback,\n ) => void;\n +stopAnimation: (animationId: number) => void;\n +setAnimatedNodeValue: (nodeTag: number, value: number) => void;\n +setAnimatedNodeOffset: (nodeTag: number, offset: number) => void;\n +flattenAnimatedNodeOffset: (nodeTag: number) => void;\n +extractAnimatedNodeOffset: (nodeTag: number) => void;\n +connectAnimatedNodeToView: (nodeTag: number, viewTag: number) => void;\n +disconnectAnimatedNodeFromView: (nodeTag: number, viewTag: number) => void;\n +restoreDefaultValues: (nodeTag: number) => void;\n +dropAnimatedNode: (tag: number) => void;\n +addAnimatedEventToView: (\n viewTag: number,\n eventName: string,\n eventMapping: EventMapping,\n ) => void;\n +removeAnimatedEventFromView: (\n viewTag: number,\n eventName: string,\n animatedNodeTag: number,\n ) => void;\n\n // Events\n +addListener: (eventName: string) => void;\n +removeListeners: (count: number) => void;\n\n // All of the above in a batched mode\n +queueAndExecuteBatchedOperations?: (operationsAndArgs: Array) => void;\n}\n\nconst NativeModule: ?Spec = shouldUseTurboAnimatedModule()\n ? TurboModuleRegistry.get('NativeAnimatedTurboModule')\n : null;\n\nexport default NativeModule;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\nimport type {AnimatedStyleAllowlist} from './AnimatedStyle';\n\nimport NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';\nimport {findNodeHandle} from '../../ReactNative/RendererProxy';\nimport {AnimatedEvent} from '../AnimatedEvent';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedObject from './AnimatedObject';\nimport AnimatedStyle from './AnimatedStyle';\nimport invariant from 'invariant';\n\nexport type AnimatedPropsAllowlist = $ReadOnly<{\n style?: ?AnimatedStyleAllowlist,\n [string]: true,\n}>;\n\nfunction createAnimatedProps(\n inputProps: {[string]: mixed},\n allowlist: ?AnimatedPropsAllowlist,\n): [$ReadOnlyArray, $ReadOnlyArray, {[string]: mixed}] {\n const nodeKeys: Array = [];\n const nodes: Array = [];\n const props: {[string]: mixed} = {};\n\n const keys = Object.keys(inputProps);\n for (let ii = 0, length = keys.length; ii < length; ii++) {\n const key = keys[ii];\n const value = inputProps[key];\n\n if (allowlist == null || hasOwn(allowlist, key)) {\n let node;\n if (key === 'style') {\n node = AnimatedStyle.from(value, allowlist?.style);\n } else if (value instanceof AnimatedNode) {\n node = value;\n } else {\n node = AnimatedObject.from(value);\n }\n if (node == null) {\n props[key] = value;\n } else {\n nodeKeys.push(key);\n nodes.push(node);\n props[key] = node;\n }\n } else {\n if (__DEV__) {\n // WARNING: This is a potentially expensive check that we should only\n // do in development. Without this check in development, it might be\n // difficult to identify which props need to be allowlisted.\n if (AnimatedObject.from(inputProps[key]) != null) {\n console.error(\n `AnimatedProps: ${key} is not allowlisted for animation, but it ` +\n 'contains AnimatedNode values; props allowing animation: ',\n allowlist,\n );\n }\n }\n props[key] = value;\n }\n }\n\n return [nodeKeys, nodes, props];\n}\n\nexport default class AnimatedProps extends AnimatedNode {\n #animatedView: any = null;\n #callback: () => void;\n #nodeKeys: $ReadOnlyArray;\n #nodes: $ReadOnlyArray;\n #props: {[string]: mixed};\n\n constructor(\n inputProps: {[string]: mixed},\n callback: () => void,\n allowlist?: ?AnimatedPropsAllowlist,\n config?: ?AnimatedNodeConfig,\n ) {\n super(config);\n const [nodeKeys, nodes, props] = createAnimatedProps(inputProps, allowlist);\n this.#nodeKeys = nodeKeys;\n this.#nodes = nodes;\n this.#props = props;\n this.#callback = callback;\n }\n\n __getValue(): Object {\n const props: {[string]: mixed} = {};\n\n const keys = Object.keys(this.#props);\n for (let ii = 0, length = keys.length; ii < length; ii++) {\n const key = keys[ii];\n const value = this.#props[key];\n\n if (value instanceof AnimatedNode) {\n props[key] = value.__getValue();\n } else if (value instanceof AnimatedEvent) {\n props[key] = value.__getHandler();\n } else {\n props[key] = value;\n }\n }\n\n return props;\n }\n\n /**\n * Creates a new `props` object that contains the same props as the supplied\n * `staticProps` object, except with animated nodes for any props that were\n * created by this `AnimatedProps` instance.\n */\n __getValueWithStaticProps(staticProps: Object): Object {\n const props: {[string]: mixed} = {...staticProps};\n\n const keys = Object.keys(staticProps);\n for (let ii = 0, length = keys.length; ii < length; ii++) {\n const key = keys[ii];\n const maybeNode = this.#props[key];\n\n if (key === 'style' && maybeNode instanceof AnimatedStyle) {\n props[key] = maybeNode.__getValueWithStaticStyle(staticProps.style);\n } else if (maybeNode instanceof AnimatedNode) {\n props[key] = maybeNode.__getValue();\n } else if (maybeNode instanceof AnimatedEvent) {\n props[key] = maybeNode.__getHandler();\n }\n }\n\n return props;\n }\n\n __getAnimatedValue(): Object {\n const props: {[string]: mixed} = {};\n\n const nodeKeys = this.#nodeKeys;\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const key = nodeKeys[ii];\n const node = nodes[ii];\n props[key] = node.__getAnimatedValue();\n }\n\n return props;\n }\n\n __attach(): void {\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const node = nodes[ii];\n node.__addChild(this);\n }\n super.__attach();\n }\n\n __detach(): void {\n if (this.__isNative && this.#animatedView) {\n this.__disconnectAnimatedView();\n }\n this.#animatedView = null;\n\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const node = nodes[ii];\n node.__removeChild(this);\n }\n\n super.__detach();\n }\n\n update(): void {\n this.#callback();\n }\n\n __makeNative(platformConfig: ?PlatformConfig): void {\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const node = nodes[ii];\n node.__makeNative(platformConfig);\n }\n\n if (!this.__isNative) {\n this.__isNative = true;\n\n // Since this does not call the super.__makeNative, we need to store the\n // supplied platformConfig here, before calling __connectAnimatedView\n // where it will be needed to traverse the graph of attached values.\n super.__setPlatformConfig(platformConfig);\n\n if (this.#animatedView) {\n this.__connectAnimatedView();\n }\n }\n }\n\n setNativeView(animatedView: any): void {\n if (this.#animatedView === animatedView) {\n return;\n }\n this.#animatedView = animatedView;\n if (this.__isNative) {\n this.__connectAnimatedView();\n }\n }\n\n __connectAnimatedView(): void {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n let nativeViewTag: ?number = findNodeHandle(this.#animatedView);\n if (nativeViewTag == null) {\n if (process.env.NODE_ENV === 'test') {\n nativeViewTag = -1;\n } else {\n throw new Error('Unable to locate attached view in the native tree');\n }\n }\n NativeAnimatedHelper.API.connectAnimatedNodeToView(\n this.__getNativeTag(),\n nativeViewTag,\n );\n }\n\n __disconnectAnimatedView(): void {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n let nativeViewTag: ?number = findNodeHandle(this.#animatedView);\n if (nativeViewTag == null) {\n if (process.env.NODE_ENV === 'test') {\n nativeViewTag = -1;\n } else {\n throw new Error('Unable to locate attached view in the native tree');\n }\n }\n NativeAnimatedHelper.API.disconnectAnimatedNodeFromView(\n this.__getNativeTag(),\n nativeViewTag,\n );\n }\n\n __restoreDefaultValues(): void {\n // When using the native driver, view properties need to be restored to\n // their default values manually since react no longer tracks them. This\n // is needed to handle cases where a prop driven by native animated is removed\n // after having been changed natively by an animation.\n if (this.__isNative) {\n NativeAnimatedHelper.API.restoreDefaultValues(this.__getNativeTag());\n }\n }\n\n __getNativeConfig(): Object {\n const platformConfig = this.__getPlatformConfig();\n const propsConfig: {[string]: number} = {};\n\n const nodeKeys = this.#nodeKeys;\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const key = nodeKeys[ii];\n const node = nodes[ii];\n node.__makeNative(platformConfig);\n propsConfig[key] = node.__getNativeTag();\n }\n\n return {\n type: 'props',\n props: propsConfig,\n debugID: this.__getDebugID(),\n };\n }\n}\n\n// Supported versions of JSC do not implement the newer Object.hasOwn. Remove\n// this shim when they do.\n// $FlowIgnore[method-unbinding]\nconst _hasOwnProp = Object.prototype.hasOwnProperty;\nconst hasOwn: (obj: $ReadOnly<{...}>, prop: string) => boolean =\n // $FlowIgnore[method-unbinding]\n Object.hasOwn ?? ((obj, prop) => _hasOwnProp.call(obj, prop));\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\n\nimport NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';\nimport invariant from 'invariant';\n\ntype ValueListenerCallback = (state: {value: number, ...}) => mixed;\n\nexport type AnimatedNodeConfig = $ReadOnly<{\n debugID?: string,\n}>;\n\nlet _uniqueId = 1;\nlet _assertNativeAnimatedModule: ?() => void = () => {\n NativeAnimatedHelper.assertNativeAnimatedModule();\n // We only have to assert that the module exists once. After we've asserted\n // this, clear out the function so we know to skip it in the future.\n _assertNativeAnimatedModule = null;\n};\n\nexport default class AnimatedNode {\n #listeners: Map = new Map();\n\n _platformConfig: ?PlatformConfig = undefined;\n\n constructor(\n config?: ?$ReadOnly<{\n ...AnimatedNodeConfig,\n ...\n }>,\n ) {\n if (__DEV__) {\n this.__debugID = config?.debugID;\n }\n }\n\n __attach(): void {}\n __detach(): void {\n this.removeAllListeners();\n if (this.__isNative && this.__nativeTag != null) {\n NativeAnimatedHelper.API.dropAnimatedNode(this.__nativeTag);\n this.__nativeTag = undefined;\n }\n }\n __getValue(): any {}\n __getAnimatedValue(): any {\n return this.__getValue();\n }\n __addChild(child: AnimatedNode) {}\n __removeChild(child: AnimatedNode) {}\n __getChildren(): $ReadOnlyArray {\n return [];\n }\n\n /* Methods and props used by native Animated impl */\n __isNative: boolean = false;\n __nativeTag: ?number = undefined;\n\n __makeNative(platformConfig: ?PlatformConfig): void {\n // Subclasses are expected to set `__isNative` to true before this.\n invariant(\n this.__isNative,\n 'This node cannot be made a \"native\" animated node',\n );\n\n this._platformConfig = platformConfig;\n }\n\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to\n * synchronously read the value because it might be driven natively.\n *\n * See https://reactnative.dev/docs/animatedvalue#addlistener\n */\n addListener(callback: (value: any) => mixed): string {\n const id = String(_uniqueId++);\n this.#listeners.set(id, callback);\n return id;\n }\n\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n *\n * See https://reactnative.dev/docs/animatedvalue#removelistener\n */\n removeListener(id: string): void {\n this.#listeners.delete(id);\n }\n\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvalue#removealllisteners\n */\n removeAllListeners(): void {\n this.#listeners.clear();\n }\n\n hasListeners(): boolean {\n return this.#listeners.size > 0;\n }\n\n __onAnimatedValueUpdateReceived(value: number): void {\n this.__callListeners(value);\n }\n\n __callListeners(value: number): void {\n const event = {value};\n this.#listeners.forEach(listener => {\n listener(event);\n });\n }\n\n __getNativeTag(): number {\n let nativeTag = this.__nativeTag;\n if (nativeTag == null) {\n _assertNativeAnimatedModule?.();\n\n // `__isNative` is initialized as false and only ever set to true. So we\n // only need to check it once here when initializing `__nativeTag`.\n invariant(\n this.__isNative,\n 'Attempt to get native tag from node not marked as \"native\"',\n );\n\n nativeTag = NativeAnimatedHelper.generateNewNodeTag();\n this.__nativeTag = nativeTag;\n\n const config = this.__getNativeConfig();\n if (this._platformConfig) {\n config.platformConfig = this._platformConfig;\n }\n NativeAnimatedHelper.API.createAnimatedNode(nativeTag, config);\n }\n return nativeTag;\n }\n\n __getNativeConfig(): Object {\n throw new Error(\n 'This JS animated node type cannot be used as native animated node',\n );\n }\n\n __getPlatformConfig(): ?PlatformConfig {\n return this._platformConfig;\n }\n\n __setPlatformConfig(platformConfig: ?PlatformConfig) {\n this._platformConfig = platformConfig;\n }\n\n /**\n * NOTE: This is intended to prevent `JSON.stringify` from throwing \"cyclic\n * structure\" errors in React DevTools. Avoid depending on this!\n */\n toJSON(): mixed {\n return this.__getValue();\n }\n\n __debugID: ?string = undefined;\n\n __getDebugID(): ?string {\n if (__DEV__) {\n return this.__debugID;\n }\n return undefined;\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n * @oncall react_native\n */\n\n'use strict';\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport * as React from 'react';\n\nconst MAX_DEPTH = 5;\n\nexport function isPlainObject(\n value: mixed,\n /* $FlowIssue[incompatible-type-guard] - Flow does not know that the prototype\n and ReactElement checks preserve the type refinement of `value`. */\n): value is $ReadOnly<{[string]: mixed}> {\n return (\n // $FlowFixMe[incompatible-type-guard]\n value !== null &&\n typeof value === 'object' &&\n Object.getPrototypeOf(value).isPrototypeOf(Object) &&\n !React.isValidElement(value)\n );\n}\n\nfunction flatAnimatedNodes(\n value: mixed,\n nodes: Array = [],\n depth: number = 0,\n): Array {\n if (depth >= MAX_DEPTH) {\n return nodes;\n }\n if (value instanceof AnimatedNode) {\n nodes.push(value);\n } else if (Array.isArray(value)) {\n for (let ii = 0, length = value.length; ii < length; ii++) {\n const element = value[ii];\n flatAnimatedNodes(element, nodes, depth + 1);\n }\n } else if (isPlainObject(value)) {\n const keys = Object.keys(value);\n for (let ii = 0, length = keys.length; ii < length; ii++) {\n const key = keys[ii];\n flatAnimatedNodes(value[key], nodes, depth + 1);\n }\n }\n return nodes;\n}\n\n// Returns a copy of value with a transformation fn applied to any AnimatedNodes\nfunction mapAnimatedNodes(value: any, fn: any => any, depth: number = 0): any {\n if (depth >= MAX_DEPTH) {\n return value;\n }\n\n if (value instanceof AnimatedNode) {\n return fn(value);\n } else if (Array.isArray(value)) {\n return value.map(element => mapAnimatedNodes(element, fn, depth + 1));\n } else if (isPlainObject(value)) {\n const result: {[string]: any} = {};\n const keys = Object.keys(value);\n for (let ii = 0, length = keys.length; ii < length; ii++) {\n const key = keys[ii];\n result[key] = mapAnimatedNodes(value[key], fn, depth + 1);\n }\n return result;\n } else {\n return value;\n }\n}\n\nexport default class AnimatedObject extends AnimatedWithChildren {\n #nodes: $ReadOnlyArray;\n _value: mixed;\n\n /**\n * Creates an `AnimatedObject` if `value` contains `AnimatedNode` instances.\n * Otherwise, returns `null`.\n */\n static from(value: mixed): ?AnimatedObject {\n const nodes = flatAnimatedNodes(value);\n if (nodes.length === 0) {\n return null;\n }\n return new AnimatedObject(nodes, value);\n }\n\n /**\n * Should only be called by `AnimatedObject.from`.\n */\n constructor(\n nodes: $ReadOnlyArray,\n value: mixed,\n config?: ?AnimatedNodeConfig,\n ) {\n super(config);\n this.#nodes = nodes;\n this._value = value;\n }\n\n __getValue(): any {\n return mapAnimatedNodes(this._value, node => {\n return node.__getValue();\n });\n }\n\n __getValueWithStaticObject(staticObject: mixed): any {\n const nodes = this.#nodes;\n let index = 0;\n // NOTE: We can depend on `this._value` and `staticObject` sharing a\n // structure because of `useAnimatedPropsMemo`.\n return mapAnimatedNodes(staticObject, () => nodes[index++].__getValue());\n }\n\n __getAnimatedValue(): any {\n return mapAnimatedNodes(this._value, node => {\n return node.__getAnimatedValue();\n });\n }\n\n __attach(): void {\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const node = nodes[ii];\n node.__addChild(this);\n }\n super.__attach();\n }\n\n __detach(): void {\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const node = nodes[ii];\n node.__removeChild(this);\n }\n super.__detach();\n }\n\n __makeNative(platformConfig: ?PlatformConfig): void {\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const node = nodes[ii];\n node.__makeNative(platformConfig);\n }\n super.__makeNative(platformConfig);\n }\n\n __getNativeConfig(): any {\n return {\n type: 'object',\n value: mapAnimatedNodes(this._value, node => {\n return {nodeTag: node.__getNativeTag()};\n }),\n debugID: this.__getDebugID(),\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\n\nimport NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';\nimport AnimatedNode from './AnimatedNode';\n\nconst {connectAnimatedNodes, disconnectAnimatedNodes} =\n NativeAnimatedHelper.API;\n\nexport default class AnimatedWithChildren extends AnimatedNode {\n _children: Array = [];\n\n __makeNative(platformConfig: ?PlatformConfig) {\n if (!this.__isNative) {\n this.__isNative = true;\n\n const children = this._children;\n let length = children.length;\n if (length > 0) {\n for (let ii = 0; ii < length; ii++) {\n const child = children[ii];\n child.__makeNative(platformConfig);\n connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n }\n super.__makeNative(platformConfig);\n }\n\n __addChild(child: AnimatedNode): void {\n if (this._children.length === 0) {\n this.__attach();\n }\n this._children.push(child);\n if (this.__isNative) {\n // Only accept \"native\" animated nodes as children\n child.__makeNative(this.__getPlatformConfig());\n connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n\n __removeChild(child: AnimatedNode): void {\n const index = this._children.indexOf(child);\n if (index === -1) {\n console.warn(\"Trying to remove a child that doesn't exist\");\n return;\n }\n if (this.__isNative && child.__isNative) {\n disconnectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n this._children.splice(index, 1);\n if (this._children.length === 0) {\n this.__detach();\n }\n }\n\n __getChildren(): $ReadOnlyArray {\n return this._children;\n }\n\n __callListeners(value: number): void {\n super.__callListeners(value);\n if (!this.__isNative) {\n const children = this._children;\n for (let ii = 0, length = children.length; ii < length; ii++) {\n const child = children[ii];\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n if (child.__getValue) {\n child.__callListeners(child.__getValue());\n }\n }\n }\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\n\nimport {validateStyles} from '../../../src/private/animated/NativeAnimatedValidation';\nimport * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';\nimport flattenStyle from '../../StyleSheet/flattenStyle';\nimport Platform from '../../Utilities/Platform';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedObject from './AnimatedObject';\nimport AnimatedTransform from './AnimatedTransform';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nexport type AnimatedStyleAllowlist = $ReadOnly<{[string]: true}>;\n\nfunction createAnimatedStyle(\n inputStyle: {[string]: mixed},\n allowlist: ?AnimatedStyleAllowlist,\n keepUnanimatedValues: boolean,\n): [$ReadOnlyArray, $ReadOnlyArray, {[string]: mixed}] {\n const nodeKeys: Array = [];\n const nodes: Array = [];\n const style: {[string]: mixed} = {};\n\n const keys = Object.keys(inputStyle);\n for (let ii = 0, length = keys.length; ii < length; ii++) {\n const key = keys[ii];\n const value = inputStyle[key];\n\n if (allowlist == null || hasOwn(allowlist, key)) {\n let node;\n if (value != null && key === 'transform') {\n node = ReactNativeFeatureFlags.shouldUseAnimatedObjectForTransform()\n ? AnimatedObject.from(value)\n : // $FlowFixMe[incompatible-call] - `value` is mixed.\n AnimatedTransform.from(value);\n } else if (value instanceof AnimatedNode) {\n node = value;\n } else {\n node = AnimatedObject.from(value);\n }\n if (node == null) {\n if (keepUnanimatedValues) {\n style[key] = value;\n }\n } else {\n nodeKeys.push(key);\n nodes.push(node);\n style[key] = node;\n }\n } else {\n if (__DEV__) {\n // WARNING: This is a potentially expensive check that we should only\n // do in development. Without this check in development, it might be\n // difficult to identify which styles need to be allowlisted.\n if (AnimatedObject.from(inputStyle[key]) != null) {\n console.error(\n `AnimatedStyle: ${key} is not allowlisted for animation, but it ` +\n 'contains AnimatedNode values; styles allowing animation: ',\n allowlist,\n );\n }\n }\n if (keepUnanimatedValues) {\n style[key] = value;\n }\n }\n }\n\n return [nodeKeys, nodes, style];\n}\n\nexport default class AnimatedStyle extends AnimatedWithChildren {\n #inputStyle: any;\n #nodeKeys: $ReadOnlyArray;\n #nodes: $ReadOnlyArray;\n #style: {[string]: mixed};\n\n /**\n * Creates an `AnimatedStyle` if `value` contains `AnimatedNode` instances.\n * Otherwise, returns `null`.\n */\n static from(\n inputStyle: any,\n allowlist: ?AnimatedStyleAllowlist,\n ): ?AnimatedStyle {\n const flatStyle = flattenStyle(inputStyle);\n if (flatStyle == null) {\n return null;\n }\n const [nodeKeys, nodes, style] = createAnimatedStyle(\n flatStyle,\n allowlist,\n Platform.OS !== 'web',\n );\n if (nodes.length === 0) {\n return null;\n }\n return new AnimatedStyle(nodeKeys, nodes, style, inputStyle);\n }\n\n constructor(\n nodeKeys: $ReadOnlyArray,\n nodes: $ReadOnlyArray,\n style: {[string]: mixed},\n inputStyle: any,\n config?: ?AnimatedNodeConfig,\n ) {\n super(config);\n this.#nodeKeys = nodeKeys;\n this.#nodes = nodes;\n this.#style = style;\n this.#inputStyle = inputStyle;\n }\n\n __getValue(): Object | Array {\n const style: {[string]: mixed} = {};\n\n const keys = Object.keys(this.#style);\n for (let ii = 0, length = keys.length; ii < length; ii++) {\n const key = keys[ii];\n const value = this.#style[key];\n\n if (value instanceof AnimatedNode) {\n style[key] = value.__getValue();\n } else {\n style[key] = value;\n }\n }\n\n /* $FlowFixMe[incompatible-type] Error found due to incomplete typing of\n * Platform.flow.js */\n return Platform.OS === 'web' ? [this.#inputStyle, style] : style;\n }\n\n /**\n * Creates a new `style` object that contains the same style properties as\n * the supplied `staticStyle` object, except with animated nodes for any\n * style properties that were created by this `AnimatedStyle` instance.\n */\n __getValueWithStaticStyle(staticStyle: Object): Object | Array {\n const flatStaticStyle = flattenStyle(staticStyle);\n const style: {[string]: mixed} =\n flatStaticStyle == null\n ? {}\n : flatStaticStyle === staticStyle\n ? // Copy the input style, since we'll mutate it below.\n {...flatStaticStyle}\n : // Reuse `flatStaticStyle` if it is a newly created object.\n flatStaticStyle;\n\n const keys = Object.keys(style);\n for (let ii = 0, length = keys.length; ii < length; ii++) {\n const key = keys[ii];\n const maybeNode = this.#style[key];\n\n if (key === 'transform' && maybeNode instanceof AnimatedTransform) {\n style[key] = maybeNode.__getValueWithStaticTransforms(\n // NOTE: This check should not be necessary, but the types are not\n // enforced as of this writing.\n Array.isArray(style[key]) ? style[key] : [],\n );\n } else if (maybeNode instanceof AnimatedObject) {\n style[key] = maybeNode.__getValueWithStaticObject(style[key]);\n } else if (maybeNode instanceof AnimatedNode) {\n style[key] = maybeNode.__getValue();\n }\n }\n\n /* $FlowFixMe[incompatible-type] Error found due to incomplete typing of\n * Platform.flow.js */\n return Platform.OS === 'web' ? [this.#inputStyle, style] : style;\n }\n\n __getAnimatedValue(): Object {\n const style: {[string]: mixed} = {};\n\n const nodeKeys = this.#nodeKeys;\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const key = nodeKeys[ii];\n const node = nodes[ii];\n style[key] = node.__getAnimatedValue();\n }\n\n return style;\n }\n\n __attach(): void {\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const node = nodes[ii];\n node.__addChild(this);\n }\n super.__attach();\n }\n\n __detach(): void {\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const node = nodes[ii];\n node.__removeChild(this);\n }\n super.__detach();\n }\n\n __makeNative(platformConfig: ?PlatformConfig) {\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const node = nodes[ii];\n node.__makeNative(platformConfig);\n }\n super.__makeNative(platformConfig);\n }\n\n __getNativeConfig(): Object {\n const platformConfig = this.__getPlatformConfig();\n const styleConfig: {[string]: ?number} = {};\n\n const nodeKeys = this.#nodeKeys;\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const key = nodeKeys[ii];\n const node = nodes[ii];\n node.__makeNative(platformConfig);\n styleConfig[key] = node.__getNativeTag();\n }\n\n if (__DEV__) {\n validateStyles(styleConfig);\n }\n return {\n type: 'style',\n style: styleConfig,\n debugID: this.__getDebugID(),\n };\n }\n}\n\n// Supported versions of JSC do not implement the newer Object.hasOwn. Remove\n// this shim when they do.\n// $FlowIgnore[method-unbinding]\nconst _hasOwnProp = Object.prototype.hasOwnProperty;\nconst hasOwn: (obj: $ReadOnly<{...}>, prop: string) => boolean =\n // $FlowIgnore[method-unbinding]\n Object.hasOwn ?? ((obj, prop) => _hasOwnProp.call(obj, prop));\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\n\nimport NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';\nimport {validateTransform} from '../../../src/private/animated/NativeAnimatedValidation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\ntype Transform = {\n [string]:\n | number\n | string\n | T\n | $ReadOnlyArray\n | {[string]: number | string | T},\n};\n\nfunction flatAnimatedNodes(\n transforms: $ReadOnlyArray>,\n): Array {\n const nodes = [];\n for (let ii = 0, length = transforms.length; ii < length; ii++) {\n const transform = transforms[ii];\n // There should be exactly one property in `transform`.\n for (const key in transform) {\n const value = transform[key];\n if (value instanceof AnimatedNode) {\n nodes.push(value);\n }\n }\n }\n return nodes;\n}\n\nexport default class AnimatedTransform extends AnimatedWithChildren {\n // NOTE: For potentially historical reasons, some operations only operate on\n // the first level of AnimatedNode instances. This optimizes that bevavior.\n #nodes: $ReadOnlyArray;\n\n _transforms: $ReadOnlyArray>;\n\n /**\n * Creates an `AnimatedTransform` if `transforms` contains `AnimatedNode`\n * instances. Otherwise, returns `null`.\n */\n static from(transforms: $ReadOnlyArray>): ?AnimatedTransform {\n const nodes = flatAnimatedNodes(\n // NOTE: This check should not be necessary, but the types are not\n // enforced as of this writing. This check should be hoisted to\n // instantiation sites.\n Array.isArray(transforms) ? transforms : [],\n );\n if (nodes.length === 0) {\n return null;\n }\n return new AnimatedTransform(nodes, transforms);\n }\n\n constructor(\n nodes: $ReadOnlyArray,\n transforms: $ReadOnlyArray>,\n config?: ?AnimatedNodeConfig,\n ) {\n super(config);\n this.#nodes = nodes;\n this._transforms = transforms;\n }\n\n __makeNative(platformConfig: ?PlatformConfig) {\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const node = nodes[ii];\n node.__makeNative(platformConfig);\n }\n super.__makeNative(platformConfig);\n }\n\n __getValue(): $ReadOnlyArray> {\n return mapTransforms(this._transforms, animatedNode =>\n animatedNode.__getValue(),\n );\n }\n\n __getValueWithStaticTransforms(\n staticTransforms: $ReadOnlyArray,\n ): $ReadOnlyArray {\n const values = [];\n mapTransforms(this._transforms, node => {\n values.push(node.__getValue());\n });\n // NOTE: We can depend on `this._transforms` and `staticTransforms` sharing\n // a structure because of `useAnimatedPropsMemo`.\n return mapTransforms(staticTransforms, () => values.shift());\n }\n\n __getAnimatedValue(): $ReadOnlyArray> {\n return mapTransforms(this._transforms, animatedNode =>\n animatedNode.__getAnimatedValue(),\n );\n }\n\n __attach(): void {\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const node = nodes[ii];\n node.__addChild(this);\n }\n super.__attach();\n }\n\n __detach(): void {\n const nodes = this.#nodes;\n for (let ii = 0, length = nodes.length; ii < length; ii++) {\n const node = nodes[ii];\n node.__removeChild(this);\n }\n super.__detach();\n }\n\n __getNativeConfig(): any {\n const transformsConfig: Array = [];\n\n const transforms = this._transforms;\n for (let ii = 0, length = transforms.length; ii < length; ii++) {\n const transform = transforms[ii];\n // There should be exactly one property in `transform`.\n for (const key in transform) {\n const value = transform[key];\n if (value instanceof AnimatedNode) {\n transformsConfig.push({\n type: 'animated',\n property: key,\n nodeTag: value.__getNativeTag(),\n });\n } else {\n transformsConfig.push({\n type: 'static',\n property: key,\n /* $FlowFixMe[incompatible-call] - `value` can be an array or an\n object. This is not currently handled by `transformDataType`.\n Migrating to `TransformObject` might solve this. */\n value: NativeAnimatedHelper.transformDataType(value),\n });\n }\n }\n }\n\n if (__DEV__) {\n validateTransform(transformsConfig);\n }\n return {\n type: 'transform',\n transforms: transformsConfig,\n debugID: this.__getDebugID(),\n };\n }\n}\n\nfunction mapTransforms(\n transforms: $ReadOnlyArray>,\n mapFunction: AnimatedNode => T,\n): $ReadOnlyArray> {\n return transforms.map(transform => {\n const result: Transform = {};\n // There should be exactly one property in `transform`.\n for (const key in transform) {\n const value = transform[key];\n if (value instanceof AnimatedNode) {\n result[key] = mapFunction(value);\n } else if (Array.isArray(value)) {\n result[key] = value.map(element =>\n element instanceof AnimatedNode ? mapFunction(element) : element,\n );\n } else if (typeof value === 'object') {\n const object: {[string]: number | string | T} = {};\n for (const propertyName in value) {\n const propertyValue = value[propertyName];\n object[propertyName] =\n propertyValue instanceof AnimatedNode\n ? mapFunction(propertyValue)\n : propertyValue;\n }\n result[key] = object;\n } else {\n result[key] = value;\n }\n }\n return result;\n });\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {PlatformConfig} from './AnimatedPlatformConfig';\n\nimport NativeAnimatedHelper from '../../src/private/animated/NativeAnimatedHelper';\nimport {findNodeHandle} from '../ReactNative/RendererProxy';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport invariant from 'invariant';\n\nexport type Mapping =\n | {[key: string]: Mapping, ...}\n | AnimatedValue\n | AnimatedValueXY;\nexport type EventConfig = {\n listener?: ?Function,\n useNativeDriver: boolean,\n platformConfig?: PlatformConfig,\n};\n\nexport function attachNativeEvent(\n viewRef: any,\n eventName: string,\n argMapping: $ReadOnlyArray,\n platformConfig: ?PlatformConfig,\n): {detach: () => void} {\n // Find animated values in `argMapping` and create an array representing their\n // key path inside the `nativeEvent` object. Ex.: ['contentOffset', 'x'].\n const eventMappings = [];\n\n const traverse = (value: mixed, path: Array) => {\n if (value instanceof AnimatedValue) {\n value.__makeNative(platformConfig);\n\n eventMappings.push({\n nativeEventPath: path,\n animatedValueTag: value.__getNativeTag(),\n });\n } else if (value instanceof AnimatedValueXY) {\n traverse(value.x, path.concat('x'));\n traverse(value.y, path.concat('y'));\n } else if (typeof value === 'object') {\n for (const key in value) {\n traverse(value[key], path.concat(key));\n }\n }\n };\n\n invariant(\n argMapping[0] && argMapping[0].nativeEvent,\n 'Native driven events only support animated values contained inside `nativeEvent`.',\n );\n\n // Assume that the event containing `nativeEvent` is always the first argument.\n traverse(argMapping[0].nativeEvent, []);\n\n const viewTag = findNodeHandle(viewRef);\n if (viewTag != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.addAnimatedEventToView(\n viewTag,\n eventName,\n mapping,\n );\n });\n }\n\n return {\n detach() {\n if (viewTag != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.removeAnimatedEventFromView(\n viewTag,\n eventName,\n // $FlowFixMe[incompatible-call]\n mapping.animatedValueTag,\n );\n });\n }\n },\n };\n}\n\nfunction validateMapping(argMapping: $ReadOnlyArray, args: any) {\n const validate = (recMapping: ?Mapping, recEvt: any, key: string) => {\n if (recMapping instanceof AnimatedValue) {\n invariant(\n typeof recEvt === 'number',\n 'Bad mapping of event key ' +\n key +\n ', should be number but got ' +\n typeof recEvt,\n );\n return;\n }\n if (recMapping instanceof AnimatedValueXY) {\n invariant(\n typeof recEvt.x === 'number' && typeof recEvt.y === 'number',\n 'Bad mapping of event key ' + key + ', should be XY but got ' + recEvt,\n );\n return;\n }\n if (typeof recEvt === 'number') {\n invariant(\n recMapping instanceof AnimatedValue,\n 'Bad mapping of type ' +\n typeof recMapping +\n ' for key ' +\n key +\n ', event value must map to AnimatedValue',\n );\n return;\n }\n invariant(\n typeof recMapping === 'object',\n 'Bad mapping of type ' + typeof recMapping + ' for key ' + key,\n );\n invariant(\n typeof recEvt === 'object',\n 'Bad event of type ' + typeof recEvt + ' for key ' + key,\n );\n for (const mappingKey in recMapping) {\n validate(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n };\n\n invariant(\n args.length >= argMapping.length,\n 'Event has less arguments than mapping',\n );\n argMapping.forEach((mapping, idx) => {\n validate(mapping, args[idx], 'arg' + idx);\n });\n}\n\nexport class AnimatedEvent {\n _argMapping: $ReadOnlyArray;\n _listeners: Array = [];\n _attachedEvent: ?{detach: () => void, ...};\n __isNative: boolean;\n __platformConfig: ?PlatformConfig;\n\n constructor(argMapping: $ReadOnlyArray, config: EventConfig) {\n this._argMapping = argMapping;\n\n if (config == null) {\n console.warn('Animated.event now requires a second argument for options');\n config = {useNativeDriver: false};\n }\n\n if (config.listener) {\n this.__addListener(config.listener);\n }\n this._attachedEvent = null;\n this.__isNative = NativeAnimatedHelper.shouldUseNativeDriver(config);\n this.__platformConfig = config.platformConfig;\n }\n\n __addListener(callback: Function): void {\n this._listeners.push(callback);\n }\n\n __removeListener(callback: Function): void {\n this._listeners = this._listeners.filter(listener => listener !== callback);\n }\n\n __attach(viewRef: any, eventName: string): void {\n invariant(\n this.__isNative,\n 'Only native driven events need to be attached.',\n );\n\n this._attachedEvent = attachNativeEvent(\n viewRef,\n eventName,\n this._argMapping,\n this.__platformConfig,\n );\n }\n\n __detach(viewTag: any, eventName: string): void {\n invariant(\n this.__isNative,\n 'Only native driven events need to be detached.',\n );\n\n this._attachedEvent && this._attachedEvent.detach();\n }\n\n __getHandler(): any | ((...args: any) => void) {\n if (this.__isNative) {\n if (__DEV__) {\n let validatedMapping = false;\n return (...args: any) => {\n if (!validatedMapping) {\n validateMapping(this._argMapping, args);\n validatedMapping = true;\n }\n this._callListeners(...args);\n };\n } else {\n return this._callListeners;\n }\n }\n\n let validatedMapping = false;\n return (...args: any) => {\n if (__DEV__ && !validatedMapping) {\n validateMapping(this._argMapping, args);\n validatedMapping = true;\n }\n\n const traverse = (\n recMapping: ?(Mapping | AnimatedValue),\n recEvt: any,\n ) => {\n if (recMapping instanceof AnimatedValue) {\n if (typeof recEvt === 'number') {\n recMapping.setValue(recEvt);\n }\n } else if (recMapping instanceof AnimatedValueXY) {\n if (typeof recEvt === 'object') {\n traverse(recMapping.x, recEvt.x);\n traverse(recMapping.y, recEvt.y);\n }\n } else if (typeof recMapping === 'object') {\n for (const mappingKey in recMapping) {\n /* $FlowFixMe[prop-missing] (>=0.120.0) This comment suppresses an\n * error found when Flow v0.120 was deployed. To see the error,\n * delete this comment and run Flow. */\n traverse(recMapping[mappingKey], recEvt[mappingKey]);\n }\n }\n };\n this._argMapping.forEach((mapping, idx) => {\n traverse(mapping, args[idx]);\n });\n\n this._callListeners(...args);\n };\n }\n\n _callListeners = (...args: any) => {\n this._listeners.forEach(listener => listener(...args));\n };\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {EventSubscription} from '../../vendor/emitter/EventEmitter';\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type Animation, {EndCallback} from '../animations/Animation';\nimport type {InterpolationConfigType} from './AnimatedInterpolation';\nimport type AnimatedNode from './AnimatedNode';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\nimport type AnimatedTracking from './AnimatedTracking';\n\nimport NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';\nimport InteractionManager from '../../Interaction/InteractionManager';\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nexport type AnimatedValueConfig = $ReadOnly<{\n ...AnimatedNodeConfig,\n useNativeDriver: boolean,\n}>;\n\nconst NativeAnimatedAPI = NativeAnimatedHelper.API;\n\n/**\n * Animated works by building a directed acyclic graph of dependencies\n * transparently when you render your Animated components.\n *\n * new Animated.Value(0)\n * .interpolate() .interpolate() new Animated.Value(1)\n * opacity translateY scale\n * style transform\n * View#234 style\n * View#123\n *\n * A) Top Down phase\n * When an Animated.Value is updated, we recursively go down through this\n * graph in order to find leaf nodes: the views that we flag as needing\n * an update.\n *\n * B) Bottom Up phase\n * When a view is flagged as needing an update, we recursively go back up\n * in order to build the new value that it needs. The reason why we need\n * this two-phases process is to deal with composite props such as\n * transform which can receive values from multiple parents.\n */\nexport function flushValue(rootNode: AnimatedNode): void {\n // eslint-disable-next-line func-call-spacing\n const leaves = new Set<{update: () => void, ...}>();\n function findAnimatedStyles(node: AnimatedNode) {\n // $FlowFixMe[prop-missing]\n if (typeof node.update === 'function') {\n leaves.add((node: any));\n } else {\n node.__getChildren().forEach(findAnimatedStyles);\n }\n }\n findAnimatedStyles(rootNode);\n leaves.forEach(leaf => leaf.update());\n}\n\n/**\n * Some operations are executed only on batch end, which is _mostly_ scheduled when\n * Animated component props change. For some of the changes which require immediate execution\n * (e.g. setValue), we create a separate batch in case none is scheduled.\n */\nfunction _executeAsAnimatedBatch(id: string, operation: () => void) {\n NativeAnimatedAPI.setWaitingForIdentifier(id);\n operation();\n NativeAnimatedAPI.unsetWaitingForIdentifier(id);\n}\n\n/**\n * Standard value for driving animations. One `Animated.Value` can drive\n * multiple properties in a synchronized fashion, but can only be driven by one\n * mechanism at a time. Using a new mechanism (e.g. starting a new animation,\n * or calling `setValue`) will stop any previous ones.\n *\n * See https://reactnative.dev/docs/animatedvalue\n */\nexport default class AnimatedValue extends AnimatedWithChildren {\n #listenerCount: number = 0;\n #updateSubscription: ?EventSubscription = null;\n\n _value: number;\n _startingValue: number;\n _offset: number;\n _animation: ?Animation;\n _tracking: ?AnimatedTracking;\n\n constructor(value: number, config?: ?AnimatedValueConfig) {\n super(config);\n if (typeof value !== 'number') {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n this._startingValue = this._value = value;\n this._offset = 0;\n this._animation = null;\n if (config && config.useNativeDriver) {\n this.__makeNative();\n }\n }\n\n __detach() {\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), value => {\n this._value = value - this._offset;\n });\n }\n this.stopAnimation();\n super.__detach();\n }\n\n __getValue(): number {\n return this._value + this._offset;\n }\n\n __makeNative(platformConfig: ?PlatformConfig): void {\n super.__makeNative(platformConfig);\n if (this.#listenerCount > 0) {\n this.#ensureUpdateSubscriptionExists();\n }\n }\n\n addListener(callback: (value: any) => mixed): string {\n const id = super.addListener(callback);\n this.#listenerCount++;\n if (this.__isNative) {\n this.#ensureUpdateSubscriptionExists();\n }\n return id;\n }\n\n removeListener(id: string): void {\n super.removeListener(id);\n this.#listenerCount--;\n if (this.__isNative && this.#listenerCount === 0) {\n this.#updateSubscription?.remove();\n }\n }\n\n removeAllListeners(): void {\n super.removeAllListeners();\n this.#listenerCount = 0;\n if (this.__isNative) {\n this.#updateSubscription?.remove();\n }\n }\n\n #ensureUpdateSubscriptionExists(): void {\n if (this.#updateSubscription != null) {\n return;\n }\n const nativeTag = this.__getNativeTag();\n NativeAnimatedAPI.startListeningToAnimatedNodeValue(nativeTag);\n const subscription: EventSubscription =\n NativeAnimatedHelper.nativeEventEmitter.addListener(\n 'onAnimatedValueUpdate',\n data => {\n if (data.tag === nativeTag) {\n this.__onAnimatedValueUpdateReceived(data.value);\n }\n },\n );\n\n this.#updateSubscription = {\n remove: () => {\n // Only this function assigns to `this.#updateSubscription`.\n if (this.#updateSubscription == null) {\n return;\n }\n this.#updateSubscription = null;\n subscription.remove();\n NativeAnimatedAPI.stopListeningToAnimatedNodeValue(nativeTag);\n },\n };\n }\n\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n *\n * See https://reactnative.dev/docs/animatedvalue#setvalue\n */\n setValue(value: number): void {\n if (this._animation) {\n this._animation.stop();\n this._animation = null;\n }\n this._updateValue(\n value,\n !this.__isNative /* don't perform a flush for natively driven values */,\n );\n if (this.__isNative) {\n _executeAsAnimatedBatch(this.__getNativeTag().toString(), () =>\n NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), value),\n );\n }\n }\n\n /**\n * Sets an offset that is applied on top of whatever value is set, whether via\n * `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n *\n * See https://reactnative.dev/docs/animatedvalue#setoffset\n */\n setOffset(offset: number): void {\n this._offset = offset;\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeOffset(this.__getNativeTag(), offset);\n }\n }\n\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvalue#flattenoffset\n */\n flattenOffset(): void {\n this._value += this._offset;\n this._offset = 0;\n if (this.__isNative) {\n NativeAnimatedAPI.flattenAnimatedNodeOffset(this.__getNativeTag());\n }\n }\n\n /**\n * Sets the offset value to the base value, and resets the base value to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvalue#extractoffset\n */\n extractOffset(): void {\n this._offset += this._value;\n this._value = 0;\n if (this.__isNative) {\n NativeAnimatedAPI.extractAnimatedNodeOffset(this.__getNativeTag());\n }\n }\n\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n *\n * See https://reactnative.dev/docs/animatedvalue#stopanimation\n */\n stopAnimation(callback?: ?(value: number) => void): void {\n this.stopTracking();\n this._animation && this._animation.stop();\n this._animation = null;\n if (callback) {\n if (this.__isNative) {\n NativeAnimatedAPI.getValue(this.__getNativeTag(), callback);\n } else {\n callback(this.__getValue());\n }\n }\n }\n\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvalue#resetanimation\n */\n resetAnimation(callback?: ?(value: number) => void): void {\n this.stopAnimation(callback);\n this._value = this._startingValue;\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeValue(\n this.__getNativeTag(),\n this._startingValue,\n );\n }\n }\n\n __onAnimatedValueUpdateReceived(value: number): void {\n this._updateValue(value, false /*flush*/);\n }\n\n /**\n * Interpolates the value before updating the property, e.g. mapping 0-1 to\n * 0-10.\n */\n interpolate(\n config: InterpolationConfigType,\n ): AnimatedInterpolation {\n return new AnimatedInterpolation(this, config);\n }\n\n /**\n * Typically only used internally, but could be used by a custom Animation\n * class.\n *\n * See https://reactnative.dev/docs/animatedvalue#animate\n */\n animate(animation: Animation, callback: ?EndCallback): void {\n let handle = null;\n if (animation.__isInteraction) {\n handle = InteractionManager.createInteractionHandle();\n }\n const previousAnimation = this._animation;\n this._animation && this._animation.stop();\n this._animation = animation;\n animation.start(\n this._value,\n value => {\n // Natively driven animations will never call into that callback, therefore we can always\n // pass flush = true to allow the updated value to propagate to native with setNativeProps\n this._updateValue(value, true /* flush */);\n },\n result => {\n this._animation = null;\n if (handle !== null) {\n InteractionManager.clearInteractionHandle(handle);\n }\n callback && callback(result);\n },\n previousAnimation,\n this,\n );\n }\n\n /**\n * Typically only used internally.\n */\n stopTracking(): void {\n this._tracking && this._tracking.__detach();\n this._tracking = null;\n }\n\n /**\n * Typically only used internally.\n */\n track(tracking: AnimatedTracking): void {\n this.stopTracking();\n this._tracking = tracking;\n // Make sure that the tracking animation starts executing\n this._tracking && this._tracking.update();\n }\n\n _updateValue(value: number, flush: boolean): void {\n if (value === undefined) {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n\n this._value = value;\n if (flush) {\n flushValue(this);\n }\n this.__callListeners(this.__getValue());\n }\n\n __getNativeConfig(): Object {\n return {\n type: 'value',\n value: this._value,\n offset: this._offset,\n debugID: this.__getDebugID(),\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {Task} from './TaskQueue';\n\nimport * as ReactNativeFeatureFlags from '../../src/private/featureflags/ReactNativeFeatureFlags';\nimport EventEmitter from '../vendor/emitter/EventEmitter';\nimport type {EventSubscription} from '../vendor/emitter/EventEmitter';\n\nconst BatchedBridge = require('../BatchedBridge/BatchedBridge').default;\nconst infoLog = require('../Utilities/infoLog').default;\nconst TaskQueue = require('./TaskQueue').default;\nconst invariant = require('invariant');\n\nexport type {Task, SimpleTask, PromiseTask} from './TaskQueue';\n\nexport type Handle = number;\n\nconst _emitter = new EventEmitter<{\n interactionComplete: [],\n interactionStart: [],\n}>();\n\nconst DEBUG_DELAY: 0 = 0;\nconst DEBUG: false = false;\n\n/**\n * InteractionManager allows long-running work to be scheduled after any\n * interactions/animations have completed. In particular, this allows JavaScript\n * animations to run smoothly.\n *\n * Applications can schedule tasks to run after interactions with the following:\n *\n * ```\n * InteractionManager.runAfterInteractions(() => {\n * // ...long-running synchronous task...\n * });\n * ```\n *\n * Compare this to other scheduling alternatives:\n *\n * - requestAnimationFrame(): for code that animates a view over time.\n * - setImmediate/setTimeout(): run code later, note this may delay animations.\n * - runAfterInteractions(): run code later, without delaying active animations.\n *\n * The touch handling system considers one or more active touches to be an\n * 'interaction' and will delay `runAfterInteractions()` callbacks until all\n * touches have ended or been cancelled.\n *\n * InteractionManager also allows applications to register animations by\n * creating an interaction 'handle' on animation start, and clearing it upon\n * completion:\n *\n * ```\n * var handle = InteractionManager.createInteractionHandle();\n * // run animation... (`runAfterInteractions` tasks are queued)\n * // later, on animation completion:\n * InteractionManager.clearInteractionHandle(handle);\n * // queued tasks run if all handles were cleared\n * ```\n *\n * `runAfterInteractions` takes either a plain callback function, or a\n * `PromiseTask` object with a `gen` method that returns a `Promise`. If a\n * `PromiseTask` is supplied, then it is fully resolved (including asynchronous\n * dependencies that also schedule more tasks via `runAfterInteractions`) before\n * starting on the next task that might have been queued up synchronously\n * earlier.\n *\n * By default, queued tasks are executed together in a loop in one\n * `setImmediate` batch. If `setDeadline` is called with a positive number, then\n * tasks will only be executed until the deadline (in terms of js event loop run\n * time) approaches, at which point execution will yield via setTimeout,\n * allowing events such as touches to start interactions and block queued tasks\n * from executing, making apps more responsive.\n */\nconst InteractionManagerImpl = {\n Events: {\n interactionStart: 'interactionStart',\n interactionComplete: 'interactionComplete',\n },\n\n /**\n * Schedule a function to run after all interactions have completed. Returns a cancellable\n * \"promise\".\n */\n runAfterInteractions(task: ?Task): {\n then: (\n onFulfill?: ?(void) => ?(Promise | U),\n onReject?: ?(error: mixed) => ?(Promise | U),\n ) => Promise,\n cancel: () => void,\n ...\n } {\n const tasks: Array = [];\n const promise = new Promise((resolve: () => void) => {\n _scheduleUpdate();\n if (task) {\n tasks.push(task);\n }\n tasks.push({\n run: resolve,\n name: 'resolve ' + ((task && task.name) || '?'),\n });\n _taskQueue.enqueueTasks(tasks);\n });\n return {\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n then: promise.then.bind(promise),\n cancel: function () {\n _taskQueue.cancelTasks(tasks);\n },\n };\n },\n\n /**\n * Notify manager that an interaction has started.\n */\n createInteractionHandle(): Handle {\n DEBUG && infoLog('InteractionManager: create interaction handle');\n _scheduleUpdate();\n const handle = ++_inc;\n _addInteractionSet.add(handle);\n return handle;\n },\n\n /**\n * Notify manager that an interaction has completed.\n */\n clearInteractionHandle(handle: Handle) {\n DEBUG && infoLog('InteractionManager: clear interaction handle');\n invariant(!!handle, 'InteractionManager: Must provide a handle to clear.');\n _scheduleUpdate();\n _addInteractionSet.delete(handle);\n _deleteInteractionSet.add(handle);\n },\n\n // $FlowFixMe[unclear-type] unclear type of _emitter\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n addListener: _emitter.addListener.bind(_emitter) as (\n eventType: string,\n // $FlowFixMe[unclear-type] unclear type of arguments\n listener: (...args: any) => mixed,\n context: mixed,\n ) => EventSubscription,\n\n /**\n * A positive number will use setTimeout to schedule any tasks after the\n * eventLoopRunningTime hits the deadline value, otherwise all tasks will be\n * executed in one setImmediate batch (default).\n */\n setDeadline(deadline: number) {\n _deadline = deadline;\n },\n};\n\nconst _interactionSet = new Set();\nconst _addInteractionSet = new Set();\nconst _deleteInteractionSet = new Set();\nconst _taskQueue = new TaskQueue({onMoreTasks: _scheduleUpdate});\nlet _nextUpdateHandle: $FlowFixMe | TimeoutID = 0;\nlet _inc = 0;\nlet _deadline = -1;\n\n/**\n * Schedule an asynchronous update to the interaction state.\n */\nfunction _scheduleUpdate() {\n if (!_nextUpdateHandle) {\n if (_deadline > 0) {\n _nextUpdateHandle = setTimeout(_processUpdate, 0 + DEBUG_DELAY);\n } else {\n _nextUpdateHandle = setImmediate(_processUpdate);\n }\n }\n}\n\n/**\n * Notify listeners, process queue, etc\n */\nfunction _processUpdate() {\n _nextUpdateHandle = 0;\n\n const interactionCount = _interactionSet.size;\n _addInteractionSet.forEach(handle => _interactionSet.add(handle));\n _deleteInteractionSet.forEach(handle => _interactionSet.delete(handle));\n const nextInteractionCount = _interactionSet.size;\n\n if (interactionCount !== 0 && nextInteractionCount === 0) {\n // transition from 1+ --> 0 interactions\n _emitter.emit(InteractionManager.Events.interactionComplete);\n } else if (interactionCount === 0 && nextInteractionCount !== 0) {\n // transition from 0 --> 1+ interactions\n _emitter.emit(InteractionManager.Events.interactionStart);\n }\n\n // process the queue regardless of a transition\n if (nextInteractionCount === 0) {\n while (_taskQueue.hasTasksToProcess()) {\n _taskQueue.processNext();\n if (\n _deadline > 0 &&\n BatchedBridge.getEventLoopRunningTime() >= _deadline\n ) {\n // Hit deadline before processing all tasks, so process more later.\n _scheduleUpdate();\n break;\n }\n }\n }\n _addInteractionSet.clear();\n _deleteInteractionSet.clear();\n}\n\nconst InteractionManager = (\n ReactNativeFeatureFlags.disableInteractionManager()\n ? require('./InteractionManagerStub').default\n : InteractionManagerImpl\n) as typeof InteractionManagerImpl;\n\nexport default InteractionManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\nconst infoLog = require('../Utilities/infoLog').default;\nconst invariant = require('invariant');\n\nexport type SimpleTask = {\n name: string,\n run: () => void,\n};\nexport type PromiseTask = {\n name: string,\n gen: () => Promise,\n};\nexport type Task = SimpleTask | PromiseTask | (() => void);\n\nconst DEBUG: false = false;\n\n/**\n * TaskQueue - A system for queueing and executing a mix of simple callbacks and\n * trees of dependent tasks based on Promises. No tasks are executed unless\n * `processNext` is called.\n *\n * `enqueue` takes a Task object with either a simple `run` callback, or a\n * `gen` function that returns a `Promise` and puts it in the queue. If a gen\n * function is supplied, then the promise it returns will block execution of\n * tasks already in the queue until it resolves. This can be used to make sure\n * the first task is fully resolved (including asynchronous dependencies that\n * also schedule more tasks via `enqueue`) before starting on the next task.\n * The `onMoreTasks` constructor argument is used to inform the owner that an\n * async task has resolved and that the queue should be processed again.\n *\n * Note: Tasks are only actually executed with explicit calls to `processNext`.\n */\nclass TaskQueue {\n /**\n * TaskQueue instances are self contained and independent, so multiple tasks\n * of varying semantics and priority can operate together.\n *\n * `onMoreTasks` is invoked when `PromiseTask`s resolve if there are more\n * tasks to process.\n */\n constructor({onMoreTasks}: {onMoreTasks: () => void, ...}) {\n this._onMoreTasks = onMoreTasks;\n this._queueStack = [{tasks: [], popable: false}];\n }\n\n /**\n * Add a task to the queue. It is recommended to name your tasks for easier\n * async debugging. Tasks will not be executed until `processNext` is called\n * explicitly.\n */\n enqueue(task: Task): void {\n this._getCurrentQueue().push(task);\n }\n\n enqueueTasks(tasks: Array): void {\n tasks.forEach(task => this.enqueue(task));\n }\n\n cancelTasks(tasksToCancel: Array): void {\n // search through all tasks and remove them.\n this._queueStack = this._queueStack\n .map(queue => ({\n ...queue,\n tasks: queue.tasks.filter(task => tasksToCancel.indexOf(task) === -1),\n }))\n .filter((queue, idx) => queue.tasks.length > 0 || idx === 0);\n }\n\n /**\n * Check to see if `processNext` should be called.\n *\n * @returns {boolean} Returns true if there are tasks that are ready to be\n * processed with `processNext`, or returns false if there are no more tasks\n * to be processed right now, although there may be tasks in the queue that\n * are blocked by earlier `PromiseTask`s that haven't resolved yet.\n * `onMoreTasks` will be called after each `PromiseTask` resolves if there are\n * tasks ready to run at that point.\n */\n hasTasksToProcess(): boolean {\n return this._getCurrentQueue().length > 0;\n }\n\n /**\n * Executes the next task in the queue.\n */\n processNext(): void {\n const queue = this._getCurrentQueue();\n if (queue.length) {\n const task = queue.shift();\n try {\n if (typeof task === 'object' && task.gen) {\n DEBUG && infoLog('TaskQueue: genPromise for task ' + task.name);\n this._genPromise(task);\n } else if (typeof task === 'object' && task.run) {\n DEBUG && infoLog('TaskQueue: run task ' + task.name);\n task.run();\n } else {\n invariant(\n typeof task === 'function',\n 'Expected Function, SimpleTask, or PromiseTask, but got:\\n' +\n JSON.stringify(task, null, 2),\n );\n DEBUG && infoLog('TaskQueue: run anonymous task');\n task();\n }\n } catch (e) {\n e.message =\n // $FlowFixMe[incompatible-type]\n 'TaskQueue: Error with task ' + (task.name || '') + ': ' + e.message;\n throw e;\n }\n }\n }\n\n _queueStack: Array<{\n tasks: Array,\n popable: boolean,\n ...\n }>;\n _onMoreTasks: () => void;\n\n _getCurrentQueue(): Array {\n const stackIdx = this._queueStack.length - 1;\n const queue = this._queueStack[stackIdx];\n if (\n queue.popable &&\n queue.tasks.length === 0 &&\n this._queueStack.length > 1\n ) {\n this._queueStack.pop();\n DEBUG &&\n infoLog('TaskQueue: popped queue: ', {\n stackIdx,\n queueStackSize: this._queueStack.length,\n });\n return this._getCurrentQueue();\n } else {\n return queue.tasks;\n }\n }\n\n _genPromise(task: PromiseTask) {\n // Each async task pushes it's own queue onto the queue stack. This\n // effectively defers execution of previously queued tasks until the promise\n // resolves, at which point we allow the new queue to be popped, which\n // happens once it is fully processed.\n this._queueStack.push({tasks: [], popable: false});\n const stackIdx = this._queueStack.length - 1;\n const stackItem = this._queueStack[stackIdx];\n DEBUG && infoLog('TaskQueue: push new queue: ', {stackIdx});\n DEBUG && infoLog('TaskQueue: exec gen task ' + task.name);\n task\n .gen()\n .then(() => {\n DEBUG &&\n infoLog('TaskQueue: onThen for gen task ' + task.name, {\n stackIdx,\n queueStackSize: this._queueStack.length,\n });\n stackItem.popable = true;\n this.hasTasksToProcess() && this._onMoreTasks();\n })\n .catch(ex => {\n setTimeout(() => {\n ex.message = `TaskQueue: Error resolving Promise in task ${task.name}: ${ex.message}`;\n throw ex;\n }, 0);\n });\n }\n}\n\nexport default TaskQueue;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {EventSubscription} from '../vendor/emitter/EventEmitter';\n\nconst invariant = require('invariant');\n\nexport type Handle = number;\n\ntype Task =\n | {\n name: string,\n run: () => void,\n }\n | {\n name: string,\n gen: () => Promise,\n }\n | (() => void);\n\n// NOTE: The original implementation of `InteractionManager` never rejected\n// the returned promise. This preserves that behavior in the stub.\nfunction reject(error: Error): void {\n setTimeout(() => {\n throw error;\n }, 0);\n}\n\n/**\n * InteractionManager allows long-running work to be scheduled after any\n * interactions/animations have completed. In particular, this allows JavaScript\n * animations to run smoothly.\n *\n * Applications can schedule tasks to run after interactions with the following:\n *\n * ```\n * InteractionManager.runAfterInteractions(() => {\n * // ...long-running synchronous task...\n * });\n * ```\n *\n * Compare this to other scheduling alternatives:\n *\n * - requestAnimationFrame(): for code that animates a view over time.\n * - setImmediate/setTimeout(): run code later, note this may delay animations.\n * - runAfterInteractions(): run code later, without delaying active animations.\n *\n * The touch handling system considers one or more active touches to be an\n * 'interaction' and will delay `runAfterInteractions()` callbacks until all\n * touches have ended or been cancelled.\n *\n * InteractionManager also allows applications to register animations by\n * creating an interaction 'handle' on animation start, and clearing it upon\n * completion:\n *\n * ```\n * var handle = InteractionManager.createInteractionHandle();\n * // run animation... (`runAfterInteractions` tasks are queued)\n * // later, on animation completion:\n * InteractionManager.clearInteractionHandle(handle);\n * // queued tasks run if all handles were cleared\n * ```\n *\n * `runAfterInteractions` takes either a plain callback function, or a\n * `PromiseTask` object with a `gen` method that returns a `Promise`. If a\n * `PromiseTask` is supplied, then it is fully resolved (including asynchronous\n * dependencies that also schedule more tasks via `runAfterInteractions`) before\n * starting on the next task that might have been queued up synchronously\n * earlier.\n *\n * By default, queued tasks are executed together in a loop in one\n * `setImmediate` batch. If `setDeadline` is called with a positive number, then\n * tasks will only be executed until the deadline (in terms of js event loop run\n * time) approaches, at which point execution will yield via setTimeout,\n * allowing events such as touches to start interactions and block queued tasks\n * from executing, making apps more responsive.\n *\n * @deprecated\n */\nconst InteractionManagerStub = {\n Events: {\n interactionStart: 'interactionStart',\n interactionComplete: 'interactionComplete',\n },\n\n /**\n * Schedule a function to run after all interactions have completed. Returns a cancellable\n * \"promise\".\n *\n * @deprecated\n */\n runAfterInteractions(task: ?Task): {\n then: (\n onFulfill?: ?(void) => ?(Promise | U),\n onReject?: ?(error: mixed) => ?(Promise | U),\n ) => Promise,\n cancel: () => void,\n ...\n } {\n let immediateID: ?$FlowIssue;\n const promise = new Promise(resolve => {\n immediateID = setImmediate(() => {\n if (typeof task === 'object' && task !== null) {\n if (typeof task.gen === 'function') {\n task.gen().then(resolve, reject);\n } else if (typeof task.run === 'function') {\n try {\n task.run();\n resolve();\n } catch (error) {\n reject(error);\n }\n } else {\n reject(new TypeError(`Task \"${task.name}\" missing gen or run.`));\n }\n } else if (typeof task === 'function') {\n try {\n task();\n resolve();\n } catch (error) {\n reject(error);\n }\n } else {\n reject(new TypeError('Invalid task of type: ' + typeof task));\n }\n });\n });\n\n return {\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n then: promise.then.bind(promise),\n cancel() {\n clearImmediate(immediateID);\n },\n };\n },\n\n /**\n * Notify manager that an interaction has started.\n *\n * @deprecated\n */\n createInteractionHandle(): Handle {\n return -1;\n },\n\n /**\n * Notify manager that an interaction has completed.\n *\n * @deprecated\n */\n clearInteractionHandle(handle: Handle) {\n invariant(!!handle, 'InteractionManager: Must provide a handle to clear.');\n },\n\n /**\n * @deprecated\n */\n addListener(): EventSubscription {\n return {\n remove() {},\n };\n },\n\n /**\n * A positive number will use setTimeout to schedule any tasks after the\n * eventLoopRunningTime hits the deadline value, otherwise all tasks will be\n * executed in one setImmediate batch (default).\n *\n * @deprecated\n */\n setDeadline(deadline: number) {\n // Do nothing.\n },\n};\n\nexport default InteractionManagerStub;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n/* eslint no-bitwise: 0 */\n\n'use strict';\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type AnimatedNode from './AnimatedNode';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\n\nimport NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';\nimport {validateInterpolation} from '../../../src/private/animated/NativeAnimatedValidation';\nimport normalizeColor from '../../StyleSheet/normalizeColor';\nimport processColor from '../../StyleSheet/processColor';\nimport Easing from '../Easing';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport invariant from 'invariant';\n\ntype ExtrapolateType = 'extend' | 'identity' | 'clamp';\n\nexport type InterpolationConfigType = $ReadOnly<{\n ...AnimatedNodeConfig,\n inputRange: $ReadOnlyArray,\n outputRange: $ReadOnlyArray,\n easing?: (input: number) => number,\n extrapolate?: ExtrapolateType,\n extrapolateLeft?: ExtrapolateType,\n extrapolateRight?: ExtrapolateType,\n}>;\n\n/**\n * Very handy helper to map input ranges to output ranges with an easing\n * function and custom behavior outside of the ranges.\n */\nfunction createNumericInterpolation(\n config: InterpolationConfigType,\n): (input: number) => number {\n const outputRange: $ReadOnlyArray = (config.outputRange: any);\n const inputRange = config.inputRange;\n\n const easing = config.easing || Easing.linear;\n\n let extrapolateLeft: ExtrapolateType = 'extend';\n if (config.extrapolateLeft !== undefined) {\n extrapolateLeft = config.extrapolateLeft;\n } else if (config.extrapolate !== undefined) {\n extrapolateLeft = config.extrapolate;\n }\n\n let extrapolateRight: ExtrapolateType = 'extend';\n if (config.extrapolateRight !== undefined) {\n extrapolateRight = config.extrapolateRight;\n } else if (config.extrapolate !== undefined) {\n extrapolateRight = config.extrapolate;\n }\n\n return input => {\n invariant(\n typeof input === 'number',\n 'Cannot interpolation an input which is not a number',\n );\n\n const range = findRange(input, inputRange);\n return (interpolate(\n input,\n inputRange[range],\n inputRange[range + 1],\n outputRange[range],\n outputRange[range + 1],\n easing,\n extrapolateLeft,\n extrapolateRight,\n ): any);\n };\n}\n\nfunction interpolate(\n input: number,\n inputMin: number,\n inputMax: number,\n outputMin: number,\n outputMax: number,\n easing: (input: number) => number,\n extrapolateLeft: ExtrapolateType,\n extrapolateRight: ExtrapolateType,\n) {\n let result = input;\n\n // Extrapolate\n if (result < inputMin) {\n if (extrapolateLeft === 'identity') {\n return result;\n } else if (extrapolateLeft === 'clamp') {\n result = inputMin;\n } else if (extrapolateLeft === 'extend') {\n // noop\n }\n }\n\n if (result > inputMax) {\n if (extrapolateRight === 'identity') {\n return result;\n } else if (extrapolateRight === 'clamp') {\n result = inputMax;\n } else if (extrapolateRight === 'extend') {\n // noop\n }\n }\n\n if (outputMin === outputMax) {\n return outputMin;\n }\n\n if (inputMin === inputMax) {\n if (input <= inputMin) {\n return outputMin;\n }\n return outputMax;\n }\n\n // Input Range\n if (inputMin === -Infinity) {\n result = -result;\n } else if (inputMax === Infinity) {\n result = result - inputMin;\n } else {\n result = (result - inputMin) / (inputMax - inputMin);\n }\n\n // Easing\n result = easing(result);\n\n // Output Range\n if (outputMin === -Infinity) {\n result = -result;\n } else if (outputMax === Infinity) {\n result = result + outputMin;\n } else {\n result = result * (outputMax - outputMin) + outputMin;\n }\n\n return result;\n}\n\nconst numericComponentRegex = /[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?/g;\n\n// Maps string inputs an RGBA color or an array of numeric components\nfunction mapStringToNumericComponents(\n input: string,\n):\n | {isColor: true, components: [number, number, number, number]}\n | {isColor: false, components: $ReadOnlyArray} {\n let normalizedColor = normalizeColor(input);\n invariant(\n normalizedColor == null || typeof normalizedColor !== 'object',\n 'PlatformColors are not supported',\n );\n\n if (typeof normalizedColor === 'number') {\n normalizedColor = normalizedColor || 0;\n const r = (normalizedColor & 0xff000000) >>> 24;\n const g = (normalizedColor & 0x00ff0000) >>> 16;\n const b = (normalizedColor & 0x0000ff00) >>> 8;\n const a = (normalizedColor & 0x000000ff) / 255;\n return {isColor: true, components: [r, g, b, a]};\n } else {\n const components: Array = [];\n let lastMatchEnd = 0;\n let match: RegExp$matchResult;\n while ((match = (numericComponentRegex.exec(input): any)) != null) {\n if (match.index > lastMatchEnd) {\n components.push(input.substring(lastMatchEnd, match.index));\n }\n components.push(parseFloat(match[0]));\n lastMatchEnd = match.index + match[0].length;\n }\n invariant(\n components.length > 0,\n 'outputRange must contain color or value with numeric component',\n );\n if (lastMatchEnd < input.length) {\n components.push(input.substring(lastMatchEnd, input.length));\n }\n return {isColor: false, components};\n }\n}\n\n/**\n * Supports string shapes by extracting numbers so new values can be computed,\n * and recombines those values into new strings of the same shape. Supports\n * things like:\n *\n * rgba(123, 42, 99, 0.36) // colors\n * -45deg // values with units\n */\nfunction createStringInterpolation(\n config: InterpolationConfigType,\n): (input: number) => string {\n invariant(config.outputRange.length >= 2, 'Bad output range');\n const outputRange = config.outputRange.map(mapStringToNumericComponents);\n\n const isColor = outputRange[0].isColor;\n if (__DEV__) {\n invariant(\n outputRange.every(output => output.isColor === isColor),\n 'All elements of output range should either be a color or a string with numeric components',\n );\n const firstOutput = outputRange[0].components;\n invariant(\n outputRange.every(\n output => output.components.length === firstOutput.length,\n ),\n 'All elements of output range should have the same number of components',\n );\n invariant(\n outputRange.every(output =>\n output.components.every(\n (component, i) =>\n // $FlowIgnoreMe[invalid-compare]\n typeof component === 'number' || component === firstOutput[i],\n ),\n ),\n 'All elements of output range should have the same non-numeric components',\n );\n }\n\n const numericComponents: $ReadOnlyArray<$ReadOnlyArray> =\n outputRange.map(output =>\n isColor\n ? // $FlowIgnoreMe[incompatible-call]\n output.components\n : // $FlowIgnoreMe[incompatible-call]\n output.components.filter(c => typeof c === 'number'),\n );\n const interpolations = numericComponents[0].map((_, i) =>\n createNumericInterpolation({\n ...config,\n outputRange: numericComponents.map(components => components[i]),\n }),\n );\n if (!isColor) {\n return input => {\n const values = interpolations.map(interpolation => interpolation(input));\n let i = 0;\n return outputRange[0].components\n .map(c => (typeof c === 'number' ? values[i++] : c))\n .join('');\n };\n } else {\n return input => {\n const result = interpolations.map((interpolation, i) => {\n const value = interpolation(input);\n // rgba requires that the r,g,b are integers.... so we want to round them, but we *dont* want to\n // round the opacity (4th column).\n return i < 3 ? Math.round(value) : Math.round(value * 1000) / 1000;\n });\n return `rgba(${result[0]}, ${result[1]}, ${result[2]}, ${result[3]})`;\n };\n }\n}\n\nfunction findRange(input: number, inputRange: $ReadOnlyArray) {\n let i;\n for (i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) {\n break;\n }\n }\n return i - 1;\n}\n\nfunction checkValidRanges(\n inputRange: $ReadOnlyArray,\n outputRange: $ReadOnlyArray,\n) {\n checkInfiniteRange('outputRange', outputRange);\n checkInfiniteRange('inputRange', inputRange);\n checkValidInputRange(inputRange);\n\n invariant(\n inputRange.length === outputRange.length,\n 'inputRange (' +\n inputRange.length +\n ') and outputRange (' +\n outputRange.length +\n ') must have the same length',\n );\n}\n\nfunction checkValidInputRange(arr: $ReadOnlyArray) {\n invariant(arr.length >= 2, 'inputRange must have at least 2 elements');\n const message =\n 'inputRange must be monotonically non-decreasing ' + String(arr);\n for (let i = 1; i < arr.length; ++i) {\n invariant(arr[i] >= arr[i - 1], message);\n }\n}\n\nfunction checkInfiniteRange(\n name: string,\n arr: $ReadOnlyArray,\n) {\n invariant(arr.length >= 2, name + ' must have at least 2 elements');\n invariant(\n arr.length !== 2 || arr[0] !== -Infinity || arr[1] !== Infinity,\n /* $FlowFixMe[incompatible-type] (>=0.13.0) - In the addition expression\n * below this comment, one or both of the operands may be something that\n * doesn't cleanly convert to a string, like undefined, null, and object,\n * etc. If you really mean this implicit string conversion, you can do\n * something like String(myThing) */\n // $FlowFixMe[unsafe-addition]\n name + 'cannot be ]-infinity;+infinity[ ' + arr,\n );\n}\n\nexport default class AnimatedInterpolation<\n OutputT: number | string,\n> extends AnimatedWithChildren {\n _parent: AnimatedNode;\n _config: InterpolationConfigType;\n _interpolation: ?(input: number) => OutputT;\n\n constructor(parent: AnimatedNode, config: InterpolationConfigType) {\n super(config);\n this._parent = parent;\n this._config = config;\n\n if (__DEV__) {\n checkValidRanges(config.inputRange, config.outputRange);\n\n // Create interpolation eagerly in dev, so we can signal errors faster\n // even when using the native driver\n this._getInterpolation();\n }\n }\n\n _getInterpolation(): number => OutputT {\n if (!this._interpolation) {\n const config = this._config;\n if (config.outputRange && typeof config.outputRange[0] === 'string') {\n this._interpolation = (createStringInterpolation((config: any)): any);\n } else {\n this._interpolation = (createNumericInterpolation((config: any)): any);\n }\n }\n return this._interpolation;\n }\n\n __makeNative(platformConfig: ?PlatformConfig) {\n this._parent.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n\n __getValue(): OutputT {\n const parentValue: number = this._parent.__getValue();\n invariant(\n typeof parentValue === 'number',\n 'Cannot interpolate an input which is not a number.',\n );\n return this._getInterpolation()(parentValue);\n }\n\n interpolate(\n config: InterpolationConfigType,\n ): AnimatedInterpolation {\n return new AnimatedInterpolation(this, config);\n }\n\n __attach(): void {\n this._parent.__addChild(this);\n super.__attach();\n }\n\n __detach(): void {\n this._parent.__removeChild(this);\n super.__detach();\n }\n\n __getNativeConfig(): any {\n if (__DEV__) {\n validateInterpolation(this._config);\n }\n\n // Only the `outputRange` can contain strings so we don't need to transform `inputRange` here\n let outputRange = this._config.outputRange;\n let outputType = null;\n if (typeof outputRange[0] === 'string') {\n // $FlowIgnoreMe[incompatible-cast]\n outputRange = ((outputRange: $ReadOnlyArray).map(value => {\n const processedColor = processColor(value);\n if (typeof processedColor === 'number') {\n outputType = 'color';\n return processedColor;\n } else {\n return NativeAnimatedHelper.transformDataType(value);\n }\n }): any);\n }\n\n return {\n inputRange: this._config.inputRange,\n outputRange,\n outputType,\n extrapolateLeft:\n this._config.extrapolateLeft || this._config.extrapolate || 'extend',\n extrapolateRight:\n this._config.extrapolateRight || this._config.extrapolate || 'extend',\n type: 'interpolation',\n debugID: this.__getDebugID(),\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\nlet ease;\n\n/**\n * The `Easing` module implements common easing functions. This module is used\n * by [Animate.timing()](docs/animate.html#timing) to convey physically\n * believable motion in animations.\n *\n * You can find a visualization of some common easing functions at\n * http://easings.net/\n *\n * ### Predefined animations\n *\n * The `Easing` module provides several predefined animations through the\n * following methods:\n *\n * - [`back`](docs/easing.html#back) provides a simple animation where the\n * object goes slightly back before moving forward\n * - [`bounce`](docs/easing.html#bounce) provides a bouncing animation\n * - [`ease`](docs/easing.html#ease) provides a simple inertial animation\n * - [`elastic`](docs/easing.html#elastic) provides a simple spring interaction\n *\n * ### Standard functions\n *\n * Three standard easing functions are provided:\n *\n * - [`linear`](docs/easing.html#linear)\n * - [`quad`](docs/easing.html#quad)\n * - [`cubic`](docs/easing.html#cubic)\n *\n * The [`poly`](docs/easing.html#poly) function can be used to implement\n * quartic, quintic, and other higher power functions.\n *\n * ### Additional functions\n *\n * Additional mathematical functions are provided by the following methods:\n *\n * - [`bezier`](docs/easing.html#bezier) provides a cubic bezier curve\n * - [`circle`](docs/easing.html#circle) provides a circular function\n * - [`sin`](docs/easing.html#sin) provides a sinusoidal function\n * - [`exp`](docs/easing.html#exp) provides an exponential function\n *\n * The following helpers are used to modify other easing functions.\n *\n * - [`in`](docs/easing.html#in) runs an easing function forwards\n * - [`inOut`](docs/easing.html#inout) makes any easing function symmetrical\n * - [`out`](docs/easing.html#out) runs an easing function backwards\n */\nconst Easing = {\n /**\n * A stepping function, returns 1 for any positive value of `n`.\n */\n step0(n: number): number {\n return n > 0 ? 1 : 0;\n },\n\n /**\n * A stepping function, returns 1 if `n` is greater than or equal to 1.\n */\n step1(n: number): number {\n return n >= 1 ? 1 : 0;\n },\n\n /**\n * A linear function, `f(t) = t`. Position correlates to elapsed time one to\n * one.\n *\n * http://cubic-bezier.com/#0,0,1,1\n */\n linear(t: number): number {\n return t;\n },\n\n /**\n * A simple inertial interaction, similar to an object slowly accelerating to\n * speed.\n *\n * http://cubic-bezier.com/#.42,0,1,1\n */\n ease(t: number): number {\n if (!ease) {\n ease = Easing.bezier(0.42, 0, 1, 1);\n }\n return ease(t);\n },\n\n /**\n * A quadratic function, `f(t) = t * t`. Position equals the square of elapsed\n * time.\n *\n * http://easings.net/#easeInQuad\n */\n quad(t: number): number {\n return t * t;\n },\n\n /**\n * A cubic function, `f(t) = t * t * t`. Position equals the cube of elapsed\n * time.\n *\n * http://easings.net/#easeInCubic\n */\n cubic(t: number): number {\n return t * t * t;\n },\n\n /**\n * A power function. Position is equal to the Nth power of elapsed time.\n *\n * n = 4: http://easings.net/#easeInQuart\n * n = 5: http://easings.net/#easeInQuint\n */\n poly(n: number): (t: number) => number {\n return (t: number) => Math.pow(t, n);\n },\n\n /**\n * A sinusoidal function.\n *\n * http://easings.net/#easeInSine\n */\n sin(t: number): number {\n return 1 - Math.cos((t * Math.PI) / 2);\n },\n\n /**\n * A circular function.\n *\n * http://easings.net/#easeInCirc\n */\n circle(t: number): number {\n return 1 - Math.sqrt(1 - t * t);\n },\n\n /**\n * An exponential function.\n *\n * http://easings.net/#easeInExpo\n */\n exp(t: number): number {\n return Math.pow(2, 10 * (t - 1));\n },\n\n /**\n * A simple elastic interaction, similar to a spring oscillating back and\n * forth.\n *\n * Default bounciness is 1, which overshoots a little bit once. 0 bounciness\n * doesn't overshoot at all, and bounciness of N > 1 will overshoot about N\n * times.\n *\n * http://easings.net/#easeInElastic\n */\n elastic(bounciness: number = 1): (t: number) => number {\n const p = bounciness * Math.PI;\n return t => 1 - Math.pow(Math.cos((t * Math.PI) / 2), 3) * Math.cos(t * p);\n },\n\n /**\n * Use with `Animated.parallel()` to create a simple effect where the object\n * animates back slightly as the animation starts.\n *\n * https://easings.net/#easeInBack\n */\n back(s: number = 1.70158): (t: number) => number {\n return t => t * t * ((s + 1) * t - s);\n },\n\n /**\n * Provides a simple bouncing effect.\n *\n * http://easings.net/#easeInBounce\n */\n bounce(t: number): number {\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n\n if (t < 2 / 2.75) {\n const t2 = t - 1.5 / 2.75;\n return 7.5625 * t2 * t2 + 0.75;\n }\n\n if (t < 2.5 / 2.75) {\n const t2 = t - 2.25 / 2.75;\n return 7.5625 * t2 * t2 + 0.9375;\n }\n\n const t2 = t - 2.625 / 2.75;\n return 7.5625 * t2 * t2 + 0.984375;\n },\n\n /**\n * Provides a cubic bezier curve, equivalent to CSS Transitions'\n * `transition-timing-function`.\n *\n * A useful tool to visualize cubic bezier curves can be found at\n * http://cubic-bezier.com/\n */\n bezier(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n ): (t: number) => number {\n const _bezier = require('./bezier').default;\n return _bezier(x1, y1, x2, y2);\n },\n\n /**\n * Runs an easing function forwards.\n */\n in(easing: (t: number) => number): (t: number) => number {\n return easing;\n },\n\n /**\n * Runs an easing function backwards.\n */\n out(easing: (t: number) => number): (t: number) => number {\n return t => 1 - easing(1 - t);\n },\n\n /**\n * Makes any easing function symmetrical. The easing function will run\n * forwards for half of the duration, then backwards for the rest of the\n * duration.\n */\n inOut(easing: (t: number) => number): (t: number) => number {\n return t => {\n if (t < 0.5) {\n return easing(t * 2) / 2;\n }\n return 1 - easing((1 - t) * 2) / 2;\n };\n },\n};\n\nexport default Easing;\n","/**\n * Portions Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n/**\n * BezierEasing - use bezier curve for transition easing function\n * https://github.com/gre/bezier-easing\n * @copyright 2014-2015 Gaëtan Renaudeau. MIT License.\n */\n\n'use strict';\n\n// These values are established by empiricism with tests (tradeoff: performance VS precision)\nconst NEWTON_ITERATIONS = 4;\nconst NEWTON_MIN_SLOPE = 0.001;\nconst SUBDIVISION_PRECISION = 0.0000001;\nconst SUBDIVISION_MAX_ITERATIONS = 10;\n\nconst kSplineTableSize = 11;\nconst kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\n\nconst float32ArraySupported = typeof Float32Array === 'function';\n\nfunction A(aA1: number, aA2: number) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n}\nfunction B(aA1: number, aA2: number) {\n return 3.0 * aA2 - 6.0 * aA1;\n}\nfunction C(aA1: number) {\n return 3.0 * aA1;\n}\n\n// Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2.\nfunction calcBezier(aT: number, aA1: number, aA2: number) {\n return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT;\n}\n\n// Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2.\nfunction getSlope(aT: number, aA1: number, aA2: number) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n}\n\nfunction binarySubdivide(\n aX: number,\n _aA: number,\n _aB: number,\n mX1: number,\n mX2: number,\n) {\n let currentX,\n currentT,\n i = 0,\n aA = _aA,\n aB = _aB;\n do {\n currentT = aA + (aB - aA) / 2.0;\n currentX = calcBezier(currentT, mX1, mX2) - aX;\n if (currentX > 0.0) {\n aB = currentT;\n } else {\n aA = currentT;\n }\n } while (\n Math.abs(currentX) > SUBDIVISION_PRECISION &&\n ++i < SUBDIVISION_MAX_ITERATIONS\n );\n return currentT;\n}\n\nfunction newtonRaphsonIterate(\n aX: number,\n _aGuessT: number,\n mX1: number,\n mX2: number,\n) {\n let aGuessT = _aGuessT;\n for (let i = 0; i < NEWTON_ITERATIONS; ++i) {\n const currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n const currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n}\n\nexport default function bezier(\n mX1: number,\n mY1: number,\n mX2: number,\n mY2: number,\n): (x: number) => number {\n if (!(mX1 >= 0 && mX1 <= 1 && mX2 >= 0 && mX2 <= 1)) {\n throw new Error('bezier x values must be in [0, 1] range');\n }\n\n // Precompute samples table\n const sampleValues = float32ArraySupported\n ? new Float32Array(kSplineTableSize)\n : new Array(kSplineTableSize);\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (let i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n\n function getTForX(aX: number) {\n let intervalStart = 0.0;\n let currentSample = 1;\n const lastSample = kSplineTableSize - 1;\n\n for (\n ;\n currentSample !== lastSample && sampleValues[currentSample] <= aX;\n ++currentSample\n ) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n\n // Interpolate to provide an initial guess for t\n const dist =\n (aX - sampleValues[currentSample]) /\n (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n const guessForT = intervalStart + dist * kSampleStepSize;\n\n const initialSlope = getSlope(guessForT, mX1, mX2);\n if (initialSlope >= NEWTON_MIN_SLOPE) {\n return newtonRaphsonIterate(aX, guessForT, mX1, mX2);\n } else if (initialSlope === 0.0) {\n return guessForT;\n } else {\n return binarySubdivide(\n aX,\n intervalStart,\n intervalStart + kSampleStepSize,\n mX1,\n mX2,\n );\n }\n }\n\n return function BezierEasing(x: number): number {\n if (mX1 === mY1 && mX2 === mY2) {\n return x; // linear\n }\n // Because JavaScript number are imprecise, we should guarantee the extremes are right.\n if (x === 0) {\n return 0;\n }\n if (x === 1) {\n return 1;\n }\n return calcBezier(getTForX(x), mY1, mY2);\n };\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport invariant from 'invariant';\n\nexport type AnimatedValueXYConfig = $ReadOnly<{\n ...AnimatedNodeConfig,\n useNativeDriver: boolean,\n}>;\ntype ValueXYListenerCallback = (value: {x: number, y: number, ...}) => mixed;\n\nlet _uniqueId = 1;\n\n/**\n * 2D Value for driving 2D animations, such as pan gestures. Almost identical\n * API to normal `Animated.Value`, but multiplexed.\n *\n * See https://reactnative.dev/docs/animatedvaluexy\n */\nexport default class AnimatedValueXY extends AnimatedWithChildren {\n x: AnimatedValue;\n y: AnimatedValue;\n _listeners: {\n [key: string]: {\n x: string,\n y: string,\n ...\n },\n ...\n };\n\n constructor(\n valueIn?: ?{\n +x: number | AnimatedValue,\n +y: number | AnimatedValue,\n ...\n },\n config?: ?AnimatedValueXYConfig,\n ) {\n super(config);\n const value: any = valueIn || {x: 0, y: 0}; // @flowfixme: shouldn't need `: any`\n if (typeof value.x === 'number' && typeof value.y === 'number') {\n this.x = new AnimatedValue(value.x);\n this.y = new AnimatedValue(value.y);\n } else {\n invariant(\n value.x instanceof AnimatedValue && value.y instanceof AnimatedValue,\n 'AnimatedValueXY must be initialized with an object of numbers or ' +\n 'AnimatedValues.',\n );\n this.x = value.x;\n this.y = value.y;\n }\n this._listeners = {};\n if (config && config.useNativeDriver) {\n this.__makeNative();\n }\n }\n\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n *\n * See https://reactnative.dev/docs/animatedvaluexy#setvalue\n */\n setValue(value: {x: number, y: number, ...}) {\n this.x.setValue(value.x);\n this.y.setValue(value.y);\n }\n\n /**\n * Sets an offset that is applied on top of whatever value is set, whether\n * via `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n *\n * See https://reactnative.dev/docs/animatedvaluexy#setoffset\n */\n setOffset(offset: {x: number, y: number, ...}) {\n this.x.setOffset(offset.x);\n this.y.setOffset(offset.y);\n }\n\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvaluexy#flattenoffset\n */\n flattenOffset(): void {\n this.x.flattenOffset();\n this.y.flattenOffset();\n }\n\n /**\n * Sets the offset value to the base value, and resets the base value to\n * zero. The final output of the value is unchanged.\n *\n * See https://reactnative.dev/docs/animatedvaluexy#extractoffset\n */\n extractOffset(): void {\n this.x.extractOffset();\n this.y.extractOffset();\n }\n\n __getValue(): {\n x: number,\n y: number,\n ...\n } {\n return {\n x: this.x.__getValue(),\n y: this.y.__getValue(),\n };\n }\n\n /**\n * Stops any animation and resets the value to its original.\n *\n * See https://reactnative.dev/docs/animatedvaluexy#resetanimation\n */\n resetAnimation(\n callback?: (value: {x: number, y: number, ...}) => void,\n ): void {\n this.x.resetAnimation();\n this.y.resetAnimation();\n callback && callback(this.__getValue());\n }\n\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n *\n * See https://reactnative.dev/docs/animatedvaluexy#stopanimation\n */\n stopAnimation(callback?: (value: {x: number, y: number, ...}) => void): void {\n this.x.stopAnimation();\n this.y.stopAnimation();\n callback && callback(this.__getValue());\n }\n\n /**\n * Adds an asynchronous listener to the value so you can observe updates from\n * animations. This is useful because there is no way to synchronously read\n * the value because it might be driven natively.\n *\n * Returns a string that serves as an identifier for the listener.\n *\n * See https://reactnative.dev/docs/animatedvaluexy#addlistener\n */\n addListener(callback: ValueXYListenerCallback): string {\n const id = String(_uniqueId++);\n const jointCallback = ({value: number}: any) => {\n callback(this.__getValue());\n };\n this._listeners[id] = {\n x: this.x.addListener(jointCallback),\n y: this.y.addListener(jointCallback),\n };\n return id;\n }\n\n /**\n * Unregister a listener. The `id` param shall match the identifier\n * previously returned by `addListener()`.\n *\n * See https://reactnative.dev/docs/animatedvaluexy#removelistener\n */\n removeListener(id: string): void {\n this.x.removeListener(this._listeners[id].x);\n this.y.removeListener(this._listeners[id].y);\n delete this._listeners[id];\n }\n\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvaluexy#removealllisteners\n */\n removeAllListeners(): void {\n this.x.removeAllListeners();\n this.y.removeAllListeners();\n this._listeners = {};\n }\n\n /**\n * Converts `{x, y}` into `{left, top}` for use in style.\n *\n * See https://reactnative.dev/docs/animatedvaluexy#getlayout\n */\n getLayout(): {[key: string]: AnimatedValue, ...} {\n return {\n left: this.x,\n top: this.y,\n };\n }\n\n /**\n * Converts `{x, y}` into a useable translation transform.\n *\n * See https://reactnative.dev/docs/animatedvaluexy#gettranslatetransform\n */\n getTranslateTransform(): Array<{[key: string]: AnimatedValue, ...}> {\n return [{translateX: this.x}, {translateY: this.y}];\n }\n\n __attach(): void {\n this.x.__addChild(this);\n this.y.__addChild(this);\n super.__attach();\n }\n\n __detach(): void {\n this.x.__removeChild(this);\n this.y.__removeChild(this);\n super.__detach();\n }\n\n __makeNative(platformConfig: ?PlatformConfig) {\n this.x.__makeNative(platformConfig);\n this.y.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type AnimatedInterpolation from '../nodes/AnimatedInterpolation';\nimport type AnimatedValue from '../nodes/AnimatedValue';\nimport type AnimatedValueXY from '../nodes/AnimatedValueXY';\nimport type {AnimationConfig, EndCallback} from './Animation';\n\nimport AnimatedColor from '../nodes/AnimatedColor';\nimport * as SpringConfig from '../SpringConfig';\nimport Animation from './Animation';\nimport invariant from 'invariant';\n\nexport type SpringAnimationConfig = $ReadOnly<{\n ...AnimationConfig,\n toValue:\n | number\n | AnimatedValue\n | {\n x: number,\n y: number,\n ...\n }\n | AnimatedValueXY\n | {\n r: number,\n g: number,\n b: number,\n a: number,\n ...\n }\n | AnimatedColor\n | AnimatedInterpolation,\n overshootClamping?: boolean,\n restDisplacementThreshold?: number,\n restSpeedThreshold?: number,\n velocity?:\n | number\n | $ReadOnly<{\n x: number,\n y: number,\n ...\n }>,\n bounciness?: number,\n speed?: number,\n tension?: number,\n friction?: number,\n stiffness?: number,\n damping?: number,\n mass?: number,\n delay?: number,\n ...\n}>;\n\nexport type SpringAnimationConfigSingle = $ReadOnly<{\n ...AnimationConfig,\n toValue: number,\n overshootClamping?: boolean,\n restDisplacementThreshold?: number,\n restSpeedThreshold?: number,\n velocity?: number,\n bounciness?: number,\n speed?: number,\n tension?: number,\n friction?: number,\n stiffness?: number,\n damping?: number,\n mass?: number,\n delay?: number,\n ...\n}>;\n\nopaque type SpringAnimationInternalState = $ReadOnly<{\n lastPosition: number,\n lastVelocity: number,\n lastTime: number,\n}>;\n\nexport default class SpringAnimation extends Animation {\n _overshootClamping: boolean;\n _restDisplacementThreshold: number;\n _restSpeedThreshold: number;\n _lastVelocity: number;\n _startPosition: number;\n _lastPosition: number;\n _fromValue: number;\n _toValue: number;\n _stiffness: number;\n _damping: number;\n _mass: number;\n _initialVelocity: number;\n _delay: number;\n _timeout: ?TimeoutID;\n _startTime: number;\n _lastTime: number;\n _frameTime: number;\n _onUpdate: (value: number) => void;\n _animationFrame: ?AnimationFrameID;\n _platformConfig: ?PlatformConfig;\n\n constructor(config: SpringAnimationConfigSingle) {\n super(config);\n\n this._overshootClamping = config.overshootClamping ?? false;\n this._restDisplacementThreshold = config.restDisplacementThreshold ?? 0.001;\n this._restSpeedThreshold = config.restSpeedThreshold ?? 0.001;\n this._initialVelocity = config.velocity ?? 0;\n this._lastVelocity = config.velocity ?? 0;\n this._toValue = config.toValue;\n this._delay = config.delay ?? 0;\n this._platformConfig = config.platformConfig;\n\n if (\n config.stiffness !== undefined ||\n config.damping !== undefined ||\n config.mass !== undefined\n ) {\n invariant(\n config.bounciness === undefined &&\n config.speed === undefined &&\n config.tension === undefined &&\n config.friction === undefined,\n 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one',\n );\n this._stiffness = config.stiffness ?? 100;\n this._damping = config.damping ?? 10;\n this._mass = config.mass ?? 1;\n } else if (config.bounciness !== undefined || config.speed !== undefined) {\n // Convert the origami bounciness/speed values to stiffness/damping\n // We assume mass is 1.\n invariant(\n config.tension === undefined &&\n config.friction === undefined &&\n config.stiffness === undefined &&\n config.damping === undefined &&\n config.mass === undefined,\n 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one',\n );\n const springConfig = SpringConfig.fromBouncinessAndSpeed(\n config.bounciness ?? 8,\n config.speed ?? 12,\n );\n this._stiffness = springConfig.stiffness;\n this._damping = springConfig.damping;\n this._mass = 1;\n } else {\n // Convert the origami tension/friction values to stiffness/damping\n // We assume mass is 1.\n const springConfig = SpringConfig.fromOrigamiTensionAndFriction(\n config.tension ?? 40,\n config.friction ?? 7,\n );\n this._stiffness = springConfig.stiffness;\n this._damping = springConfig.damping;\n this._mass = 1;\n }\n\n invariant(this._stiffness > 0, 'Stiffness value must be greater than 0');\n invariant(this._damping > 0, 'Damping value must be greater than 0');\n invariant(this._mass > 0, 'Mass value must be greater than 0');\n }\n\n __getNativeAnimationConfig(): $ReadOnly<{\n damping: number,\n initialVelocity: number,\n iterations: number,\n mass: number,\n platformConfig: ?PlatformConfig,\n overshootClamping: boolean,\n restDisplacementThreshold: number,\n restSpeedThreshold: number,\n stiffness: number,\n toValue: number,\n type: 'spring',\n ...\n }> {\n return {\n type: 'spring',\n overshootClamping: this._overshootClamping,\n restDisplacementThreshold: this._restDisplacementThreshold,\n restSpeedThreshold: this._restSpeedThreshold,\n stiffness: this._stiffness,\n damping: this._damping,\n mass: this._mass,\n initialVelocity: this._initialVelocity ?? this._lastVelocity,\n toValue: this._toValue,\n iterations: this.__iterations,\n platformConfig: this._platformConfig,\n debugID: this.__getDebugID(),\n };\n }\n\n start(\n fromValue: number,\n onUpdate: (value: number) => void,\n onEnd: ?EndCallback,\n previousAnimation: ?Animation,\n animatedValue: AnimatedValue,\n ): void {\n super.start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue);\n\n this._startPosition = fromValue;\n this._lastPosition = this._startPosition;\n\n this._onUpdate = onUpdate;\n this._lastTime = Date.now();\n this._frameTime = 0.0;\n\n if (previousAnimation instanceof SpringAnimation) {\n const internalState = previousAnimation.getInternalState();\n this._lastPosition = internalState.lastPosition;\n this._lastVelocity = internalState.lastVelocity;\n // Set the initial velocity to the last velocity\n this._initialVelocity = this._lastVelocity;\n this._lastTime = internalState.lastTime;\n }\n\n const start = () => {\n const useNativeDriver = this.__startAnimationIfNative(animatedValue);\n if (!useNativeDriver) {\n this.onUpdate();\n }\n };\n\n // If this._delay is more than 0, we start after the timeout.\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n\n getInternalState(): SpringAnimationInternalState {\n return {\n lastPosition: this._lastPosition,\n lastVelocity: this._lastVelocity,\n lastTime: this._lastTime,\n };\n }\n\n /**\n * This spring model is based off of a damped harmonic oscillator\n * (https://en.wikipedia.org/wiki/Harmonic_oscillator#Damped_harmonic_oscillator).\n *\n * We use the closed form of the second order differential equation:\n *\n * x'' + (2ζ⍵_0)x' + ⍵^2x = 0\n *\n * where\n * ⍵_0 = √(k / m) (undamped angular frequency of the oscillator),\n * ζ = c / 2√mk (damping ratio),\n * c = damping constant\n * k = stiffness\n * m = mass\n *\n * The derivation of the closed form is described in detail here:\n * http://planetmath.org/sites/default/files/texpdf/39745.pdf\n *\n * This algorithm happens to match the algorithm used by CASpringAnimation,\n * a QuartzCore (iOS) API that creates spring animations.\n */\n onUpdate(): void {\n // If for some reason we lost a lot of frames (e.g. process large payload or\n // stopped in the debugger), we only advance by 4 frames worth of\n // computation and will continue on the next frame. It's better to have it\n // running at faster speed than jumping to the end.\n const MAX_STEPS = 64;\n let now = Date.now();\n if (now > this._lastTime + MAX_STEPS) {\n now = this._lastTime + MAX_STEPS;\n }\n\n const deltaTime = (now - this._lastTime) / 1000;\n this._frameTime += deltaTime;\n\n const c: number = this._damping;\n const m: number = this._mass;\n const k: number = this._stiffness;\n const v0: number = -this._initialVelocity;\n\n const zeta = c / (2 * Math.sqrt(k * m)); // damping ratio\n const omega0 = Math.sqrt(k / m); // undamped angular frequency of the oscillator (rad/ms)\n const omega1 = omega0 * Math.sqrt(1.0 - zeta * zeta); // exponential decay\n const x0 = this._toValue - this._startPosition; // calculate the oscillation from x0 = 1 to x = 0\n\n let position = 0.0;\n let velocity = 0.0;\n const t = this._frameTime;\n if (zeta < 1) {\n // Under damped\n const envelope = Math.exp(-zeta * omega0 * t);\n position =\n this._toValue -\n envelope *\n (((v0 + zeta * omega0 * x0) / omega1) * Math.sin(omega1 * t) +\n x0 * Math.cos(omega1 * t));\n // This looks crazy -- it's actually just the derivative of the\n // oscillation function\n velocity =\n zeta *\n omega0 *\n envelope *\n ((Math.sin(omega1 * t) * (v0 + zeta * omega0 * x0)) / omega1 +\n x0 * Math.cos(omega1 * t)) -\n envelope *\n (Math.cos(omega1 * t) * (v0 + zeta * omega0 * x0) -\n omega1 * x0 * Math.sin(omega1 * t));\n } else {\n // Critically damped\n const envelope = Math.exp(-omega0 * t);\n position = this._toValue - envelope * (x0 + (v0 + omega0 * x0) * t);\n velocity =\n envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));\n }\n\n this._lastTime = now;\n this._lastPosition = position;\n this._lastVelocity = velocity;\n\n this._onUpdate(position);\n if (!this.__active) {\n // a listener might have stopped us in _onUpdate\n return;\n }\n\n // Conditions for stopping the spring animation\n let isOvershooting = false;\n if (this._overshootClamping && this._stiffness !== 0) {\n if (this._startPosition < this._toValue) {\n isOvershooting = position > this._toValue;\n } else {\n isOvershooting = position < this._toValue;\n }\n }\n const isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;\n let isDisplacement = true;\n if (this._stiffness !== 0) {\n isDisplacement =\n Math.abs(this._toValue - position) <= this._restDisplacementThreshold;\n }\n\n if (isOvershooting || (isVelocity && isDisplacement)) {\n if (this._stiffness !== 0) {\n // Ensure that we end up with a round value\n this._lastPosition = this._toValue;\n this._lastVelocity = 0;\n this._onUpdate(this._toValue);\n }\n\n this.__notifyAnimationEnd({finished: true});\n return;\n }\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n\n stop(): void {\n super.stop();\n clearTimeout(this._timeout);\n if (this._animationFrame != null) {\n global.cancelAnimationFrame(this._animationFrame);\n }\n this.__notifyAnimationEnd({finished: false});\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {ProcessedColorValue} from '../../StyleSheet/processColor';\nimport type {ColorValue} from '../../StyleSheet/StyleSheet';\nimport type {NativeColorValue} from '../../StyleSheet/StyleSheetTypes';\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\n\nimport NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';\nimport normalizeColor from '../../StyleSheet/normalizeColor';\nimport {processColorObject} from '../../StyleSheet/PlatformColorValueTypes';\nimport AnimatedValue, {flushValue} from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nexport type AnimatedColorConfig = $ReadOnly<{\n ...AnimatedNodeConfig,\n useNativeDriver: boolean,\n}>;\n\ntype ColorListenerCallback = (value: ColorValue) => mixed;\n\nexport type RgbaValue = {\n +r: number,\n +g: number,\n +b: number,\n +a: number,\n ...\n};\n\ntype RgbaAnimatedValue = {\n +r: AnimatedValue,\n +g: AnimatedValue,\n +b: AnimatedValue,\n +a: AnimatedValue,\n ...\n};\n\nexport type InputValue = ?(RgbaValue | RgbaAnimatedValue | ColorValue);\n\nconst NativeAnimatedAPI = NativeAnimatedHelper.API;\n\nconst defaultColor: RgbaValue = {r: 0, g: 0, b: 0, a: 1.0};\n\n/* eslint no-bitwise: 0 */\nfunction processColor(\n color?: ?(ColorValue | RgbaValue),\n): ?(RgbaValue | NativeColorValue) {\n if (color === undefined || color === null) {\n return null;\n }\n\n if (isRgbaValue(color)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n return (color: RgbaValue);\n }\n\n let normalizedColor: ?ProcessedColorValue = normalizeColor(\n // $FlowIgnore[incompatible-cast] - Type is verified above\n (color: ColorValue),\n );\n if (normalizedColor === undefined || normalizedColor === null) {\n return null;\n }\n\n if (typeof normalizedColor === 'object') {\n const processedColorObj: ?NativeColorValue =\n processColorObject(normalizedColor);\n if (processedColorObj != null) {\n return processedColorObj;\n }\n } else if (typeof normalizedColor === 'number') {\n const r: number = (normalizedColor & 0xff000000) >>> 24;\n const g: number = (normalizedColor & 0x00ff0000) >>> 16;\n const b: number = (normalizedColor & 0x0000ff00) >>> 8;\n const a: number = (normalizedColor & 0x000000ff) / 255;\n\n return {r, g, b, a};\n }\n\n return null;\n}\n\nfunction isRgbaValue(value: any): boolean {\n return (\n value &&\n typeof value.r === 'number' &&\n typeof value.g === 'number' &&\n typeof value.b === 'number' &&\n typeof value.a === 'number'\n );\n}\n\nfunction isRgbaAnimatedValue(value: any): boolean {\n return (\n value &&\n value.r instanceof AnimatedValue &&\n value.g instanceof AnimatedValue &&\n value.b instanceof AnimatedValue &&\n value.a instanceof AnimatedValue\n );\n}\n\nexport default class AnimatedColor extends AnimatedWithChildren {\n r: AnimatedValue;\n g: AnimatedValue;\n b: AnimatedValue;\n a: AnimatedValue;\n nativeColor: ?NativeColorValue;\n\n _suspendCallbacks: number = 0;\n\n constructor(valueIn?: InputValue, config?: ?AnimatedColorConfig) {\n super(config);\n\n let value: RgbaValue | RgbaAnimatedValue | ColorValue =\n valueIn ?? defaultColor;\n if (isRgbaAnimatedValue(value)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n const rgbaAnimatedValue: RgbaAnimatedValue = (value: RgbaAnimatedValue);\n this.r = rgbaAnimatedValue.r;\n this.g = rgbaAnimatedValue.g;\n this.b = rgbaAnimatedValue.b;\n this.a = rgbaAnimatedValue.a;\n } else {\n const processedColor: RgbaValue | NativeColorValue =\n // $FlowIgnore[incompatible-cast] - Type is verified above\n processColor((value: ColorValue | RgbaValue)) ?? defaultColor;\n let initColor: RgbaValue = defaultColor;\n if (isRgbaValue(processedColor)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n initColor = (processedColor: RgbaValue);\n } else {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n this.nativeColor = (processedColor: NativeColorValue);\n }\n\n this.r = new AnimatedValue(initColor.r);\n this.g = new AnimatedValue(initColor.g);\n this.b = new AnimatedValue(initColor.b);\n this.a = new AnimatedValue(initColor.a);\n }\n\n if (config?.useNativeDriver) {\n this.__makeNative();\n }\n }\n\n /**\n * Directly set the value. This will stop any animations running on the value\n * and update all the bound properties.\n */\n setValue(value: RgbaValue | ColorValue): void {\n let shouldUpdateNodeConfig = false;\n if (this.__isNative) {\n const nativeTag = this.__getNativeTag();\n NativeAnimatedAPI.setWaitingForIdentifier(nativeTag.toString());\n }\n\n const processedColor: RgbaValue | NativeColorValue =\n processColor(value) ?? defaultColor;\n this._withSuspendedCallbacks(() => {\n if (isRgbaValue(processedColor)) {\n // $FlowIgnore[incompatible-type] - Type is verified above\n const rgbaValue: RgbaValue = processedColor;\n this.r.setValue(rgbaValue.r);\n this.g.setValue(rgbaValue.g);\n this.b.setValue(rgbaValue.b);\n this.a.setValue(rgbaValue.a);\n if (this.nativeColor != null) {\n this.nativeColor = null;\n shouldUpdateNodeConfig = true;\n }\n } else {\n // $FlowIgnore[incompatible-type] - Type is verified above\n const nativeColor: NativeColorValue = processedColor;\n if (this.nativeColor !== nativeColor) {\n this.nativeColor = nativeColor;\n shouldUpdateNodeConfig = true;\n }\n }\n });\n\n if (this.__isNative) {\n const nativeTag = this.__getNativeTag();\n if (shouldUpdateNodeConfig) {\n NativeAnimatedAPI.updateAnimatedNodeConfig(\n nativeTag,\n this.__getNativeConfig(),\n );\n }\n NativeAnimatedAPI.unsetWaitingForIdentifier(nativeTag.toString());\n } else {\n flushValue(this);\n }\n\n // $FlowFixMe[incompatible-call]\n this.__callListeners(this.__getValue());\n }\n\n /**\n * Sets an offset that is applied on top of whatever value is set, whether\n * via `setValue`, an animation, or `Animated.event`. Useful for compensating\n * things like the start of a pan gesture.\n */\n setOffset(offset: RgbaValue): void {\n this.r.setOffset(offset.r);\n this.g.setOffset(offset.g);\n this.b.setOffset(offset.b);\n this.a.setOffset(offset.a);\n }\n\n /**\n * Merges the offset value into the base value and resets the offset to zero.\n * The final output of the value is unchanged.\n */\n flattenOffset(): void {\n this.r.flattenOffset();\n this.g.flattenOffset();\n this.b.flattenOffset();\n this.a.flattenOffset();\n }\n\n /**\n * Sets the offset value to the base value, and resets the base value to\n * zero. The final output of the value is unchanged.\n */\n extractOffset(): void {\n this.r.extractOffset();\n this.g.extractOffset();\n this.b.extractOffset();\n this.a.extractOffset();\n }\n\n /**\n * Stops any running animation or tracking. `callback` is invoked with the\n * final value after stopping the animation, which is useful for updating\n * state to match the animation position with layout.\n */\n stopAnimation(callback?: ColorListenerCallback): void {\n this.r.stopAnimation();\n this.g.stopAnimation();\n this.b.stopAnimation();\n this.a.stopAnimation();\n callback && callback(this.__getValue());\n }\n\n /**\n * Stops any animation and resets the value to its original.\n */\n resetAnimation(callback?: ColorListenerCallback): void {\n this.r.resetAnimation();\n this.g.resetAnimation();\n this.b.resetAnimation();\n this.a.resetAnimation();\n callback && callback(this.__getValue());\n }\n\n __getValue(): ColorValue {\n if (this.nativeColor != null) {\n return this.nativeColor;\n } else {\n return `rgba(${this.r.__getValue()}, ${this.g.__getValue()}, ${this.b.__getValue()}, ${this.a.__getValue()})`;\n }\n }\n\n __attach(): void {\n this.r.__addChild(this);\n this.g.__addChild(this);\n this.b.__addChild(this);\n this.a.__addChild(this);\n super.__attach();\n }\n\n __detach(): void {\n this.r.__removeChild(this);\n this.g.__removeChild(this);\n this.b.__removeChild(this);\n this.a.__removeChild(this);\n super.__detach();\n }\n\n _withSuspendedCallbacks(callback: () => void) {\n this._suspendCallbacks++;\n callback();\n this._suspendCallbacks--;\n }\n\n __callListeners(value: number): void {\n if (this._suspendCallbacks === 0) {\n super.__callListeners(value);\n }\n }\n\n __makeNative(platformConfig: ?PlatformConfig) {\n this.r.__makeNative(platformConfig);\n this.g.__makeNative(platformConfig);\n this.b.__makeNative(platformConfig);\n this.a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n\n __getNativeConfig(): {...} {\n return {\n type: 'color',\n r: this.r.__getNativeTag(),\n g: this.g.__getNativeTag(),\n b: this.b.__getNativeTag(),\n a: this.a.__getNativeTag(),\n nativeColor: this.nativeColor,\n debugID: this.__getDebugID(),\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\ntype SpringConfigType = {\n stiffness: number,\n damping: number,\n ...\n};\n\nfunction stiffnessFromOrigamiValue(oValue: number) {\n return (oValue - 30) * 3.62 + 194;\n}\n\nfunction dampingFromOrigamiValue(oValue: number) {\n return (oValue - 8) * 3 + 25;\n}\n\nexport function fromOrigamiTensionAndFriction(\n tension: number,\n friction: number,\n): SpringConfigType {\n return {\n stiffness: stiffnessFromOrigamiValue(tension),\n damping: dampingFromOrigamiValue(friction),\n };\n}\n\nexport function fromBouncinessAndSpeed(\n bounciness: number,\n speed: number,\n): SpringConfigType {\n function normalize(value: number, startValue: number, endValue: number) {\n return (value - startValue) / (endValue - startValue);\n }\n\n function projectNormal(n: number, start: number, end: number) {\n return start + n * (end - start);\n }\n\n function linearInterpolation(t: number, start: number, end: number) {\n return t * end + (1 - t) * start;\n }\n\n function quadraticOutInterpolation(t: number, start: number, end: number) {\n return linearInterpolation(2 * t - t * t, start, end);\n }\n\n function b3Friction1(x: number) {\n return 0.0007 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28;\n }\n\n function b3Friction2(x: number) {\n return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;\n }\n\n function b3Friction3(x: number) {\n return (\n 0.00000045 * Math.pow(x, 3) -\n 0.000332 * Math.pow(x, 2) +\n 0.1078 * x +\n 5.84\n );\n }\n\n function b3Nobounce(tension: number) {\n if (tension <= 18) {\n return b3Friction1(tension);\n } else if (tension > 18 && tension <= 44) {\n return b3Friction2(tension);\n } else {\n return b3Friction3(tension);\n }\n }\n\n let b = normalize(bounciness / 1.7, 0, 20);\n b = projectNormal(b, 0, 0.8);\n const s = normalize(speed / 1.7, 0, 20);\n const bouncyTension = projectNormal(s, 0.5, 200);\n const bouncyFriction = quadraticOutInterpolation(\n b,\n b3Nobounce(bouncyTension),\n 0.01,\n );\n\n return {\n stiffness: stiffnessFromOrigamiValue(bouncyTension),\n damping: dampingFromOrigamiValue(bouncyFriction),\n };\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {RgbaValue} from '../nodes/AnimatedColor';\nimport type AnimatedInterpolation from '../nodes/AnimatedInterpolation';\nimport type AnimatedValue from '../nodes/AnimatedValue';\nimport type AnimatedValueXY from '../nodes/AnimatedValueXY';\nimport type {AnimationConfig, EndCallback} from './Animation';\n\nimport AnimatedColor from '../nodes/AnimatedColor';\nimport Animation from './Animation';\n\nexport type TimingAnimationConfig = $ReadOnly<{\n ...AnimationConfig,\n toValue:\n | number\n | AnimatedValue\n | $ReadOnly<{\n x: number,\n y: number,\n ...\n }>\n | AnimatedValueXY\n | RgbaValue\n | AnimatedColor\n | AnimatedInterpolation,\n easing?: (value: number) => number,\n duration?: number,\n delay?: number,\n ...\n}>;\n\nexport type TimingAnimationConfigSingle = $ReadOnly<{\n ...AnimationConfig,\n toValue: number,\n easing?: (value: number) => number,\n duration?: number,\n delay?: number,\n ...\n}>;\n\nlet _easeInOut;\nfunction easeInOut() {\n if (!_easeInOut) {\n const Easing = require('../Easing').default;\n _easeInOut = Easing.inOut(Easing.ease);\n }\n return _easeInOut;\n}\n\nexport default class TimingAnimation extends Animation {\n _startTime: number;\n _fromValue: number;\n _toValue: number;\n _duration: number;\n _delay: number;\n _easing: (value: number) => number;\n _onUpdate: (value: number) => void;\n _animationFrame: ?AnimationFrameID;\n _timeout: ?TimeoutID;\n _platformConfig: ?PlatformConfig;\n\n constructor(config: TimingAnimationConfigSingle) {\n super(config);\n\n this._toValue = config.toValue;\n this._easing = config.easing ?? easeInOut();\n this._duration = config.duration ?? 500;\n this._delay = config.delay ?? 0;\n this._platformConfig = config.platformConfig;\n }\n\n __getNativeAnimationConfig(): $ReadOnly<{\n type: 'frames',\n frames: $ReadOnlyArray,\n toValue: number,\n iterations: number,\n platformConfig: ?PlatformConfig,\n ...\n }> {\n const frameDuration = 1000.0 / 60.0;\n const frames = [];\n const numFrames = Math.round(this._duration / frameDuration);\n for (let frame = 0; frame < numFrames; frame++) {\n frames.push(this._easing(frame / numFrames));\n }\n frames.push(this._easing(1));\n return {\n type: 'frames',\n frames,\n toValue: this._toValue,\n iterations: this.__iterations,\n platformConfig: this._platformConfig,\n debugID: this.__getDebugID(),\n };\n }\n\n start(\n fromValue: number,\n onUpdate: (value: number) => void,\n onEnd: ?EndCallback,\n previousAnimation: ?Animation,\n animatedValue: AnimatedValue,\n ): void {\n super.start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue);\n\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n\n const start = () => {\n this._startTime = Date.now();\n\n const useNativeDriver = this.__startAnimationIfNative(animatedValue);\n if (!useNativeDriver) {\n // Animations that sometimes have 0 duration and sometimes do not\n // still need to use the native driver when duration is 0 so as to\n // not cause intermixed JS and native animations.\n if (this._duration === 0) {\n this._onUpdate(this._toValue);\n this.__notifyAnimationEnd({finished: true});\n } else {\n this._animationFrame = requestAnimationFrame(() => this.onUpdate());\n }\n }\n };\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n\n onUpdate(): void {\n const now = Date.now();\n if (now >= this._startTime + this._duration) {\n if (this._duration === 0) {\n this._onUpdate(this._toValue);\n } else {\n this._onUpdate(\n this._fromValue + this._easing(1) * (this._toValue - this._fromValue),\n );\n }\n this.__notifyAnimationEnd({finished: true});\n return;\n }\n\n this._onUpdate(\n this._fromValue +\n this._easing((now - this._startTime) / this._duration) *\n (this._toValue - this._fromValue),\n );\n if (this.__active) {\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n\n stop(): void {\n super.stop();\n clearTimeout(this._timeout);\n if (this._animationFrame != null) {\n global.cancelAnimationFrame(this._animationFrame);\n }\n this.__notifyAnimationEnd({finished: false});\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {AnimatedPropsAllowlist} from './nodes/AnimatedProps';\n\nimport createAnimatedPropsHook from '../../src/private/animated/createAnimatedPropsHook';\nimport composeStyles from '../../src/private/styles/composeStyles';\nimport View from '../Components/View/View';\nimport useMergeRefs from '../Utilities/useMergeRefs';\nimport * as React from 'react';\nimport {useMemo} from 'react';\n\nexport type AnimatedProps = {\n // eslint-disable-next-line no-unused-vars\n +[_K in keyof (Props &\n $ReadOnly<{\n passthroughAnimatedPropExplicitValues?: React.ElementConfig<\n typeof View,\n >,\n }>)]: any,\n};\n\n// We could use a mapped type here to introduce acceptable Animated variants\n// of properties, instead of doing so in the core StyleSheetTypes\n// Inexact Props are not supported, they'll be made exact here.\nexport type StrictAnimatedProps = $ReadOnly<{\n ...$Exact,\n passthroughAnimatedPropExplicitValues?: ?Props,\n}>;\n\nexport type AnimatedComponentType = component(\n ref: React.RefSetter,\n ...AnimatedProps\n);\n\nexport type StrictAnimatedComponentType<\n Props: {...},\n +Instance = mixed,\n> = component(ref: React.RefSetter, ...StrictAnimatedProps);\n\nexport default function createAnimatedComponent(\n Component: component(ref: React.RefSetter, ...TProps),\n): AnimatedComponentType {\n return unstable_createAnimatedComponentWithAllowlist(Component, null);\n}\n\nexport function unstable_createAnimatedComponentWithAllowlist<\n TProps: {...},\n TInstance,\n>(\n Component: component(ref: React.RefSetter, ...TProps),\n allowlist: ?AnimatedPropsAllowlist,\n): StrictAnimatedComponentType {\n const useAnimatedProps = createAnimatedPropsHook(allowlist);\n\n const AnimatedComponent = React.forwardRef<\n StrictAnimatedProps,\n TInstance,\n >((props, forwardedRef) => {\n const [reducedProps, callbackRef] = useAnimatedProps(\n props,\n );\n const ref = useMergeRefs(callbackRef, forwardedRef);\n\n // Some components require explicit passthrough values for animation\n // to work properly. For example, if an animated component is\n // transformed and Pressable, onPress will not work after transform\n // without these passthrough values.\n // $FlowFixMe[prop-missing]\n const {passthroughAnimatedPropExplicitValues, style} = reducedProps;\n const passthroughStyle = passthroughAnimatedPropExplicitValues?.style;\n const mergedStyle = useMemo(\n () => composeStyles(style, passthroughStyle),\n [passthroughStyle, style],\n );\n\n // NOTE: It is important that `passthroughAnimatedPropExplicitValues` is\n // spread after `reducedProps` but before `style`.\n return (\n \n );\n });\n\n AnimatedComponent.displayName = `Animated(${\n Component.displayName || 'Anonymous'\n })`;\n\n return AnimatedComponent;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {AnimatedPropsAllowlist} from '../../../Libraries/Animated/nodes/AnimatedProps';\nimport type {EventSubscription} from '../../../Libraries/EventEmitter/NativeEventEmitter';\n\nimport {AnimatedEvent} from '../../../Libraries/Animated/AnimatedEvent';\nimport AnimatedNode from '../../../Libraries/Animated/nodes/AnimatedNode';\nimport AnimatedProps from '../../../Libraries/Animated/nodes/AnimatedProps';\nimport AnimatedValue from '../../../Libraries/Animated/nodes/AnimatedValue';\nimport {isPublicInstance as isFabricPublicInstance} from '../../../Libraries/ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils';\nimport useRefEffect from '../../../Libraries/Utilities/useRefEffect';\nimport * as ReactNativeFeatureFlags from '../featureflags/ReactNativeFeatureFlags';\nimport {createAnimatedPropsMemoHook} from './createAnimatedPropsMemoHook';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport {\n useCallback,\n useEffect,\n useInsertionEffect,\n useReducer,\n useRef,\n} from 'react';\n\ntype ReducedProps = {\n ...TProps,\n collapsable: boolean,\n ...\n};\ntype CallbackRef = T => mixed;\n\nexport type AnimatedPropsHook = (\n props: TProps,\n) => [ReducedProps, CallbackRef];\n\ntype UpdateCallback = () => void;\n\ntype AnimatedValueListeners = Array<{\n propValue: AnimatedValue,\n listenerId: string,\n}>;\n\nexport default function createAnimatedPropsHook(\n allowlist: ?AnimatedPropsAllowlist,\n): AnimatedPropsHook {\n const useAnimatedPropsMemo = createAnimatedPropsMemoHook(allowlist);\n\n return function useAnimatedProps(\n props: TProps,\n ): [ReducedProps, CallbackRef] {\n const [, scheduleUpdate] = useReducer(count => count + 1, 0);\n const onUpdateRef = useRef(null);\n const timerRef = useRef(null);\n\n const node = useAnimatedPropsMemo(\n () => new AnimatedProps(props, () => onUpdateRef.current?.(), allowlist),\n props,\n );\n\n const useNativePropsInFabric =\n ReactNativeFeatureFlags.shouldUseSetNativePropsInFabric();\n\n useEffect(() => {\n // If multiple components call `flushQueue`, the first one will flush the\n // queue and subsequent ones will do nothing.\n NativeAnimatedHelper.API.flushQueue();\n let drivenAnimationEndedListener: ?EventSubscription = null;\n if (node.__isNative) {\n drivenAnimationEndedListener =\n NativeAnimatedHelper.nativeEventEmitter.addListener(\n 'onUserDrivenAnimationEnded',\n data => {\n node.update();\n },\n );\n }\n\n return () => {\n drivenAnimationEndedListener?.remove();\n };\n });\n\n // NOTE: This feature flag must be evaluated inside the hook because this\n // module factory can be evaluated much sooner, before overrides are set.\n const useAnimatedPropsLifecycle =\n ReactNativeFeatureFlags.scheduleAnimatedCleanupInMicrotask()\n ? useAnimatedPropsLifecycleWithCleanupInMicrotask\n : useAnimatedPropsLifecycleWithPrevNodeRef;\n\n useAnimatedPropsLifecycle(node);\n\n // TODO: This \"effect\" does three things:\n //\n // 1) Call `setNativeView`.\n // 2) Update `onUpdateRef`.\n // 3) Update listeners for `AnimatedEvent` props.\n //\n // Ideally, each of these would be separate \"effects\" so that they are not\n // unnecessarily re-run when irrelevant dependencies change. For example, we\n // should be able to hoist all `AnimatedEvent` props and only do #3 if either\n // the `AnimatedEvent` props change or `instance` changes.\n //\n // But there is no way to transparently compose three separate callback refs,\n // so we just combine them all into one for now.\n const refEffect = useCallback(\n (instance: TInstance) => {\n // NOTE: This may be called more often than necessary (e.g. when `props`\n // changes), but `setNativeView` already optimizes for that.\n node.setNativeView(instance);\n\n // NOTE: When using the JS animation driver, this callback is called on\n // every animation frame. When using the native driver, this callback is\n // called when the animation completes.\n onUpdateRef.current = () => {\n if (process.env.NODE_ENV === 'test') {\n // Check 1: this is a test.\n // call `scheduleUpdate` to bypass use of setNativeProps.\n return scheduleUpdate();\n }\n\n const isFabricNode = isFabricInstance(instance);\n if (node.__isNative) {\n // Check 2: this is an animation driven by native.\n // In native driven animations, this callback is only called once the animation completes.\n if (isFabricNode) {\n // Call `scheduleUpdate` to synchronise Fiber and Shadow tree.\n // Must not be called in Paper.\n scheduleUpdate();\n }\n return;\n }\n\n if (\n typeof instance !== 'object' ||\n typeof instance?.setNativeProps !== 'function'\n ) {\n // Check 3: the instance does not support setNativeProps. Call `scheduleUpdate`.\n return scheduleUpdate();\n }\n\n if (!isFabricNode) {\n // Check 4: this is a paper instance, call setNativeProps.\n // $FlowIgnore[not-a-function] - Assume it's still a function.\n // $FlowFixMe[incompatible-use]\n return instance.setNativeProps(node.__getAnimatedValue());\n }\n\n if (!useNativePropsInFabric) {\n // Check 5: setNativeProps are disabled.\n return scheduleUpdate();\n }\n\n // This is a Fabric instance and setNativeProps is supported.\n\n // $FlowIgnore[not-a-function] - Assume it's still a function.\n // $FlowFixMe[incompatible-use]\n instance.setNativeProps(node.__getAnimatedValue());\n\n // Keeping state of Fiber tree and Shadow tree in sync.\n //\n // This is done by calling `scheduleUpdate` which will trigger a commit.\n // However, React commit is not fast enough to drive animations.\n // This is where setNativeProps comes in handy but the state between\n // Fiber tree and Shadow tree needs to be kept in sync.\n // The goal is to call `scheduleUpdate` as little as possible to maintain\n // performance but frequently enough to keep state in sync.\n // Debounce is set to 48ms, which is 3 * the duration of a frame.\n // 3 frames was the highest value where flickering state was not observed.\n if (timerRef.current != null) {\n clearTimeout(timerRef.current);\n }\n timerRef.current = setTimeout(() => {\n timerRef.current = null;\n scheduleUpdate();\n }, 48);\n };\n\n const target = getEventTarget(instance);\n const events = [];\n const animatedValueListeners: AnimatedValueListeners = [];\n\n for (const propName in props) {\n // $FlowFixMe[invalid-computed-prop]\n const propValue = props[propName];\n if (propValue instanceof AnimatedEvent && propValue.__isNative) {\n propValue.__attach(target, propName);\n events.push([propName, propValue]);\n // $FlowFixMe[incompatible-call] - the `addListenersToPropsValue` drills down the propValue.\n addListenersToPropsValue(propValue, animatedValueListeners);\n }\n }\n\n return () => {\n onUpdateRef.current = null;\n\n for (const [propName, propValue] of events) {\n propValue.__detach(target, propName);\n }\n\n for (const {propValue, listenerId} of animatedValueListeners) {\n propValue.removeListener(listenerId);\n }\n };\n },\n [node, useNativePropsInFabric, props],\n );\n const callbackRef = useRefEffect(refEffect);\n\n return [reduceAnimatedProps(node, props), callbackRef];\n };\n}\n\nfunction reduceAnimatedProps(\n node: AnimatedProps,\n props: TProps,\n): ReducedProps {\n // Force `collapsable` to be false so that the native view is not flattened.\n // Flattened views cannot be accurately referenced by the native driver.\n return {\n ...node.__getValueWithStaticProps(props),\n collapsable: false,\n };\n}\n\nfunction addListenersToPropsValue(\n propValue: AnimatedValue,\n accumulator: AnimatedValueListeners,\n) {\n // propValue can be a scalar value, an array or an object.\n if (propValue instanceof AnimatedValue) {\n const listenerId = propValue.addListener(() => {});\n accumulator.push({propValue, listenerId});\n } else if (Array.isArray(propValue)) {\n // An array can be an array of scalar values, arrays of arrays, or arrays of objects\n for (const prop of propValue) {\n addListenersToPropsValue(prop, accumulator);\n }\n } else if (propValue instanceof Object) {\n addAnimatedValuesListenersToProps(propValue, accumulator);\n }\n}\n\nfunction addAnimatedValuesListenersToProps(\n props: AnimatedNode,\n accumulator: AnimatedValueListeners,\n) {\n for (const propName in props) {\n // $FlowFixMe[prop-missing] - This is an object contained in a prop, but we don't know the exact type.\n const propValue = props[propName];\n addListenersToPropsValue(propValue, accumulator);\n }\n}\n\n/**\n * Manages the lifecycle of the supplied `AnimatedProps` by invoking `__attach`\n * and `__detach`. However, this is more complicated because `AnimatedProps`\n * uses reference counting to determine when to recursively detach its children\n * nodes. So in order to optimize this, we avoid detaching until the next attach\n * unless we are unmounting.\n */\nfunction useAnimatedPropsLifecycleWithPrevNodeRef(node: AnimatedProps): void {\n const prevNodeRef = useRef(null);\n const isUnmountingRef = useRef(false);\n\n useInsertionEffect(() => {\n isUnmountingRef.current = false;\n return () => {\n isUnmountingRef.current = true;\n };\n }, []);\n\n useInsertionEffect(() => {\n node.__attach();\n if (prevNodeRef.current != null) {\n const prevNode = prevNodeRef.current;\n // TODO: Stop restoring default values (unless `reset` is called).\n prevNode.__restoreDefaultValues();\n prevNode.__detach();\n prevNodeRef.current = null;\n }\n return () => {\n if (isUnmountingRef.current) {\n // NOTE: Do not restore default values on unmount, see D18197735.\n node.__detach();\n } else {\n prevNodeRef.current = node;\n }\n };\n }, [node]);\n}\n\n/**\n * Manages the lifecycle of the supplied `AnimatedProps` by invoking `__attach`\n * and `__detach`. However, `__detach` occurs in a microtask for these reasons:\n *\n * 1. Optimizes detaching and attaching `AnimatedNode` instances that rely on\n * reference counting to cleanup state, by causing detach to be scheduled\n * after any subsequent attach.\n * 2. Avoids calling `detach` during the insertion effect phase (which\n * occurs during the commit phase), which may invoke completion callbacks.\n *\n * We should avoid invoking completion callbacks during the commit phase because\n * callbacks may update state, which is unsupported and will force synchronous\n * updates.\n */\nfunction useAnimatedPropsLifecycleWithCleanupInMicrotask(\n node: AnimatedProps,\n): void {\n const isMounted = useRef(false);\n\n useInsertionEffect(() => {\n isMounted.current = true;\n node.__attach();\n\n return () => {\n isMounted.current = false;\n queueMicrotask(() => {\n // NOTE: Do not restore default values on unmount, see D18197735.\n if (isMounted.current) {\n // TODO: Stop restoring default values (unless `reset` is called).\n node.__restoreDefaultValues();\n }\n node.__detach();\n });\n };\n }, [node]);\n}\n\nfunction getEventTarget(instance: TInstance): TInstance {\n return typeof instance === 'object' &&\n typeof instance?.getScrollableNode === 'function'\n ? // $FlowFixMe[incompatible-use] - Legacy instance assumptions.\n instance.getScrollableNode()\n : instance;\n}\n\n// $FlowFixMe[unclear-type] - Legacy instance assumptions.\nfunction isFabricInstance(instance: any): boolean {\n return (\n isFabricPublicInstance(instance) ||\n // Some components have a setNativeProps function but aren't a host component\n // such as lists like FlatList and SectionList. These should also use\n // forceUpdate in Fabric since setNativeProps doesn't exist on the underlying\n // host component. This crazy hack is essentially special casing those lists and\n // ScrollView itself to use forceUpdate in Fabric.\n // If these components end up using forwardRef then these hacks can go away\n // as instance would actually be the underlying host component and the above check\n // would be sufficient.\n isFabricPublicInstance(instance?.getNativeScrollRef?.()) ||\n isFabricPublicInstance(\n instance?.getScrollResponder?.()?.getNativeScrollRef?.(),\n )\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n * @oncall react_native\n */\n\nimport type AnimatedProps from '../../../Libraries/Animated/nodes/AnimatedProps';\nimport type {AnimatedPropsAllowlist} from '../../../Libraries/Animated/nodes/AnimatedProps';\nimport type {AnimatedStyleAllowlist} from '../../../Libraries/Animated/nodes/AnimatedStyle';\n\nimport {AnimatedEvent} from '../../../Libraries/Animated/AnimatedEvent';\nimport AnimatedNode from '../../../Libraries/Animated/nodes/AnimatedNode';\nimport {isPlainObject} from '../../../Libraries/Animated/nodes/AnimatedObject';\nimport flattenStyle from '../../../Libraries/StyleSheet/flattenStyle';\nimport * as ReactNativeFeatureFlags from '../featureflags/ReactNativeFeatureFlags';\nimport nullthrows from 'nullthrows';\nimport {useInsertionEffect, useMemo, useRef, useState} from 'react';\n\ntype CompositeKey = {\n style?: {[string]: CompositeKeyComponent},\n [string]:\n | CompositeKeyComponent\n | AnimatedEvent\n | $ReadOnlyArray\n | $ReadOnly<{[string]: mixed}>,\n};\n\ntype CompositeKeyComponent =\n | AnimatedNode\n | Array\n | {[string]: CompositeKeyComponent};\n\ntype $ReadOnlyCompositeKey = $ReadOnly<{\n style?: $ReadOnly<{[string]: CompositeKeyComponent}>,\n [string]:\n | $ReadOnlyCompositeKeyComponent\n | AnimatedEvent\n | $ReadOnlyArray\n | $ReadOnly<{[string]: mixed}>,\n}>;\n\ntype $ReadOnlyCompositeKeyComponent =\n | AnimatedNode\n | $ReadOnlyArray<$ReadOnlyCompositeKeyComponent | null>\n | $ReadOnly<{[string]: $ReadOnlyCompositeKeyComponent}>;\n\ntype AnimatedPropsMemoHook = (\n () => AnimatedProps,\n props: $ReadOnly<{[string]: mixed}>,\n) => AnimatedProps;\n\n/**\n * Creates a hook that returns an `AnimatedProps` object that is memoized based\n * on the subset of `props` that are instances of `AnimatedNode` or\n * `AnimatedEvent`.\n */\nexport function createAnimatedPropsMemoHook(\n allowlist: ?AnimatedPropsAllowlist,\n): AnimatedPropsMemoHook {\n return function useAnimatedPropsMemo(\n create: () => AnimatedProps,\n props: $ReadOnly<{[string]: mixed}>,\n ): AnimatedProps {\n // NOTE: This feature flag must be evaluated inside the hook because this\n // module factory can be evaluated much sooner, before overrides are set.\n const useAnimatedPropsImpl =\n ReactNativeFeatureFlags.avoidStateUpdateInAnimatedPropsMemo()\n ? useAnimatedPropsMemo_ref\n : useAnimatedPropsMemo_state;\n return useAnimatedPropsImpl(create, props);\n };\n\n function useAnimatedPropsMemo_ref(\n create: () => AnimatedProps,\n props: $ReadOnly<{[string]: mixed}>,\n ): AnimatedProps {\n const compositeKey = useMemo(\n () => createCompositeKeyForProps(props, allowlist),\n [props],\n );\n\n const prevRef = useRef>();\n const prev = prevRef.current;\n\n const next =\n prev != null &&\n areCompositeKeysEqual(prev.compositeKey, compositeKey, allowlist)\n ? prev\n : {\n compositeKey,\n node: create(),\n };\n\n useInsertionEffect(() => {\n prevRef.current = next;\n }, [next]);\n\n return next.node;\n }\n\n function useAnimatedPropsMemo_state(\n create: () => AnimatedProps,\n props: $ReadOnly<{[string]: mixed}>,\n ): AnimatedProps {\n const compositeKey = useMemo(\n () => createCompositeKeyForProps(props, allowlist),\n [props],\n );\n\n const [state, setState] = useState<{\n allowlist: ?AnimatedPropsAllowlist,\n compositeKey: $ReadOnlyCompositeKey | null,\n value: AnimatedProps,\n }>(() => ({\n allowlist,\n compositeKey,\n value: create(),\n }));\n\n if (\n state.allowlist !== allowlist ||\n !areCompositeKeysEqual(state.compositeKey, compositeKey)\n ) {\n setState({\n allowlist,\n compositeKey,\n value: create(),\n });\n }\n return state.value;\n }\n}\n\n/**\n * Creates a new composite key for a `props` object that can be used to detect\n * whether a new `AnimatedProps` instance must be created.\n *\n * - With an allowlist, those props are searched for `AnimatedNode` instances.\n * - Without an allowlist, `style` is searched for `AnimatedNode` instances,\n * but all other objects and arrays are included (not searched). We do not\n * search objects and arrays without an allowlist in case they are very large\n * data structures. We safely traverse `style` becuase it is bounded.\n *\n * Any `AnimatedEvent` instances at the first depth are always included.\n *\n * If `props` contains no `AnimatedNode` or `AnimatedEvent` instances, this\n * returns null.\n */\nexport function createCompositeKeyForProps(\n props: $ReadOnly<{[string]: mixed}>,\n allowlist: ?AnimatedPropsAllowlist,\n): $ReadOnlyCompositeKey | null {\n let compositeKey: CompositeKey | null = null;\n\n const keys = Object.keys(props);\n for (let ii = 0, length = keys.length; ii < length; ii++) {\n const key = keys[ii];\n const value = props[key];\n\n if (allowlist == null || hasOwn(allowlist, key)) {\n let compositeKeyComponent;\n if (key === 'style') {\n // $FlowFixMe[incompatible-call] - `style` is a valid argument.\n // $FlowFixMe[incompatible-type] - `flattenStyle` returns an object.\n const flatStyle: ?{[string]: mixed} = flattenStyle(value);\n if (flatStyle != null) {\n compositeKeyComponent = createCompositeKeyForObject(\n flatStyle,\n allowlist?.style,\n );\n }\n } else if (\n value instanceof AnimatedNode ||\n value instanceof AnimatedEvent\n ) {\n compositeKeyComponent = value;\n } else if (Array.isArray(value)) {\n compositeKeyComponent =\n allowlist == null ? value : createCompositeKeyForArray(value);\n } else if (isPlainObject(value)) {\n compositeKeyComponent =\n allowlist == null ? value : createCompositeKeyForObject(value);\n }\n if (compositeKeyComponent != null) {\n if (compositeKey == null) {\n compositeKey = {} as CompositeKey;\n }\n compositeKey[key] = compositeKeyComponent;\n }\n }\n }\n\n return compositeKey;\n}\n\n/**\n * Creates a new composite key for an array that retains all values that are or\n * contain `AnimatedNode` instances, and `null` for the rest.\n *\n * If `array` contains no `AnimatedNode` instances, this returns null.\n */\nfunction createCompositeKeyForArray(\n array: $ReadOnlyArray,\n): $ReadOnlyArray<$ReadOnlyCompositeKeyComponent | null> | null {\n let compositeKey: Array<$ReadOnlyCompositeKeyComponent | null> | null = null;\n\n for (let ii = 0, length = array.length; ii < length; ii++) {\n const value = array[ii];\n\n let compositeKeyComponent;\n if (value instanceof AnimatedNode) {\n compositeKeyComponent = value;\n } else if (Array.isArray(value)) {\n compositeKeyComponent = createCompositeKeyForArray(value);\n } else if (isPlainObject(value)) {\n compositeKeyComponent = createCompositeKeyForObject(value);\n }\n if (compositeKeyComponent != null) {\n if (compositeKey == null) {\n compositeKey = new Array<$ReadOnlyCompositeKeyComponent | null>(\n array.length,\n ).fill(null);\n }\n compositeKey[ii] = compositeKeyComponent;\n }\n }\n\n return compositeKey;\n}\n\n/**\n * Creates a new composite key for an object that retains only properties that\n * are or contain `AnimatedNode` instances.\n *\n * When used to create composite keys for `style` props:\n *\n * - With an allowlist, those properties are searched.\n * - Without an allowlist, every property is searched.\n *\n * If `object` contains no `AnimatedNode` instances, this returns null.\n */\nfunction createCompositeKeyForObject(\n object: $ReadOnly<{[string]: mixed}>,\n allowlist?: ?AnimatedStyleAllowlist,\n): $ReadOnly<{[string]: $ReadOnlyCompositeKeyComponent}> | null {\n let compositeKey: {[string]: $ReadOnlyCompositeKeyComponent} | null = null;\n\n const keys = Object.keys(object);\n for (let ii = 0, length = keys.length; ii < length; ii++) {\n const key = keys[ii];\n\n if (allowlist == null || hasOwn(allowlist, key)) {\n const value = object[key];\n\n let compositeKeyComponent;\n if (value instanceof AnimatedNode) {\n compositeKeyComponent = value;\n } else if (Array.isArray(value)) {\n compositeKeyComponent = createCompositeKeyForArray(value);\n } else if (isPlainObject(value)) {\n compositeKeyComponent = createCompositeKeyForObject(value);\n }\n if (compositeKeyComponent != null) {\n if (compositeKey == null) {\n compositeKey = {} as {[string]: $ReadOnlyCompositeKeyComponent};\n }\n compositeKey[key] = compositeKeyComponent;\n }\n }\n }\n\n return compositeKey;\n}\n\nexport function areCompositeKeysEqual(\n maybePrev: $ReadOnlyCompositeKey | null,\n maybeNext: $ReadOnlyCompositeKey | null,\n allowlist: ?AnimatedPropsAllowlist,\n): boolean {\n if (maybePrev === maybeNext) {\n return true;\n }\n if (maybePrev === null || maybeNext === null) {\n return false;\n }\n // Help Flow retain the type refinements of these.\n const prev = maybePrev;\n const next = maybeNext;\n\n const keys = Object.keys(prev);\n const length = keys.length;\n if (length !== Object.keys(next).length) {\n return false;\n }\n for (let ii = 0; ii < length; ii++) {\n const key = keys[ii];\n if (!hasOwn(next, key)) {\n return false;\n }\n const prevComponent = prev[key];\n const nextComponent = next[key];\n\n if (key === 'style') {\n // We know style components are objects with non-mixed values.\n if (\n !areCompositeKeyComponentsEqual(\n // $FlowIgnore[incompatible-cast]\n prevComponent as $ReadOnlyCompositeKeyComponent,\n // $FlowIgnore[incompatible-cast]\n nextComponent as $ReadOnlyCompositeKeyComponent,\n )\n ) {\n return false;\n }\n } else if (\n prevComponent instanceof AnimatedNode ||\n prevComponent instanceof AnimatedEvent\n ) {\n if (prevComponent !== nextComponent) {\n return false;\n }\n } else {\n // When `allowlist` is null, the components must be the same. Otherwise,\n // we created the components using deep traversal, so deep compare them.\n if (allowlist == null) {\n if (prevComponent !== nextComponent) {\n return false;\n }\n } else {\n if (\n !areCompositeKeyComponentsEqual(\n // $FlowIgnore[incompatible-cast]\n prevComponent as $ReadOnlyCompositeKeyComponent,\n // $FlowIgnore[incompatible-cast]\n nextComponent as $ReadOnlyCompositeKeyComponent,\n )\n ) {\n return false;\n }\n }\n }\n }\n return true;\n}\n\nfunction areCompositeKeyComponentsEqual(\n prev: $ReadOnlyCompositeKeyComponent | null,\n next: $ReadOnlyCompositeKeyComponent | null,\n): boolean {\n if (prev === next) {\n return true;\n }\n if (prev instanceof AnimatedNode) {\n return prev === next;\n }\n if (Array.isArray(prev)) {\n if (!Array.isArray(next)) {\n return false;\n }\n const length = prev.length;\n if (length !== next.length) {\n return false;\n }\n for (let ii = 0; ii < length; ii++) {\n if (!areCompositeKeyComponentsEqual(prev[ii], next[ii])) {\n return false;\n }\n }\n return true;\n }\n if (isPlainObject(prev)) {\n if (!isPlainObject(next)) {\n return false;\n }\n const keys = Object.keys(prev);\n const length = keys.length;\n if (length !== Object.keys(next).length) {\n return false;\n }\n for (let ii = 0; ii < length; ii++) {\n const key = keys[ii];\n if (\n !hasOwn(nullthrows(next), key) ||\n !areCompositeKeyComponentsEqual(prev[key], next[key])\n ) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n\n// Supported versions of JSC do not implement the newer Object.hasOwn. Remove\n// this shim when they do.\n// $FlowIgnore[method-unbinding]\nconst _hasOwnProp = Object.prototype.hasOwnProperty;\nconst hasOwn: (obj: $ReadOnly<{...}>, prop: string) => boolean =\n // $FlowIgnore[method-unbinding]\n Object.hasOwn ?? ((obj, prop) => _hasOwnProp.call(obj, prop));\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n/**\n * IMPORTANT!!\n *\n * This module cannot import `ReactFabric` (directly or indirectly)\n * because it can be used by apps only using the legacy renderer.\n * In that case `nativeFabricUIManager` isn't defined and `ReactFabric` throws.\n */\n\nexport function isPublicInstance(maybeInstance: mixed): boolean {\n return (\n maybeInstance != null &&\n // TODO: implement a better check when the instance is defined in the React Native repository.\n (maybeInstance.__nativeTag != null ||\n // TODO: remove this check when syncing the new version of the renderer from React to React Native.\n isLegacyFabricInstance(maybeInstance))\n );\n}\n\nfunction isLegacyFabricInstance(maybeInstance: mixed): boolean {\n /* eslint-disable dot-notation */\n return (\n maybeInstance != null &&\n // $FlowExpectedError[incompatible-use]\n maybeInstance['_internalInstanceHandle'] != null &&\n maybeInstance['_internalInstanceHandle'].stateNode != null &&\n maybeInstance['_internalInstanceHandle'].stateNode.canonical != null\n );\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {InterpolationConfigType} from './AnimatedInterpolation';\nimport type AnimatedNode from './AnimatedNode';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nexport default class AnimatedAddition extends AnimatedWithChildren {\n _a: AnimatedNode;\n _b: AnimatedNode;\n\n constructor(\n a: AnimatedNode | number,\n b: AnimatedNode | number,\n config?: ?AnimatedNodeConfig,\n ) {\n super(config);\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n\n __makeNative(platformConfig: ?PlatformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n\n __getValue(): number {\n return this._a.__getValue() + this._b.__getValue();\n }\n\n interpolate(\n config: InterpolationConfigType,\n ): AnimatedInterpolation {\n return new AnimatedInterpolation(this, config);\n }\n\n __attach(): void {\n this._a.__addChild(this);\n this._b.__addChild(this);\n super.__attach();\n }\n\n __detach(): void {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n\n __getNativeConfig(): any {\n return {\n type: 'addition',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()],\n debugID: this.__getDebugID(),\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {InterpolationConfigType} from './AnimatedInterpolation';\nimport type AnimatedNode from './AnimatedNode';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nexport default class AnimatedDiffClamp extends AnimatedWithChildren {\n _a: AnimatedNode;\n _min: number;\n _max: number;\n _value: number;\n _lastValue: number;\n\n constructor(\n a: AnimatedNode,\n min: number,\n max: number,\n config?: ?AnimatedNodeConfig,\n ) {\n super(config);\n\n this._a = a;\n this._min = min;\n this._max = max;\n this._value = this._lastValue = this._a.__getValue();\n }\n\n __makeNative(platformConfig: ?PlatformConfig) {\n this._a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n\n interpolate(\n config: InterpolationConfigType,\n ): AnimatedInterpolation {\n return new AnimatedInterpolation(this, config);\n }\n\n __getValue(): number {\n const value = this._a.__getValue();\n const diff = value - this._lastValue;\n this._lastValue = value;\n this._value = Math.min(Math.max(this._value + diff, this._min), this._max);\n return this._value;\n }\n\n __attach(): void {\n this._a.__addChild(this);\n super.__attach();\n }\n\n __detach(): void {\n this._a.__removeChild(this);\n super.__detach();\n }\n\n __getNativeConfig(): any {\n return {\n type: 'diffclamp',\n input: this._a.__getNativeTag(),\n min: this._min,\n max: this._max,\n debugID: this.__getDebugID(),\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {InterpolationConfigType} from './AnimatedInterpolation';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nexport default class AnimatedDivision extends AnimatedWithChildren {\n _a: AnimatedNode;\n _b: AnimatedNode;\n _warnedAboutDivideByZero: boolean = false;\n\n constructor(\n a: AnimatedNode | number,\n b: AnimatedNode | number,\n config?: ?AnimatedNodeConfig,\n ) {\n super(config);\n if (b === 0 || (b instanceof AnimatedNode && b.__getValue() === 0)) {\n console.error('Detected potential division by zero in AnimatedDivision');\n }\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n\n __makeNative(platformConfig: ?PlatformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n\n __getValue(): number {\n const a = this._a.__getValue();\n const b = this._b.__getValue();\n if (b === 0) {\n // Prevent spamming the console/LogBox\n if (!this._warnedAboutDivideByZero) {\n console.error('Detected division by zero in AnimatedDivision');\n this._warnedAboutDivideByZero = true;\n }\n // Passing infinity/NaN to Fabric will cause a native crash\n return 0;\n }\n this._warnedAboutDivideByZero = false;\n return a / b;\n }\n\n interpolate(\n config: InterpolationConfigType,\n ): AnimatedInterpolation {\n return new AnimatedInterpolation(this, config);\n }\n\n __attach(): void {\n this._a.__addChild(this);\n this._b.__addChild(this);\n super.__attach();\n }\n\n __detach(): void {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n\n __getNativeConfig(): any {\n return {\n type: 'division',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()],\n debugID: this.__getDebugID(),\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {InterpolationConfigType} from './AnimatedInterpolation';\nimport type AnimatedNode from './AnimatedNode';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nexport default class AnimatedModulo extends AnimatedWithChildren {\n _a: AnimatedNode;\n _modulus: number;\n\n constructor(a: AnimatedNode, modulus: number, config?: ?AnimatedNodeConfig) {\n super(config);\n this._a = a;\n this._modulus = modulus;\n }\n\n __makeNative(platformConfig: ?PlatformConfig) {\n this._a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n\n __getValue(): number {\n return (\n ((this._a.__getValue() % this._modulus) + this._modulus) % this._modulus\n );\n }\n\n interpolate(\n config: InterpolationConfigType,\n ): AnimatedInterpolation {\n return new AnimatedInterpolation(this, config);\n }\n\n __attach(): void {\n this._a.__addChild(this);\n super.__attach();\n }\n\n __detach(): void {\n this._a.__removeChild(this);\n super.__detach();\n }\n\n __getNativeConfig(): any {\n return {\n type: 'modulus',\n input: this._a.__getNativeTag(),\n modulus: this._modulus,\n debugID: this.__getDebugID(),\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {InterpolationConfigType} from './AnimatedInterpolation';\nimport type AnimatedNode from './AnimatedNode';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nexport default class AnimatedMultiplication extends AnimatedWithChildren {\n _a: AnimatedNode;\n _b: AnimatedNode;\n\n constructor(\n a: AnimatedNode | number,\n b: AnimatedNode | number,\n config?: ?AnimatedNodeConfig,\n ) {\n super(config);\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n\n __makeNative(platformConfig: ?PlatformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n\n __getValue(): number {\n return this._a.__getValue() * this._b.__getValue();\n }\n\n interpolate(\n config: InterpolationConfigType,\n ): AnimatedInterpolation {\n return new AnimatedInterpolation(this, config);\n }\n __attach(): void {\n this._a.__addChild(this);\n this._b.__addChild(this);\n super.__attach();\n }\n\n __detach(): void {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n\n __getNativeConfig(): any {\n return {\n type: 'multiplication',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()],\n debugID: this.__getDebugID(),\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {InterpolationConfigType} from './AnimatedInterpolation';\nimport type AnimatedNode from './AnimatedNode';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\n\nexport default class AnimatedSubtraction extends AnimatedWithChildren {\n _a: AnimatedNode;\n _b: AnimatedNode;\n\n constructor(\n a: AnimatedNode | number,\n b: AnimatedNode | number,\n config?: ?AnimatedNodeConfig,\n ) {\n super(config);\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n\n __makeNative(platformConfig: ?PlatformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n\n __getValue(): number {\n return this._a.__getValue() - this._b.__getValue();\n }\n\n interpolate(\n config: InterpolationConfigType,\n ): AnimatedInterpolation {\n return new AnimatedInterpolation(this, config);\n }\n\n __attach(): void {\n this._a.__addChild(this);\n this._b.__addChild(this);\n super.__attach();\n }\n\n __detach(): void {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n\n __getNativeConfig(): any {\n return {\n type: 'subtraction',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()],\n debugID: this.__getDebugID(),\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {PlatformConfig} from '../AnimatedPlatformConfig';\nimport type {EndCallback} from '../animations/Animation';\nimport type {AnimatedNodeConfig} from './AnimatedNode';\nimport type AnimatedValue from './AnimatedValue';\n\nimport NativeAnimatedHelper from '../../../src/private/animated/NativeAnimatedHelper';\nimport AnimatedNode from './AnimatedNode';\n\nexport default class AnimatedTracking extends AnimatedNode {\n _value: AnimatedValue;\n _parent: AnimatedNode;\n _callback: ?EndCallback;\n _animationConfig: Object;\n _animationClass: any;\n _useNativeDriver: boolean;\n\n constructor(\n value: AnimatedValue,\n parent: AnimatedNode,\n animationClass: any,\n animationConfig: Object,\n callback?: ?EndCallback,\n config?: ?AnimatedNodeConfig,\n ) {\n super(config);\n this._value = value;\n this._parent = parent;\n this._animationClass = animationClass;\n this._animationConfig = animationConfig;\n this._useNativeDriver =\n NativeAnimatedHelper.shouldUseNativeDriver(animationConfig);\n this._callback = callback;\n this.__attach();\n }\n\n __makeNative(platformConfig: ?PlatformConfig) {\n this.__isNative = true;\n this._parent.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n this._value.__makeNative(platformConfig);\n }\n\n __getValue(): Object {\n return this._parent.__getValue();\n }\n\n __attach(): void {\n this._parent.__addChild(this);\n if (this._useNativeDriver) {\n // when the tracking starts we need to convert this node to a \"native node\"\n // so that the parent node will be made \"native\" too. This is necessary as\n // if we don't do this `update` method will get called. At that point it\n // may be too late as it would mean the JS driver has already started\n // updating node values\n let {platformConfig} = this._animationConfig;\n this.__makeNative(platformConfig);\n }\n super.__attach();\n }\n\n __detach(): void {\n this._parent.__removeChild(this);\n super.__detach();\n }\n\n update(): void {\n this._value.animate(\n new this._animationClass({\n ...this._animationConfig,\n toValue: (this._animationConfig.toValue: any).__getValue(),\n }),\n this._callback,\n );\n }\n\n __getNativeConfig(): any {\n const animation = new this._animationClass({\n ...this._animationConfig,\n // remove toValue from the config as it's a ref to Animated.Value\n toValue: undefined,\n });\n const animationConfig = animation.__getNativeAnimationConfig();\n return {\n type: 'tracking',\n animationId: NativeAnimatedHelper.generateNewAnimationId(),\n animationConfig,\n toValue: this._parent.__getNativeTag(),\n value: this._value.__getNativeTag(),\n debugID: this.__getDebugID(),\n };\n }\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport NativeFrameRateLogger from './NativeFrameRateLogger';\n\nconst invariant = require('invariant');\n\n/**\n * Flow API for native FrameRateLogger module. If the native module is not installed, function calls\n * are just no-ops.\n *\n * Typical behavior is that `setContext` is called when a new screen is loaded (e.g. via a\n * navigation integration), and then `beginScroll` is called by `ScrollResponder` at which point the\n * native module then begins tracking frame drops. When `ScrollResponder` calls `endScroll`, the\n * native module gathers up all it's frame drop data and reports it via an analytics pipeline for\n * analysis.\n *\n * Note that `beginScroll` may be called multiple times by `ScrollResponder` - unclear if that's a\n * bug, but the native module should be robust to that.\n *\n * In the future we may add support for tracking frame drops in other types of interactions beyond\n * scrolling.\n */\nconst FrameRateLogger = {\n /**\n * Enable `debug` to see local logs of what's going on.\n */\n setGlobalOptions: function (options: {debug?: boolean, ...}) {\n if (options.debug !== undefined) {\n invariant(\n NativeFrameRateLogger,\n 'Trying to debug FrameRateLogger without the native module!',\n );\n }\n NativeFrameRateLogger?.setGlobalOptions({\n debug: !!options.debug,\n });\n },\n\n /**\n * Must call `setContext` before any events can be properly tracked, which is done automatically\n * in `AppRegistry`, but navigation is also a common place to hook in.\n */\n setContext: function (context: string) {\n NativeFrameRateLogger?.setContext(context);\n },\n\n /**\n * Called in `ScrollResponder` so any component that uses that module will handle this\n * automatically.\n */\n beginScroll() {\n NativeFrameRateLogger?.beginScroll();\n },\n\n /**\n * Called in `ScrollResponder` so any component that uses that module will handle this\n * automatically.\n */\n endScroll() {\n NativeFrameRateLogger?.endScroll();\n },\n};\n\nexport default FrameRateLogger;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeFrameRateLogger';\nimport NativeFrameRateLogger from '../../src/private/specs_DEPRECATED/modules/NativeFrameRateLogger';\nexport default NativeFrameRateLogger;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +setGlobalOptions: (options: {+debug?: ?boolean}) => void;\n +setContext: (context: string) => void;\n +beginScroll: () => void;\n +endScroll: () => void;\n}\n\nexport default (TurboModuleRegistry.get('FrameRateLogger'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {____ViewStyle_Internal} from './StyleSheetTypes';\n\nexport default function splitLayoutProps(props: ?____ViewStyle_Internal): {\n outer: ?____ViewStyle_Internal,\n inner: ?____ViewStyle_Internal,\n} {\n let outer: ?____ViewStyle_Internal = null;\n let inner: ?____ViewStyle_Internal = null;\n\n if (props != null) {\n // $FlowIgnore[incompatible-exact] Will contain a subset of keys from `props`.\n outer = {};\n // $FlowIgnore[incompatible-exact] Will contain a subset of keys from `props`.\n inner = {};\n\n for (const prop of Object.keys(props)) {\n switch (prop) {\n case 'margin':\n case 'marginHorizontal':\n case 'marginVertical':\n case 'marginBottom':\n case 'marginTop':\n case 'marginLeft':\n case 'marginRight':\n case 'flex':\n case 'flexGrow':\n case 'flexShrink':\n case 'flexBasis':\n case 'alignSelf':\n case 'height':\n case 'minHeight':\n case 'maxHeight':\n case 'width':\n case 'minWidth':\n case 'maxWidth':\n case 'position':\n case 'left':\n case 'right':\n case 'bottom':\n case 'top':\n case 'transform':\n case 'transformOrigin':\n case 'rowGap':\n case 'columnGap':\n case 'gap':\n // $FlowFixMe[cannot-write]\n // $FlowFixMe[incompatible-use]\n // $FlowFixMe[prop-missing]\n outer[prop] = props[prop];\n break;\n default:\n // $FlowFixMe[cannot-write]\n // $FlowFixMe[incompatible-use]\n // $FlowFixMe[prop-missing]\n inner[prop] = props[prop];\n break;\n }\n }\n }\n\n return {outer, inner};\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport Platform from '../../Utilities/Platform';\n\nfunction processDecelerationRate(\n decelerationRate: number | 'normal' | 'fast',\n): number {\n if (decelerationRate === 'normal') {\n return Platform.select({\n ios: 0.998,\n android: 0.985,\n });\n } else if (decelerationRate === 'fast') {\n return Platform.select({\n ios: 0.99,\n android: 0.9,\n });\n }\n return decelerationRate;\n}\n\nexport default processDecelerationRate;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {Double} from '../../Types/CodegenTypes';\n\nimport codegenNativeCommands from '../../Utilities/codegenNativeCommands';\nimport * as React from 'react';\n\ntype ScrollViewNativeComponentType = HostComponent<{...}>;\ninterface NativeCommands {\n +flashScrollIndicators: (\n viewRef: React.ElementRef,\n ) => void;\n +scrollTo: (\n viewRef: React.ElementRef,\n x: Double,\n y: Double,\n animated: boolean,\n ) => void;\n +scrollToEnd: (\n viewRef: React.ElementRef,\n animated: boolean,\n ) => void;\n +zoomToRect: (\n viewRef: React.ElementRef,\n rect: {\n x: Double,\n y: Double,\n width: Double,\n height: Double,\n animated?: boolean,\n },\n animated?: boolean,\n ) => void;\n}\n\nexport default (codegenNativeCommands({\n supportedCommands: [\n 'flashScrollIndicators',\n 'scrollTo',\n 'scrollToEnd',\n 'zoomToRect',\n ],\n}): NativeCommands);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport * as React from 'react';\n\ntype Value = {horizontal: boolean} | null;\n\nconst ScrollViewContext: React.Context = React.createContext(null);\nif (__DEV__) {\n ScrollViewContext.displayName = 'ScrollViewContext';\n}\nexport default ScrollViewContext;\n\n// $FlowFixMe[incompatible-type] frozen objects are readonly\nexport const HORIZONTAL: Value = Object.freeze({horizontal: true});\n// $FlowFixMe[incompatible-type] frozen objects are readonly\nexport const VERTICAL: Value = Object.freeze({horizontal: false});\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {LayoutChangeEvent} from '../../Types/CoreEventTypes';\n\nimport Animated from '../../Animated/Animated';\nimport {isPublicInstance as isFabricPublicInstance} from '../../ReactNative/ReactFabricPublicInstance/ReactFabricPublicInstanceUtils';\nimport StyleSheet from '../../StyleSheet/StyleSheet';\nimport Platform from '../../Utilities/Platform';\nimport useMergeRefs from '../../Utilities/useMergeRefs';\nimport * as React from 'react';\nimport {useCallback, useEffect, useMemo, useRef, useState} from 'react';\n\nexport type ScrollViewStickyHeaderProps = $ReadOnly<{\n children?: React.Node,\n nextHeaderLayoutY: ?number,\n onLayout: (event: LayoutChangeEvent) => void,\n scrollAnimatedValue: Animated.Value,\n // Will cause sticky headers to stick at the bottom of the ScrollView instead\n // of the top.\n inverted: ?boolean,\n // The height of the parent ScrollView. Currently only set when inverted.\n scrollViewHeight: ?number,\n nativeID?: ?string,\n hiddenOnScroll?: ?boolean,\n}>;\n\ninterface Instance extends React.ElementRef {\n +setNextHeaderY: number => void;\n}\n\nconst ScrollViewStickyHeaderWithForwardedRef: component(\n ref: React.RefSetter,\n ...props: ScrollViewStickyHeaderProps\n) = React.forwardRef(function ScrollViewStickyHeader(props, forwardedRef) {\n const {\n inverted,\n scrollViewHeight,\n hiddenOnScroll,\n scrollAnimatedValue,\n nextHeaderLayoutY: _nextHeaderLayoutY,\n } = props;\n\n const [measured, setMeasured] = useState(false);\n const [layoutY, setLayoutY] = useState(0);\n const [layoutHeight, setLayoutHeight] = useState(0);\n const [translateY, setTranslateY] = useState(null);\n const [nextHeaderLayoutY, setNextHeaderLayoutY] =\n useState(_nextHeaderLayoutY);\n const [isFabric, setIsFabric] = useState(false);\n\n const callbackRef = useCallback((ref: Instance | null): void => {\n if (ref == null) {\n return;\n }\n // $FlowExpectedError[cannot-write]\n ref.setNextHeaderY = setNextHeaderLayoutY;\n setIsFabric(isFabricPublicInstance(ref));\n }, []);\n const ref: React.RefSetter> =\n // $FlowFixMe[prop-missing] - Instance is mutated to have `setNextHeaderY`.\n useMergeRefs(callbackRef, forwardedRef);\n\n const offset = useMemo(\n () =>\n hiddenOnScroll === true\n ? Animated.diffClamp(\n scrollAnimatedValue\n .interpolate({\n extrapolateLeft: 'clamp',\n inputRange: [layoutY, layoutY + 1],\n outputRange: ([0, 1]: Array),\n })\n .interpolate({\n inputRange: [0, 1],\n outputRange: ([0, -1]: Array),\n }),\n -layoutHeight,\n 0,\n )\n : null,\n [scrollAnimatedValue, layoutHeight, layoutY, hiddenOnScroll],\n );\n\n const [animatedTranslateY, setAnimatedTranslateY] = useState(\n () => {\n const inputRange: Array = [-1, 0];\n const outputRange: Array = [0, 0];\n const initialTranslateY = scrollAnimatedValue.interpolate({\n inputRange,\n outputRange,\n });\n\n if (offset != null) {\n return Animated.add(initialTranslateY, offset);\n }\n return initialTranslateY;\n },\n );\n\n const haveReceivedInitialZeroTranslateY = useRef(true);\n const translateYDebounceTimer = useRef(null);\n\n useEffect(() => {\n if (translateY !== 0 && translateY != null) {\n haveReceivedInitialZeroTranslateY.current = false;\n }\n }, [translateY]);\n\n // This is called whenever the (Interpolated) Animated Value\n // updates, which is several times per frame during scrolling.\n // To ensure that the Fabric ShadowTree has the most recent\n // translate style of this node, we debounce the value and then\n // pass it through to the underlying node during render.\n // This is:\n // 1. Only an issue in Fabric.\n // 2. Worse in Android than iOS. In Android, but not iOS, you\n // can touch and move your finger slightly and still trigger\n // a \"tap\" event. In iOS, moving will cancel the tap in\n // both Fabric and non-Fabric. On Android when you move\n // your finger, the hit-detection moves from the Android\n // platform to JS, so we need the ShadowTree to have knowledge\n // of the current position.\n const animatedValueListener = useCallback(({value}: $FlowFixMe) => {\n const debounceTimeout: number = Platform.OS === 'android' ? 15 : 64;\n // When the AnimatedInterpolation is recreated, it always initializes\n // to a value of zero and emits a value change of 0 to its listeners.\n if (value === 0 && !haveReceivedInitialZeroTranslateY.current) {\n haveReceivedInitialZeroTranslateY.current = true;\n return;\n }\n if (translateYDebounceTimer.current != null) {\n clearTimeout(translateYDebounceTimer.current);\n }\n translateYDebounceTimer.current = setTimeout(\n () => setTranslateY(value),\n debounceTimeout,\n );\n }, []);\n\n useEffect(() => {\n const inputRange: Array = [-1, 0];\n const outputRange: Array = [0, 0];\n\n if (measured) {\n if (inverted === true) {\n // The interpolation looks like:\n // - Negative scroll: no translation\n // - `stickStartPoint` is the point at which the header will start sticking.\n // It is calculated using the ScrollView viewport height so it is a the bottom.\n // - Headers that are in the initial viewport will never stick, `stickStartPoint`\n // will be negative.\n // - From 0 to `stickStartPoint` no translation. This will cause the header\n // to scroll normally until it reaches the top of the scroll view.\n // - From `stickStartPoint` to when the next header y hits the bottom edge of the header: translate\n // equally to scroll. This will cause the header to stay at the top of the scroll view.\n // - Past the collision with the next header y: no more translation. This will cause the\n // header to continue scrolling up and make room for the next sticky header.\n // In the case that there is no next header just translate equally to\n // scroll indefinitely.\n if (scrollViewHeight != null) {\n const stickStartPoint = layoutY + layoutHeight - scrollViewHeight;\n if (stickStartPoint > 0) {\n inputRange.push(stickStartPoint);\n outputRange.push(0);\n inputRange.push(stickStartPoint + 1);\n outputRange.push(1);\n // If the next sticky header has not loaded yet (probably windowing) or is the last\n // we can just keep it sticked forever.\n const collisionPoint =\n (nextHeaderLayoutY || 0) - layoutHeight - scrollViewHeight;\n if (collisionPoint > stickStartPoint) {\n inputRange.push(collisionPoint, collisionPoint + 1);\n outputRange.push(\n collisionPoint - stickStartPoint,\n collisionPoint - stickStartPoint,\n );\n }\n }\n }\n } else {\n // The interpolation looks like:\n // - Negative scroll: no translation\n // - From 0 to the y of the header: no translation. This will cause the header\n // to scroll normally until it reaches the top of the scroll view.\n // - From header y to when the next header y hits the bottom edge of the header: translate\n // equally to scroll. This will cause the header to stay at the top of the scroll view.\n // - Past the collision with the next header y: no more translation. This will cause the\n // header to continue scrolling up and make room for the next sticky header.\n // In the case that there is no next header just translate equally to\n // scroll indefinitely.\n inputRange.push(layoutY);\n outputRange.push(0);\n // If the next sticky header has not loaded yet (probably windowing) or is the last\n // we can just keep it sticked forever.\n const collisionPoint = (nextHeaderLayoutY || 0) - layoutHeight;\n if (collisionPoint >= layoutY) {\n inputRange.push(collisionPoint, collisionPoint + 1);\n outputRange.push(collisionPoint - layoutY, collisionPoint - layoutY);\n } else {\n inputRange.push(layoutY + 1);\n outputRange.push(1);\n }\n }\n }\n\n let newAnimatedTranslateY: Animated.Node = scrollAnimatedValue.interpolate({\n inputRange,\n outputRange,\n });\n\n if (offset != null) {\n newAnimatedTranslateY = Animated.add(newAnimatedTranslateY, offset);\n }\n\n // add the event listener\n let animatedListenerId;\n if (isFabric) {\n animatedListenerId = newAnimatedTranslateY.addListener(\n animatedValueListener,\n );\n }\n\n setAnimatedTranslateY(newAnimatedTranslateY);\n\n // clean up the event listener and timer\n return () => {\n if (animatedListenerId) {\n newAnimatedTranslateY.removeListener(animatedListenerId);\n }\n if (translateYDebounceTimer.current != null) {\n clearTimeout(translateYDebounceTimer.current);\n }\n };\n }, [\n nextHeaderLayoutY,\n measured,\n layoutHeight,\n layoutY,\n scrollViewHeight,\n scrollAnimatedValue,\n inverted,\n offset,\n animatedValueListener,\n isFabric,\n ]);\n\n const _onLayout = (event: LayoutChangeEvent) => {\n setLayoutY(event.nativeEvent.layout.y);\n setLayoutHeight(event.nativeEvent.layout.height);\n setMeasured(true);\n\n props.onLayout(event);\n const child = React.Children.only<$FlowFixMe>(props.children);\n if (child.props.onLayout) {\n child.props.onLayout(event);\n }\n };\n\n const child = React.Children.only<$FlowFixMe>(props.children);\n\n const passthroughAnimatedPropExplicitValues =\n isFabric && translateY != null\n ? {\n style: {transform: [{translateY: translateY}]},\n }\n : null;\n\n return (\n \n {React.cloneElement(child, {\n style: styles.fill, // We transfer the child style to the wrapper.\n onLayout: undefined, // we call this manually through our this._onLayout\n })}\n \n );\n});\n\nconst styles = StyleSheet.create({\n header: {\n zIndex: 10,\n },\n fill: {\n flex: 1,\n },\n});\n\nexport default ScrollViewStickyHeaderWithForwardedRef;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n * @oncall react_native\n */\n\nimport typeof AnimatedFlatList from './components/AnimatedFlatList';\nimport typeof AnimatedImage from './components/AnimatedImage';\nimport typeof AnimatedScrollView from './components/AnimatedScrollView';\nimport typeof AnimatedSectionList from './components/AnimatedSectionList';\nimport typeof AnimatedText from './components/AnimatedText';\nimport typeof AnimatedView from './components/AnimatedView';\n\nimport Platform from '../Utilities/Platform';\nimport AnimatedImplementation from './AnimatedImplementation';\nimport AnimatedMock from './AnimatedMock';\n\nconst Animated: typeof AnimatedImplementation = Platform.isDisableAnimations\n ? AnimatedMock\n : AnimatedImplementation;\n\nexport default {\n get FlatList(): AnimatedFlatList {\n return require('./components/AnimatedFlatList').default;\n },\n get Image(): AnimatedImage {\n return require('./components/AnimatedImage').default;\n },\n get ScrollView(): AnimatedScrollView {\n return require('./components/AnimatedScrollView').default;\n },\n get SectionList(): AnimatedSectionList {\n return require('./components/AnimatedSectionList').default;\n },\n get Text(): AnimatedText {\n return require('./components/AnimatedText').default;\n },\n get View(): AnimatedView {\n return require('./components/AnimatedView').default;\n },\n ...Animated,\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {Numeric as AnimatedNumeric} from './AnimatedImplementation';\nimport type {EndResult} from './animations/Animation';\nimport type {EndCallback} from './animations/Animation';\nimport type {DecayAnimationConfig} from './animations/DecayAnimation';\nimport type {SpringAnimationConfig} from './animations/SpringAnimation';\nimport type {TimingAnimationConfig} from './animations/TimingAnimation';\n\nimport {AnimatedEvent, attachNativeEvent} from './AnimatedEvent';\nimport AnimatedImplementation from './AnimatedImplementation';\nimport createAnimatedComponent from './createAnimatedComponent';\nimport AnimatedColor from './nodes/AnimatedColor';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\n\n/**\n * Animations are a source of flakiness in snapshot testing. This mock replaces\n * animation functions from AnimatedImplementation with empty animations for\n * predictability in tests. When possible the animation will run immediately\n * to the final state.\n */\n\n// Prevent any callback invocation from recursively triggering another\n// callback, which may trigger another animation\nlet inAnimationCallback = false;\nfunction mockAnimationStart(\n start: (callback?: ?EndCallback) => void,\n): (callback?: ?EndCallback) => void {\n return callback => {\n const guardedCallback =\n callback == null\n ? callback\n : (...args: Array) => {\n if (inAnimationCallback) {\n console.warn(\n 'Ignoring recursive animation callback when running mock animations',\n );\n return;\n }\n inAnimationCallback = true;\n try {\n callback(...args);\n } finally {\n inAnimationCallback = false;\n }\n };\n start(guardedCallback);\n };\n}\n\nexport type CompositeAnimation = {\n start: (callback?: ?EndCallback) => void,\n stop: () => void,\n reset: () => void,\n _startNativeLoop: (iterations?: number) => void,\n _isUsingNativeDriver: () => boolean,\n ...\n};\n\nconst emptyAnimation = {\n start: () => {},\n stop: () => {},\n reset: () => {},\n _startNativeLoop: () => {},\n _isUsingNativeDriver: () => {\n return false;\n },\n};\n\nconst mockCompositeAnimation = (\n animations: Array,\n): CompositeAnimation => ({\n ...emptyAnimation,\n start: mockAnimationStart((callback?: ?EndCallback): void => {\n animations.forEach(animation => animation.start());\n callback?.({finished: true});\n }),\n});\n\nconst spring = function (\n value: AnimatedValue | AnimatedValueXY | AnimatedColor,\n config: SpringAnimationConfig,\n): CompositeAnimation {\n const anyValue: any = value;\n return {\n ...emptyAnimation,\n start: mockAnimationStart((callback?: ?EndCallback): void => {\n anyValue.setValue(config.toValue);\n callback?.({finished: true});\n }),\n };\n};\n\nconst timing = function (\n value: AnimatedValue | AnimatedValueXY | AnimatedColor,\n config: TimingAnimationConfig,\n): CompositeAnimation {\n const anyValue: any = value;\n return {\n ...emptyAnimation,\n start: mockAnimationStart((callback?: ?EndCallback): void => {\n anyValue.setValue(config.toValue);\n callback?.({finished: true});\n }),\n };\n};\n\nconst decay = function (\n value: AnimatedValue | AnimatedValueXY | AnimatedColor,\n config: DecayAnimationConfig,\n): CompositeAnimation {\n return emptyAnimation;\n};\n\nconst sequence = function (\n animations: Array,\n): CompositeAnimation {\n return mockCompositeAnimation(animations);\n};\n\ntype ParallelConfig = {stopTogether?: boolean, ...};\nconst parallel = function (\n animations: Array,\n config?: ?ParallelConfig,\n): CompositeAnimation {\n return mockCompositeAnimation(animations);\n};\n\nconst delay = function (time: number): CompositeAnimation {\n return emptyAnimation;\n};\n\nconst stagger = function (\n time: number,\n animations: Array,\n): CompositeAnimation {\n return mockCompositeAnimation(animations);\n};\n\ntype LoopAnimationConfig = {\n iterations: number,\n resetBeforeIteration?: boolean,\n ...\n};\n\nconst loop = function (\n animation: CompositeAnimation,\n // $FlowFixMe[prop-missing]\n {iterations = -1}: LoopAnimationConfig = {},\n): CompositeAnimation {\n return emptyAnimation;\n};\n\nexport type {AnimatedNumeric as Numeric};\n\nexport default {\n Value: AnimatedValue,\n ValueXY: AnimatedValueXY,\n Color: AnimatedColor,\n Interpolation: AnimatedInterpolation,\n Node: AnimatedNode,\n decay,\n timing,\n spring,\n add: AnimatedImplementation.add,\n subtract: AnimatedImplementation.subtract,\n divide: AnimatedImplementation.divide,\n multiply: AnimatedImplementation.multiply,\n modulo: AnimatedImplementation.modulo,\n diffClamp: AnimatedImplementation.diffClamp,\n delay,\n sequence,\n parallel,\n stagger,\n loop,\n event: AnimatedImplementation.event,\n createAnimatedComponent,\n attachNativeEvent,\n forkEvent: AnimatedImplementation.forkEvent,\n unforkEvent: AnimatedImplementation.unforkEvent,\n Event: AnimatedEvent,\n} as typeof AnimatedImplementation;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {AnimatedComponentType} from '../createAnimatedComponent';\n\nimport FlatList from '../../Lists/FlatList';\nimport createAnimatedComponent from '../createAnimatedComponent';\nimport * as React from 'react';\n\nexport default (createAnimatedComponent(FlatList): AnimatedComponentType<\n React.ElementConfig,\n FlatList,\n>);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {AnimatedComponentType} from '../createAnimatedComponent';\n\nimport Image from '../../Image/Image';\nimport createAnimatedComponent from '../createAnimatedComponent';\nimport * as React from 'react';\n\nexport default (createAnimatedComponent(\n (Image: $FlowFixMe),\n): AnimatedComponentType<\n React.ElementConfig,\n React.ElementRef,\n>);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {____ViewStyle_Internal} from '../../StyleSheet/StyleSheetTypes';\nimport type {AnimatedComponentType} from '../createAnimatedComponent';\n\nimport RefreshControl from '../../Components/RefreshControl/RefreshControl';\nimport ScrollView from '../../Components/ScrollView/ScrollView';\nimport flattenStyle from '../../StyleSheet/flattenStyle';\nimport splitLayoutProps from '../../StyleSheet/splitLayoutProps';\nimport StyleSheet from '../../StyleSheet/StyleSheet';\nimport Platform from '../../Utilities/Platform';\nimport useMergeRefs from '../../Utilities/useMergeRefs';\nimport createAnimatedComponent from '../createAnimatedComponent';\nimport useAnimatedProps from '../useAnimatedProps';\nimport * as React from 'react';\nimport {useMemo} from 'react';\n\ntype Props = React.ElementConfig;\ntype Instance = React.ElementRef;\n\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nconst AnimatedScrollView: AnimatedComponentType =\n React.forwardRef(\n function AnimatedScrollViewWithOrWithoutInvertedRefreshControl(\n props,\n forwardedRef,\n ) {\n // (Android only) When a ScrollView has a RefreshControl and\n // any `style` property set with an Animated.Value, the CSS\n // gets incorrectly applied twice. This is because ScrollView\n // swaps the parent/child relationship of itself and the\n // RefreshControl component (see ScrollView.js for more details).\n if (\n Platform.OS === 'android' &&\n props.refreshControl != null &&\n props.style != null\n ) {\n return (\n // $FlowFixMe[prop-missing]\n \n );\n } else {\n return (\n \n );\n }\n },\n );\n\nconst AnimatedScrollViewWithInvertedRefreshControl = React.forwardRef(\n // $FlowFixMe[incompatible-call]\n function AnimatedScrollViewWithInvertedRefreshControl(\n props: {\n ...React.ElementConfig,\n // $FlowFixMe[unclear-type] Same Flow type as `refreshControl` in ScrollView\n refreshControl: ExactReactElement_DEPRECATED,\n },\n forwardedRef:\n | {current: Instance | null, ...}\n | ((Instance | null) => mixed),\n ) {\n // Split `props` into the animate-able props for the parent (RefreshControl)\n // and child (ScrollView).\n const {intermediatePropsForRefreshControl, intermediatePropsForScrollView} =\n useMemo(() => {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n // $FlowFixMe[incompatible-call]\n const {outer, inner} = splitLayoutProps(flattenStyle(props.style));\n return {\n intermediatePropsForRefreshControl: {style: outer},\n intermediatePropsForScrollView: {...props, style: inner},\n };\n }, [props]);\n\n // Handle animated props on `refreshControl`.\n const [refreshControlAnimatedProps, refreshControlRef] = useAnimatedProps<\n {style: ?____ViewStyle_Internal},\n $FlowFixMe,\n >(intermediatePropsForRefreshControl);\n // NOTE: Assumes that refreshControl.ref` and `refreshControl.style` can be\n // safely clobbered.\n const refreshControl: ExactReactElement_DEPRECATED =\n React.cloneElement(props.refreshControl, {\n ...refreshControlAnimatedProps,\n ref: refreshControlRef,\n });\n\n // Handle animated props on `NativeDirectionalScrollView`.\n const [scrollViewAnimatedProps, scrollViewRef] = useAnimatedProps<\n Props,\n Instance,\n >(intermediatePropsForScrollView);\n const ref = useMergeRefs(scrollViewRef, forwardedRef);\n\n return (\n // $FlowFixMe[incompatible-use] Investigate useAnimatedProps return value\n \n );\n },\n);\n\nconst AnimatedScrollViewWithoutInvertedRefreshControl =\n createAnimatedComponent(ScrollView);\n\nexport default AnimatedScrollView;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {ColorValue} from '../../StyleSheet/StyleSheet';\nimport type {ViewProps} from '../View/ViewPropTypes';\n\nimport AndroidSwipeRefreshLayoutNativeComponent, {\n Commands as AndroidSwipeRefreshLayoutCommands,\n} from './AndroidSwipeRefreshLayoutNativeComponent';\nimport PullToRefreshViewNativeComponent, {\n Commands as PullToRefreshCommands,\n} from './PullToRefreshViewNativeComponent';\nimport React from 'react';\n\nconst Platform = require('../../Utilities/Platform').default;\n\nexport type RefreshControlPropsIOS = $ReadOnly<{\n /**\n * The color of the refresh indicator.\n */\n tintColor?: ?ColorValue,\n /**\n * Title color.\n */\n titleColor?: ?ColorValue,\n /**\n * The title displayed under the refresh indicator.\n */\n title?: ?string,\n}>;\n\nexport type RefreshControlPropsAndroid = $ReadOnly<{\n /**\n * Whether the pull to refresh functionality is enabled.\n */\n enabled?: ?boolean,\n /**\n * The colors (at least one) that will be used to draw the refresh indicator.\n */\n colors?: ?$ReadOnlyArray,\n /**\n * The background color of the refresh indicator.\n */\n progressBackgroundColor?: ?ColorValue,\n /**\n * Size of the refresh indicator.\n */\n size?: ?('default' | 'large'),\n}>;\n\ntype RefreshControlBaseProps = $ReadOnly<{\n /**\n * Called when the view starts refreshing.\n */\n onRefresh?: ?() => void | Promise,\n\n /**\n * Whether the view should be indicating an active refresh.\n */\n refreshing: boolean,\n\n /**\n * Progress view top offset\n */\n progressViewOffset?: ?number,\n}>;\n\nexport type RefreshControlProps = $ReadOnly<{\n ...ViewProps,\n ...RefreshControlPropsIOS,\n ...RefreshControlPropsAndroid,\n ...RefreshControlBaseProps,\n}>;\n\n/**\n * This component is used inside a ScrollView or ListView to add pull to refresh\n * functionality. When the ScrollView is at `scrollY: 0`, swiping down\n * triggers an `onRefresh` event.\n *\n * ### Usage example\n *\n * ``` js\n * class RefreshableList extends Component {\n * constructor(props) {\n * super(props);\n * this.state = {\n * refreshing: false,\n * };\n * }\n *\n * _onRefresh() {\n * this.setState({refreshing: true});\n * fetchData().then(() => {\n * this.setState({refreshing: false});\n * });\n * }\n *\n * render() {\n * return (\n * \n * }\n * ...\n * >\n * ...\n * \n * );\n * }\n * ...\n * }\n * ```\n *\n * __Note:__ `refreshing` is a controlled prop, this is why it needs to be set to true\n * in the `onRefresh` function otherwise the refresh indicator will stop immediately.\n */\nclass RefreshControl extends React.Component {\n _nativeRef: ?React.ElementRef<\n | typeof PullToRefreshViewNativeComponent\n | typeof AndroidSwipeRefreshLayoutNativeComponent,\n >;\n _lastNativeRefreshing: boolean = false;\n\n componentDidMount() {\n this._lastNativeRefreshing = this.props.refreshing;\n }\n\n componentDidUpdate(prevProps: RefreshControlProps) {\n // RefreshControl is a controlled component so if the native refreshing\n // value doesn't match the current js refreshing prop update it to\n // the js value.\n if (this.props.refreshing !== prevProps.refreshing) {\n this._lastNativeRefreshing = this.props.refreshing;\n } else if (\n this.props.refreshing !== this._lastNativeRefreshing &&\n this._nativeRef\n ) {\n if (Platform.OS === 'android') {\n AndroidSwipeRefreshLayoutCommands.setNativeRefreshing(\n this._nativeRef,\n this.props.refreshing,\n );\n } else {\n PullToRefreshCommands.setNativeRefreshing(\n this._nativeRef,\n this.props.refreshing,\n );\n }\n this._lastNativeRefreshing = this.props.refreshing;\n }\n }\n\n render(): React.Node {\n if (Platform.OS === 'ios') {\n const {enabled, colors, progressBackgroundColor, size, ...props} =\n this.props;\n return (\n \n );\n } else if (Platform.OS === 'windows') {\n const {\n colors,\n enabled,\n progressBackgroundColor,\n progressViewOffset,\n size,\n ...props\n } = this.props;\n return (\n \n );\n } else {\n const {tintColor, titleColor, title, ...props} = this.props;\n return (\n \n );\n }\n }\n\n _onRefresh = () => {\n this._lastNativeRefreshing = true;\n\n // $FlowFixMe[unused-promise]\n this.props.onRefresh && this.props.onRefresh();\n\n // The native component will start refreshing so force an update to\n // make sure it stays in sync with the js component.\n this.forceUpdate();\n };\n\n _setNativeRef = (\n ref: ?React.ElementRef<\n | typeof PullToRefreshViewNativeComponent\n | typeof AndroidSwipeRefreshLayoutNativeComponent,\n >,\n ) => {\n this._nativeRef = ref;\n };\n}\n\nexport default RefreshControl;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent';\nimport AndroidSwipeRefreshLayoutNativeComponent from '../../../src/private/specs_DEPRECATED/components/AndroidSwipeRefreshLayoutNativeComponent';\nexport default AndroidSwipeRefreshLayoutNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';\nimport type {ColorValue} from '../../../../Libraries/StyleSheet/StyleSheet';\nimport type {\n DirectEventHandler,\n Float,\n WithDefault,\n} from '../../../../Libraries/Types/CodegenTypes';\nimport type {HostComponent} from '../../types/HostComponent';\n\nimport codegenNativeCommands from '../../../../Libraries/Utilities/codegenNativeCommands';\nimport codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';\nimport * as React from 'react';\n\ntype NativeProps = $ReadOnly<{\n ...ViewProps,\n\n /**\n * Whether the pull to refresh functionality is enabled.\n */\n enabled?: WithDefault,\n /**\n * The colors (at least one) that will be used to draw the refresh indicator.\n */\n colors?: ?$ReadOnlyArray,\n /**\n * The background color of the refresh indicator.\n */\n progressBackgroundColor?: ?ColorValue,\n /**\n * Size of the refresh indicator.\n */\n size?: WithDefault<'default' | 'large', 'default'>,\n /**\n * Progress view top offset\n */\n progressViewOffset?: WithDefault,\n\n /**\n * Called when the view starts refreshing.\n */\n onRefresh?: ?DirectEventHandler,\n\n /**\n * Whether the view should be indicating an active refresh.\n */\n refreshing: boolean,\n}>;\n\ntype NativeType = HostComponent;\n\ninterface NativeCommands {\n +setNativeRefreshing: (\n viewRef: React.ElementRef,\n value: boolean,\n ) => void;\n}\n\nexport const Commands: NativeCommands = codegenNativeCommands({\n supportedCommands: ['setNativeRefreshing'],\n});\n\nexport default (codegenNativeComponent(\n 'AndroidSwipeRefreshLayout',\n): NativeType);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent';\nimport PullToRefreshViewNativeComponent from '../../../src/private/specs_DEPRECATED/components/PullToRefreshViewNativeComponent';\nexport default PullToRefreshViewNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';\nimport type {ColorValue} from '../../../../Libraries/StyleSheet/StyleSheet';\nimport type {\n DirectEventHandler,\n Float,\n WithDefault,\n} from '../../../../Libraries/Types/CodegenTypes';\nimport type {HostComponent} from '../../types/HostComponent';\n\nimport codegenNativeCommands from '../../../../Libraries/Utilities/codegenNativeCommands';\nimport codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';\nimport * as React from 'react';\n\ntype NativeProps = $ReadOnly<{\n ...ViewProps,\n\n /**\n * The color of the refresh indicator.\n */\n tintColor?: ?ColorValue,\n /**\n * Title color.\n */\n titleColor?: ?ColorValue,\n /**\n * The title displayed under the refresh indicator.\n */\n title?: WithDefault,\n /**\n * Progress view top offset\n */\n progressViewOffset?: WithDefault,\n\n /**\n * Called when the view starts refreshing.\n */\n onRefresh?: ?DirectEventHandler,\n\n /**\n * Whether the view should be indicating an active refresh.\n */\n refreshing: boolean,\n}>;\n\ntype ComponentType = HostComponent;\n\ninterface NativeCommands {\n +setNativeRefreshing: (\n viewRef: React.ElementRef,\n refreshing: boolean,\n ) => void;\n}\n\nexport const Commands: NativeCommands = codegenNativeCommands({\n supportedCommands: ['setNativeRefreshing'],\n});\n\nexport default (codegenNativeComponent('PullToRefreshView', {\n paperComponentName: 'RCTRefreshControl',\n excludedPlatforms: ['android'],\n}): HostComponent);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {AnimatedPropsHook} from '../../src/private/animated/createAnimatedPropsHook';\n\nimport createAnimatedPropsHook from '../../src/private/animated/createAnimatedPropsHook';\n\n/**\n * @deprecated\n */\nexport default createAnimatedPropsHook(null) as AnimatedPropsHook;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {SectionBase} from '../../Lists/SectionList';\nimport type {AnimatedComponentType} from '../createAnimatedComponent';\n\nimport SectionList from '../../Lists/SectionList';\nimport createAnimatedComponent from '../createAnimatedComponent';\nimport * as React from 'react';\n\nexport default (createAnimatedComponent(SectionList): AnimatedComponentType<\n React.ElementConfig,\n // $FlowExpectedError[unclear-type]\n SectionList>,\n>);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {ScrollResponderType} from '../Components/ScrollView/ScrollView';\nimport type {\n ScrollToLocationParamsType,\n SectionBase as _SectionBase,\n VirtualizedSectionListProps,\n} from '@react-native/virtualized-lists';\n\nimport Platform from '../Utilities/Platform';\nimport VirtualizedLists from '@react-native/virtualized-lists';\nimport * as React from 'react';\n\nconst VirtualizedSectionList = VirtualizedLists.VirtualizedSectionList;\n\ntype Item = any;\n\nexport type SectionBase = _SectionBase;\n\ntype RequiredProps> = {\n /**\n * The actual data to render, akin to the `data` prop in [``](https://reactnative.dev/docs/flatlist).\n *\n * General shape:\n *\n * sections: $ReadOnlyArray<{\n * data: $ReadOnlyArray,\n * renderItem?: ({item: SectionItem, ...}) => ?React.MixedElement,\n * ItemSeparatorComponent?: ?ReactClass<{highlighted: boolean, ...}>,\n * }>\n */\n sections: $ReadOnlyArray,\n};\n\ntype OptionalProps> = {\n /**\n * Default renderer for every item in every section. Can be over-ridden on a per-section basis.\n */\n renderItem?: (info: {\n item: Item,\n index: number,\n section: SectionT,\n separators: {\n highlight: () => void,\n unhighlight: () => void,\n updateProps: (select: 'leading' | 'trailing', newProps: Object) => void,\n ...\n },\n ...\n }) => null | React.Node,\n /**\n * A marker property for telling the list to re-render (since it implements `PureComponent`). If\n * any of your `renderItem`, Header, Footer, etc. functions depend on anything outside of the\n * `data` prop, stick it here and treat it immutably.\n */\n extraData?: any,\n /**\n * How many items to render in the initial batch. This should be enough to fill the screen but not\n * much more. Note these items will never be unmounted as part of the windowed rendering in order\n * to improve perceived performance of scroll-to-top actions.\n */\n initialNumToRender?: ?number,\n /**\n * Reverses the direction of scroll. Uses scale transforms of -1.\n */\n inverted?: ?boolean,\n /**\n * Used to extract a unique key for a given item at the specified index. Key is used for caching\n * and as the react key to track item re-ordering. The default extractor checks item.key, then\n * falls back to using the index, like react does. Note that this sets keys for each item, but\n * each overall section still needs its own key.\n */\n keyExtractor?: ?(item: Item, index: number) => string,\n /**\n * Called once when the scroll position gets within `onEndReachedThreshold` of the rendered\n * content.\n */\n onEndReached?: ?(info: {distanceFromEnd: number, ...}) => void,\n /**\n * Note: may have bugs (missing content) in some circumstances - use at your own risk.\n *\n * This may improve scroll performance for large lists.\n */\n removeClippedSubviews?: boolean,\n};\n\nexport type Props = {\n ...$Diff<\n VirtualizedSectionListProps,\n {\n getItem: $PropertyType, 'getItem'>,\n getItemCount: $PropertyType<\n VirtualizedSectionListProps,\n 'getItemCount',\n >,\n renderItem: $PropertyType<\n VirtualizedSectionListProps,\n 'renderItem',\n >,\n keyExtractor: $PropertyType<\n VirtualizedSectionListProps,\n 'keyExtractor',\n >,\n ...\n },\n >,\n ...RequiredProps,\n ...OptionalProps,\n};\n\n/**\n * A performant interface for rendering sectioned lists, supporting the most handy features:\n *\n * - Fully cross-platform.\n * - Configurable viewability callbacks.\n * - List header support.\n * - List footer support.\n * - Item separator support.\n * - Section header support.\n * - Section separator support.\n * - Heterogeneous data and item rendering support.\n * - Pull to Refresh.\n * - Scroll loading.\n *\n * If you don't need section support and want a simpler interface, use\n * [``](https://reactnative.dev/docs/flatlist).\n *\n * Simple Examples:\n *\n * }\n * renderSectionHeader={({section}) =>
}\n * sections={[ // homogeneous rendering between sections\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * {data: [...], title: ...},\n * ]}\n * />\n *\n * \n *\n * This is a convenience wrapper around [``](docs/virtualizedlist),\n * and thus inherits its props (as well as those of `ScrollView`) that aren't explicitly listed\n * here, along with the following caveats:\n *\n * - Internal state is not preserved when content scrolls out of the render window. Make sure all\n * your data is captured in the item data or external stores like Flux, Redux, or Relay.\n * - This is a `PureComponent` which means that it will not re-render if `props` remain shallow-\n * equal. Make sure that everything your `renderItem` function depends on is passed as a prop\n * (e.g. `extraData`) that is not `===` after updates, otherwise your UI may not update on\n * changes. This includes the `data` prop and parent component state.\n * - In order to constrain memory and enable smooth scrolling, content is rendered asynchronously\n * offscreen. This means it's possible to scroll faster than the fill rate and momentarily see\n * blank content. This is a tradeoff that can be adjusted to suit the needs of each application,\n * and we are working on improving it behind the scenes.\n * - By default, the list looks for a `key` prop on each item and uses that for the React key.\n * Alternatively, you can provide a custom `keyExtractor` prop.\n *\n */\nexport default class SectionList<\n SectionT: SectionBase,\n> extends React.PureComponent, void> {\n props: Props;\n\n /**\n * Scrolls to the item at the specified `sectionIndex` and `itemIndex` (within the section)\n * positioned in the viewable area such that `viewPosition` 0 places it at the top (and may be\n * covered by a sticky header), 1 at the bottom, and 0.5 centered in the middle. `viewOffset` is a\n * fixed number of pixels to offset the final target position, e.g. to compensate for sticky\n * headers.\n *\n * Note: cannot scroll to locations outside the render window without specifying the\n * `getItemLayout` prop.\n */\n scrollToLocation(params: ScrollToLocationParamsType) {\n if (this._wrapperListRef != null) {\n this._wrapperListRef.scrollToLocation(params);\n }\n }\n\n /**\n * Tells the list an interaction has occurred, which should trigger viewability calculations, e.g.\n * if `waitForInteractions` is true and the user has not scrolled. This is typically called by\n * taps on items or by navigation actions.\n */\n recordInteraction() {\n const listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n listRef && listRef.recordInteraction();\n }\n\n /**\n * Displays the scroll indicators momentarily.\n *\n * @platform ios\n */\n flashScrollIndicators() {\n const listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n listRef && listRef.flashScrollIndicators();\n }\n\n /**\n * Provides a handle to the underlying scroll responder.\n */\n getScrollResponder(): ?ScrollResponderType {\n const listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n if (listRef) {\n return listRef.getScrollResponder();\n }\n }\n\n getScrollableNode(): any {\n const listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n if (listRef) {\n return listRef.getScrollableNode();\n }\n }\n\n setNativeProps(props: Object) {\n const listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n if (listRef) {\n listRef.setNativeProps(props);\n }\n }\n\n render(): React.Node {\n const {\n stickySectionHeadersEnabled: _stickySectionHeadersEnabled,\n ...restProps\n } = this.props;\n const stickySectionHeadersEnabled =\n _stickySectionHeadersEnabled ?? Platform.OS === 'ios';\n return (\n /* $FlowFixMe[incompatible-type] Error revealed after improved builtin\n * React utility types */\n /* $FlowFixMe[incompatible-type] Error revealed after improved builtin\n * React utility types */\n items.length}\n // $FlowFixMe[missing-local-annot]\n getItem={(items, index) => items[index]}\n />\n );\n }\n\n _wrapperListRef: ?React.ElementRef;\n _captureRef = (ref: ?React.RefOf) => {\n this._wrapperListRef = ref;\n };\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {AnimatedComponentType} from '../createAnimatedComponent';\n\nimport Text from '../../Text/Text';\nimport createAnimatedComponent from '../createAnimatedComponent';\nimport * as React from 'react';\n\nexport default (createAnimatedComponent(\n (Text: $FlowFixMe),\n): AnimatedComponentType<\n React.ElementConfig,\n React.ElementRef,\n>);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {AnimatedComponentType} from '../createAnimatedComponent';\n\nimport View from '../../Components/View/View';\nimport createAnimatedComponent from '../createAnimatedComponent';\nimport * as React from 'react';\n\nexport default (createAnimatedComponent(View): AnimatedComponentType<\n React.ElementConfig,\n React.ElementRef,\n>);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n * @oncall react_native\n */\n\nimport type {ScrollViewNativeProps} from '../../../Libraries/Components/ScrollView/ScrollViewNativeComponentType';\nimport type {ViewProps} from '../../../Libraries/Components/View/ViewPropTypes';\nimport type {HostComponent} from '../types/HostComponent';\n\nimport AndroidHorizontalScrollViewNativeComponent from '../../../Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent';\nimport ScrollContentViewNativeComponent from '../../../Libraries/Components/ScrollView/ScrollContentViewNativeComponent';\nimport ScrollViewNativeComponent from '../../../Libraries/Components/ScrollView/ScrollViewNativeComponent';\nimport Platform from '../../../Libraries/Utilities/Platform';\nimport AndroidHorizontalScrollContentViewNativeComponent from '../specs_DEPRECATED/components/AndroidHorizontalScrollContentViewNativeComponent';\n\nexport const HScrollViewNativeComponent: HostComponent =\n Platform.OS === 'android'\n ? AndroidHorizontalScrollViewNativeComponent\n : ScrollViewNativeComponent;\n\nexport const HScrollContentViewNativeComponent: HostComponent =\n Platform.OS === 'android'\n ? AndroidHorizontalScrollContentViewNativeComponent\n : ScrollContentViewNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';\nimport type {ScrollViewNativeProps as Props} from './ScrollViewNativeComponentType';\n\nimport * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';\n\nexport const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {\n uiViewClassName: 'AndroidHorizontalScrollView',\n bubblingEventTypes: {},\n directEventTypes: {},\n validAttributes: {\n decelerationRate: true,\n disableIntervalMomentum: true,\n maintainVisibleContentPosition: true,\n endFillColor: {process: require('../../StyleSheet/processColor').default},\n fadingEdgeLength: true,\n nestedScrollEnabled: true,\n overScrollMode: true,\n pagingEnabled: true,\n persistentScrollbar: true,\n horizontal: true,\n scrollEnabled: true,\n scrollEventThrottle: true,\n scrollPerfTag: true,\n sendMomentumEvents: true,\n showsHorizontalScrollIndicator: true,\n snapToAlignment: true,\n snapToEnd: true,\n snapToInterval: true,\n snapToStart: true,\n snapToOffsets: true,\n contentOffset: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderRadius: true,\n borderStyle: true,\n borderRightColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderColor: {process: require('../../StyleSheet/processColor').default},\n borderBottomColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderTopLeftRadius: true,\n borderTopColor: {process: require('../../StyleSheet/processColor').default},\n removeClippedSubviews: true,\n borderTopRightRadius: true,\n borderLeftColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n pointerEvents: true,\n },\n};\n\nconst AndroidHorizontalScrollViewNativeComponent: HostComponent =\n NativeComponentRegistry.get(\n 'AndroidHorizontalScrollView',\n () => __INTERNAL_VIEW_CONFIG,\n );\n\nexport default AndroidHorizontalScrollViewNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';\nimport type {ViewProps as Props} from '../View/ViewPropTypes';\n\nimport * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';\n\nexport const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {\n uiViewClassName: 'RCTScrollContentView',\n bubblingEventTypes: {},\n directEventTypes: {},\n validAttributes: {},\n};\n\nconst ScrollContentViewNativeComponent: HostComponent =\n NativeComponentRegistry.get(\n 'RCTScrollContentView',\n () => __INTERNAL_VIEW_CONFIG,\n );\n\nexport default ScrollContentViewNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';\nimport type {ScrollViewNativeProps as Props} from './ScrollViewNativeComponentType';\n\nimport * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';\nimport {ConditionallyIgnoredEventHandlers} from '../../NativeComponent/ViewConfigIgnore';\nimport Platform from '../../Utilities/Platform';\n\nexport const __INTERNAL_VIEW_CONFIG: PartialViewConfig =\n Platform.OS === 'android'\n ? {\n uiViewClassName: 'RCTScrollView',\n bubblingEventTypes: {},\n directEventTypes: {\n topMomentumScrollBegin: {\n registrationName: 'onMomentumScrollBegin',\n },\n topMomentumScrollEnd: {\n registrationName: 'onMomentumScrollEnd',\n },\n topScroll: {\n registrationName: 'onScroll',\n },\n topScrollBeginDrag: {\n registrationName: 'onScrollBeginDrag',\n },\n topScrollEndDrag: {\n registrationName: 'onScrollEndDrag',\n },\n },\n validAttributes: {\n contentOffset: {\n diff: require('../../Utilities/differ/pointsDiffer').default,\n },\n decelerationRate: true,\n disableIntervalMomentum: true,\n maintainVisibleContentPosition: true,\n pagingEnabled: true,\n scrollEnabled: true,\n showsVerticalScrollIndicator: true,\n snapToAlignment: true,\n snapToEnd: true,\n snapToInterval: true,\n snapToOffsets: true,\n snapToStart: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n sendMomentumEvents: true,\n borderRadius: true,\n nestedScrollEnabled: true,\n scrollEventThrottle: true,\n borderStyle: true,\n borderRightColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderBottomColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n persistentScrollbar: true,\n horizontal: true,\n endFillColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n fadingEdgeLength: true,\n overScrollMode: true,\n borderTopLeftRadius: true,\n scrollPerfTag: true,\n borderTopColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n removeClippedSubviews: true,\n borderTopRightRadius: true,\n borderLeftColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n pointerEvents: true,\n isInvertedVirtualizedList: true,\n },\n }\n : {\n uiViewClassName: 'RCTScrollView',\n bubblingEventTypes: {},\n directEventTypes: {\n topMomentumScrollBegin: {\n registrationName: 'onMomentumScrollBegin',\n },\n topMomentumScrollEnd: {\n registrationName: 'onMomentumScrollEnd',\n },\n topScroll: {\n registrationName: 'onScroll',\n },\n topScrollBeginDrag: {\n registrationName: 'onScrollBeginDrag',\n },\n topScrollEndDrag: {\n registrationName: 'onScrollEndDrag',\n },\n topScrollToTop: {\n registrationName: 'onScrollToTop',\n },\n },\n validAttributes: {\n alwaysBounceHorizontal: true,\n alwaysBounceVertical: true,\n automaticallyAdjustContentInsets: true,\n automaticallyAdjustKeyboardInsets: true,\n automaticallyAdjustsScrollIndicatorInsets: true,\n bounces: true,\n bouncesZoom: true,\n canCancelContentTouches: true,\n centerContent: true,\n contentInset: {\n diff: require('../../Utilities/differ/insetsDiffer').default,\n },\n contentOffset: {\n diff: require('../../Utilities/differ/pointsDiffer').default,\n },\n contentInsetAdjustmentBehavior: true,\n decelerationRate: true,\n endDraggingSensitivityMultiplier: true,\n directionalLockEnabled: true,\n disableIntervalMomentum: true,\n indicatorStyle: true,\n horizontal: true, // [Windows]\n inverted: true,\n keyboardDismissMode: true,\n maintainVisibleContentPosition: true,\n maximumZoomScale: true,\n minimumZoomScale: true,\n pagingEnabled: true,\n pinchGestureEnabled: true,\n scrollEnabled: true,\n scrollEventThrottle: true,\n scrollIndicatorInsets: {\n diff: require('../../Utilities/differ/insetsDiffer').default,\n },\n scrollToOverflowEnabled: true,\n scrollsToTop: true,\n showsHorizontalScrollIndicator: true,\n showsVerticalScrollIndicator: true,\n snapToAlignment: true,\n snapToEnd: true,\n snapToInterval: true,\n snapToOffsets: true,\n snapToStart: true,\n verticalScrollIndicatorInsets: {\n diff: require('../../Utilities/differ/insetsDiffer').default,\n },\n zoomScale: true,\n ...ConditionallyIgnoredEventHandlers({\n onScrollBeginDrag: true,\n onMomentumScrollEnd: true,\n onScrollEndDrag: true,\n onMomentumScrollBegin: true,\n onScrollToTop: true,\n onScroll: true,\n }),\n },\n };\n\nconst ScrollViewNativeComponent: HostComponent =\n NativeComponentRegistry.get(\n 'RCTScrollView',\n () => __INTERNAL_VIEW_CONFIG,\n );\n\nexport default ScrollViewNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';\nimport type {HostComponent} from '../../types/HostComponent';\n\nimport codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';\n\ntype NativeProps = $ReadOnly<{\n ...ViewProps,\n\n removeClippedSubviews?: ?boolean,\n}>;\n\ntype NativeType = HostComponent;\n\nexport default (codegenNativeComponent(\n 'AndroidHorizontalScrollContentView',\n {interfaceOnly: true},\n): NativeType);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n * @oncall react_native\n */\n\nimport type {ScrollViewNativeProps} from '../../../Libraries/Components/ScrollView/ScrollViewNativeComponentType';\nimport type {ViewProps} from '../../../Libraries/Components/View/ViewPropTypes';\nimport type {HostComponent} from '../types/HostComponent';\n\nimport ScrollContentViewNativeComponent from '../../../Libraries/Components/ScrollView/ScrollContentViewNativeComponent';\nimport ScrollViewNativeComponent from '../../../Libraries/Components/ScrollView/ScrollViewNativeComponent';\nimport View from '../../../Libraries/Components/View/View';\nimport Platform from '../../../Libraries/Utilities/Platform';\n\nexport const VScrollViewNativeComponent: HostComponent =\n ScrollViewNativeComponent;\n\nexport const VScrollContentViewNativeComponent: HostComponent =\n Platform.OS === 'android' ? View : ScrollContentViewNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {I18nManagerConstants} from './NativeI18nManager';\n\nimport NativeI18nManager from './NativeI18nManager';\n\nconst i18nConstants: I18nManagerConstants = getI18nManagerConstants();\n\nfunction getI18nManagerConstants(): I18nManagerConstants {\n if (NativeI18nManager) {\n const {isRTL, doLeftAndRightSwapInRTL, localeIdentifier} =\n NativeI18nManager.getConstants();\n return {isRTL, doLeftAndRightSwapInRTL, localeIdentifier};\n }\n\n return {\n isRTL: false,\n doLeftAndRightSwapInRTL: true,\n };\n}\n\nexport default {\n getConstants: (): I18nManagerConstants => {\n return i18nConstants;\n },\n\n allowRTL: (shouldAllow: boolean) => {\n if (!NativeI18nManager) {\n return;\n }\n\n NativeI18nManager.allowRTL(shouldAllow);\n },\n\n forceRTL: (shouldForce: boolean) => {\n if (!NativeI18nManager) {\n return;\n }\n\n NativeI18nManager.forceRTL(shouldForce);\n },\n\n swapLeftAndRightInRTL: (flipStyles: boolean) => {\n if (!NativeI18nManager) {\n return;\n }\n\n NativeI18nManager.swapLeftAndRightInRTL(flipStyles);\n },\n\n isRTL: i18nConstants.isRTL as I18nManagerConstants['isRTL'],\n doLeftAndRightSwapInRTL:\n i18nConstants.doLeftAndRightSwapInRTL as I18nManagerConstants['doLeftAndRightSwapInRTL'],\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeI18nManager';\nimport NativeI18nManager from '../../src/private/specs_DEPRECATED/modules/NativeI18nManager';\nexport default NativeI18nManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport type I18nManagerConstants = {\n doLeftAndRightSwapInRTL: boolean,\n isRTL: boolean,\n localeIdentifier?: ?string,\n};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => I18nManagerConstants;\n allowRTL: (allowRTL: boolean) => void;\n forceRTL: (forceRTL: boolean) => void;\n swapLeftAndRightInRTL: (flipStyles: boolean) => void;\n}\n\nexport default (TurboModuleRegistry.get('I18nManager'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {\n GestureResponderEvent,\n LayoutChangeEvent,\n MouseEvent,\n // [Windows\n BlurEvent,\n FocusEvent,\n KeyEvent, // Windows]\n} from '../../Types/CoreEventTypes';\nimport type {ViewProps} from '../View/ViewPropTypes';\n\nimport {PressabilityDebugView} from '../../Pressability/PressabilityDebug';\nimport usePressability from '../../Pressability/usePressability';\nimport {type RectOrSize} from '../../StyleSheet/Rect';\nimport useMergeRefs from '../../Utilities/useMergeRefs';\nimport View from '../View/View';\nimport useAndroidRippleForView, {\n type PressableAndroidRippleConfig,\n} from './useAndroidRippleForView';\nimport * as React from 'react';\nimport {useMemo, useRef, useState} from 'react';\nimport type {HandledKeyboardEvent} from '../../Components/View/ViewPropTypes';\n\ntype ViewStyleProp = $ElementType, 'style'>;\n\nexport type PressableStateCallbackType = $ReadOnly<{\n pressed: boolean,\n}>;\n\ntype PressableBaseProps = $ReadOnly<{\n /**\n * Whether a press gesture can be interrupted by a parent gesture such as a\n * scroll event. Defaults to true.\n */\n cancelable?: ?boolean,\n\n /**\n * Either children or a render prop that receives a boolean reflecting whether\n * the component is currently pressed.\n */\n children: React.Node | ((state: PressableStateCallbackType) => React.Node),\n\n /**\n * Duration to wait after hover in before calling `onHoverIn`.\n */\n delayHoverIn?: ?number,\n\n /**\n * Duration to wait after hover out before calling `onHoverOut`.\n */\n delayHoverOut?: ?number,\n\n /**\n * Duration (in milliseconds) from `onPressIn` before `onLongPress` is called.\n */\n delayLongPress?: ?number,\n\n /**\n * Whether the press behavior is disabled.\n */\n disabled?: ?boolean,\n\n /**\n * Additional distance outside of this view in which a press is detected.\n */\n hitSlop?: ?RectOrSize,\n\n /**\n * Additional distance outside of this view in which a touch is considered a\n * press before `onPressOut` is triggered.\n */\n pressRetentionOffset?: ?RectOrSize,\n\n /**\n * Called when this view's layout changes.\n */\n onLayout?: ?(event: LayoutChangeEvent) => mixed,\n\n /**\n * Called when the hover is activated to provide visual feedback.\n */\n onHoverIn?: ?(event: MouseEvent) => mixed,\n\n /**\n * Called when the hover is deactivated to undo visual feedback.\n */\n onHoverOut?: ?(event: MouseEvent) => mixed,\n\n /**\n * Called when a long-tap gesture is detected.\n */\n onLongPress?: ?(event: GestureResponderEvent) => mixed,\n\n /**\n * Called when a single tap gesture is detected.\n */\n onPress?: ?(event: GestureResponderEvent) => mixed,\n\n /**\n * Called when a touch is engaged before `onPress`.\n */\n onPressIn?: ?(event: GestureResponderEvent) => mixed,\n\n /**\n * Called when a touch is released before `onPress`.\n */\n onPressOut?: ?(event: GestureResponderEvent) => mixed,\n\n /**\n * Called after the element loses focus.\n */\n onBlur?: ?(event: BlurEvent) => mixed,\n\n /**\n * Called after the element is focused.\n */\n onFocus?: ?(event: FocusEvent) => mixed,\n\n /*\n * Called after a key down event is detected.\n */\n onKeyDown?: ?(event: KeyEvent) => mixed,\n\n /*\n * Called after a key up event is detected.\n */\n onKeyUp?: ?(event: KeyEvent) => mixed,\n\n /*\n * List of keys handled only by JS.\n */\n keyDownEvents?: ?$ReadOnlyArray,\n\n /*\n * List of keys to be handled only by JS.\n */\n keyUpEvents?: ?$ReadOnlyArray,\n\n /*\n * Called in the tunneling phase after a key up event is detected.\n */\n onKeyDownCapture?: ?(event: KeyEvent) => void,\n\n /*\n * Called in the tunneling phase after a key up event is detected.\n */\n onKeyUpCapture?: ?(event: KeyEvent) => void,\n\n /**\n * Either view styles or a function that receives a boolean reflecting whether\n * the component is currently pressed and returns view styles.\n */\n style?:\n | ViewStyleProp\n | ((state: PressableStateCallbackType) => ViewStyleProp),\n\n /**\n * Identifier used to find this view in tests.\n */\n testID?: ?string,\n\n /**\n * If true, doesn't play system sound on touch.\n */\n android_disableSound?: ?boolean,\n\n /**\n * Enables the Android ripple effect and configures its color.\n */\n android_ripple?: ?PressableAndroidRippleConfig,\n\n /**\n * Used only for documentation or testing (e.g. snapshot testing).\n */\n testOnly_pressed?: ?boolean,\n\n /**\n * Duration to wait after press down before calling `onPressIn`.\n */\n unstable_pressDelay?: ?number,\n}>;\n\nexport type PressableProps = $ReadOnly<{\n ...ViewProps,\n ...PressableBaseProps,\n}>;\n\ntype Instance = React.ElementRef;\n\n/**\n * Component used to build display components that should respond to whether the\n * component is currently pressed or not.\n */\nfunction Pressable(\n props: PressableProps,\n forwardedRef: React.RefSetter,\n): React.Node {\n const {\n accessible,\n accessibilityState,\n 'aria-live': ariaLive,\n android_disableSound,\n android_ripple,\n 'aria-busy': ariaBusy,\n 'aria-checked': ariaChecked,\n 'aria-disabled': ariaDisabled,\n 'aria-expanded': ariaExpanded,\n 'aria-label': ariaLabel,\n 'aria-selected': ariaSelected,\n 'aria-readonly': ariaReadOnly,\n 'aria-multiselectable': ariaMultiselectable, // Windows\n 'aria-required': ariaRequired, // Windows\n cancelable,\n children,\n delayHoverIn,\n delayHoverOut,\n delayLongPress,\n disabled,\n focusable,\n hitSlop,\n onHoverIn,\n onHoverOut,\n onLongPress,\n onPress,\n onPressIn,\n onPressOut,\n // [Windows\n onBlur,\n onFocus,\n onKeyDown,\n onKeyUp,\n // Windows]\n pressRetentionOffset,\n style,\n testOnly_pressed,\n unstable_pressDelay,\n ...restProps\n } = props;\n\n const viewRef = useRef(null);\n const mergedRef = useMergeRefs(forwardedRef, viewRef);\n\n const android_rippleConfig = useAndroidRippleForView(android_ripple, viewRef);\n\n const [pressed, setPressed] = usePressState(testOnly_pressed === true);\n\n const shouldUpdatePressed =\n typeof children === 'function' || typeof style === 'function';\n\n let _accessibilityState = {\n busy: ariaBusy ?? accessibilityState?.busy,\n checked: ariaChecked ?? accessibilityState?.checked,\n disabled: ariaDisabled ?? accessibilityState?.disabled,\n expanded: ariaExpanded ?? accessibilityState?.expanded,\n selected: ariaSelected ?? accessibilityState?.selected,\n readOnly: ariaReadOnly ?? accessibilityState?.readOnly,\n multiselectable: ariaMultiselectable ?? accessibilityState?.multiselectable, // Windows\n required: ariaRequired ?? accessibilityState?.required, // Windows\n };\n\n _accessibilityState =\n disabled != null ? {..._accessibilityState, disabled} : _accessibilityState;\n\n const accessibilityValue = {\n max: props['aria-valuemax'] ?? props.accessibilityValue?.max,\n min: props['aria-valuemin'] ?? props.accessibilityValue?.min,\n now: props['aria-valuenow'] ?? props.accessibilityValue?.now,\n text: props['aria-valuetext'] ?? props.accessibilityValue?.text,\n };\n\n const accessibilityLiveRegion =\n ariaLive === 'off' ? 'none' : ariaLive ?? props.accessibilityLiveRegion;\n\n const accessibilityLabel = ariaLabel ?? props.accessibilityLabel;\n const restPropsWithDefaults: React.ElementConfig = {\n ...restProps,\n ...android_rippleConfig?.viewProps,\n accessible: accessible !== false,\n accessibilityViewIsModal:\n restProps['aria-modal'] ?? restProps.accessibilityViewIsModal,\n accessibilityLiveRegion,\n accessibilityLabel,\n accessibilityState: _accessibilityState,\n disabled: disabled === true,\n focusable: focusable !== false,\n accessibilityValue,\n hitSlop,\n };\n\n const config = useMemo(\n () => ({\n cancelable,\n disabled,\n hitSlop,\n pressRectOffset: pressRetentionOffset,\n android_disableSound,\n delayHoverIn,\n delayHoverOut,\n delayLongPress,\n delayPressIn: unstable_pressDelay,\n onHoverIn,\n onHoverOut,\n onLongPress,\n onPress,\n onPressIn(event: GestureResponderEvent): void {\n if (android_rippleConfig != null) {\n android_rippleConfig.onPressIn(event);\n }\n shouldUpdatePressed && setPressed(true);\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressMove: android_rippleConfig?.onPressMove,\n onPressOut(event: GestureResponderEvent): void {\n if (android_rippleConfig != null) {\n android_rippleConfig.onPressOut(event);\n }\n shouldUpdatePressed && setPressed(false);\n if (onPressOut != null) {\n onPressOut(event);\n }\n },\n // [Windows\n onBlur,\n onFocus,\n onKeyDown,\n onKeyUp,\n // Windows]\n }),\n [\n android_disableSound,\n android_rippleConfig,\n cancelable,\n delayHoverIn,\n delayHoverOut,\n delayLongPress,\n disabled,\n hitSlop,\n onHoverIn,\n onHoverOut,\n onLongPress,\n onPress,\n onPressIn,\n onPressOut,\n // [Windows\n onBlur,\n onFocus,\n onKeyDown,\n onKeyUp,\n // Windows]\n pressRetentionOffset,\n setPressed,\n shouldUpdatePressed,\n unstable_pressDelay,\n ],\n );\n const eventHandlers = usePressability(config);\n\n return (\n \n {typeof children === 'function' ? children({pressed}) : children}\n {__DEV__ ? : null}\n \n );\n}\n\nfunction usePressState(forcePressed: boolean): [boolean, (boolean) => void] {\n const [pressed, setPressed] = useState(false);\n return [pressed || forcePressed, setPressed];\n}\n\nconst MemoedPressable = React.memo(React.forwardRef(Pressable));\nMemoedPressable.displayName = 'Pressable';\n\nexport default (MemoedPressable: component(\n ref?: React.RefSetter>,\n ...props: PressableProps\n));\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {ColorValue} from '../../StyleSheet/StyleSheet';\nimport type {GestureResponderEvent} from '../../Types/CoreEventTypes';\n\nimport processColor from '../../StyleSheet/processColor';\nimport Platform from '../../Utilities/Platform';\nimport View from '../View/View';\nimport {Commands} from '../View/ViewNativeComponent';\nimport invariant from 'invariant';\nimport * as React from 'react';\nimport {useMemo} from 'react';\n\ntype NativeBackgroundProp = $ReadOnly<{\n type: 'RippleAndroid',\n color: ?number,\n borderless: boolean,\n rippleRadius: ?number,\n}>;\n\nexport type PressableAndroidRippleConfig = {\n color?: ColorValue,\n borderless?: boolean,\n radius?: number,\n foreground?: boolean,\n};\n\n/**\n * Provides the event handlers and props for configuring the ripple effect on\n * supported versions of Android.\n */\nexport default function useAndroidRippleForView(\n rippleConfig: ?PressableAndroidRippleConfig,\n viewRef: {current: null | React.ElementRef},\n): ?$ReadOnly<{\n onPressIn: (event: GestureResponderEvent) => void,\n onPressMove: (event: GestureResponderEvent) => void,\n onPressOut: (event: GestureResponderEvent) => void,\n viewProps:\n | $ReadOnly<{nativeBackgroundAndroid: NativeBackgroundProp}>\n | $ReadOnly<{nativeForegroundAndroid: NativeBackgroundProp}>,\n}> {\n const {color, borderless, radius, foreground} = rippleConfig ?? {};\n\n return useMemo(() => {\n if (\n Platform.OS === 'android' &&\n (color != null || borderless != null || radius != null)\n ) {\n const processedColor = processColor(color);\n invariant(\n processedColor == null || typeof processedColor === 'number',\n 'Unexpected color given for Ripple color',\n );\n\n const nativeRippleValue = {\n type: 'RippleAndroid',\n color: processedColor,\n borderless: borderless === true,\n rippleRadius: radius,\n };\n\n return {\n viewProps:\n foreground === true\n ? // $FlowFixMe[incompatible-return]\n {nativeForegroundAndroid: nativeRippleValue}\n : // $FlowFixMe[incompatible-return]\n {nativeBackgroundAndroid: nativeRippleValue},\n onPressIn(event: GestureResponderEvent): void {\n const view = viewRef.current;\n if (view != null) {\n Commands.hotspotUpdate(\n view,\n event.nativeEvent.locationX ?? 0,\n event.nativeEvent.locationY ?? 0,\n );\n Commands.setPressed(view, true);\n }\n },\n onPressMove(event: GestureResponderEvent): void {\n const view = viewRef.current;\n if (view != null) {\n Commands.hotspotUpdate(\n view,\n event.nativeEvent.locationX ?? 0,\n event.nativeEvent.locationY ?? 0,\n );\n }\n },\n onPressOut(event: GestureResponderEvent): void {\n const view = viewRef.current;\n if (view != null) {\n Commands.setPressed(view, false);\n }\n },\n };\n }\n return null;\n }, [borderless, color, foreground, radius, viewRef]);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport type {ColorValue} from '../../StyleSheet/StyleSheet';\n\nimport processColor from '../../StyleSheet/processColor';\nimport Platform from '../../Utilities/Platform';\nimport NativeStatusBarManagerAndroid from './NativeStatusBarManagerAndroid';\nimport NativeStatusBarManagerIOS from './NativeStatusBarManagerIOS';\nimport invariant from 'invariant';\nimport * as React from 'react';\n\n/**\n * Status bar style\n */\nexport type StatusBarStyle = $Keys<{\n /**\n * Default status bar style (dark for iOS, light for Android)\n */\n default: string,\n /**\n * Dark background, white texts and icons\n */\n 'light-content': string,\n /**\n * Light background, dark texts and icons\n */\n 'dark-content': string,\n ...\n}>;\n\n/**\n * Status bar animation\n */\nexport type StatusBarAnimation = $Keys<{\n /**\n * No animation\n */\n none: string,\n /**\n * Fade animation\n */\n fade: string,\n /**\n * Slide animation\n */\n slide: string,\n ...\n}>;\n\nexport type StatusBarPropsAndroid = $ReadOnly<{\n /**\n * The background color of the status bar.\n * @platform android\n */\n backgroundColor?: ?ColorValue,\n /**\n * If the status bar is translucent.\n * When translucent is set to true, the app will draw under the status bar.\n * This is useful when using a semi transparent status bar color.\n *\n * @platform android\n */\n translucent?: ?boolean,\n}>;\n\nexport type StatusBarPropsIOS = $ReadOnly<{\n /**\n * If the network activity indicator should be visible.\n *\n * @platform ios\n */\n networkActivityIndicatorVisible?: ?boolean,\n /**\n * The transition effect when showing and hiding the status bar using the `hidden`\n * prop. Defaults to 'fade'.\n *\n * @platform ios\n */\n showHideTransition?: ?('fade' | 'slide' | 'none'),\n}>;\n\ntype StatusBarBaseProps = $ReadOnly<{\n /**\n * If the status bar is hidden.\n */\n hidden?: ?boolean,\n /**\n * If the transition between status bar property changes should be animated.\n * Supported for backgroundColor, barStyle and hidden.\n */\n animated?: ?boolean,\n /**\n * Sets the color of the status bar text.\n */\n barStyle?: ?('default' | 'light-content' | 'dark-content'),\n}>;\n\nexport type StatusBarProps = $ReadOnly<{\n ...StatusBarPropsAndroid,\n ...StatusBarPropsIOS,\n ...StatusBarBaseProps,\n}>;\n\ntype StackProps = {\n backgroundColor: ?{\n value: StatusBarProps['backgroundColor'],\n animated: boolean,\n },\n barStyle: ?{\n value: StatusBarProps['barStyle'],\n animated: boolean,\n },\n translucent: StatusBarProps['translucent'],\n hidden: ?{\n value: boolean,\n animated: boolean,\n transition: StatusBarProps['showHideTransition'],\n },\n networkActivityIndicatorVisible: StatusBarProps['networkActivityIndicatorVisible'],\n};\n\n/**\n * Merges the prop stack with the default values.\n */\nfunction mergePropsStack(\n propsStack: Array,\n defaultValues: Object,\n): Object {\n return propsStack.reduce(\n (prev, cur) => {\n for (const prop in cur) {\n if (cur[prop] != null) {\n prev[prop] = cur[prop];\n }\n }\n return prev;\n },\n {...defaultValues},\n );\n}\n\n/**\n * Returns an object to insert in the props stack from the props\n * and the transition/animation info.\n */\nfunction createStackEntry(props: StatusBarProps): StackProps {\n const animated = props.animated ?? false;\n const showHideTransition = props.showHideTransition ?? 'fade';\n return {\n backgroundColor:\n props.backgroundColor != null\n ? {\n value: props.backgroundColor,\n animated,\n }\n : null,\n barStyle:\n props.barStyle != null\n ? {\n value: props.barStyle,\n animated,\n }\n : null,\n translucent: props.translucent,\n hidden:\n props.hidden != null\n ? {\n value: props.hidden,\n animated,\n transition: showHideTransition,\n }\n : null,\n networkActivityIndicatorVisible: props.networkActivityIndicatorVisible,\n };\n}\n\n/**\n * Component to control the app status bar.\n *\n * It is possible to have multiple `StatusBar` components mounted at the same\n * time. The props will be merged in the order the `StatusBar` components were\n * mounted.\n *\n * ### Imperative API\n *\n * For cases where using a component is not ideal, there are static methods\n * to manipulate the `StatusBar` display stack. These methods have the same\n * behavior as mounting and unmounting a `StatusBar` component.\n *\n * For example, you can call `StatusBar.pushStackEntry` to update the status bar\n * before launching a third-party native UI component, and then call\n * `StatusBar.popStackEntry` when completed.\n *\n * ```\n * const openThirdPartyBugReporter = async () => {\n * // The bug reporter has a dark background, so we push a new status bar style.\n * const stackEntry = StatusBar.pushStackEntry({barStyle: 'light-content'});\n *\n * // `open` returns a promise that resolves when the UI is dismissed.\n * await BugReporter.open();\n *\n * // Don't forget to call `popStackEntry` when you're done.\n * StatusBar.popStackEntry(stackEntry);\n * };\n * ```\n *\n * There is a legacy imperative API that enables you to manually update the\n * status bar styles. However, the legacy API does not update the internal\n * `StatusBar` display stack, which means that any changes will be overridden\n * whenever a `StatusBar` component is mounted or unmounted.\n *\n * It is strongly advised that you use `pushStackEntry`, `popStackEntry`, or\n * `replaceStackEntry` instead of the static methods beginning with `set`.\n *\n * ### Constants\n *\n * `currentHeight` (Android only) The height of the status bar.\n */\nclass StatusBar extends React.Component {\n static _propsStack: Array = [];\n\n static _defaultProps: any = createStackEntry({\n backgroundColor:\n Platform.OS === 'android'\n ? NativeStatusBarManagerAndroid.getConstants()\n .DEFAULT_BACKGROUND_COLOR ?? 'black'\n : 'black',\n barStyle: 'default',\n translucent: false,\n hidden: false,\n networkActivityIndicatorVisible: false,\n });\n\n // Timer for updating the native module values at the end of the frame.\n static _updateImmediate: ?number = null;\n\n // The current merged values from the props stack.\n static _currentValues: ?StackProps = null;\n\n // TODO(janic): Provide a real API to deal with status bar height. See the\n // discussion in #6195.\n /**\n * The current height of the status bar on the device.\n *\n * @platform android\n */\n static currentHeight: ?number =\n Platform.OS === 'android'\n ? NativeStatusBarManagerAndroid.getConstants().HEIGHT\n : null;\n\n // Provide an imperative API as static functions of the component.\n // See the corresponding prop for more detail.\n\n /**\n * Show or hide the status bar\n * @param hidden Hide the status bar.\n * @param animation Optional animation when\n * changing the status bar hidden property.\n */\n static setHidden(hidden: boolean, animation?: StatusBarAnimation) {\n animation = animation || 'none';\n StatusBar._defaultProps.hidden.value = hidden;\n if (Platform.OS === 'ios') {\n NativeStatusBarManagerIOS.setHidden(hidden, animation);\n } else if (Platform.OS === 'android') {\n NativeStatusBarManagerAndroid.setHidden(hidden);\n }\n }\n\n /**\n * Set the status bar style\n * @param style Status bar style to set\n * @param animated Animate the style change.\n */\n static setBarStyle(style: StatusBarStyle, animated?: boolean) {\n animated = animated || false;\n StatusBar._defaultProps.barStyle.value = style;\n if (Platform.OS === 'ios') {\n NativeStatusBarManagerIOS.setStyle(style, animated);\n } else if (Platform.OS === 'android') {\n NativeStatusBarManagerAndroid.setStyle(style);\n }\n }\n\n /**\n * DEPRECATED - The status bar network activity indicator is not supported in iOS 13 and later. This will be removed in a future release.\n * @param visible Show the indicator.\n *\n * @deprecated\n */\n static setNetworkActivityIndicatorVisible(visible: boolean) {\n if (Platform.OS !== 'ios') {\n console.warn(\n '`setNetworkActivityIndicatorVisible` is only available on iOS',\n );\n return;\n }\n StatusBar._defaultProps.networkActivityIndicatorVisible = visible;\n NativeStatusBarManagerIOS.setNetworkActivityIndicatorVisible(visible);\n }\n\n /**\n * Set the background color for the status bar\n * @param color Background color.\n * @param animated Animate the style change.\n */\n static setBackgroundColor(color: ColorValue, animated?: boolean): void {\n if (Platform.OS !== 'android') {\n console.warn('`setBackgroundColor` is only available on Android');\n return;\n }\n animated = animated || false;\n StatusBar._defaultProps.backgroundColor.value = color;\n\n const processedColor = processColor(color);\n if (processedColor == null) {\n console.warn(\n `\\`StatusBar.setBackgroundColor\\`: Color ${String(color)} parsed to null or undefined`,\n );\n return;\n }\n invariant(\n typeof processedColor === 'number',\n 'Unexpected color given for StatusBar.setBackgroundColor',\n );\n\n NativeStatusBarManagerAndroid.setColor(processedColor, animated);\n }\n\n /**\n * Control the translucency of the status bar\n * @param translucent Set as translucent.\n */\n static setTranslucent(translucent: boolean) {\n if (Platform.OS !== 'android') {\n console.warn('`setTranslucent` is only available on Android');\n return;\n }\n StatusBar._defaultProps.translucent = translucent;\n NativeStatusBarManagerAndroid.setTranslucent(translucent);\n }\n\n /**\n * Push a StatusBar entry onto the stack.\n * The return value should be passed to `popStackEntry` when complete.\n *\n * @param props Object containing the StatusBar props to use in the stack entry.\n */\n static pushStackEntry(props: StatusBarProps): StackProps {\n const entry = createStackEntry(props);\n StatusBar._propsStack.push(entry);\n StatusBar._updatePropsStack();\n return entry;\n }\n\n /**\n * Pop a StatusBar entry from the stack.\n *\n * @param entry Entry returned from `pushStackEntry`.\n */\n static popStackEntry(entry: StackProps) {\n const index = StatusBar._propsStack.indexOf(entry);\n if (index !== -1) {\n StatusBar._propsStack.splice(index, 1);\n }\n StatusBar._updatePropsStack();\n }\n\n /**\n * Replace an existing StatusBar stack entry with new props.\n *\n * @param entry Entry returned from `pushStackEntry` to replace.\n * @param props Object containing the StatusBar props to use in the replacement stack entry.\n */\n static replaceStackEntry(\n entry: StackProps,\n props: StatusBarProps,\n ): StackProps {\n const newEntry = createStackEntry(props);\n const index = StatusBar._propsStack.indexOf(entry);\n if (index !== -1) {\n StatusBar._propsStack[index] = newEntry;\n }\n StatusBar._updatePropsStack();\n return newEntry;\n }\n\n _stackEntry: ?StackProps = null;\n\n componentDidMount() {\n // Every time a StatusBar component is mounted, we push it's prop to a stack\n // and always update the native status bar with the props from the top of then\n // stack. This allows having multiple StatusBar components and the one that is\n // added last or is deeper in the view hierarchy will have priority.\n this._stackEntry = StatusBar.pushStackEntry(this.props);\n }\n\n componentWillUnmount() {\n // When a StatusBar is unmounted, remove itself from the stack and update\n // the native bar with the next props.\n if (this._stackEntry != null) {\n StatusBar.popStackEntry(this._stackEntry);\n }\n }\n\n componentDidUpdate() {\n if (this._stackEntry != null) {\n this._stackEntry = StatusBar.replaceStackEntry(\n this._stackEntry,\n this.props,\n );\n }\n }\n\n /**\n * Updates the native status bar with the props from the stack.\n */\n static _updatePropsStack = () => {\n // Send the update to the native module only once at the end of the frame.\n clearImmediate(StatusBar._updateImmediate);\n StatusBar._updateImmediate = setImmediate(() => {\n const oldProps = StatusBar._currentValues;\n const mergedProps = mergePropsStack(\n StatusBar._propsStack,\n StatusBar._defaultProps,\n );\n\n // Update the props that have changed using the merged values from the props stack.\n if (Platform.OS === 'ios') {\n if (\n !oldProps ||\n oldProps.barStyle?.value !== mergedProps.barStyle.value\n ) {\n NativeStatusBarManagerIOS.setStyle(\n mergedProps.barStyle.value,\n mergedProps.barStyle.animated || false,\n );\n }\n if (!oldProps || oldProps.hidden?.value !== mergedProps.hidden.value) {\n NativeStatusBarManagerIOS.setHidden(\n mergedProps.hidden.value,\n mergedProps.hidden.animated\n ? mergedProps.hidden.transition\n : 'none',\n );\n }\n\n if (\n !oldProps ||\n oldProps.networkActivityIndicatorVisible !==\n mergedProps.networkActivityIndicatorVisible\n ) {\n NativeStatusBarManagerIOS.setNetworkActivityIndicatorVisible(\n mergedProps.networkActivityIndicatorVisible,\n );\n }\n } else if (Platform.OS === 'android') {\n //todo(T60684787): Add back optimization to only update bar style and\n //background color if the new value is different from the old value.\n NativeStatusBarManagerAndroid.setStyle(mergedProps.barStyle.value);\n const processedColor = processColor(mergedProps.backgroundColor.value);\n if (processedColor == null) {\n console.warn(\n `\\`StatusBar._updatePropsStack\\`: Color ${mergedProps.backgroundColor.value} parsed to null or undefined`,\n );\n } else {\n invariant(\n typeof processedColor === 'number',\n 'Unexpected color given in StatusBar._updatePropsStack',\n );\n NativeStatusBarManagerAndroid.setColor(\n processedColor,\n mergedProps.backgroundColor.animated,\n );\n }\n if (!oldProps || oldProps.hidden?.value !== mergedProps.hidden.value) {\n NativeStatusBarManagerAndroid.setHidden(mergedProps.hidden.value);\n }\n // Activities are not translucent by default, so always set if true.\n if (\n !oldProps ||\n oldProps.translucent !== mergedProps.translucent ||\n mergedProps.translucent\n ) {\n NativeStatusBarManagerAndroid.setTranslucent(mergedProps.translucent);\n }\n }\n // Update the current prop values.\n StatusBar._currentValues = mergedProps;\n });\n };\n\n render(): React.Node {\n return null;\n }\n}\n\nexport default StatusBar;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeStatusBarManagerAndroid';\nimport NativeStatusBarManagerAndroid from '../../../src/private/specs_DEPRECATED/modules/NativeStatusBarManagerAndroid';\nexport default NativeStatusBarManagerAndroid;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +getConstants: () => {\n +HEIGHT: number,\n +DEFAULT_BACKGROUND_COLOR: number,\n };\n +setColor: (color: number, animated: boolean) => void;\n +setTranslucent: (translucent: boolean) => void;\n\n /**\n * - statusBarStyles can be:\n * - 'default'\n * - 'dark-content'\n */\n +setStyle: (statusBarStyle?: ?string) => void;\n +setHidden: (hidden: boolean) => void;\n}\n\nconst NativeModule = TurboModuleRegistry.getEnforcing('StatusBarManager');\nlet constants = null;\n\nconst NativeStatusBarManager = {\n getConstants(): {\n +HEIGHT: number,\n +DEFAULT_BACKGROUND_COLOR?: number,\n } {\n if (constants == null) {\n constants = NativeModule.getConstants();\n }\n return constants;\n },\n\n setColor(color: number, animated: boolean): void {\n NativeModule.setColor(color, animated);\n },\n\n setTranslucent(translucent: boolean): void {\n NativeModule.setTranslucent(translucent);\n },\n\n /**\n * - statusBarStyles can be:\n * - 'default'\n * - 'dark-content'\n */\n setStyle(statusBarStyle?: ?string): void {\n NativeModule.setStyle(statusBarStyle);\n },\n\n setHidden(hidden: boolean): void {\n NativeModule.setHidden(hidden);\n },\n};\n\nexport default NativeStatusBarManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeStatusBarManagerIOS';\nimport NativeStatusBarManagerIOS from '../../../src/private/specs_DEPRECATED/modules/NativeStatusBarManagerIOS';\nexport default NativeStatusBarManagerIOS;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +getConstants: () => {\n +HEIGHT: number,\n +DEFAULT_BACKGROUND_COLOR?: number,\n };\n\n // TODO(T47754272) Can we remove this method?\n +getHeight: (callback: (result: {height: number}) => void) => void;\n +setNetworkActivityIndicatorVisible: (visible: boolean) => void;\n +addListener: (eventType: string) => void;\n +removeListeners: (count: number) => void;\n\n /**\n * - statusBarStyles can be:\n * - 'default'\n * - 'dark-content'\n * - 'light-content'\n */\n +setStyle: (statusBarStyle?: ?string, animated: boolean) => void;\n /**\n * - withAnimation can be: 'none' | 'fade' | 'slide'\n */\n +setHidden: (hidden: boolean, withAnimation: string) => void;\n}\n\nconst NativeModule = TurboModuleRegistry.getEnforcing('StatusBarManager');\nlet constants = null;\n\nconst NativeStatusBarManager = {\n getConstants(): {\n +HEIGHT: number,\n +DEFAULT_BACKGROUND_COLOR?: number,\n } {\n if (constants == null) {\n constants = NativeModule.getConstants();\n }\n return constants;\n },\n\n // TODO(T47754272) Can we remove this method?\n getHeight(callback: (result: {height: number}) => void): void {\n NativeModule.getHeight(callback);\n },\n\n setNetworkActivityIndicatorVisible(visible: boolean): void {\n NativeModule.setNetworkActivityIndicatorVisible(visible);\n },\n\n addListener(eventType: string): void {\n NativeModule.addListener(eventType);\n },\n\n removeListeners(count: number): void {\n NativeModule.removeListeners(count);\n },\n\n /**\n * - statusBarStyles can be:\n * - 'default'\n * - 'dark-content'\n * - 'light-content'\n */\n setStyle(statusBarStyle?: ?string, animated: boolean): void {\n NativeModule.setStyle(statusBarStyle, animated);\n },\n\n /**\n * - withAnimation can be: 'none' | 'fade' | 'slide'\n */\n setHidden(hidden: boolean, withAnimation: string): void {\n NativeModule.setHidden(hidden, withAnimation);\n },\n};\n\nexport default NativeStatusBarManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {ColorValue} from '../../StyleSheet/StyleSheet';\nimport type {NativeSyntheticEvent} from '../../Types/CoreEventTypes';\nimport type {ViewProps} from '../View/ViewPropTypes';\n\nimport StyleSheet from '../../StyleSheet/StyleSheet';\nimport Platform from '../../Utilities/Platform';\nimport useMergeRefs from '../../Utilities/useMergeRefs';\nimport AndroidSwitchNativeComponent, {\n Commands as AndroidSwitchCommands,\n} from './AndroidSwitchNativeComponent';\nimport SwitchNativeComponent, {\n Commands as SwitchCommands,\n} from './SwitchNativeComponent';\nimport * as React from 'react';\n\nexport type SwitchPropsIOS = {\n /**\n * Background color when the switch is turned on.\n *\n * @deprecated use trackColor instead\n */\n onTintColor?: ?ColorValue,\n\n /**\n * Color of the foreground switch grip.\n *\n * @deprecated use thumbColor instead\n */\n thumbTintColor?: ?ColorValue,\n\n /**\n * Background color when the switch is turned off.\n *\n * @deprecated use trackColor instead\n */\n tintColor?: ?ColorValue,\n};\n\nexport type SwitchChangeEventData = $ReadOnly<{\n target: number,\n value: boolean,\n}>;\n\nexport type SwitchChangeEvent = NativeSyntheticEvent;\n\ntype SwitchPropsBase = {\n /**\n If true the user won't be able to toggle the switch.\n\n @default false\n */\n disabled?: ?boolean,\n\n /**\n The value of the switch. If true the switch will be turned on.\n\n @default false\n */\n value?: ?boolean,\n\n /**\n Color of the foreground switch grip. If this is set on iOS, the switch grip will lose its drop shadow.\n */\n thumbColor?: ?ColorValue,\n\n /**\n Custom colors for the switch track.\n\n _iOS_: When the switch value is false, the track shrinks into the border. If you want to change the\n color of the background exposed by the shrunken track, use\n [`ios_backgroundColor`](https://reactnative.dev/docs/switch#ios_backgroundColor).\n */\n trackColor?: ?$ReadOnly<{\n false?: ?ColorValue,\n true?: ?ColorValue,\n }>,\n\n /**\n On iOS, custom color for the background. This background color can be\n seen either when the switch value is false or when the switch is\n disabled (and the switch is translucent).\n */\n ios_backgroundColor?: ?ColorValue,\n\n /**\n Invoked when the user tries to change the value of the switch. Receives\n the change event as an argument. If you want to only receive the new\n value, use `onValueChange` instead.\n */\n onChange?: ?(event: SwitchChangeEvent) => Promise | void,\n\n /**\n Invoked when the user tries to change the value of the switch. Receives\n the new value as an argument. If you want to instead receive an event,\n use `onChange`.\n */\n onValueChange?: ?(value: boolean) => Promise | void,\n};\n\nexport type SwitchProps = $ReadOnly<{\n ...ViewProps,\n ...SwitchPropsIOS,\n ...SwitchPropsBase,\n}>;\n\nconst returnsFalse = () => false;\nconst returnsTrue = () => true;\n\ntype SwitchRef = React.ElementRef<\n typeof SwitchNativeComponent | typeof AndroidSwitchNativeComponent,\n>;\n\n/**\n Renders a boolean input.\n\n This is a controlled component that requires an `onValueChange`\n callback that updates the `value` prop in order for the component to\n reflect user actions. If the `value` prop is not updated, the\n component will continue to render the supplied `value` prop instead of\n the expected result of any user actions.\n\n ```SnackPlayer name=Switch\n import React, { useState } from \"react\";\n import { View, Switch, StyleSheet } from \"react-native\";\n\n const App = () => {\n const [isEnabled, setIsEnabled] = useState(false);\n const toggleSwitch = () => setIsEnabled(previousState => !previousState);\n\n return (\n \n \n \n );\n }\n\n const styles = StyleSheet.create({\n container: {\n flex: 1,\n alignItems: \"center\",\n justifyContent: \"center\"\n }\n });\n\n export default App;\n ```\n */\nconst Switch: component(\n ref?: React.RefSetter,\n ...props: SwitchProps\n) = React.forwardRef(function Switch(props, forwardedRef): React.Node {\n const {\n disabled,\n focusable, // [Windows]\n accessible, // [Windows]\n ios_backgroundColor,\n onChange,\n onValueChange,\n style,\n thumbColor,\n trackColor,\n value,\n ...restProps\n } = props;\n const trackColorForFalse = trackColor?.false;\n const trackColorForTrue = trackColor?.true;\n\n const nativeSwitchRef = React.useRef | null>(null);\n\n const ref = useMergeRefs(nativeSwitchRef, forwardedRef);\n\n const [native, setNative] = React.useState({value: (null: ?boolean)});\n\n const handleChange = (event: SwitchChangeEvent) => {\n // $FlowFixMe[unused-promise]\n onChange?.(event);\n // $FlowFixMe[unused-promise]\n onValueChange?.(event.nativeEvent.value);\n setNative({value: event.nativeEvent.value});\n };\n\n React.useLayoutEffect(() => {\n // This is necessary in case native updates the switch and JS decides\n // that the update should be ignored and we should stick with the value\n // that we have in JS.\n const jsValue = value === true;\n const shouldUpdateNativeSwitch =\n native.value != null && native.value !== jsValue;\n if (\n shouldUpdateNativeSwitch &&\n // $FlowIssue[method-unbinding]\n nativeSwitchRef.current?.setNativeProps != null\n ) {\n if (Platform.OS === 'android') {\n AndroidSwitchCommands.setNativeValue(nativeSwitchRef.current, jsValue);\n } else {\n SwitchCommands.setValue(nativeSwitchRef.current, jsValue);\n }\n }\n }, [value, native]);\n\n if (Platform.OS === 'android') {\n const {onTintColor, tintColor, ...androidProps} = restProps;\n const {accessibilityState} = androidProps;\n const _disabled =\n disabled != null ? disabled : accessibilityState?.disabled;\n\n const _accessibilityState =\n _disabled !== accessibilityState?.disabled\n ? {...accessibilityState, disabled: _disabled}\n : accessibilityState;\n\n const platformProps = {\n accessibilityState: _accessibilityState,\n enabled: _disabled !== true,\n on: value === true,\n style,\n thumbTintColor: thumbColor,\n trackColorForFalse: trackColorForFalse,\n trackColorForTrue: trackColorForTrue,\n trackTintColor: value === true ? trackColorForTrue : trackColorForFalse,\n };\n\n return (\n \n );\n } else {\n const platformProps = {\n disabled,\n onTintColor: trackColorForTrue,\n style: StyleSheet.compose(\n {height: 31, width: 51},\n StyleSheet.compose(\n style,\n ios_backgroundColor == null\n ? null\n : {\n backgroundColor: ios_backgroundColor,\n borderRadius: 16,\n },\n ),\n ),\n thumbTintColor: thumbColor,\n tintColor: trackColorForFalse,\n value: value === true,\n };\n\n return (\n \n );\n }\n});\n\nexport default Switch;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent';\nimport AndroidSwitchNativeComponent from '../../../src/private/specs_DEPRECATED/components/AndroidSwitchNativeComponent';\nexport default AndroidSwitchNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';\nimport type {ColorValue} from '../../../../Libraries/StyleSheet/StyleSheet';\nimport type {\n BubblingEventHandler,\n Int32,\n WithDefault,\n} from '../../../../Libraries/Types/CodegenTypes';\nimport type {HostComponent} from '../../types/HostComponent';\n\nimport codegenNativeCommands from '../../../../Libraries/Utilities/codegenNativeCommands';\nimport codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';\nimport * as React from 'react';\n\ntype SwitchChangeEvent = $ReadOnly<{\n value: boolean,\n target: Int32,\n}>;\n\ntype NativeProps = $ReadOnly<{\n ...ViewProps,\n\n // Props\n disabled?: WithDefault,\n enabled?: WithDefault,\n thumbColor?: ?ColorValue,\n trackColorForFalse?: ?ColorValue,\n trackColorForTrue?: ?ColorValue,\n value?: WithDefault,\n on?: WithDefault,\n thumbTintColor?: ?ColorValue,\n trackTintColor?: ?ColorValue,\n\n // Events\n onChange?: BubblingEventHandler,\n}>;\n\ntype NativeType = HostComponent;\n\ninterface NativeCommands {\n +setNativeValue: (\n viewRef: React.ElementRef,\n value: boolean,\n ) => void;\n}\n\nexport const Commands: NativeCommands = codegenNativeCommands({\n supportedCommands: ['setNativeValue'],\n});\n\nexport default (codegenNativeComponent('AndroidSwitch', {\n interfaceOnly: true,\n}): NativeType);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/components/SwitchNativeComponent';\nimport SwitchNativeComponent from '../../../src/private/specs_DEPRECATED/components/SwitchNativeComponent';\nexport default SwitchNativeComponent;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {ViewProps} from '../../../../Libraries/Components/View/ViewPropTypes';\nimport type {ColorValue} from '../../../../Libraries/StyleSheet/StyleSheet';\nimport type {\n BubblingEventHandler,\n Int32,\n WithDefault,\n} from '../../../../Libraries/Types/CodegenTypes';\nimport type {HostComponent} from '../../types/HostComponent';\n\nimport codegenNativeCommands from '../../../../Libraries/Utilities/codegenNativeCommands';\nimport codegenNativeComponent from '../../../../Libraries/Utilities/codegenNativeComponent';\nimport * as React from 'react';\n\ntype SwitchChangeEvent = $ReadOnly<{\n value: boolean,\n target: Int32,\n}>;\n\ntype NativeProps = $ReadOnly<{\n ...ViewProps,\n\n // Props\n disabled?: WithDefault,\n value?: WithDefault,\n tintColor?: ?ColorValue,\n onTintColor?: ?ColorValue,\n thumbTintColor?: ?ColorValue,\n\n // Deprecated props\n thumbColor?: ?ColorValue,\n trackColorForFalse?: ?ColorValue,\n trackColorForTrue?: ?ColorValue,\n\n // Events\n onChange?: ?BubblingEventHandler,\n}>;\n\ntype ComponentType = HostComponent;\n\ninterface NativeCommands {\n +setValue: (viewRef: React.ElementRef, value: boolean) => void;\n}\n\nexport const Commands: NativeCommands = codegenNativeCommands({\n supportedCommands: ['setValue'],\n});\n\nexport default (codegenNativeComponent('Switch', {\n paperComponentName: 'RCTSwitch',\n excludedPlatforms: ['android'],\n}): ComponentType);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostInstance} from '../../../src/private/types/HostInstance';\nimport type {____TextStyle_Internal as TextStyleInternal} from '../../StyleSheet/StyleSheetTypes';\nimport type {\n KeyEvent, // Windows\n MouseEvent, // Windows\n GestureResponderEvent,\n NativeSyntheticEvent,\n ScrollEvent,\n} from '../../Types/CoreEventTypes';\nimport type {TextInputInstance, TextInputType} from './TextInput.flow';\nimport type {HandledKeyboardEvent, ViewProps} from '../View/ViewPropTypes';\n\nimport * as ReactNativeFeatureFlags from '../../../src/private/featureflags/ReactNativeFeatureFlags';\nimport usePressability from '../../Pressability/usePressability';\nimport flattenStyle from '../../StyleSheet/flattenStyle';\nimport StyleSheet, {\n type ColorValue,\n type TextStyleProp,\n type ViewStyleProp,\n} from '../../StyleSheet/StyleSheet';\nimport Text from '../../Text/Text';\nimport TextAncestor from '../../Text/TextAncestor';\nimport Platform from '../../Utilities/Platform';\nimport useMergeRefs from '../../Utilities/useMergeRefs';\nimport TextInputState from './TextInputState';\nimport invariant from 'invariant';\nimport nullthrows from 'nullthrows';\nimport * as React from 'react';\nimport {useCallback, useLayoutEffect, useRef, useState} from 'react';\n\nlet AndroidTextInput;\nlet AndroidTextInputCommands;\nlet RCTSinglelineTextInputView;\nlet RCTSinglelineTextInputNativeCommands;\nlet RCTMultilineTextInputView;\nlet RCTMultilineTextInputNativeCommands;\nlet WindowsTextInput; // [Windows]\nlet WindowsTextInputCommands; // [Windows]\n\n// [Windows\nif (Platform.OS === 'android') {\n AndroidTextInput = require('./AndroidTextInputNativeComponent').default;\n AndroidTextInputCommands =\n require('./AndroidTextInputNativeComponent').Commands;\n} else if (Platform.OS === 'ios') {\n RCTSinglelineTextInputView =\n require('./RCTSingelineTextInputNativeComponent').default;\n RCTSinglelineTextInputNativeCommands =\n require('./RCTSingelineTextInputNativeComponent').Commands;\n RCTMultilineTextInputView =\n require('./RCTMultilineTextInputNativeComponent').default;\n RCTMultilineTextInputNativeCommands =\n require('./RCTMultilineTextInputNativeComponent').Commands;\n}\n// [Windows\nelse if (Platform.OS === 'windows') {\n WindowsTextInput = require('./WindowsTextInputNativeComponent').default;\n WindowsTextInputCommands =\n require('./WindowsTextInputNativeComponent').Commands;\n}\n// Windows]\n\nexport type TextInputChangeEventData = $ReadOnly<{\n eventCount: number,\n target: number,\n text: string,\n}>;\n\nexport type TextInputChangeEvent =\n NativeSyntheticEvent;\n\nexport type TextInputEvent = NativeSyntheticEvent<\n $ReadOnly<{\n eventCount: number,\n previousText: string,\n range: $ReadOnly<{\n start: number,\n end: number,\n }>,\n target: number,\n text: string,\n }>,\n>;\n\nexport type TextInputContentSizeChangeEventData = $ReadOnly<{\n target: number,\n contentSize: $ReadOnly<{\n width: number,\n height: number,\n }>,\n}>;\n\nexport type TextInputContentSizeChangeEvent =\n NativeSyntheticEvent;\n\nexport type TargetEvent = $ReadOnly<{\n target: number,\n}>;\n\nexport type TextInputFocusEventData = TargetEvent;\n\nexport type TextInputBlurEvent = NativeSyntheticEvent;\nexport type TextInputFocusEvent = NativeSyntheticEvent;\n\ntype Selection = $ReadOnly<{\n start: number,\n end: number,\n}>;\n\nexport type TextInputSelectionChangeEventData = $ReadOnly<{\n ...TargetEvent,\n selection: Selection,\n}>;\n\nexport type TextInputSelectionChangeEvent =\n NativeSyntheticEvent;\n\ntype TextInputKeyPressEventData = $ReadOnly<{\n ...TargetEvent,\n key: string,\n target?: ?number,\n eventCount?: ?number,\n}>;\n\nexport type TextInputKeyPressEvent =\n NativeSyntheticEvent;\n\nexport type TextInputEndEditingEventData = $ReadOnly<{\n ...TargetEvent,\n eventCount: number,\n text: string,\n}>;\n\nexport type TextInputEditingEvent =\n NativeSyntheticEvent;\n\ntype DataDetectorTypesType =\n | 'phoneNumber'\n | 'link'\n | 'address'\n | 'calendarEvent'\n | 'trackingNumber'\n | 'flightNumber'\n | 'lookupSuggestion'\n | 'none'\n | 'all';\n\nexport type KeyboardType =\n | 'default'\n | 'email-address'\n | 'numeric'\n | 'phone-pad'\n | 'number-pad'\n | 'decimal-pad'\n | 'url';\n\nexport type KeyboardTypeIOS =\n | 'ascii-capable'\n | 'numbers-and-punctuation'\n | 'name-phone-pad'\n | 'twitter'\n | 'web-search'\n // iOS 10+ only\n | 'ascii-capable-number-pad';\n\nexport type KeyboardTypeAndroid = 'visible-password';\n\nexport type KeyboardTypeOptions =\n | KeyboardType\n | KeyboardTypeIOS\n | KeyboardTypeAndroid;\n\nexport type InputModeOptions =\n | 'none'\n | 'text'\n | 'decimal'\n | 'numeric'\n | 'tel'\n | 'search'\n | 'email'\n | 'url';\n\nexport type ReturnKeyType = 'done' | 'go' | 'next' | 'search' | 'send';\n\nexport type ReturnKeyTypeIOS =\n | 'default'\n | 'emergency-call'\n | 'google'\n | 'join'\n | 'route'\n | 'yahoo';\n\nexport type ReturnKeyTypeAndroid = 'none' | 'previous';\n\nexport type ReturnKeyTypeOptions =\n | ReturnKeyType\n | ReturnKeyTypeIOS\n | ReturnKeyTypeAndroid;\n\nexport type SubmitBehavior = 'submit' | 'blurAndSubmit' | 'newline';\n\nexport type AutoCapitalize = 'none' | 'sentences' | 'words' | 'characters';\n\nexport type TextContentType =\n | 'none'\n | 'URL'\n | 'addressCity'\n | 'addressCityAndState'\n | 'addressState'\n | 'countryName'\n | 'creditCardNumber'\n | 'creditCardExpiration'\n | 'creditCardExpirationMonth'\n | 'creditCardExpirationYear'\n | 'creditCardSecurityCode'\n | 'creditCardType'\n | 'creditCardName'\n | 'creditCardGivenName'\n | 'creditCardMiddleName'\n | 'creditCardFamilyName'\n | 'emailAddress'\n | 'familyName'\n | 'fullStreetAddress'\n | 'givenName'\n | 'jobTitle'\n | 'location'\n | 'middleName'\n | 'name'\n | 'namePrefix'\n | 'nameSuffix'\n | 'nickname'\n | 'organizationName'\n | 'postalCode'\n | 'streetAddressLine1'\n | 'streetAddressLine2'\n | 'sublocality'\n | 'telephoneNumber'\n | 'username'\n | 'password'\n | 'newPassword'\n | 'oneTimeCode'\n | 'birthdate'\n | 'birthdateDay'\n | 'birthdateMonth'\n | 'birthdateYear'\n | 'cellularEID'\n | 'cellularIMEI'\n | 'dateTime'\n | 'flightNumber'\n | 'shipmentTrackingNumber';\n\nexport type EnterKeyHintTypeAndroid = 'previous';\n\nexport type EnterKeyHintTypeIOS = 'enter';\n\nexport type EnterKeyHintType = 'done' | 'go' | 'next' | 'search' | 'send';\n\nexport type EnterKeyHintTypeOptions =\n | EnterKeyHintType\n | EnterKeyHintTypeAndroid\n | EnterKeyHintTypeIOS;\n\ntype PasswordRules = string;\n\nexport type TextInputIOSProps = $ReadOnly<{\n /**\n * If true, the keyboard shortcuts (undo/redo and copy buttons) are disabled. The default value is false.\n * @platform ios\n */\n disableKeyboardShortcuts?: ?boolean,\n\n /**\n * When the clear button should appear on the right side of the text view.\n * This property is supported only for single-line TextInput component.\n * @platform ios\n */\n clearButtonMode?: ?('never' | 'while-editing' | 'unless-editing' | 'always'),\n\n /**\n * If `true`, clears the text field automatically when editing begins.\n * @platform ios\n */\n clearTextOnFocus?: ?boolean,\n\n /**\n * Determines the types of data converted to clickable URLs in the text input.\n * Only valid if `multiline={true}` and `editable={false}`.\n * By default no data types are detected.\n *\n * You can provide one type or an array of many types.\n *\n * Possible values for `dataDetectorTypes` are:\n *\n * - `'phoneNumber'`\n * - `'link'`\n * - `'address'`\n * - `'calendarEvent'`\n * - `'none'`\n * - `'all'`\n *\n * @platform ios\n */\n dataDetectorTypes?:\n | ?DataDetectorTypesType\n | $ReadOnlyArray,\n\n /**\n * If `true`, the keyboard disables the return key when there is no text and\n * automatically enables it when there is text. The default value is `false`.\n * @platform ios\n */\n enablesReturnKeyAutomatically?: ?boolean,\n\n /**\n * An optional identifier which links a custom InputAccessoryView to\n * this text input. The InputAccessoryView is rendered above the\n * keyboard when this text input is focused.\n * @platform ios\n */\n inputAccessoryViewID?: ?string,\n\n /**\n * An optional label that overrides the default input accessory view button label.\n * @platform ios\n */\n inputAccessoryViewButtonLabel?: ?string,\n\n /**\n * Determines the color of the keyboard.\n * @platform ios\n */\n keyboardAppearance?: ?('default' | 'light' | 'dark'),\n\n /**\n * Provide rules for your password.\n * For example, say you want to require a password with at least eight characters consisting of a mix of uppercase and lowercase letters, at least one number, and at most two consecutive characters.\n * \"required: upper; required: lower; required: digit; max-consecutive: 2; minlength: 8;\"\n * @platform ios\n */\n passwordRules?: ?PasswordRules,\n\n /*\n * If `true`, allows TextInput to pass touch events to the parent component.\n * This allows components to be swipeable from the TextInput on iOS,\n * as is the case on Android by default.\n * If `false`, TextInput always asks to handle the input (except when disabled).\n * @platform ios\n */\n rejectResponderTermination?: ?boolean,\n\n /**\n * If `false`, scrolling of the text view will be disabled.\n * The default value is `true`. Does only work with 'multiline={true}'.\n * @platform ios\n */\n scrollEnabled?: ?boolean,\n\n /**\n * If `false`, disables spell-check style (i.e. red underlines).\n * The default value is inherited from `autoCorrect`.\n * @platform ios\n */\n spellCheck?: ?boolean,\n\n /**\n * Give the keyboard and the system information about the\n * expected semantic meaning for the content that users enter.\n * @platform ios\n */\n textContentType?: ?TextContentType,\n\n /**\n * Set line break strategy on iOS.\n * @platform ios\n */\n lineBreakStrategyIOS?: ?('none' | 'standard' | 'hangul-word' | 'push-out'),\n\n /**\n * Set line break mode on iOS.\n * @platform ios\n */\n lineBreakModeIOS?: ?(\n | 'wordWrapping'\n | 'char'\n | 'clip'\n | 'head'\n | 'middle'\n | 'tail'\n ),\n\n /**\n * If `false`, the iOS system will not insert an extra space after a paste operation\n * neither delete one or two spaces after a cut or delete operation.\n *\n * The default value is `true`.\n *\n * @platform ios\n */\n smartInsertDelete?: ?boolean,\n}>;\n\nexport type TextInputAndroidProps = $ReadOnly<{\n /**\n * When provided it will set the color of the cursor (or \"caret\") in the component.\n * Unlike the behavior of `selectionColor` the cursor color will be set independently\n * from the color of the text selection box.\n * @platform android\n */\n cursorColor?: ?ColorValue,\n\n /**\n * When `false`, if there is a small amount of space available around a text input\n * (e.g. landscape orientation on a phone), the OS may choose to have the user edit\n * the text inside of a full screen text input mode. When `true`, this feature is\n * disabled and users will always edit the text directly inside of the text input.\n * Defaults to `false`.\n * @platform android\n */\n disableFullscreenUI?: ?boolean,\n\n importantForAutofill?: ?(\n | 'auto'\n | 'no'\n | 'noExcludeDescendants'\n | 'yes'\n | 'yesExcludeDescendants'\n ),\n\n /**\n * If defined, the provided image resource will be rendered on the left.\n * The image resource must be inside `/android/app/src/main/res/drawable` and referenced\n * like\n * ```\n * \n * ```\n * @platform android\n */\n inlineImageLeft?: ?string,\n\n /**\n * Padding between the inline image, if any, and the text input itself.\n * @platform android\n */\n inlineImagePadding?: ?number,\n\n /**\n * Sets the number of lines for a `TextInput`. Use it with multiline set to\n * `true` to be able to fill the lines.\n * @platform android\n */\n numberOfLines?: ?number,\n\n /**\n * Sets the return key to the label. Use it instead of `returnKeyType`.\n * @platform android\n */\n returnKeyLabel?: ?string,\n\n /**\n * Sets the number of rows for a `TextInput`. Use it with multiline set to\n * `true` to be able to fill the lines.\n * @platform android\n */\n rows?: ?number,\n\n /**\n * When `false`, it will prevent the soft keyboard from showing when the field is focused.\n * Defaults to `true`.\n */\n showSoftInputOnFocus?: ?boolean,\n\n /**\n * Set text break strategy on Android API Level 23+, possible values are `simple`, `highQuality`, `balanced`\n * The default value is `simple`.\n * @platform android\n */\n textBreakStrategy?: ?('simple' | 'highQuality' | 'balanced'),\n\n /**\n * The color of the `TextInput` underline.\n * @platform android\n */\n underlineColorAndroid?: ?ColorValue,\n}>;\n\n// [Windows\n\ntype SubmitKeyEvent = $ReadOnly<{|\n altKey?: ?boolean,\n ctrlKey?: ?boolean,\n metaKey?: ?boolean,\n shiftKey?: ?boolean,\n code: string,\n|}>;\n\ntype TextInputWindowsProps = $ReadOnly<{|\n /**\n * If `true`, clears the text field synchronously before `onSubmitEditing` is emitted.\n * @platform windows\n */\n clearTextOnSubmit?: ?boolean,\n\n /**\n * Configures keys that can be used to submit editing for the TextInput.\n * @platform windows\n */\n submitKeyEvents?: ?$ReadOnlyArray,\n\n /**\n * Specifies the Tooltip for the view\n */\n tooltip?: string,\n\n /**\n * Indicates the TabIndex to use for this view\n */\n tabIndex?: number,\n\n /**\n * Specifies if the control should show System focus visuals\n */\n enableFocusRing?: boolean,\n\n /**\n * Event fired when the mouse leaves the view\n */\n onMouseLeave?: (args: MouseEvent) => void,\n\n /**\n * Event fired when the mouse enters the view\n */\n onMouseEnter?: (args: MouseEvent) => void,\n\n onKeyDown?: (args: KeyEvent) => void,\n onKeyDownCapture?: (args: KeyEvent) => void,\n onKeyUp?: (args: KeyEvent) => void,\n onKeyUpCapture?: (args: KeyEvent) => void,\n\n keyDownEvents?: ?$ReadOnlyArray,\n keyUpEvents?: ?$ReadOnlyArray,\n|}>;\n\n// Windows]\n\nexport type TextInputProps = $ReadOnly<{\n ...$Diff>,\n ...TextInputIOSProps,\n ...TextInputAndroidProps,\n ...TextInputWindowsProps, // [Windows]\n\n /**\n * String to be read by screenreaders to indicate an error state. The acceptable parameters\n * of accessibilityErrorMessage is a string. Setting accessibilityInvalid to true activates\n * the error message. Setting accessibilityInvalid to false removes the error message.\n */\n accessibilityErrorMessage?: ?Stringish,\n accessibilityInvalid?: ?boolean,\n\n /**\n * Can tell `TextInput` to automatically capitalize certain characters.\n *\n * - `characters`: all characters.\n * - `words`: first letter of each word.\n * - `sentences`: first letter of each sentence (*default*).\n * - `none`: don't auto capitalize anything.\n */\n autoCapitalize?: ?AutoCapitalize,\n\n /**\n * Specifies autocomplete hints for the system, so it can provide autofill.\n * On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.\n * To disable autocomplete, set autoComplete to off.\n *\n * The following values work across platforms:\n *\n * - `additional-name`\n * - `address-line1`\n * - `address-line2`\n * - `birthdate-day` (iOS 17+)\n * - `birthdate-full` (iOS 17+)\n * - `birthdate-month` (iOS 17+)\n * - `birthdate-year` (iOS 17+)\n * - `cc-number`\n * - `cc-csc` (iOS 17+)\n * - `cc-exp` (iOS 17+)\n * - `cc-exp-day` (iOS 17+)\n * - `cc-exp-month` (iOS 17+)\n * - `cc-exp-year` (iOS 17+)\n * - `country`\n * - `current-password`\n * - `email`\n * - `family-name`\n * - `given-name`\n * - `honorific-prefix`\n * - `honorific-suffix`\n * - `name`\n * - `new-password`\n * - `off`\n * - `one-time-code`\n * - `postal-code`\n * - `street-address`\n * - `tel`\n * - `username`\n *\n * The following values work on iOS only:\n *\n * - `cc-name` (iOS 17+)\n * - `cc-given-name` (iOS 17+)\n * - `cc-middle-name` (iOS 17+)\n * - `cc-family-name` (iOS 17+)\n * - `cc-type` (iOS 17+)\n * - `nickname`\n * - `organization`\n * - `organization-title`\n * - `url`\n *\n * The following values work on Android only:\n *\n * - `gender`\n * - `name-family`\n * - `name-given`\n * - `name-middle`\n * - `name-middle-initial`\n * - `name-prefix`\n * - `name-suffix`\n * - `password`\n * - `password-new`\n * - `postal-address`\n * - `postal-address-country`\n * - `postal-address-extended`\n * - `postal-address-extended-postal-code`\n * - `postal-address-locality`\n * - `postal-address-region`\n * - `sms-otp`\n * - `tel-country-code`\n * - `tel-national`\n * - `tel-device`\n * - `username-new`\n */\n autoComplete?: ?(\n | 'additional-name'\n | 'address-line1'\n | 'address-line2'\n | 'birthdate-day'\n | 'birthdate-full'\n | 'birthdate-month'\n | 'birthdate-year'\n | 'cc-csc'\n | 'cc-exp'\n | 'cc-exp-day'\n | 'cc-exp-month'\n | 'cc-exp-year'\n | 'cc-number'\n | 'cc-name'\n | 'cc-given-name'\n | 'cc-middle-name'\n | 'cc-family-name'\n | 'cc-type'\n | 'country'\n | 'current-password'\n | 'email'\n | 'family-name'\n | 'gender'\n | 'given-name'\n | 'honorific-prefix'\n | 'honorific-suffix'\n | 'name'\n | 'name-family'\n | 'name-given'\n | 'name-middle'\n | 'name-middle-initial'\n | 'name-prefix'\n | 'name-suffix'\n | 'new-password'\n | 'nickname'\n | 'one-time-code'\n | 'organization'\n | 'organization-title'\n | 'password'\n | 'password-new'\n | 'postal-address'\n | 'postal-address-country'\n | 'postal-address-extended'\n | 'postal-address-extended-postal-code'\n | 'postal-address-locality'\n | 'postal-address-region'\n | 'postal-code'\n | 'street-address'\n | 'sms-otp'\n | 'tel'\n | 'tel-country-code'\n | 'tel-national'\n | 'tel-device'\n | 'url'\n | 'username'\n | 'username-new'\n | 'off'\n ),\n\n /**\n * If `false`, disables auto-correct. The default value is `true`.\n */\n autoCorrect?: ?boolean,\n\n /**\n * If `true`, focuses the input on `componentDidMount`.\n * The default value is `false`.\n */\n autoFocus?: ?boolean,\n\n /**\n * Specifies whether fonts should scale to respect Text Size accessibility settings. The\n * default is `true`.\n */\n allowFontScaling?: ?boolean,\n\n /**\n * If `true`, caret is hidden. The default value is `false`.\n *\n * On Android devices manufactured by Xiaomi with Android Q,\n * when keyboardType equals 'email-address'this will be set\n * in native to 'true' to prevent a system related crash. This\n * will cause cursor to be disabled as a side-effect.\n *\n */\n caretHidden?: ?boolean,\n\n /*\n * If `true`, contextMenuHidden is hidden. The default value is `false`.\n */\n contextMenuHidden?: ?boolean,\n\n /**\n * Provides an initial value that will change when the user starts typing.\n * Useful for simple use-cases where you do not want to deal with listening\n * to events and updating the value prop to keep the controlled state in sync.\n */\n defaultValue?: ?Stringish,\n\n /**\n * If `false`, text is not editable. The default value is `true`.\n */\n editable?: ?boolean,\n\n forwardedRef?: ?React.RefSetter,\n\n /**\n * `enterKeyHint` defines what action label (or icon) to present for the enter key on virtual keyboards.\n *\n * The following values is supported:\n *\n * - `enter`\n * - `done`\n * - `go`\n * - `next`\n * - `previous`\n * - `search`\n * - `send`\n */\n enterKeyHint?: ?EnterKeyHintTypeOptions,\n\n /**\n * `inputMode` works like the `inputmode` attribute in HTML, it determines which\n * keyboard to open, e.g.`numeric` and has precedence over keyboardType\n *\n * Support the following values:\n *\n * - `none`\n * - `text`\n * - `decimal`\n * - `numeric`\n * - `tel`\n * - `search`\n * - `email`\n * - `url`\n */\n inputMode?: ?InputModeOptions,\n\n /**\n * Determines which keyboard to open, e.g.`numeric`.\n *\n * The following values work across platforms:\n *\n * - `default`\n * - `numeric`\n * - `number-pad`\n * - `decimal-pad`\n * - `email-address`\n * - `phone-pad`\n * - `url`\n *\n * *iOS Only*\n *\n * The following values work on iOS only:\n *\n * - `ascii-capable`\n * - `numbers-and-punctuation`\n * - `name-phone-pad`\n * - `twitter`\n * - `web-search`\n *\n * *Android Only*\n *\n * The following values work on Android only:\n *\n * - `visible-password`\n *\n */\n keyboardType?: ?KeyboardTypeOptions,\n\n /**\n * Specifies largest possible scale a font can reach when `allowFontScaling` is enabled.\n * Possible values:\n * `null/undefined` (default): inherit from the parent node or the global default (0)\n * `0`: no max, ignore parent/global default\n * `>= 1`: sets the maxFontSizeMultiplier of this node to this value\n */\n maxFontSizeMultiplier?: ?number,\n\n /**\n * Limits the maximum number of characters that can be entered. Use this\n * instead of implementing the logic in JS to avoid flicker.\n */\n maxLength?: ?number,\n\n /**\n * If `true`, the text input can be multiple lines.\n * The default value is `false`.\n */\n multiline?: ?boolean,\n\n /**\n * Callback that is called when the text input is blurred.\n */\n onBlur?: ?(e: TextInputBlurEvent) => mixed,\n\n /**\n * Callback that is called when the text input's text changes.\n */\n onChange?: ?(e: TextInputChangeEvent) => mixed,\n\n /**\n * Callback that is called when the text input's text changes.\n * Changed text is passed as an argument to the callback handler.\n */\n onChangeText?: ?(text: string) => mixed,\n\n /**\n * Callback that is called when the text input's content size changes.\n * This will be called with\n * `{ nativeEvent: { contentSize: { width, height } } }`.\n *\n * Only called for multiline text inputs.\n */\n onContentSizeChange?: ?(e: TextInputContentSizeChangeEvent) => mixed,\n\n /**\n * Callback that is called when text input ends.\n */\n onEndEditing?: ?(e: TextInputEditingEvent) => mixed,\n\n /**\n * Callback that is called when the text input is focused.\n */\n onFocus?: ?(e: TextInputFocusEvent) => mixed,\n\n /**\n * Callback that is called when a key is pressed.\n * This will be called with `{ nativeEvent: { key: keyValue } }`\n * where `keyValue` is `'Enter'` or `'Backspace'` for respective keys and\n * the typed-in character otherwise including `' '` for space.\n * Fires before `onChange` callbacks.\n */\n onKeyPress?: ?(e: TextInputKeyPressEvent) => mixed,\n\n /**\n * Called when a single tap gesture is detected.\n */\n onPress?: ?(event: GestureResponderEvent) => mixed,\n\n /**\n * Called when a touch is engaged.\n */\n onPressIn?: ?(event: GestureResponderEvent) => mixed,\n\n /**\n * Called when a touch is released.\n */\n onPressOut?: ?(event: GestureResponderEvent) => mixed,\n\n /**\n * Callback that is called when the text input selection is changed.\n * This will be called with\n * `{ nativeEvent: { selection: { start, end } } }`.\n */\n onSelectionChange?: ?(e: TextInputSelectionChangeEvent) => mixed,\n\n /**\n * Callback that is called when the text input's submit button is pressed.\n * Invalid if `multiline={true}` is specified.\n */\n onSubmitEditing?: ?(e: TextInputEditingEvent) => mixed,\n\n /**\n * Invoked on content scroll with `{ nativeEvent: { contentOffset: { x, y } } }`.\n * May also contain other properties from ScrollEvent but on Android contentSize\n * is not provided for performance reasons.\n */\n onScroll?: ?(e: ScrollEvent) => mixed,\n\n /**\n * The string that will be rendered before text input has been entered.\n */\n placeholder?: ?Stringish,\n\n /**\n * The text color of the placeholder string.\n */\n placeholderTextColor?: ?ColorValue,\n\n /** `readOnly` works like the `readonly` attribute in HTML.\n * If `true`, text is not editable. The default value is `false`.\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/readonly\n * for more details.\n */\n readOnly?: ?boolean,\n\n /**\n * Determines how the return key should look. On Android you can also use\n * `returnKeyLabel`.\n *\n * *Cross platform*\n *\n * The following values work across platforms:\n *\n * - `done`\n * - `go`\n * - `next`\n * - `search`\n * - `send`\n *\n * *Android Only*\n *\n * The following values work on Android only:\n *\n * - `none`\n * - `previous`\n *\n * *iOS Only*\n *\n * The following values work on iOS only:\n *\n * - `default`\n * - `emergency-call`\n * - `google`\n * - `join`\n * - `route`\n * - `yahoo`\n */\n returnKeyType?: ?ReturnKeyTypeOptions,\n\n /**\n * If `true`, the text input obscures the text entered so that sensitive text\n * like passwords stay secure. The default value is `false`. Does not work with 'multiline={true}'.\n */\n secureTextEntry?: ?boolean,\n\n /**\n * The start and end of the text input's selection. Set start and end to\n * the same value to position the cursor.\n */\n selection?: ?$ReadOnly<{\n start: number,\n end?: ?number,\n }>,\n\n /**\n * The highlight and cursor color of the text input.\n */\n selectionColor?: ?ColorValue,\n\n /**\n * The text selection handle color.\n * @platform android\n */\n selectionHandleColor?: ?ColorValue,\n\n /**\n * If `true`, all text will automatically be selected on focus.\n */\n selectTextOnFocus?: ?boolean,\n\n /**\n * If `true`, the text field will blur when submitted.\n * The default value is true for single-line fields and false for\n * multiline fields. Note that for multiline fields, setting `blurOnSubmit`\n * to `true` means that pressing return will blur the field and trigger the\n * `onSubmitEditing` event instead of inserting a newline into the field.\n *\n * @deprecated\n * Note that `submitBehavior` now takes the place of `blurOnSubmit` and will\n * override any behavior defined by `blurOnSubmit`.\n * @see submitBehavior\n */\n blurOnSubmit?: ?boolean,\n\n /**\n * When the return key is pressed,\n *\n * For single line inputs:\n *\n * - `'newline`' defaults to `'blurAndSubmit'`\n * - `undefined` defaults to `'blurAndSubmit'`\n *\n * For multiline inputs:\n *\n * - `'newline'` adds a newline\n * - `undefined` defaults to `'newline'`\n *\n * For both single line and multiline inputs:\n *\n * - `'submit'` will only send a submit event and not blur the input\n * - `'blurAndSubmit`' will both blur the input and send a submit event\n */\n submitBehavior?: ?SubmitBehavior,\n\n /**\n * Note that not all Text styles are supported, an incomplete list of what is not supported includes:\n *\n * - `borderLeftWidth`\n * - `borderTopWidth`\n * - `borderRightWidth`\n * - `borderBottomWidth`\n * - `borderTopLeftRadius`\n * - `borderTopRightRadius`\n * - `borderBottomRightRadius`\n * - `borderBottomLeftRadius`\n *\n * see [Issue#7070](https://github.com/facebook/react-native/issues/7070)\n * for more detail.\n *\n * [Styles](docs/style.html)\n */\n style?: ?TextStyleProp,\n\n /**\n * The value to show for the text input. `TextInput` is a controlled\n * component, which means the native value will be forced to match this\n * value prop if provided. For most uses, this works great, but in some\n * cases this may cause flickering - one common cause is preventing edits\n * by keeping value the same. In addition to simply setting the same value,\n * either set `editable={false}`, or set/update `maxLength` to prevent\n * unwanted edits without flicker.\n */\n value?: ?Stringish,\n}>;\n\ntype ViewCommands = $NonMaybeType<\n | typeof AndroidTextInputCommands\n | typeof RCTMultilineTextInputNativeCommands\n | typeof RCTSinglelineTextInputNativeCommands,\n>;\n\ntype LastNativeSelection = {\n selection: Selection,\n mostRecentEventCount: number,\n};\n\nconst emptyFunctionThatReturnsTrue = () => true;\n\n/**\n * This hook handles the synchronization between the state of the text input\n * in native and in JavaScript. This is necessary due to the asynchronous nature\n * of text input events.\n */\nfunction useTextInputStateSynchronization_STATE({\n props,\n mostRecentEventCount,\n selection,\n inputRef,\n text,\n viewCommands,\n}: {\n props: TextInputProps,\n mostRecentEventCount: number,\n selection: ?Selection,\n inputRef: React.RefObject,\n text?: string,\n viewCommands: ViewCommands,\n}): {\n setLastNativeText: string => void,\n setLastNativeSelection: LastNativeSelection => void,\n} {\n const [lastNativeText, setLastNativeText] = useState(props.value);\n const [lastNativeSelectionState, setLastNativeSelection] =\n useState({\n selection: {start: -1, end: -1},\n mostRecentEventCount: mostRecentEventCount,\n });\n\n const lastNativeSelection = lastNativeSelectionState.selection;\n\n // This is necessary in case native updates the text and JS decides\n // that the update should be ignored and we should stick with the value\n // that we have in JS.\n useLayoutEffect(() => {\n const nativeUpdate: {text?: string, selection?: Selection} = {};\n\n if (lastNativeText !== props.value && typeof props.value === 'string') {\n nativeUpdate.text = props.value;\n setLastNativeText(props.value);\n }\n\n if (\n selection &&\n lastNativeSelection &&\n (lastNativeSelection.start !== selection.start ||\n lastNativeSelection.end !== selection.end)\n ) {\n nativeUpdate.selection = selection;\n setLastNativeSelection({selection, mostRecentEventCount});\n }\n\n if (Object.keys(nativeUpdate).length === 0) {\n return;\n }\n\n if (inputRef.current != null) {\n viewCommands.setTextAndSelection(\n inputRef.current,\n mostRecentEventCount,\n text,\n selection?.start ?? -1,\n selection?.end ?? -1,\n );\n }\n }, [\n mostRecentEventCount,\n inputRef,\n props.value,\n props.defaultValue,\n lastNativeText,\n selection,\n lastNativeSelection,\n text,\n viewCommands,\n ]);\n\n return {setLastNativeText, setLastNativeSelection};\n}\n\n/**\n * This hook handles the synchronization between the state of the text input\n * in native and in JavaScript. This is necessary due to the asynchronous nature\n * of text input events.\n */\nfunction useTextInputStateSynchronization_REFS({\n props,\n mostRecentEventCount,\n selection,\n inputRef,\n text,\n viewCommands,\n}: {\n props: TextInputProps,\n mostRecentEventCount: number,\n selection: ?Selection,\n inputRef: React.RefObject,\n text?: string,\n viewCommands: ViewCommands,\n}): {\n setLastNativeText: string => void,\n setLastNativeSelection: LastNativeSelection => void,\n} {\n const lastNativeTextRef = useRef(props.value);\n const lastNativeSelectionRef = useRef({\n selection: {start: -1, end: -1},\n mostRecentEventCount: mostRecentEventCount,\n });\n\n // This is necessary in case native updates the text and JS decides\n // that the update should be ignored and we should stick with the value\n // that we have in JS.\n useLayoutEffect(() => {\n const nativeUpdate: {text?: string, selection?: Selection} = {};\n\n const lastNativeSelection = lastNativeSelectionRef.current.selection;\n\n if (\n lastNativeTextRef.current !== props.value &&\n typeof props.value === 'string'\n ) {\n nativeUpdate.text = props.value;\n lastNativeTextRef.current = props.value;\n }\n\n if (\n selection &&\n lastNativeSelection &&\n (lastNativeSelection.start !== selection.start ||\n lastNativeSelection.end !== selection.end)\n ) {\n nativeUpdate.selection = selection;\n lastNativeSelectionRef.current = {selection, mostRecentEventCount};\n }\n\n if (Object.keys(nativeUpdate).length === 0) {\n return;\n }\n\n if (inputRef.current != null) {\n viewCommands.setTextAndSelection(\n inputRef.current,\n mostRecentEventCount,\n text,\n selection?.start ?? -1,\n selection?.end ?? -1,\n );\n }\n }, [\n mostRecentEventCount,\n inputRef,\n props.value,\n props.defaultValue,\n selection,\n text,\n viewCommands,\n ]);\n\n return {\n setLastNativeText: lastNativeText => {\n lastNativeTextRef.current = lastNativeText;\n },\n setLastNativeSelection: lastNativeSelection => {\n lastNativeSelectionRef.current = lastNativeSelection;\n },\n };\n}\n\n/**\n * A foundational component for inputting text into the app via a\n * keyboard. Props provide configurability for several features, such as\n * auto-correction, auto-capitalization, placeholder text, and different keyboard\n * types, such as a numeric keypad.\n *\n * The simplest use case is to plop down a `TextInput` and subscribe to the\n * `onChangeText` events to read the user input. There are also other events,\n * such as `onSubmitEditing` and `onFocus` that can be subscribed to. A simple\n * example:\n *\n * ```ReactNativeWebPlayer\n * import React, { Component } from 'react';\n * import { AppRegistry, TextInput } from 'react-native';\n *\n * export default class UselessTextInput extends Component {\n * constructor(props) {\n * super(props);\n * this.state = { text: 'Useless Placeholder' };\n * }\n *\n * render() {\n * return (\n * this.setState({text})}\n * value={this.state.text}\n * />\n * );\n * }\n * }\n *\n * // skip this line if using Create React Native App\n * AppRegistry.registerComponent('AwesomeProject', () => UselessTextInput);\n * ```\n *\n * Two methods exposed via the native element are .focus() and .blur() that\n * will focus or blur the TextInput programmatically.\n *\n * Note that some props are only available with `multiline={true/false}`.\n * Additionally, border styles that apply to only one side of the element\n * (e.g., `borderBottomColor`, `borderLeftWidth`, etc.) will not be applied if\n * `multiline=false`. To achieve the same effect, you can wrap your `TextInput`\n * in a `View`:\n *\n * ```ReactNativeWebPlayer\n * import React, { Component } from 'react';\n * import { AppRegistry, View, TextInput } from 'react-native';\n *\n * class UselessTextInput extends Component {\n * render() {\n * return (\n * \n * );\n * }\n * }\n *\n * export default class UselessTextInputMultiline extends Component {\n * constructor(props) {\n * super(props);\n * this.state = {\n * text: 'Useless Multiline Placeholder',\n * };\n * }\n *\n * // If you type something in the text box that is a color, the background will change to that\n * // color.\n * render() {\n * return (\n * \n * this.setState({text})}\n * value={this.state.text}\n * />\n * \n * );\n * }\n * }\n *\n * // skip these lines if using Create React Native App\n * AppRegistry.registerComponent(\n * 'AwesomeProject',\n * () => UselessTextInputMultiline\n * );\n * ```\n *\n * `TextInput` has by default a border at the bottom of its view. This border\n * has its padding set by the background image provided by the system, and it\n * cannot be changed. Solutions to avoid this is to either not set height\n * explicitly, case in which the system will take care of displaying the border\n * in the correct position, or to not display the border by setting\n * `underlineColorAndroid` to transparent.\n *\n * Note that on Android performing text selection in input can change\n * app's activity `windowSoftInputMode` param to `adjustResize`.\n * This may cause issues with components that have position: 'absolute'\n * while keyboard is active. To avoid this behavior either specify `windowSoftInputMode`\n * in AndroidManifest.xml ( https://developer.android.com/guide/topics/manifest/activity-element.html )\n * or control this param programmatically with native code.\n *\n */\nfunction InternalTextInput(props: TextInputProps): React.Node {\n const {\n 'aria-busy': ariaBusy,\n 'aria-checked': ariaChecked,\n 'aria-disabled': ariaDisabled,\n 'aria-expanded': ariaExpanded,\n 'aria-selected': ariaSelected,\n 'aria-readonly': ariaReadOnly, // Windows\n 'aria-multiselectable': ariaMultiselectable, // Windows\n 'aria-required': ariaRequired, // Windows\n accessibilityState,\n id,\n tabIndex,\n selection: propsSelection,\n selectionColor,\n selectionHandleColor,\n cursorColor,\n ...otherProps\n } = props;\n\n const inputRef = useRef(null);\n\n const selection: ?Selection =\n propsSelection == null\n ? null\n : {\n start: propsSelection.start,\n end: propsSelection.end ?? propsSelection.start,\n };\n\n const text =\n typeof props.value === 'string'\n ? props.value\n : typeof props.defaultValue === 'string'\n ? props.defaultValue\n : undefined;\n\n const viewCommands =\n WindowsTextInputCommands || // [Windows]\n AndroidTextInputCommands ||\n (props.multiline === true\n ? RCTMultilineTextInputNativeCommands\n : RCTSinglelineTextInputNativeCommands);\n\n const [mostRecentEventCount, setMostRecentEventCount] = useState(0);\n const useTextInputStateSynchronization =\n ReactNativeFeatureFlags.useRefsForTextInputState()\n ? useTextInputStateSynchronization_REFS\n : useTextInputStateSynchronization_STATE;\n const {setLastNativeText, setLastNativeSelection} =\n useTextInputStateSynchronization({\n props,\n inputRef,\n mostRecentEventCount,\n selection,\n text,\n // $FlowFixMe[incompatible-call]\n viewCommands,\n });\n\n useLayoutEffect(() => {\n const inputRefValue = inputRef.current;\n\n if (inputRefValue != null) {\n TextInputState.registerInput(inputRefValue);\n\n return () => {\n TextInputState.unregisterInput(inputRefValue);\n\n if (TextInputState.currentlyFocusedInput() === inputRefValue) {\n nullthrows(inputRefValue).blur();\n }\n };\n }\n }, []);\n\n const setLocalRef = useCallback(\n (instance: HostInstance | null) => {\n // $FlowExpectedError[incompatible-type]\n inputRef.current = instance;\n\n /*\n Hi reader from the future. I'm sorry for this.\n\n This is a hack. Ideally we would forwardRef to the underlying\n host component. However, since TextInput has it's own methods that can be\n called as well, if we used the standard forwardRef then these\n methods wouldn't be accessible and thus be a breaking change.\n\n We have a couple of options of how to handle this:\n - Return a new ref with everything we methods from both. This is problematic\n because we need React to also know it is a host component which requires\n internals of the class implementation of the ref.\n - Break the API and have some other way to call one set of the methods or\n the other. This is our long term approach as we want to eventually\n get the methods on host components off the ref. So instead of calling\n ref.measure() you might call ReactNative.measure(ref). This would hopefully\n let the ref for TextInput then have the methods like `.clear`. Or we do it\n the other way and make it TextInput.clear(textInputRef) which would be fine\n too. Either way though is a breaking change that is longer term.\n - Mutate this ref. :( Gross, but accomplishes what we need in the meantime\n before we can get to the long term breaking change.\n */\n if (instance != null) {\n // $FlowFixMe[prop-missing] - See the explanation above.\n Object.assign(instance, {\n clear(): void {\n if (inputRef.current != null) {\n viewCommands.setTextAndSelection(\n inputRef.current,\n mostRecentEventCount,\n '',\n 0,\n 0,\n );\n }\n },\n isFocused(): boolean {\n const currentlyFocusedInput =\n TextInputState.currentlyFocusedInput();\n return (\n currentlyFocusedInput !== null &&\n currentlyFocusedInput === inputRef.current\n );\n },\n getNativeRef(): ?TextInputInstance {\n return inputRef.current;\n },\n setSelection(start: number, end: number): void {\n if (inputRef.current != null) {\n viewCommands.setTextAndSelection(\n inputRef.current,\n mostRecentEventCount,\n null,\n start,\n end,\n );\n }\n },\n });\n }\n },\n [mostRecentEventCount, viewCommands],\n );\n\n // $FlowExpectedError[incompatible-call]\n const ref = useMergeRefs(setLocalRef, props.forwardedRef);\n\n const _onChange = (event: TextInputChangeEvent) => {\n const currentText = event.nativeEvent.text;\n props.onChange && props.onChange(event);\n props.onChangeText && props.onChangeText(currentText);\n\n if (inputRef.current == null) {\n // calling `props.onChange` or `props.onChangeText`\n // may clean up the input itself. Exits here.\n return;\n }\n\n setLastNativeText(currentText);\n // This must happen last, after we call setLastNativeText.\n // Different ordering can cause bugs when editing AndroidTextInputs\n // with multiple Fragments.\n // We must update this so that controlled input updates work.\n setMostRecentEventCount(event.nativeEvent.eventCount);\n };\n\n const _onSelectionChange = (event: TextInputSelectionChangeEvent) => {\n props.onSelectionChange && props.onSelectionChange(event);\n\n if (inputRef.current == null) {\n // calling `props.onSelectionChange`\n // may clean up the input itself. Exits here.\n return;\n }\n\n setLastNativeSelection({\n selection: event.nativeEvent.selection,\n mostRecentEventCount,\n });\n };\n\n const _onFocus = (event: TextInputFocusEvent) => {\n TextInputState.focusInput(inputRef.current);\n if (props.onFocus) {\n props.onFocus(event);\n }\n };\n\n const _onBlur = (event: TextInputBlurEvent) => {\n TextInputState.blurInput(inputRef.current);\n if (props.onBlur) {\n props.onBlur(event);\n }\n };\n\n const _onScroll = (event: ScrollEvent) => {\n props.onScroll && props.onScroll(event);\n };\n\n let textInput = null;\n\n const multiline = props.multiline ?? false;\n\n let submitBehavior: SubmitBehavior;\n if (props.submitBehavior != null) {\n // `submitBehavior` is set explicitly\n if (!multiline && props.submitBehavior === 'newline') {\n // For single line text inputs, `'newline'` is not a valid option\n submitBehavior = 'blurAndSubmit';\n } else {\n submitBehavior = props.submitBehavior;\n }\n } else if (multiline) {\n if (props.blurOnSubmit === true) {\n submitBehavior = 'blurAndSubmit';\n } else {\n submitBehavior = 'newline';\n }\n } else {\n // Single line\n if (props.blurOnSubmit !== false) {\n submitBehavior = 'blurAndSubmit';\n } else {\n submitBehavior = 'submit';\n }\n }\n\n const accessible = props.accessible !== false;\n\n const accessibilityErrorMessage =\n props.accessibilityInvalid === true\n ? props.accessibilityErrorMessage\n : null;\n\n const focusable = props.focusable !== false;\n\n const {\n editable,\n hitSlop,\n onPress,\n onPressIn,\n onPressOut,\n rejectResponderTermination,\n } = props;\n\n const config = React.useMemo(\n () => ({\n hitSlop,\n onPress: (event: GestureResponderEvent) => {\n onPress?.(event);\n if (editable !== false) {\n if (inputRef.current != null) {\n inputRef.current.focus();\n }\n }\n },\n onPressIn: onPressIn,\n onPressOut: onPressOut,\n cancelable: Platform.OS === 'ios' ? !rejectResponderTermination : null,\n }),\n [\n editable,\n hitSlop,\n onPress,\n onPressIn,\n onPressOut,\n rejectResponderTermination,\n ],\n );\n\n // Hide caret during test runs due to a flashing caret\n // makes screenshot tests flakey\n let caretHidden = props.caretHidden;\n if (Platform.isTesting) {\n caretHidden = true;\n }\n\n // TextInput handles onBlur and onFocus events\n // so omitting onBlur and onFocus pressability handlers here.\n const {onBlur, onFocus, ...eventHandlers} = usePressability(config);\n const eventPhase = Object.freeze({Capturing: 1, Bubbling: 3});\n const _keyDown = (event: KeyEvent) => {\n if (props.keyDownEvents && event.isPropagationStopped() !== true) {\n // $FlowFixMe - keyDownEvents was already checked to not be undefined\n for (const el of props.keyDownEvents) {\n if (\n event.nativeEvent.code === el.code &&\n el.handledEventPhase === eventPhase.Bubbling\n ) {\n event.stopPropagation();\n }\n }\n }\n props.onKeyDown && props.onKeyDown(event);\n };\n\n const _keyUp = (event: KeyEvent) => {\n if (props.keyUpEvents && event.isPropagationStopped() !== true) {\n // $FlowFixMe - keyDownEvents was already checked to not be undefined\n for (const el of props.keyUpEvents) {\n if (event.nativeEvent.code === el.code && el.handledEventPhase === 3) {\n event.stopPropagation();\n }\n }\n }\n props.onKeyUp && props.onKeyUp(event);\n };\n\n const _keyDownCapture = (event: KeyEvent) => {\n if (props.keyDownEvents && event.isPropagationStopped() !== true) {\n // $FlowFixMe - keyDownEvents was already checked to not be undefined\n for (const el of props.keyDownEvents) {\n if (event.nativeEvent.code === el.code && el.handledEventPhase === 1) {\n event.stopPropagation();\n }\n }\n }\n props.onKeyDownCapture && props.onKeyDownCapture(event);\n };\n\n const _keyUpCapture = (event: KeyEvent) => {\n if (props.keyUpEvents && event.isPropagationStopped() !== true) {\n // $FlowFixMe - keyDownEvents was already checked to not be undefined\n for (const el of props.keyUpEvents) {\n if (event.nativeEvent.code === el.code && el.handledEventPhase === 1) {\n event.stopPropagation();\n }\n }\n }\n props.onKeyUpCapture && props.onKeyUpCapture(event);\n };\n\n let _accessibilityState;\n if (\n accessibilityState != null ||\n ariaBusy != null ||\n ariaChecked != null ||\n ariaDisabled != null ||\n ariaExpanded != null ||\n ariaSelected != null ||\n ariaReadOnly != null || // Windows\n ariaMultiselectable != null || // Windows\n ariaRequired != null // Windows\n ) {\n _accessibilityState = {\n busy: ariaBusy ?? accessibilityState?.busy,\n checked: ariaChecked ?? accessibilityState?.checked,\n disabled: ariaDisabled ?? accessibilityState?.disabled,\n expanded: ariaExpanded ?? accessibilityState?.expanded,\n selected: ariaSelected ?? accessibilityState?.selected,\n readOnly: ariaReadOnly ?? accessibilityState?.readOnly, // Windows\n multiselectable:\n ariaMultiselectable ?? accessibilityState?.multiselectable, // Windows\n required: ariaRequired ?? accessibilityState?.required, // Windows\n };\n }\n\n // Keep the original (potentially nested) style when possible, as React can diff these more efficiently\n let _style = props.style;\n const flattenedStyle = flattenStyle(props.style);\n if (flattenedStyle != null) {\n let overrides: ?{...TextStyleInternal} = null;\n if (typeof flattenedStyle?.fontWeight === 'number') {\n overrides = overrides || ({}: {...TextStyleInternal});\n overrides.fontWeight =\n // $FlowFixMe[incompatible-cast]\n (flattenedStyle.fontWeight.toString(): TextStyleInternal['fontWeight']);\n }\n\n if (flattenedStyle.verticalAlign != null) {\n overrides = overrides || ({}: {...TextStyleInternal});\n overrides.textAlignVertical =\n verticalAlignToTextAlignVerticalMap[flattenedStyle.verticalAlign];\n overrides.verticalAlign = undefined;\n }\n\n if (overrides != null) {\n // $FlowFixMe[incompatible-type]\n _style = [_style, overrides];\n }\n }\n\n if (Platform.OS === 'ios') {\n const RCTTextInputView =\n props.multiline === true\n ? RCTMultilineTextInputView\n : RCTSinglelineTextInputView;\n\n const useMultilineDefaultStyle =\n props.multiline === true &&\n (flattenedStyle == null ||\n (flattenedStyle.padding == null &&\n flattenedStyle.paddingVertical == null &&\n flattenedStyle.paddingTop == null));\n\n textInput = (\n \n );\n } else if (Platform.OS === 'android') {\n const autoCapitalize = props.autoCapitalize || 'sentences';\n const _accessibilityLabelledBy =\n props?.['aria-labelledby'] ?? props?.accessibilityLabelledBy;\n const placeholder = props.placeholder ?? '';\n let children = props.children;\n const childCount = React.Children.count(children);\n invariant(\n !(props.value != null && childCount),\n 'Cannot specify both value and children.',\n );\n if (childCount > 1) {\n children = {children};\n }\n // For consistency with iOS set cursor/selectionHandle color as selectionColor\n const colorProps = {\n selectionColor,\n selectionHandleColor:\n selectionHandleColor === undefined\n ? selectionColor\n : selectionHandleColor,\n cursorColor: cursorColor === undefined ? selectionColor : cursorColor,\n };\n textInput = (\n /* $FlowFixMe[prop-missing] the types for AndroidTextInput don't match up\n * exactly with the props for TextInput. This will need to get fixed */\n /* $FlowFixMe[incompatible-type] the types for AndroidTextInput don't\n * match up exactly with the props for TextInput. This will need to get\n * fixed */\n /* $FlowFixMe[incompatible-type-arg] the types for AndroidTextInput don't\n * match up exactly with the props for TextInput. This will need to get\n * fixed */\n \n );\n } // [Windows\n else if (Platform.OS === 'windows') {\n textInput = (\n /* $FlowFixMe[prop-missing] the types for WindowsTextInput don't match up\n * exactly with the props for TextInput. This will need to get fixed */\n /* $FlowFixMe[incompatible-type] the types for WindowsTextInput don't\n * match up exactly with the props for TextInput. This will need to get\n * fixed */\n /* $FlowFixMe[incompatible-type-arg] the types for WindowsTextInput don't\n * match up exactly with the props for TextInput. This will need to get\n * fixed */\n \n );\n } // Windows]\n return (\n {textInput}\n );\n}\n\nconst enterKeyHintToReturnTypeMap = {\n enter: 'default',\n done: 'done',\n go: 'go',\n next: 'next',\n previous: 'previous',\n search: 'search',\n send: 'send',\n};\n\nconst inputModeToKeyboardTypeMap = {\n none: 'default',\n text: 'default',\n decimal: 'decimal-pad',\n numeric: 'number-pad',\n tel: 'phone-pad',\n search: Platform.OS === 'ios' ? 'web-search' : 'default',\n email: 'email-address',\n url: 'url',\n};\n\n// Map HTML autocomplete values to Android autoComplete values\nconst autoCompleteWebToAutoCompleteAndroidMap = {\n 'address-line1': 'postal-address-region',\n 'address-line2': 'postal-address-locality',\n bday: 'birthdate-full',\n 'bday-day': 'birthdate-day',\n 'bday-month': 'birthdate-month',\n 'bday-year': 'birthdate-year',\n 'cc-csc': 'cc-csc',\n 'cc-exp': 'cc-exp',\n 'cc-exp-month': 'cc-exp-month',\n 'cc-exp-year': 'cc-exp-year',\n 'cc-number': 'cc-number',\n country: 'postal-address-country',\n 'current-password': 'password',\n email: 'email',\n 'honorific-prefix': 'name-prefix',\n 'honorific-suffix': 'name-suffix',\n name: 'name',\n 'additional-name': 'name-middle',\n 'family-name': 'name-family',\n 'given-name': 'name-given',\n 'new-password': 'password-new',\n off: 'off',\n 'one-time-code': 'sms-otp',\n 'postal-code': 'postal-code',\n sex: 'gender',\n 'street-address': 'street-address',\n tel: 'tel',\n 'tel-country-code': 'tel-country-code',\n 'tel-national': 'tel-national',\n username: 'username',\n};\n\n// Map HTML autocomplete values to iOS textContentType values\nconst autoCompleteWebToTextContentTypeMap = {\n 'address-line1': 'streetAddressLine1',\n 'address-line2': 'streetAddressLine2',\n bday: 'birthdate',\n 'bday-day': 'birthdateDay',\n 'bday-month': 'birthdateMonth',\n 'bday-year': 'birthdateYear',\n 'cc-csc': 'creditCardSecurityCode',\n 'cc-exp-month': 'creditCardExpirationMonth',\n 'cc-exp-year': 'creditCardExpirationYear',\n 'cc-exp': 'creditCardExpiration',\n 'cc-given-name': 'creditCardGivenName',\n 'cc-additional-name': 'creditCardMiddleName',\n 'cc-family-name': 'creditCardFamilyName',\n 'cc-name': 'creditCardName',\n 'cc-number': 'creditCardNumber',\n 'cc-type': 'creditCardType',\n 'current-password': 'password',\n country: 'countryName',\n email: 'emailAddress',\n name: 'name',\n 'additional-name': 'middleName',\n 'family-name': 'familyName',\n 'given-name': 'givenName',\n nickname: 'nickname',\n 'honorific-prefix': 'namePrefix',\n 'honorific-suffix': 'nameSuffix',\n 'new-password': 'newPassword',\n off: 'none',\n 'one-time-code': 'oneTimeCode',\n organization: 'organizationName',\n 'organization-title': 'jobTitle',\n 'postal-code': 'postalCode',\n 'street-address': 'fullStreetAddress',\n tel: 'telephoneNumber',\n url: 'URL',\n username: 'username',\n};\n\nconst ExportedForwardRef: component(\n ref: React.RefSetter,\n ...props: React.ElementConfig\n) = React.forwardRef(function TextInput(\n {\n allowFontScaling = true,\n rejectResponderTermination = true,\n underlineColorAndroid = 'transparent',\n autoComplete,\n textContentType,\n readOnly,\n editable,\n enterKeyHint,\n returnKeyType,\n inputMode,\n showSoftInputOnFocus,\n keyboardType,\n ...restProps\n },\n forwardedRef: React.RefSetter,\n) {\n return (\n \n );\n});\n\nExportedForwardRef.displayName = 'TextInput';\n\n// $FlowFixMe[prop-missing]\nExportedForwardRef.State = {\n currentlyFocusedInput: TextInputState.currentlyFocusedInput,\n\n currentlyFocusedField: TextInputState.currentlyFocusedField,\n focusTextInput: TextInputState.focusTextInput,\n blurTextInput: TextInputState.blurTextInput,\n};\n\nexport type TextInputComponentStatics = $ReadOnly<{\n State: $ReadOnly<{\n currentlyFocusedInput: typeof TextInputState.currentlyFocusedInput,\n currentlyFocusedField: typeof TextInputState.currentlyFocusedField,\n focusTextInput: typeof TextInputState.focusTextInput,\n blurTextInput: typeof TextInputState.blurTextInput,\n }>,\n}>;\n\nconst styles = StyleSheet.create({\n multilineDefault: {\n // This default top inset makes RCTMultilineTextInputView seem as close as possible\n // to single-line RCTSinglelineTextInputView defaults, using the system defaults\n // of font size 17 and a height of 31 points.\n paddingTop: 5,\n },\n});\n\nconst verticalAlignToTextAlignVerticalMap = {\n auto: 'auto',\n top: 'top',\n bottom: 'bottom',\n middle: 'center',\n};\n\n// $FlowFixMe[unclear-type] Unclear type. Using `any` type is not safe.\nexport default ExportedForwardRef as any as TextInputType;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';\nimport type {\n ColorValue,\n TextStyleProp,\n ViewStyleProp,\n} from '../../StyleSheet/StyleSheet';\nimport type {\n BubblingEventHandler,\n DirectEventHandler,\n Double,\n Float,\n Int32,\n WithDefault,\n} from '../../Types/CodegenTypes';\nimport type {ViewProps} from '../View/ViewPropTypes';\nimport type {TextInputNativeCommands} from './TextInputNativeCommands';\n\nimport * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';\nimport codegenNativeCommands from '../../Utilities/codegenNativeCommands';\n\nexport type KeyboardType =\n // Cross Platform\n | 'default'\n | 'email-address'\n | 'numeric'\n | 'phone-pad'\n | 'number-pad'\n | 'decimal-pad'\n | 'url'\n // iOS-only\n | 'ascii-capable'\n | 'numbers-and-punctuation'\n | 'name-phone-pad'\n | 'twitter'\n | 'web-search'\n // Android-only\n | 'visible-password';\n\nexport type ReturnKeyType =\n // Cross Platform\n | 'done'\n | 'go'\n | 'next'\n | 'search'\n | 'send'\n // Android-only\n | 'none'\n | 'previous'\n // iOS-only\n | 'default'\n | 'emergency-call'\n | 'google'\n | 'join'\n | 'route'\n | 'yahoo';\n\nexport type SubmitBehavior = 'submit' | 'blurAndSubmit' | 'newline';\n\nexport type NativeProps = $ReadOnly<{\n // This allows us to inherit everything from ViewProps except for style (see below)\n // This must be commented for Fabric codegen to work.\n ...$Diff>,\n\n /**\n * Android props after this\n */\n /**\n * Specifies autocomplete hints for the system, so it can provide autofill. On Android, the system will always attempt to offer autofill by using heuristics to identify the type of content.\n * To disable autocomplete, set `autoComplete` to `off`.\n *\n * *Android Only*\n *\n * Possible values for `autoComplete` are:\n *\n * - `birthdate-day`\n * - `birthdate-full`\n * - `birthdate-month`\n * - `birthdate-year`\n * - `cc-csc`\n * - `cc-exp`\n * - `cc-exp-day`\n * - `cc-exp-month`\n * - `cc-exp-year`\n * - `cc-number`\n * - `email`\n * - `gender`\n * - `name`\n * - `name-family`\n * - `name-given`\n * - `name-middle`\n * - `name-middle-initial`\n * - `name-prefix`\n * - `name-suffix`\n * - `password`\n * - `password-new`\n * - `postal-address`\n * - `postal-address-country`\n * - `postal-address-extended`\n * - `postal-address-extended-postal-code`\n * - `postal-address-locality`\n * - `postal-address-region`\n * - `postal-code`\n * - `street-address`\n * - `sms-otp`\n * - `tel`\n * - `tel-country-code`\n * - `tel-national`\n * - `tel-device`\n * - `username`\n * - `username-new`\n * - `off`\n *\n * @platform android\n */\n autoComplete?: WithDefault<\n | 'birthdate-day'\n | 'birthdate-full'\n | 'birthdate-month'\n | 'birthdate-year'\n | 'cc-csc'\n | 'cc-exp'\n | 'cc-exp-day'\n | 'cc-exp-month'\n | 'cc-exp-year'\n | 'cc-number'\n | 'email'\n | 'gender'\n | 'name'\n | 'name-family'\n | 'name-given'\n | 'name-middle'\n | 'name-middle-initial'\n | 'name-prefix'\n | 'name-suffix'\n | 'password'\n | 'password-new'\n | 'postal-address'\n | 'postal-address-country'\n | 'postal-address-extended'\n | 'postal-address-extended-postal-code'\n | 'postal-address-locality'\n | 'postal-address-region'\n | 'postal-code'\n | 'street-address'\n | 'sms-otp'\n | 'tel'\n | 'tel-country-code'\n | 'tel-national'\n | 'tel-device'\n | 'username'\n | 'username-new'\n | 'off',\n 'off',\n >,\n\n /**\n * Sets the return key to the label. Use it instead of `returnKeyType`.\n * @platform android\n */\n returnKeyLabel?: ?string,\n\n /**\n * Sets the number of lines for a `TextInput`. Use it with multiline set to\n * `true` to be able to fill the lines.\n * @platform android\n */\n numberOfLines?: ?Int32,\n\n /**\n * When `false`, if there is a small amount of space available around a text input\n * (e.g. landscape orientation on a phone), the OS may choose to have the user edit\n * the text inside of a full screen text input mode. When `true`, this feature is\n * disabled and users will always edit the text directly inside of the text input.\n * Defaults to `false`.\n * @platform android\n */\n disableFullscreenUI?: ?boolean,\n\n /**\n * Set text break strategy on Android API Level 23+, possible values are `simple`, `highQuality`, `balanced`\n * The default value is `simple`.\n * @platform android\n */\n textBreakStrategy?: WithDefault<\n 'simple' | 'highQuality' | 'balanced',\n 'simple',\n >,\n\n /**\n * The color of the `TextInput` underline.\n * @platform android\n */\n underlineColorAndroid?: ?ColorValue,\n\n /**\n * If defined, the provided image resource will be rendered on the left.\n * The image resource must be inside `/android/app/src/main/res/drawable` and referenced\n * like\n * ```\n * \n * ```\n * @platform android\n */\n inlineImageLeft?: ?string,\n\n /**\n * Padding between the inline image, if any, and the text input itself.\n * @platform android\n */\n inlineImagePadding?: ?Int32,\n\n importantForAutofill?: string /*?(\n | 'auto'\n | 'no'\n | 'noExcludeDescendants'\n | 'yes'\n | 'yesExcludeDescendants'\n ),*/,\n\n /**\n * When `false`, it will prevent the soft keyboard from showing when the field is focused.\n * Defaults to `true`.\n */\n showSoftInputOnFocus?: ?boolean,\n\n /**\n * TextInput props after this\n */\n /**\n * Can tell `TextInput` to automatically capitalize certain characters.\n *\n * - `characters`: all characters.\n * - `words`: first letter of each word.\n * - `sentences`: first letter of each sentence (*default*).\n * - `none`: don't auto capitalize anything.\n */\n autoCapitalize?: WithDefault<\n 'none' | 'sentences' | 'words' | 'characters',\n 'none',\n >,\n\n /**\n * If `false`, disables auto-correct. The default value is `true`.\n */\n autoCorrect?: ?boolean,\n\n /**\n * If `true`, focuses the input on `componentDidMount`.\n * The default value is `false`.\n */\n autoFocus?: ?boolean,\n\n /**\n * Specifies whether fonts should scale to respect Text Size accessibility settings. The\n * default is `true`.\n */\n allowFontScaling?: ?boolean,\n\n /**\n * Specifies largest possible scale a font can reach when `allowFontScaling` is enabled.\n * Possible values:\n * `null/undefined` (default): inherit from the parent node or the global default (0)\n * `0`: no max, ignore parent/global default\n * `>= 1`: sets the maxFontSizeMultiplier of this node to this value\n */\n maxFontSizeMultiplier?: ?Float,\n\n /**\n * If `false`, text is not editable. The default value is `true`.\n */\n editable?: ?boolean,\n\n /**\n * Determines which keyboard to open, e.g.`numeric`.\n *\n * The following values work across platforms:\n *\n * - `default`\n * - `numeric`\n * - `number-pad`\n * - `decimal-pad`\n * - `email-address`\n * - `phone-pad`\n * - `url`\n *\n * *Android Only*\n *\n * The following values work on Android only:\n *\n * - `visible-password`\n */\n keyboardType?: WithDefault,\n\n /**\n * Determines how the return key should look. On Android you can also use\n * `returnKeyLabel`.\n *\n * *Cross platform*\n *\n * The following values work across platforms:\n *\n * - `done`\n * - `go`\n * - `next`\n * - `search`\n * - `send`\n *\n * *Android Only*\n *\n * The following values work on Android only:\n *\n * - `none`\n * - `previous`\n */\n returnKeyType?: WithDefault,\n\n /**\n * Limits the maximum number of characters that can be entered. Use this\n * instead of implementing the logic in JS to avoid flicker.\n */\n maxLength?: ?Int32,\n\n /**\n * If `true`, the text input can be multiple lines.\n * The default value is `false`.\n */\n multiline?: ?boolean,\n\n /**\n * Callback that is called when the text input is blurred.\n * `target` is the reactTag of the element\n */\n onBlur?: ?BubblingEventHandler<$ReadOnly<{target: Int32}>>,\n\n /**\n * Callback that is called when the text input is focused.\n * `target` is the reactTag of the element\n */\n onFocus?: ?BubblingEventHandler<$ReadOnly<{target: Int32}>>,\n\n /**\n * Callback that is called when the text input's text changes.\n * `target` is the reactTag of the element\n * TODO: differentiate between onChange and onChangeText\n */\n onChange?: ?BubblingEventHandler<\n $ReadOnly<{target: Int32, eventCount: Int32, text: string}>,\n >,\n\n /**\n * Callback that is called when the text input's text changes.\n * Changed text is passed as an argument to the callback handler.\n * TODO: differentiate between onChange and onChangeText\n */\n onChangeText?: ?BubblingEventHandler<\n $ReadOnly<{target: Int32, eventCount: Int32, text: string}>,\n >,\n\n /**\n * Callback that is called when the text input's content size changes.\n * This will be called with\n * `{ nativeEvent: { contentSize: { width, height } } }`.\n *\n * Only called for multiline text inputs.\n */\n onContentSizeChange?: ?DirectEventHandler<\n $ReadOnly<{\n target: Int32,\n contentSize: $ReadOnly<{width: Double, height: Double}>,\n }>,\n >,\n\n /**\n * Callback that is called when text input ends.\n */\n onEndEditing?: ?BubblingEventHandler<\n $ReadOnly<{target: Int32, text: string}>,\n >,\n\n /**\n * Callback that is called when the text input selection is changed.\n * This will be called with\n * `{ nativeEvent: { selection: { start, end } } }`.\n */\n onSelectionChange?: ?DirectEventHandler<\n $ReadOnly<{\n target: Int32,\n selection: $ReadOnly<{start: Double, end: Double}>,\n }>,\n >,\n\n /**\n * Callback that is called when the text input's submit button is pressed.\n * Invalid if `multiline={true}` is specified.\n */\n onSubmitEditing?: ?BubblingEventHandler<\n $ReadOnly<{target: Int32, text: string}>,\n >,\n\n /**\n * Callback that is called when a key is pressed.\n * This will be called with `{ nativeEvent: { key: keyValue } }`\n * where `keyValue` is `'Enter'` or `'Backspace'` for respective keys and\n * the typed-in character otherwise including `' '` for space.\n * Fires before `onChange` callbacks.\n */\n onKeyPress?: ?BubblingEventHandler<$ReadOnly<{target: Int32, key: string}>>,\n\n /**\n * Invoked on content scroll with `{ nativeEvent: { contentOffset: { x, y } } }`.\n * May also contain other properties from ScrollEvent but on Android contentSize\n * is not provided for performance reasons.\n */\n onScroll?: ?DirectEventHandler<\n $ReadOnly<{\n target: Int32,\n responderIgnoreScroll: boolean,\n contentInset: $ReadOnly<{\n top: Double, // always 0 on Android\n bottom: Double, // always 0 on Android\n left: Double, // always 0 on Android\n right: Double, // always 0 on Android\n }>,\n contentOffset: $ReadOnly<{\n x: Double,\n y: Double,\n }>,\n contentSize: $ReadOnly<{\n width: Double, // always 0 on Android\n height: Double, // always 0 on Android\n }>,\n layoutMeasurement: $ReadOnly<{\n width: Double,\n height: Double,\n }>,\n velocity: $ReadOnly<{\n x: Double, // always 0 on Android\n y: Double, // always 0 on Android\n }>,\n }>,\n >,\n\n /**\n * The string that will be rendered before text input has been entered.\n */\n placeholder?: ?Stringish,\n\n /**\n * The text color of the placeholder string.\n */\n placeholderTextColor?: ?ColorValue,\n\n /**\n * If `true`, the text input obscures the text entered so that sensitive text\n * like passwords stay secure. The default value is `false`. Does not work with 'multiline={true}'.\n */\n secureTextEntry?: ?boolean,\n\n /**\n * The highlight and cursor color of the text input.\n */\n selectionColor?: ?ColorValue,\n\n /**\n * The text selection handle color.\n */\n selectionHandleColor?: ?ColorValue,\n\n /**\n * The start and end of the text input's selection. Set start and end to\n * the same value to position the cursor.\n */\n selection?: ?$ReadOnly<{\n start: Int32,\n end?: ?Int32,\n }>,\n\n /**\n * The value to show for the text input. `TextInput` is a controlled\n * component, which means the native value will be forced to match this\n * value prop if provided. For most uses, this works great, but in some\n * cases this may cause flickering - one common cause is preventing edits\n * by keeping value the same. In addition to simply setting the same value,\n * either set `editable={false}`, or set/update `maxLength` to prevent\n * unwanted edits without flicker.\n */\n value?: ?string,\n\n /**\n * Provides an initial value that will change when the user starts typing.\n * Useful for simple use-cases where you do not want to deal with listening\n * to events and updating the value prop to keep the controlled state in sync.\n */\n defaultValue?: ?string,\n\n /**\n * If `true`, all text will automatically be selected on focus.\n */\n selectTextOnFocus?: ?boolean,\n\n /**\n * If `true`, the text field will blur when submitted.\n * The default value is true for single-line fields and false for\n * multiline fields. Note that for multiline fields, setting `blurOnSubmit`\n * to `true` means that pressing return will blur the field and trigger the\n * `onSubmitEditing` event instead of inserting a newline into the field.\n *\n * @deprecated\n * Note that `submitBehavior` now takes the place of `blurOnSubmit` and will\n * override any behavior defined by `blurOnSubmit`.\n * @see submitBehavior\n */\n blurOnSubmit?: ?boolean,\n\n /**\n * When the return key is pressed,\n *\n * For single line inputs:\n *\n * - `'newline`' defaults to `'blurAndSubmit'`\n * - `undefined` defaults to `'blurAndSubmit'`\n *\n * For multiline inputs:\n *\n * - `'newline'` adds a newline\n * - `undefined` defaults to `'newline'`\n *\n * For both single line and multiline inputs:\n *\n * - `'submit'` will only send a submit event and not blur the input\n * - `'blurAndSubmit`' will both blur the input and send a submit event\n */\n submitBehavior?: ?SubmitBehavior,\n\n /**\n * Note that not all Text styles are supported, an incomplete list of what is not supported includes:\n *\n * - `borderLeftWidth`\n * - `borderTopWidth`\n * - `borderRightWidth`\n * - `borderBottomWidth`\n * - `borderTopLeftRadius`\n * - `borderTopRightRadius`\n * - `borderBottomRightRadius`\n * - `borderBottomLeftRadius`\n *\n * see [Issue#7070](https://github.com/facebook/react-native/issues/7070)\n * for more detail.\n *\n * [Styles](docs/style.html)\n */\n // TODO: figure out what to do with this style prop for codegen/Fabric purposes\n // This must be commented for Fabric codegen to work; it's currently not possible\n // to override the default View style prop in codegen.\n style?: ?TextStyleProp,\n\n /**\n * If `true`, caret is hidden. The default value is `false`.\n * This property is supported only for single-line TextInput component on iOS.\n */\n caretHidden?: ?boolean,\n\n /*\n * If `true`, contextMenuHidden is hidden. The default value is `false`.\n */\n contextMenuHidden?: ?boolean,\n\n /**\n * The following are props that `BaseTextShadowNode` takes. It is unclear if they\n * are used by TextInput.\n */\n textShadowColor?: ?ColorValue,\n textShadowRadius?: ?Float,\n textDecorationLine?: ?string,\n fontStyle?: ?string,\n textShadowOffset?: ?$ReadOnly<{width?: ?Double, height?: ?Double}>,\n lineHeight?: ?Float,\n textTransform?: ?string,\n color?: ?Int32,\n letterSpacing?: ?Float,\n fontSize?: ?Float,\n textAlign?: ?string,\n includeFontPadding?: ?boolean,\n fontWeight?: ?string,\n fontFamily?: ?string,\n\n /**\n * I cannot find where these are defined but JS complains without them.\n */\n textAlignVertical?: ?string,\n cursorColor?: ?ColorValue,\n\n /**\n * \"Private\" fields used by TextInput.js and not users of this component directly\n */\n mostRecentEventCount: Int32,\n text?: ?string,\n}>;\n\ntype NativeType = HostComponent;\n\ntype NativeCommands = TextInputNativeCommands;\n\nexport const Commands: NativeCommands = codegenNativeCommands({\n supportedCommands: ['focus', 'blur', 'setTextAndSelection'],\n});\n\nexport const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {\n uiViewClassName: 'AndroidTextInput',\n bubblingEventTypes: {\n topBlur: {\n phasedRegistrationNames: {\n bubbled: 'onBlur',\n captured: 'onBlurCapture',\n },\n },\n topEndEditing: {\n phasedRegistrationNames: {\n bubbled: 'onEndEditing',\n captured: 'onEndEditingCapture',\n },\n },\n topFocus: {\n phasedRegistrationNames: {\n bubbled: 'onFocus',\n captured: 'onFocusCapture',\n },\n },\n topKeyPress: {\n phasedRegistrationNames: {\n bubbled: 'onKeyPress',\n captured: 'onKeyPressCapture',\n },\n },\n topSubmitEditing: {\n phasedRegistrationNames: {\n bubbled: 'onSubmitEditing',\n captured: 'onSubmitEditingCapture',\n },\n },\n },\n directEventTypes: {\n topScroll: {\n registrationName: 'onScroll',\n },\n },\n validAttributes: {\n maxFontSizeMultiplier: true,\n adjustsFontSizeToFit: true,\n minimumFontScale: true,\n autoFocus: true,\n placeholder: true,\n inlineImagePadding: true,\n contextMenuHidden: true,\n textShadowColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n maxLength: true,\n selectTextOnFocus: true,\n textShadowRadius: true,\n underlineColorAndroid: {\n process: require('../../StyleSheet/processColor').default,\n },\n textDecorationLine: true,\n submitBehavior: true,\n textAlignVertical: true,\n fontStyle: true,\n textShadowOffset: true,\n selectionColor: {process: require('../../StyleSheet/processColor').default},\n selectionHandleColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n placeholderTextColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n importantForAutofill: true,\n lineHeight: true,\n textTransform: true,\n returnKeyType: true,\n keyboardType: true,\n multiline: true,\n color: {process: require('../../StyleSheet/processColor').default},\n autoComplete: true,\n numberOfLines: true,\n letterSpacing: true,\n returnKeyLabel: true,\n fontSize: true,\n onKeyPress: true,\n cursorColor: {process: require('../../StyleSheet/processColor').default},\n text: true,\n showSoftInputOnFocus: true,\n textAlign: true,\n autoCapitalize: true,\n autoCorrect: true,\n caretHidden: true,\n secureTextEntry: true,\n textBreakStrategy: true,\n onScroll: true,\n onContentSizeChange: true,\n disableFullscreenUI: true,\n includeFontPadding: true,\n fontWeight: true,\n fontFamily: true,\n allowFontScaling: true,\n onSelectionChange: true,\n mostRecentEventCount: true,\n inlineImageLeft: true,\n editable: true,\n fontVariant: true,\n borderBottomRightRadius: true,\n borderBottomColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderRadius: true,\n borderRightColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderColor: {process: require('../../StyleSheet/processColor').default},\n borderTopRightRadius: true,\n borderStyle: true,\n borderBottomLeftRadius: true,\n borderLeftColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n borderTopLeftRadius: true,\n borderTopColor: {process: require('../../StyleSheet/processColor').default},\n },\n};\n\nlet AndroidTextInputNativeComponent = NativeComponentRegistry.get(\n 'AndroidTextInput',\n () => __INTERNAL_VIEW_CONFIG,\n);\n\n// flowlint-next-line unclear-type:off\nexport default ((AndroidTextInputNativeComponent: any): HostComponent);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';\nimport type {TextInputNativeCommands} from './TextInputNativeCommands';\n\nimport * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';\nimport codegenNativeCommands from '../../Utilities/codegenNativeCommands';\nimport RCTTextInputViewConfig from './RCTTextInputViewConfig';\n\ntype NativeType = HostComponent<{...}>;\n\ntype NativeCommands = TextInputNativeCommands;\n\nexport const Commands: NativeCommands = codegenNativeCommands({\n supportedCommands: ['focus', 'blur', 'setTextAndSelection'],\n});\n\nexport const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {\n uiViewClassName: 'RCTSinglelineTextInputView',\n ...RCTTextInputViewConfig,\n};\n\nconst SinglelineTextInputNativeComponent: HostComponent<{...}> =\n NativeComponentRegistry.get<{...}>(\n 'RCTSinglelineTextInputView',\n () => __INTERNAL_VIEW_CONFIG,\n );\n\n// flowlint-next-line unclear-type:off\nexport default ((SinglelineTextInputNativeComponent: any): HostComponent<{\n ...\n}>);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';\n\nimport {ConditionallyIgnoredEventHandlers} from '../../NativeComponent/ViewConfigIgnore';\n\ntype PartialViewConfigWithoutName = $Rest<\n PartialViewConfig,\n {uiViewClassName: string},\n>;\n\nconst RCTTextInputViewConfig = {\n bubblingEventTypes: {\n topBlur: {\n phasedRegistrationNames: {\n bubbled: 'onBlur',\n captured: 'onBlurCapture',\n },\n },\n topChange: {\n phasedRegistrationNames: {\n bubbled: 'onChange',\n captured: 'onChangeCapture',\n },\n },\n topEndEditing: {\n phasedRegistrationNames: {\n bubbled: 'onEndEditing',\n captured: 'onEndEditingCapture',\n },\n },\n topFocus: {\n phasedRegistrationNames: {\n bubbled: 'onFocus',\n captured: 'onFocusCapture',\n },\n },\n topKeyPress: {\n phasedRegistrationNames: {\n bubbled: 'onKeyPress',\n captured: 'onKeyPressCapture',\n },\n },\n topSubmitEditing: {\n phasedRegistrationNames: {\n bubbled: 'onSubmitEditing',\n captured: 'onSubmitEditingCapture',\n },\n },\n topTouchCancel: {\n phasedRegistrationNames: {\n bubbled: 'onTouchCancel',\n captured: 'onTouchCancelCapture',\n },\n },\n topTouchEnd: {\n phasedRegistrationNames: {\n bubbled: 'onTouchEnd',\n captured: 'onTouchEndCapture',\n },\n },\n\n topTouchMove: {\n phasedRegistrationNames: {\n bubbled: 'onTouchMove',\n captured: 'onTouchMoveCapture',\n },\n },\n },\n directEventTypes: {\n topScroll: {\n registrationName: 'onScroll',\n },\n topSelectionChange: {\n registrationName: 'onSelectionChange',\n },\n topContentSizeChange: {\n registrationName: 'onContentSizeChange',\n },\n topChangeSync: {\n registrationName: 'onChangeSync',\n },\n topKeyPressSync: {\n registrationName: 'onKeyPressSync',\n },\n },\n validAttributes: {\n dynamicTypeRamp: true,\n fontSize: true,\n fontWeight: true,\n fontVariant: true,\n // flowlint-next-line untyped-import:off\n textShadowOffset: {\n diff: require('../../Utilities/differ/sizesDiffer').default,\n },\n allowFontScaling: true,\n fontStyle: true,\n textTransform: true,\n textAlign: true,\n fontFamily: true,\n lineHeight: true,\n isHighlighted: true,\n writingDirection: true,\n textDecorationLine: true,\n textShadowRadius: true,\n letterSpacing: true,\n textDecorationStyle: true,\n textDecorationColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n color: {process: require('../../StyleSheet/processColor').default},\n maxFontSizeMultiplier: true,\n textShadowColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n editable: true,\n inputAccessoryViewID: true,\n inputAccessoryViewButtonLabel: true,\n caretHidden: true,\n enablesReturnKeyAutomatically: true,\n placeholderTextColor: {\n process: require('../../StyleSheet/processColor').default,\n },\n clearButtonMode: true,\n keyboardType: true,\n selection: true,\n returnKeyType: true,\n submitBehavior: true,\n mostRecentEventCount: true,\n scrollEnabled: true,\n selectionColor: {process: require('../../StyleSheet/processColor').default},\n contextMenuHidden: true,\n secureTextEntry: true,\n placeholder: true,\n autoCorrect: true,\n multiline: true,\n numberOfLines: true,\n textContentType: true,\n maxLength: true,\n autoCapitalize: true,\n keyboardAppearance: true,\n passwordRules: true,\n spellCheck: true,\n selectTextOnFocus: true,\n text: true,\n clearTextOnFocus: true,\n showSoftInputOnFocus: true,\n autoFocus: true,\n lineBreakStrategyIOS: true,\n lineBreakModeIOS: true,\n smartInsertDelete: true,\n ...ConditionallyIgnoredEventHandlers({\n onChange: true,\n onSelectionChange: true,\n onContentSizeChange: true,\n onScroll: true,\n onChangeSync: true,\n onKeyPressSync: true,\n }),\n disableKeyboardShortcuts: true,\n },\n};\n\nexport default RCTTextInputViewConfig as PartialViewConfigWithoutName;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {PartialViewConfig} from '../../Renderer/shims/ReactNativeTypes';\nimport type {TextInputNativeCommands} from './TextInputNativeCommands';\n\nimport * as NativeComponentRegistry from '../../NativeComponent/NativeComponentRegistry';\nimport codegenNativeCommands from '../../Utilities/codegenNativeCommands';\nimport RCTTextInputViewConfig from './RCTTextInputViewConfig';\n\ntype NativeType = HostComponent<{...}>;\n\ntype NativeCommands = TextInputNativeCommands;\n\nexport const Commands: NativeCommands = codegenNativeCommands({\n supportedCommands: ['focus', 'blur', 'setTextAndSelection'],\n});\n\nexport const __INTERNAL_VIEW_CONFIG: PartialViewConfig = {\n uiViewClassName: 'RCTMultilineTextInputView',\n ...RCTTextInputViewConfig,\n validAttributes: {\n ...RCTTextInputViewConfig.validAttributes,\n dataDetectorTypes: true,\n },\n};\n\nconst MultilineTextInputNativeComponent: HostComponent<{...}> =\n NativeComponentRegistry.get<{...}>(\n 'RCTMultilineTextInputView',\n () => __INTERNAL_VIEW_CONFIG,\n );\n\n// flowlint-next-line unclear-type:off\nexport default ((MultilineTextInputNativeComponent: any): HostComponent<{...}>);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {EdgeInsetsProp} from '../../StyleSheet/EdgeInsetsPropType';\nimport type {ColorValue} from '../../StyleSheet/StyleSheet';\nimport type {GestureResponderEvent} from '../../Types/CoreEventTypes';\n\nimport {PressabilityDebugView} from '../../Pressability/PressabilityDebug';\nimport UIManager from '../../ReactNative/UIManager';\nimport Platform from '../../Utilities/Platform';\nimport SoundManager from '../Sound/SoundManager';\nimport BoundingDimensions from './BoundingDimensions';\nimport Position from './Position';\nimport * as React from 'react';\n\nconst extractSingleTouch = (nativeEvent: {\n +altKey: ?boolean,\n +button: ?number,\n +changedTouches: $ReadOnlyArray,\n +ctrlKey: ?boolean,\n +force?: number,\n +identifier: number,\n +locationX: number,\n +locationY: number,\n +metaKey: ?boolean,\n +pageX: number,\n +pageY: number,\n +shiftKey: ?boolean,\n +target: ?number,\n +timestamp: number,\n +touches: $ReadOnlyArray,\n}) => {\n const touches = nativeEvent.touches;\n const changedTouches = nativeEvent.changedTouches;\n const hasTouches = touches && touches.length > 0;\n const hasChangedTouches = changedTouches && changedTouches.length > 0;\n\n return !hasTouches && hasChangedTouches\n ? changedTouches[0]\n : hasTouches\n ? touches[0]\n : nativeEvent;\n};\n\n/**\n * `Touchable`: Taps done right.\n *\n * You hook your `ResponderEventPlugin` events into `Touchable`. `Touchable`\n * will measure time/geometry and tells you when to give feedback to the user.\n *\n * ====================== Touchable Tutorial ===============================\n * The `Touchable` mixin helps you handle the \"press\" interaction. It analyzes\n * the geometry of elements, and observes when another responder (scroll view\n * etc) has stolen the touch lock. It notifies your component when it should\n * give feedback to the user. (bouncing/highlighting/unhighlighting).\n *\n * - When a touch was activated (typically you highlight)\n * - When a touch was deactivated (typically you unhighlight)\n * - When a touch was \"pressed\" - a touch ended while still within the geometry\n * of the element, and no other element (like scroller) has \"stolen\" touch\n * lock (\"responder\") (Typically you bounce the element).\n *\n * A good tap interaction isn't as simple as you might think. There should be a\n * slight delay before showing a highlight when starting a touch. If a\n * subsequent touch move exceeds the boundary of the element, it should\n * unhighlight, but if that same touch is brought back within the boundary, it\n * should rehighlight again. A touch can move in and out of that boundary\n * several times, each time toggling highlighting, but a \"press\" is only\n * triggered if that touch ends while within the element's boundary and no\n * scroller (or anything else) has stolen the lock on touches.\n *\n * To create a new type of component that handles interaction using the\n * `Touchable` mixin, do the following:\n *\n * - Initialize the `Touchable` state.\n *\n * getInitialState: function() {\n * return merge(this.touchableGetInitialState(), yourComponentState);\n * }\n *\n * - Choose the rendered component who's touches should start the interactive\n * sequence. On that rendered node, forward all `Touchable` responder\n * handlers. You can choose any rendered node you like. Choose a node whose\n * hit target you'd like to instigate the interaction sequence:\n *\n * // In render function:\n * return (\n * \n * \n * Even though the hit detection/interactions are triggered by the\n * wrapping (typically larger) node, we usually end up implementing\n * custom logic that highlights this inner one.\n * \n * \n * );\n *\n * - You may set up your own handlers for each of these events, so long as you\n * also invoke the `touchable*` handlers inside of your custom handler.\n *\n * - Implement the handlers on your component class in order to provide\n * feedback to the user. See documentation for each of these class methods\n * that you should implement.\n *\n * touchableHandlePress: function() {\n * this.performBounceAnimation(); // or whatever you want to do.\n * },\n * touchableHandleActivePressIn: function() {\n * this.beginHighlighting(...); // Whatever you like to convey activation\n * },\n * touchableHandleActivePressOut: function() {\n * this.endHighlighting(...); // Whatever you like to convey deactivation\n * },\n *\n * - There are more advanced methods you can implement (see documentation below):\n * touchableGetHighlightDelayMS: function() {\n * return 20;\n * }\n * // In practice, *always* use a predeclared constant (conserve memory).\n * touchableGetPressRectOffset: function() {\n * return {top: 20, left: 20, right: 20, bottom: 100};\n * }\n */\n\n/**\n * Touchable states.\n */\n\nconst States = {\n NOT_RESPONDER: 'NOT_RESPONDER', // Not the responder\n RESPONDER_INACTIVE_PRESS_IN: 'RESPONDER_INACTIVE_PRESS_IN', // Responder, inactive, in the `PressRect`\n RESPONDER_INACTIVE_PRESS_OUT: 'RESPONDER_INACTIVE_PRESS_OUT', // Responder, inactive, out of `PressRect`\n RESPONDER_ACTIVE_PRESS_IN: 'RESPONDER_ACTIVE_PRESS_IN', // Responder, active, in the `PressRect`\n RESPONDER_ACTIVE_PRESS_OUT: 'RESPONDER_ACTIVE_PRESS_OUT', // Responder, active, out of `PressRect`\n RESPONDER_ACTIVE_LONG_PRESS_IN: 'RESPONDER_ACTIVE_LONG_PRESS_IN', // Responder, active, in the `PressRect`, after long press threshold\n RESPONDER_ACTIVE_LONG_PRESS_OUT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT', // Responder, active, out of `PressRect`, after long press threshold\n ERROR: 'ERROR',\n};\n\ntype State =\n | typeof States.NOT_RESPONDER\n | typeof States.RESPONDER_INACTIVE_PRESS_IN\n | typeof States.RESPONDER_INACTIVE_PRESS_OUT\n | typeof States.RESPONDER_ACTIVE_PRESS_IN\n | typeof States.RESPONDER_ACTIVE_PRESS_OUT\n | typeof States.RESPONDER_ACTIVE_LONG_PRESS_IN\n | typeof States.RESPONDER_ACTIVE_LONG_PRESS_OUT\n | typeof States.ERROR;\n\n/*\n * Quick lookup map for states that are considered to be \"active\"\n */\n\nconst baseStatesConditions = {\n NOT_RESPONDER: false,\n RESPONDER_INACTIVE_PRESS_IN: false,\n RESPONDER_INACTIVE_PRESS_OUT: false,\n RESPONDER_ACTIVE_PRESS_IN: false,\n RESPONDER_ACTIVE_PRESS_OUT: false,\n RESPONDER_ACTIVE_LONG_PRESS_IN: false,\n RESPONDER_ACTIVE_LONG_PRESS_OUT: false,\n ERROR: false,\n};\n\nconst IsActive = {\n ...baseStatesConditions,\n RESPONDER_ACTIVE_PRESS_OUT: true,\n RESPONDER_ACTIVE_PRESS_IN: true,\n};\n\n/**\n * Quick lookup for states that are considered to be \"pressing\" and are\n * therefore eligible to result in a \"selection\" if the press stops.\n */\nconst IsPressingIn = {\n ...baseStatesConditions,\n RESPONDER_INACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_LONG_PRESS_IN: true,\n};\n\nconst IsLongPressingIn = {\n ...baseStatesConditions,\n RESPONDER_ACTIVE_LONG_PRESS_IN: true,\n};\n\n/**\n * Inputs to the state machine.\n */\nconst Signals = {\n DELAY: 'DELAY',\n RESPONDER_GRANT: 'RESPONDER_GRANT',\n RESPONDER_RELEASE: 'RESPONDER_RELEASE',\n RESPONDER_TERMINATED: 'RESPONDER_TERMINATED',\n ENTER_PRESS_RECT: 'ENTER_PRESS_RECT',\n LEAVE_PRESS_RECT: 'LEAVE_PRESS_RECT',\n LONG_PRESS_DETECTED: 'LONG_PRESS_DETECTED',\n};\n\ntype Signal =\n | typeof Signals.DELAY\n | typeof Signals.RESPONDER_GRANT\n | typeof Signals.RESPONDER_RELEASE\n | typeof Signals.RESPONDER_TERMINATED\n | typeof Signals.ENTER_PRESS_RECT\n | typeof Signals.LEAVE_PRESS_RECT\n | typeof Signals.LONG_PRESS_DETECTED;\n\n/**\n * Mapping from States x Signals => States\n */\nconst Transitions = {\n NOT_RESPONDER: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,\n RESPONDER_RELEASE: States.ERROR,\n RESPONDER_TERMINATED: States.ERROR,\n ENTER_PRESS_RECT: States.ERROR,\n LEAVE_PRESS_RECT: States.ERROR,\n LONG_PRESS_DETECTED: States.ERROR,\n },\n RESPONDER_INACTIVE_PRESS_IN: {\n DELAY: States.RESPONDER_ACTIVE_PRESS_IN,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR,\n },\n RESPONDER_INACTIVE_PRESS_OUT: {\n DELAY: States.RESPONDER_ACTIVE_PRESS_OUT,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_INACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR,\n },\n RESPONDER_ACTIVE_PRESS_IN: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n },\n RESPONDER_ACTIVE_PRESS_OUT: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR,\n },\n RESPONDER_ACTIVE_LONG_PRESS_IN: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,\n LONG_PRESS_DETECTED: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n },\n RESPONDER_ACTIVE_LONG_PRESS_OUT: {\n DELAY: States.ERROR,\n RESPONDER_GRANT: States.ERROR,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_IN,\n LEAVE_PRESS_RECT: States.RESPONDER_ACTIVE_LONG_PRESS_OUT,\n LONG_PRESS_DETECTED: States.ERROR,\n },\n error: {\n DELAY: States.NOT_RESPONDER,\n RESPONDER_GRANT: States.RESPONDER_INACTIVE_PRESS_IN,\n RESPONDER_RELEASE: States.NOT_RESPONDER,\n RESPONDER_TERMINATED: States.NOT_RESPONDER,\n ENTER_PRESS_RECT: States.NOT_RESPONDER,\n LEAVE_PRESS_RECT: States.NOT_RESPONDER,\n LONG_PRESS_DETECTED: States.NOT_RESPONDER,\n },\n};\n\n// ==== Typical Constants for integrating into UI components ====\n// var HIT_EXPAND_PX = 20;\n// var HIT_VERT_OFFSET_PX = 10;\nconst HIGHLIGHT_DELAY_MS = 130;\n\nconst PRESS_EXPAND_PX = 20;\n\nconst LONG_PRESS_THRESHOLD = 500;\n\nconst LONG_PRESS_DELAY_MS = LONG_PRESS_THRESHOLD - HIGHLIGHT_DELAY_MS;\n\nconst LONG_PRESS_ALLOWED_MOVEMENT = 10;\n\n// Default amount \"active\" region protrudes beyond box\n\n/**\n * By convention, methods prefixed with underscores are meant to be @private,\n * and not @protected. Mixers shouldn't access them - not even to provide them\n * as callback handlers.\n *\n *\n * ========== Geometry =========\n * `Touchable` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * +--------------------------+\n * | | - \"Start\" events in `HitRect` cause `HitRect`\n * | +--------------------+ | to become the responder.\n * | | +--------------+ | | - `HitRect` is typically expanded around\n * | | | | | | the `VisualRect`, but shifted downward.\n * | | | VisualRect | | | - After pressing down, after some delay,\n * | | | | | | and before letting up, the Visual React\n * | | +--------------+ | | will become \"active\". This makes it eligible\n * | | HitRect | | for being highlighted (so long as the\n * | +--------------------+ | press remains in the `PressRect`).\n * | PressRect o |\n * +----------------------|---+\n * Out Region |\n * +-----+ This gap between the `HitRect` and\n * `PressRect` allows a touch to move far away\n * from the original hit rect, and remain\n * highlighted, and eligible for a \"Press\".\n * Customize this via\n * `touchableGetPressRectOffset()`.\n *\n *\n *\n * ======= State Machine =======\n *\n * +-------------+ <---+ RESPONDER_RELEASE\n * |NOT_RESPONDER|\n * +-------------+ <---+ RESPONDER_TERMINATED\n * +\n * | RESPONDER_GRANT (HitRect)\n * v\n * +---------------------------+ DELAY +-------------------------+ T + DELAY +------------------------------+\n * |RESPONDER_INACTIVE_PRESS_IN|+-------->|RESPONDER_ACTIVE_PRESS_IN| +------------> |RESPONDER_ACTIVE_LONG_PRESS_IN|\n * +---------------------------+ +-------------------------+ +------------------------------+\n * + ^ + ^ + ^\n * |LEAVE_ |ENTER_ |LEAVE_ |ENTER_ |LEAVE_ |ENTER_\n * |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT |PRESS_RECT\n * | | | | | |\n * v + v + v +\n * +----------------------------+ DELAY +--------------------------+ +-------------------------------+\n * |RESPONDER_INACTIVE_PRESS_OUT|+------->|RESPONDER_ACTIVE_PRESS_OUT| |RESPONDER_ACTIVE_LONG_PRESS_OUT|\n * +----------------------------+ +--------------------------+ +-------------------------------+\n *\n * T + DELAY => LONG_PRESS_DELAY_MS + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the `touchableHandlePress` abstract method invocation that occurs\n * when a responder is released while in either of the \"Press\" states.\n *\n * The other important side effects are the highlight abstract method\n * invocations (internal callbacks) to be implemented by the mixer.\n *\n *\n * @lends Touchable.prototype\n */\nconst TouchableMixinImpl = {\n componentDidMount: function () {\n if (!Platform.isTV) {\n return;\n }\n },\n\n /**\n * Clear all timeouts on unmount\n */\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n componentWillUnmount: function () {\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);\n },\n\n /**\n * It's prefer that mixins determine state in this way, having the class\n * explicitly mix the state in the one and only `getInitialState` method.\n *\n * @return {object} State object to be placed inside of\n * `this.state.touchable`.\n */\n touchableGetInitialState: function (): {\n touchable: {\n touchState: ?State,\n responderID: ?GestureResponderEvent['currentTarget'],\n },\n } {\n return {\n touchable: {touchState: undefined, responderID: null},\n };\n },\n\n // ==== Hooks to Gesture Responder system ====\n /**\n * Must return true if embedded in a native platform scroll view.\n */\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n touchableHandleResponderTerminationRequest: function (): any {\n return !this.props.rejectResponderTermination;\n },\n\n /**\n * Must return true to start the process of `Touchable`.\n */\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n touchableHandleStartShouldSetResponder: function (): any {\n return !this.props.disabled;\n },\n\n /**\n * Return true to cancel press on long press.\n */\n touchableLongPressCancelsPress: function (): boolean {\n return true;\n },\n\n /**\n * Place as callback for a DOM element's `onResponderGrant` event.\n * @param {NativeSyntheticEvent} e Synthetic event from event system.\n *\n */\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n touchableHandleResponderGrant: function (e: GestureResponderEvent) {\n const dispatchID = e.currentTarget;\n // Since e is used in a callback invoked on another event loop\n // (as in setTimeout etc), we need to call e.persist() on the\n // event to make sure it doesn't get reused in the event object pool.\n e.persist();\n\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);\n this.pressOutDelayTimeout = null;\n\n this.state.touchable.touchState = States.NOT_RESPONDER;\n this.state.touchable.responderID = dispatchID;\n this._receiveSignal(Signals.RESPONDER_GRANT, e);\n let delayMS =\n this.touchableGetHighlightDelayMS !== undefined\n ? Math.max(this.touchableGetHighlightDelayMS(), 0)\n : HIGHLIGHT_DELAY_MS;\n delayMS = isNaN(delayMS) ? HIGHLIGHT_DELAY_MS : delayMS;\n if (delayMS !== 0) {\n this.touchableDelayTimeout = setTimeout(\n this._handleDelay.bind(this, e),\n delayMS,\n );\n } else {\n this._handleDelay(e);\n }\n\n let longDelayMS =\n this.touchableGetLongPressDelayMS !== undefined\n ? Math.max(this.touchableGetLongPressDelayMS(), 10)\n : LONG_PRESS_DELAY_MS;\n longDelayMS = isNaN(longDelayMS) ? LONG_PRESS_DELAY_MS : longDelayMS;\n this.longPressDelayTimeout = setTimeout(\n this._handleLongDelay.bind(this, e),\n longDelayMS + delayMS,\n );\n },\n\n /**\n * Place as callback for a DOM element's `onResponderRelease` event.\n */\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n touchableHandleResponderRelease: function (e: GestureResponderEvent) {\n this.pressInLocation = null;\n this._receiveSignal(Signals.RESPONDER_RELEASE, e);\n },\n\n /**\n * Place as callback for a DOM element's `onResponderTerminate` event.\n */\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n touchableHandleResponderTerminate: function (e: GestureResponderEvent) {\n this.pressInLocation = null;\n this._receiveSignal(Signals.RESPONDER_TERMINATED, e);\n },\n\n /**\n * Place as callback for a DOM element's `onResponderMove` event.\n */\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n touchableHandleResponderMove: function (e: GestureResponderEvent) {\n // Measurement may not have returned yet.\n if (!this.state.touchable.positionOnActivate) {\n return;\n }\n\n const positionOnActivate = this.state.touchable.positionOnActivate;\n const dimensionsOnActivate = this.state.touchable.dimensionsOnActivate;\n const pressRectOffset = this.touchableGetPressRectOffset\n ? this.touchableGetPressRectOffset()\n : {\n left: PRESS_EXPAND_PX,\n right: PRESS_EXPAND_PX,\n top: PRESS_EXPAND_PX,\n bottom: PRESS_EXPAND_PX,\n };\n\n let pressExpandLeft = pressRectOffset.left;\n let pressExpandTop = pressRectOffset.top;\n let pressExpandRight = pressRectOffset.right;\n let pressExpandBottom = pressRectOffset.bottom;\n\n const hitSlop = this.touchableGetHitSlop\n ? this.touchableGetHitSlop()\n : null;\n\n if (hitSlop) {\n pressExpandLeft += hitSlop.left || 0;\n pressExpandTop += hitSlop.top || 0;\n pressExpandRight += hitSlop.right || 0;\n pressExpandBottom += hitSlop.bottom || 0;\n }\n\n const touch = extractSingleTouch(e.nativeEvent);\n const pageX = touch && touch.pageX;\n const pageY = touch && touch.pageY;\n\n if (this.pressInLocation) {\n const movedDistance = this._getDistanceBetweenPoints(\n pageX,\n pageY,\n this.pressInLocation.pageX,\n this.pressInLocation.pageY,\n );\n if (movedDistance > LONG_PRESS_ALLOWED_MOVEMENT) {\n this._cancelLongPressDelayTimeout();\n }\n }\n\n const isTouchWithinActive =\n pageX > positionOnActivate.left - pressExpandLeft &&\n pageY > positionOnActivate.top - pressExpandTop &&\n pageX <\n positionOnActivate.left +\n dimensionsOnActivate.width +\n pressExpandRight &&\n pageY <\n positionOnActivate.top +\n dimensionsOnActivate.height +\n pressExpandBottom;\n if (isTouchWithinActive) {\n const prevState = this.state.touchable.touchState;\n this._receiveSignal(Signals.ENTER_PRESS_RECT, e);\n const curState = this.state.touchable.touchState;\n if (\n curState === States.RESPONDER_INACTIVE_PRESS_IN &&\n prevState !== States.RESPONDER_INACTIVE_PRESS_IN\n ) {\n // fix for t7967420\n this._cancelLongPressDelayTimeout();\n }\n } else {\n this._cancelLongPressDelayTimeout();\n this._receiveSignal(Signals.LEAVE_PRESS_RECT, e);\n }\n },\n\n /**\n * Invoked when the item receives focus. Mixers might override this to\n * visually distinguish the `VisualRect` so that the user knows that it\n * currently has the focus. Most platforms only support a single element being\n * focused at a time, in which case there may have been a previously focused\n * element that was blurred just prior to this. This can be overridden when\n * using `Touchable.Mixin.withoutDefaultFocusAndBlur`.\n */\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n touchableHandleFocus: function (e: Event) {\n this.props.onFocus && this.props.onFocus(e);\n },\n\n /**\n * Invoked when the item loses focus. Mixers might override this to\n * visually distinguish the `VisualRect` so that the user knows that it\n * no longer has focus. Most platforms only support a single element being\n * focused at a time, in which case the focus may have moved to another.\n * This can be overridden when using\n * `Touchable.Mixin.withoutDefaultFocusAndBlur`.\n */\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n touchableHandleBlur: function (e: Event) {\n this.props.onBlur && this.props.onBlur(e);\n },\n\n // ==== Abstract Application Callbacks ====\n\n /**\n * Invoked when the item should be highlighted. Mixers should implement this\n * to visually distinguish the `VisualRect` so that the user knows that\n * releasing a touch will result in a \"selection\" (analog to click).\n *\n * @abstract\n * touchableHandleActivePressIn: function,\n */\n\n /**\n * Invoked when the item is \"active\" (in that it is still eligible to become\n * a \"select\") but the touch has left the `PressRect`. Usually the mixer will\n * want to unhighlight the `VisualRect`. If the user (while pressing) moves\n * back into the `PressRect` `touchableHandleActivePressIn` will be invoked\n * again and the mixer should probably highlight the `VisualRect` again. This\n * event will not fire on an `touchEnd/mouseUp` event, only move events while\n * the user is depressing the mouse/touch.\n *\n * @abstract\n * touchableHandleActivePressOut: function\n */\n\n /**\n * Invoked when the item is \"selected\" - meaning the interaction ended by\n * letting up while the item was either in the state\n * `RESPONDER_ACTIVE_PRESS_IN` or `RESPONDER_INACTIVE_PRESS_IN`.\n *\n * @abstract\n * touchableHandlePress: function\n */\n\n /**\n * Invoked when the item is long pressed - meaning the interaction ended by\n * letting up while the item was in `RESPONDER_ACTIVE_LONG_PRESS_IN`. If\n * `touchableHandleLongPress` is *not* provided, `touchableHandlePress` will\n * be called as it normally is. If `touchableHandleLongPress` is provided, by\n * default any `touchableHandlePress` callback will not be invoked. To\n * override this default behavior, override `touchableLongPressCancelsPress`\n * to return false. As a result, `touchableHandlePress` will be called when\n * lifting up, even if `touchableHandleLongPress` has also been called.\n *\n * @abstract\n * touchableHandleLongPress: function\n */\n\n /**\n * Returns the number of millis to wait before triggering a highlight.\n *\n * @abstract\n * touchableGetHighlightDelayMS: function\n */\n\n /**\n * Returns the amount to extend the `HitRect` into the `PressRect`. Positive\n * numbers mean the size expands outwards.\n *\n * @abstract\n * touchableGetPressRectOffset: function\n */\n\n // ==== Internal Logic ====\n\n /**\n * Measures the `HitRect` node on activation. The Bounding rectangle is with\n * respect to viewport - not page, so adding the `pageXOffset/pageYOffset`\n * should result in points that are in the same coordinate system as an\n * event's `globalX/globalY` data values.\n *\n * - Consider caching this for the lifetime of the component, or possibly\n * being able to share this cache between any `ScrollMap` view.\n *\n * @sideeffects\n * @private\n */\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n _remeasureMetricsOnActivation: function () {\n const responderID = this.state.touchable.responderID;\n if (responderID == null) {\n return;\n }\n\n if (typeof responderID === 'number') {\n UIManager.measure(responderID, this._handleQueryLayout);\n } else {\n responderID.measure(this._handleQueryLayout);\n }\n },\n\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n _handleQueryLayout: function (\n l: number,\n t: number,\n w: number,\n h: number,\n globalX: number,\n globalY: number,\n ) {\n //don't do anything UIManager failed to measure node\n if (!l && !t && !w && !h && !globalX && !globalY) {\n return;\n }\n this.state.touchable.positionOnActivate &&\n // $FlowFixMe[prop-missing]\n Position.release(this.state.touchable.positionOnActivate);\n this.state.touchable.dimensionsOnActivate &&\n // $FlowFixMe[prop-missing]\n BoundingDimensions.release(this.state.touchable.dimensionsOnActivate);\n // $FlowFixMe[prop-missing]\n this.state.touchable.positionOnActivate = Position.getPooled(\n globalX,\n globalY,\n );\n // $FlowFixMe[prop-missing]\n this.state.touchable.dimensionsOnActivate = BoundingDimensions.getPooled(\n w,\n h,\n );\n },\n\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n _handleDelay: function (e: GestureResponderEvent) {\n this.touchableDelayTimeout = null;\n this._receiveSignal(Signals.DELAY, e);\n },\n\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n _handleLongDelay: function (e: GestureResponderEvent) {\n this.longPressDelayTimeout = null;\n const curState = this.state.touchable.touchState;\n if (\n curState === States.RESPONDER_ACTIVE_PRESS_IN ||\n curState === States.RESPONDER_ACTIVE_LONG_PRESS_IN\n ) {\n this._receiveSignal(Signals.LONG_PRESS_DETECTED, e);\n }\n },\n\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n *\n * @param {Signals} signal State machine signal.\n * @throws Error if invalid state transition or unrecognized signal.\n * @sideeffects\n */\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n _receiveSignal: function (signal: Signal, e: GestureResponderEvent) {\n const responderID = this.state.touchable.responderID;\n const curState = this.state.touchable.touchState;\n const nextState = Transitions[curState] && Transitions[curState][signal];\n if (!responderID && signal === Signals.RESPONDER_RELEASE) {\n return;\n }\n if (!nextState) {\n throw new Error(\n 'Unrecognized signal `' +\n signal +\n '` or state `' +\n curState +\n '` for Touchable responder `' +\n typeof this.state.touchable.responderID ===\n 'number'\n ? this.state.touchable.responderID\n : 'host component' + '`',\n );\n }\n if (nextState === States.ERROR) {\n throw new Error(\n 'Touchable cannot transition from `' +\n curState +\n '` to `' +\n signal +\n '` for responder `' +\n typeof this.state.touchable.responderID ===\n 'number'\n ? this.state.touchable.responderID\n : '<>' + '`',\n );\n }\n if (curState !== nextState) {\n this._performSideEffectsForTransition(curState, nextState, signal, e);\n this.state.touchable.touchState = nextState;\n }\n },\n\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n _cancelLongPressDelayTimeout: function () {\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.longPressDelayTimeout = null;\n },\n\n _isHighlight: function (state: State): boolean {\n return (\n state === States.RESPONDER_ACTIVE_PRESS_IN ||\n state === States.RESPONDER_ACTIVE_LONG_PRESS_IN\n );\n },\n\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n _savePressInLocation: function (e: GestureResponderEvent) {\n const touch = extractSingleTouch(e.nativeEvent);\n const pageX = touch && touch.pageX;\n const pageY = touch && touch.pageY;\n const locationX = touch && touch.locationX;\n const locationY = touch && touch.locationY;\n this.pressInLocation = {pageX, pageY, locationX, locationY};\n },\n\n _getDistanceBetweenPoints: function (\n aX: number,\n aY: number,\n bX: number,\n bY: number,\n ): number {\n const deltaX = aX - bX;\n const deltaY = aY - bY;\n return Math.sqrt(deltaX * deltaX + deltaY * deltaY);\n },\n\n /**\n * Will perform a transition between touchable states, and identify any\n * highlighting or unhighlighting that must be performed for this particular\n * transition.\n *\n * @param {States} curState Current Touchable state.\n * @param {States} nextState Next Touchable state.\n * @param {Signal} signal Signal that triggered the transition.\n * @param {Event} e Native event.\n * @sideeffects\n */\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n _performSideEffectsForTransition: function (\n curState: State,\n nextState: State,\n signal: Signal,\n e: GestureResponderEvent,\n ) {\n const curIsHighlight = this._isHighlight(curState);\n const newIsHighlight = this._isHighlight(nextState);\n\n const isFinalSignal =\n signal === Signals.RESPONDER_TERMINATED ||\n signal === Signals.RESPONDER_RELEASE;\n\n if (isFinalSignal) {\n this._cancelLongPressDelayTimeout();\n }\n\n const isInitialTransition =\n curState === States.NOT_RESPONDER &&\n nextState === States.RESPONDER_INACTIVE_PRESS_IN;\n\n const isActiveTransition = !IsActive[curState] && IsActive[nextState];\n if (isInitialTransition || isActiveTransition) {\n this._remeasureMetricsOnActivation();\n }\n\n if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {\n this.touchableHandleLongPress && this.touchableHandleLongPress(e);\n }\n\n if (newIsHighlight && !curIsHighlight) {\n this._startHighlight(e);\n } else if (!newIsHighlight && curIsHighlight) {\n this._endHighlight(e);\n }\n\n if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {\n const hasLongPressHandler = !!this.props.onLongPress;\n const pressIsLongButStillCallOnPress =\n IsLongPressingIn[curState] && // We *are* long pressing.. // But either has no long handler\n (!hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.\n\n const shouldInvokePress =\n !IsLongPressingIn[curState] || pressIsLongButStillCallOnPress;\n if (shouldInvokePress && this.touchableHandlePress) {\n if (!newIsHighlight && !curIsHighlight) {\n // we never highlighted because of delay, but we should highlight now\n this._startHighlight(e);\n this._endHighlight(e);\n }\n if (Platform.OS === 'android' && !this.props.touchSoundDisabled) {\n SoundManager.playTouchSound();\n }\n this.touchableHandlePress(e);\n }\n }\n\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.touchableDelayTimeout = null;\n },\n\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n _startHighlight: function (e: GestureResponderEvent) {\n this._savePressInLocation(e);\n this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e);\n },\n\n /* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n _endHighlight: function (e: GestureResponderEvent) {\n if (this.touchableHandleActivePressOut) {\n if (\n this.touchableGetPressOutDelayMS &&\n this.touchableGetPressOutDelayMS()\n ) {\n this.pressOutDelayTimeout = setTimeout(() => {\n this.touchableHandleActivePressOut(e);\n }, this.touchableGetPressOutDelayMS());\n } else {\n this.touchableHandleActivePressOut(e);\n }\n }\n },\n\n withoutDefaultFocusAndBlur: ({}: {...}),\n};\n\n/**\n * Provide an optional version of the mixin where `touchableHandleFocus` and\n * `touchableHandleBlur` can be overridden. This allows appropriate defaults to\n * be set on TV platforms, without breaking existing implementations of\n * `Touchable`.\n */\nconst {\n touchableHandleFocus,\n touchableHandleBlur,\n ...TouchableMixinWithoutDefaultFocusAndBlur\n} = TouchableMixinImpl;\nTouchableMixinImpl.withoutDefaultFocusAndBlur =\n TouchableMixinWithoutDefaultFocusAndBlur;\n\nconst TouchableImpl = {\n Mixin: TouchableMixinImpl,\n /**\n * Renders a debugging overlay to visualize touch target with hitSlop (might not work on Android).\n */\n renderDebugView: ({\n color,\n hitSlop,\n }: {\n color: ColorValue,\n hitSlop?: EdgeInsetsProp,\n ...\n }): null | React.Node => {\n if (__DEV__) {\n return ;\n }\n return null;\n },\n};\n\nexport default TouchableImpl;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nimport PooledClass from './PooledClass';\n\nconst twoArgumentPooler = PooledClass.twoArgumentPooler;\n\n/**\n * PooledClass representing the bounding rectangle of a region.\n *\n * @param {number} width Width of bounding rectangle.\n * @param {number} height Height of bounding rectangle.\n * @constructor BoundingDimensions\n */\n// $FlowFixMe[missing-this-annot]\nfunction BoundingDimensions(width: number, height: number) {\n this.width = width;\n this.height = height;\n}\n\n// $FlowFixMe[prop-missing]\n// $FlowFixMe[missing-this-annot]\nBoundingDimensions.prototype.destructor = function () {\n this.width = null;\n this.height = null;\n};\n\n/**\n * @param {HTMLElement} element Element to return `BoundingDimensions` for.\n * @return {BoundingDimensions} Bounding dimensions of `element`.\n */\nBoundingDimensions.getPooledFromElement = function (\n element: HTMLElement,\n): typeof BoundingDimensions {\n // $FlowFixMe[prop-missing]\n return BoundingDimensions.getPooled(\n element.offsetWidth,\n element.offsetHeight,\n );\n};\n\nPooledClass.addPoolingTo(BoundingDimensions as $FlowFixMe, twoArgumentPooler);\n\nexport default BoundingDimensions;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\nimport invariant from 'invariant';\n\n/**\n * Static poolers. Several custom versions for each potential number of\n * arguments. A completely generic pooler is easy to implement, but would\n * require accessing the `arguments` object. In each of these, `this` refers to\n * the Class itself, not an instance. If any others are needed, simply add them\n * here, or in their own files.\n */\n/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\nconst oneArgumentPooler = function (copyFieldsFrom: any) {\n const Klass = this; // eslint-disable-line consistent-this\n if (Klass.instancePool.length) {\n const instance = Klass.instancePool.pop();\n Klass.call(instance, copyFieldsFrom);\n return instance;\n } else {\n return new Klass(copyFieldsFrom);\n }\n};\n\n/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\nconst twoArgumentPooler = function (a1: any, a2: any) {\n const Klass = this; // eslint-disable-line consistent-this\n if (Klass.instancePool.length) {\n const instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\n\n/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\nconst threeArgumentPooler = function (a1: any, a2: any, a3: any) {\n const Klass = this; // eslint-disable-line consistent-this\n if (Klass.instancePool.length) {\n const instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3);\n return instance;\n } else {\n return new Klass(a1, a2, a3);\n }\n};\n\n/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\nconst fourArgumentPooler = function (a1: any, a2: any, a3: any, a4: any) {\n const Klass = this; // eslint-disable-line consistent-this\n if (Klass.instancePool.length) {\n const instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4);\n }\n};\n\n/* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\n/* $FlowFixMe[missing-this-annot] The 'this' type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\nconst standardReleaser = function (instance) {\n const Klass = this; // eslint-disable-line consistent-this\n invariant(\n instance instanceof Klass,\n 'Trying to release an instance into a pool of a different type.',\n );\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nconst DEFAULT_POOL_SIZE = 10;\nconst DEFAULT_POOLER = oneArgumentPooler;\n\ntype Pooler = any;\n\n/**\n * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n * itself (statically) not adding any prototypical fields. Any CopyConstructor\n * you give this may have a `poolSize` property, and will look for a\n * prototypical `destructor` on instances.\n *\n * @param {Function} CopyConstructor Constructor that can be used to reset.\n * @param {Function} pooler Customizable pooler.\n */\nconst addPoolingTo = function (\n CopyConstructor: Class,\n pooler: Pooler,\n): Class & {\n getPooled(\n ...args: $ReadOnlyArray\n ): /* arguments of the constructor */ T,\n release(instance: mixed): void,\n ...\n} {\n // Casting as any so that flow ignores the actual implementation and trusts\n // it to match the type we declared\n const NewKlass: any = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nconst PooledClass = {\n addPoolingTo: addPoolingTo,\n oneArgumentPooler: (oneArgumentPooler: Pooler),\n twoArgumentPooler: (twoArgumentPooler: Pooler),\n threeArgumentPooler: (threeArgumentPooler: Pooler),\n fourArgumentPooler: (fourArgumentPooler: Pooler),\n};\n\nexport default PooledClass;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nimport PooledClass from './PooledClass';\n\nconst twoArgumentPooler = PooledClass.twoArgumentPooler;\n\n/**\n * Position does not expose methods for construction via an `HTMLDOMElement`,\n * because it isn't meaningful to construct such a thing without first defining\n * a frame of reference.\n *\n * @param {number} windowStartKey Key that window starts at.\n * @param {number} windowEndKey Key that window ends at.\n */\n// $FlowFixMe[missing-this-annot]\nfunction Position(left: number, top: number) {\n this.left = left;\n this.top = top;\n}\n\n// $FlowFixMe[prop-missing]\n// $FlowFixMe[missing-this-annot]\nPosition.prototype.destructor = function () {\n this.left = null;\n this.top = null;\n};\n\nPooledClass.addPoolingTo(Position as $FlowFixMe, twoArgumentPooler);\n\nexport default Position;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {GestureResponderEvent} from '../../Types/CoreEventTypes';\nimport type {TouchableWithoutFeedbackProps} from './TouchableWithoutFeedback';\n\nimport View from '../../Components/View/View';\nimport Pressability, {\n type PressabilityConfig,\n} from '../../Pressability/Pressability';\nimport {PressabilityDebugView} from '../../Pressability/PressabilityDebug';\nimport {findHostInstance_DEPRECATED} from '../../ReactNative/RendererProxy';\nimport processColor from '../../StyleSheet/processColor';\nimport Platform from '../../Utilities/Platform';\nimport {Commands} from '../View/ViewNativeComponent';\nimport invariant from 'invariant';\nimport * as React from 'react';\n\ntype TVProps = {\n /**\n * *(Apple TV only)* TV preferred focus (see documentation for the View component).\n *\n * @platform ios\n */\n hasTVPreferredFocus?: ?boolean,\n\n /**\n * Designates the next view to receive focus when the user navigates down. See the Android documentation.\n *\n * @platform android\n */\n nextFocusDown?: ?number,\n\n /**\n * Designates the next view to receive focus when the user navigates forward. See the Android documentation.\n *\n * @platform android\n */\n nextFocusForward?: ?number,\n\n /**\n * Designates the next view to receive focus when the user navigates left. See the Android documentation.\n *\n * @platform android\n */\n nextFocusLeft?: ?number,\n\n /**\n * Designates the next view to receive focus when the user navigates right. See the Android documentation.\n *\n * @platform android\n */\n nextFocusRight?: ?number,\n\n /**\n * Designates the next view to receive focus when the user navigates up. See the Android documentation.\n *\n * @platform android\n */\n nextFocusUp?: ?number,\n};\n\nexport type TouchableNativeFeedbackProps = $ReadOnly<{\n ...TouchableWithoutFeedbackProps,\n ...TVProps,\n /**\n * Determines the type of background drawable that's going to be used to display feedback.\n * It takes an object with type property and extra data depending on the type.\n * It's recommended to use one of the following static methods to generate that dictionary:\n * 1) TouchableNativeFeedback.SelectableBackground() - will create object that represents android theme's\n * default background for selectable elements (?android:attr/selectableItemBackground)\n * 2) TouchableNativeFeedback.SelectableBackgroundBorderless() - will create object that represent android\n * theme's default background for borderless selectable elements\n * (?android:attr/selectableItemBackgroundBorderless). Available on android API level 21+\n * 3) TouchableNativeFeedback.Ripple(color, borderless) - will create object that represents ripple drawable\n * with specified color (as a string). If property borderless evaluates to true the ripple will render\n * outside of the view bounds (see native actionbar buttons as an example of that behavior). This background\n * type is available on Android API level 21+\n */\n background?: ?(\n | $ReadOnly<{\n type: 'ThemeAttrAndroid',\n attribute:\n | 'selectableItemBackground'\n | 'selectableItemBackgroundBorderless',\n rippleRadius: ?number,\n }>\n | $ReadOnly<{\n type: 'RippleAndroid',\n color: ?number,\n borderless: boolean,\n rippleRadius: ?number,\n }>\n ),\n /**\n * Set to true to add the ripple effect to the foreground of the view, instead\n * of the background. This is useful if one of your child views has a\n * background of its own, or you're e.g. displaying images, and you don't want\n * the ripple to be covered by them.\n *\n * Check TouchableNativeFeedback.canUseNativeForeground() first, as this is\n * only available on Android 6.0 and above. If you try to use this on older\n * versions, this will fallback to background.\n */\n useForeground?: ?boolean,\n}>;\n\ntype State = $ReadOnly<{\n pressability: Pressability,\n}>;\n\n/**\n * A wrapper for making views respond properly to touches (Android only).\n * On Android this component uses native state drawable to display touch feedback.\n * At the moment it only supports having a single View instance as a child node,\n * as it's implemented by replacing that View with another instance of RCTView node with some additional properties set.\n *\n * Background drawable of native feedback touchable can be customized with background property.\n *\n * @see https://reactnative.dev/docs/touchablenativefeedback#content\n */\nclass TouchableNativeFeedback extends React.Component<\n TouchableNativeFeedbackProps,\n State,\n> {\n /**\n * Creates an object that represents android theme's default background for\n * selectable elements (?android:attr/selectableItemBackground).\n *\n * @param rippleRadius The radius of ripple effect\n */\n static SelectableBackground: (rippleRadius?: ?number) => $ReadOnly<{\n attribute: 'selectableItemBackground',\n type: 'ThemeAttrAndroid',\n rippleRadius: ?number,\n }> = (rippleRadius?: ?number) => ({\n type: 'ThemeAttrAndroid',\n attribute: 'selectableItemBackground',\n rippleRadius,\n });\n\n /**\n * Creates an object that represent android theme's default background for borderless\n * selectable elements (?android:attr/selectableItemBackgroundBorderless).\n * Available on android API level 21+.\n *\n * @param rippleRadius The radius of ripple effect\n */\n static SelectableBackgroundBorderless: (rippleRadius?: ?number) => $ReadOnly<{\n attribute: 'selectableItemBackgroundBorderless',\n type: 'ThemeAttrAndroid',\n rippleRadius: ?number,\n }> = (rippleRadius?: ?number) => ({\n type: 'ThemeAttrAndroid',\n attribute: 'selectableItemBackgroundBorderless',\n rippleRadius,\n });\n\n /**\n * Creates an object that represents ripple drawable with specified color (as a\n * string). If property `borderless` evaluates to true the ripple will\n * render outside of the view bounds (see native actionbar buttons as an\n * example of that behavior). This background type is available on Android\n * API level 21+.\n *\n * @param color The ripple color\n * @param borderless If the ripple can render outside it's bounds\n * @param rippleRadius The radius of ripple effect\n */\n static Ripple: (\n color: string,\n borderless: boolean,\n rippleRadius?: ?number,\n ) => $ReadOnly<{\n borderless: boolean,\n color: ?number,\n rippleRadius: ?number,\n type: 'RippleAndroid',\n }> = (color: string, borderless: boolean, rippleRadius?: ?number) => {\n const processedColor = processColor(color);\n invariant(\n processedColor == null || typeof processedColor === 'number',\n 'Unexpected color given for Ripple color',\n );\n return {\n type: 'RippleAndroid',\n // $FlowFixMe[incompatible-type]\n color: processedColor,\n borderless,\n rippleRadius,\n };\n };\n\n /**\n * Whether `useForeground` is supported.\n */\n static canUseNativeForeground: () => boolean = () =>\n Platform.OS === 'android';\n\n state: State = {\n pressability: new Pressability(this._createPressabilityConfig()),\n };\n\n _createPressabilityConfig(): PressabilityConfig {\n const accessibilityStateDisabled =\n this.props['aria-disabled'] ?? this.props.accessibilityState?.disabled;\n return {\n cancelable: !this.props.rejectResponderTermination,\n disabled:\n this.props.disabled != null\n ? this.props.disabled\n : accessibilityStateDisabled,\n hitSlop: this.props.hitSlop,\n delayLongPress: this.props.delayLongPress,\n delayPressIn: this.props.delayPressIn,\n delayPressOut: this.props.delayPressOut,\n minPressDuration: 0,\n pressRectOffset: this.props.pressRetentionOffset,\n android_disableSound: this.props.touchSoundDisabled,\n onLongPress: this.props.onLongPress,\n onPress: this.props.onPress,\n onPressIn: event => {\n if (Platform.OS === 'android') {\n this._dispatchHotspotUpdate(event);\n this._dispatchPressedStateChange(true);\n }\n if (this.props.onPressIn != null) {\n this.props.onPressIn(event);\n }\n },\n onPressMove: event => {\n if (Platform.OS === 'android') {\n this._dispatchHotspotUpdate(event);\n }\n },\n onPressOut: event => {\n if (Platform.OS === 'android') {\n this._dispatchPressedStateChange(false);\n }\n if (this.props.onPressOut != null) {\n this.props.onPressOut(event);\n }\n },\n };\n }\n\n _dispatchPressedStateChange(pressed: boolean): void {\n if (Platform.OS === 'android') {\n const hostComponentRef = findHostInstance_DEPRECATED(this);\n if (hostComponentRef == null) {\n console.warn(\n 'Touchable: Unable to find HostComponent instance. ' +\n 'Has your Touchable component been unmounted?',\n );\n } else {\n Commands.setPressed(hostComponentRef, pressed);\n }\n }\n }\n\n _dispatchHotspotUpdate(event: GestureResponderEvent): void {\n if (Platform.OS === 'android') {\n const {locationX, locationY} = event.nativeEvent;\n const hostComponentRef = findHostInstance_DEPRECATED(this);\n if (hostComponentRef == null) {\n console.warn(\n 'Touchable: Unable to find HostComponent instance. ' +\n 'Has your Touchable component been unmounted?',\n );\n } else {\n Commands.hotspotUpdate(\n hostComponentRef,\n locationX ?? 0,\n locationY ?? 0,\n );\n }\n }\n }\n\n render(): React.Node {\n const element = React.Children.only<$FlowFixMe>(this.props.children);\n const children: Array = [element.props.children];\n if (__DEV__) {\n if (element.type === View) {\n children.push(\n ,\n );\n }\n }\n\n // BACKWARD-COMPATIBILITY: Focus and blur events were never supported before\n // adopting `Pressability`, so preserve that behavior.\n const {onBlur, onFocus, ...eventHandlersWithoutBlurAndFocus} =\n this.state.pressability.getEventHandlers();\n\n let _accessibilityState = {\n busy: this.props['aria-busy'] ?? this.props.accessibilityState?.busy,\n checked:\n this.props['aria-checked'] ?? this.props.accessibilityState?.checked,\n disabled:\n this.props['aria-disabled'] ?? this.props.accessibilityState?.disabled,\n expanded:\n this.props['aria-expanded'] ?? this.props.accessibilityState?.expanded,\n selected:\n this.props['aria-selected'] ?? this.props.accessibilityState?.selected,\n readOnly:\n this.props['aria-readonly'] ?? this.props.accessibilityState?.readOnly,\n multiselectable:\n this.props['aria-multiselectable'] ??\n this.props.accessibilityState?.multiselectable, // Windows\n required:\n this.props['aria-required'] ?? this.props.accessibilityState?.required, // Windows\n };\n\n _accessibilityState =\n this.props.disabled != null\n ? {\n ..._accessibilityState,\n disabled: this.props.disabled,\n }\n : _accessibilityState;\n\n const accessibilityValue = {\n max: this.props['aria-valuemax'] ?? this.props.accessibilityValue?.max,\n min: this.props['aria-valuemin'] ?? this.props.accessibilityValue?.min,\n now: this.props['aria-valuenow'] ?? this.props.accessibilityValue?.now,\n text: this.props['aria-valuetext'] ?? this.props.accessibilityValue?.text,\n };\n\n const accessibilityLiveRegion =\n this.props['aria-live'] === 'off'\n ? 'none'\n : this.props['aria-live'] ?? this.props.accessibilityLiveRegion;\n\n const accessibilityLabel =\n this.props['aria-label'] ?? this.props.accessibilityLabel;\n return React.cloneElement(\n element,\n {\n ...eventHandlersWithoutBlurAndFocus,\n ...getBackgroundProp(\n this.props.background === undefined\n ? TouchableNativeFeedback.SelectableBackground()\n : this.props.background,\n this.props.useForeground === true,\n ),\n accessible: this.props.accessible !== false,\n accessibilityHint: this.props.accessibilityHint,\n accessibilityLanguage: this.props.accessibilityLanguage,\n accessibilityLabel: accessibilityLabel,\n accessibilityRole: this.props.accessibilityRole,\n accessibilityState: _accessibilityState,\n accessibilityActions: this.props.accessibilityActions,\n onAccessibilityAction: this.props.onAccessibilityAction,\n accessibilityValue: accessibilityValue,\n importantForAccessibility:\n this.props['aria-hidden'] === true\n ? 'no-hide-descendants'\n : this.props.importantForAccessibility,\n accessibilityViewIsModal:\n this.props['aria-modal'] ?? this.props.accessibilityViewIsModal,\n accessibilityLiveRegion: accessibilityLiveRegion,\n accessibilityElementsHidden:\n this.props['aria-hidden'] ?? this.props.accessibilityElementsHidden,\n hasTVPreferredFocus: this.props.hasTVPreferredFocus,\n hitSlop: this.props.hitSlop,\n focusable:\n this.props.focusable !== false &&\n this.props.onPress !== undefined &&\n !this.props.disabled,\n nativeID: this.props.id ?? this.props.nativeID,\n nextFocusDown: this.props.nextFocusDown,\n nextFocusForward: this.props.nextFocusForward,\n nextFocusLeft: this.props.nextFocusLeft,\n nextFocusRight: this.props.nextFocusRight,\n nextFocusUp: this.props.nextFocusUp,\n onLayout: this.props.onLayout,\n testID: this.props.testID,\n },\n ...children,\n );\n }\n\n componentDidUpdate(\n prevProps: TouchableNativeFeedbackProps,\n prevState: State,\n ) {\n this.state.pressability.configure(this._createPressabilityConfig());\n }\n\n componentDidMount(): mixed {\n this.state.pressability.configure(this._createPressabilityConfig());\n }\n\n componentWillUnmount(): void {\n this.state.pressability.reset();\n }\n}\n\nconst getBackgroundProp =\n Platform.OS === 'android'\n ? /* $FlowFixMe[missing-local-annot] The type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n (background, useForeground: boolean) =>\n useForeground && TouchableNativeFeedback.canUseNativeForeground()\n ? {nativeForegroundAndroid: background}\n : {nativeBackgroundAndroid: background}\n : /* $FlowFixMe[missing-local-annot] The type annotation(s) required by\n * Flow's LTI update could not be added via codemod */\n (background, useForeground: boolean) => null;\n\nTouchableNativeFeedback.displayName = 'TouchableNativeFeedback';\n\nexport default TouchableNativeFeedback;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {ViewStyleProp} from '../../StyleSheet/StyleSheet';\nimport type {TouchableWithoutFeedbackProps} from './TouchableWithoutFeedback';\n\nimport Animated from '../../Animated/Animated';\nimport Easing from '../../Animated/Easing';\nimport Pressability, {\n type PressabilityConfig,\n} from '../../Pressability/Pressability';\nimport {PressabilityDebugView} from '../../Pressability/PressabilityDebug';\nimport flattenStyle from '../../StyleSheet/flattenStyle';\nimport Platform from '../../Utilities/Platform';\nimport * as React from 'react';\n\nexport type TVProps = $ReadOnly<{\n /**\n * *(Apple TV only)* TV preferred focus (see documentation for the View component).\n *\n * @platform ios\n */\n hasTVPreferredFocus?: ?boolean,\n\n /**\n * Designates the next view to receive focus when the user navigates down. See the Android documentation.\n *\n * @platform android\n */\n nextFocusDown?: ?number,\n\n /**\n * Designates the next view to receive focus when the user navigates forward. See the Android documentation.\n *\n * @platform android\n */\n nextFocusForward?: ?number,\n\n /**\n * Designates the next view to receive focus when the user navigates left. See the Android documentation.\n *\n * @platform android\n */\n nextFocusLeft?: ?number,\n\n /**\n * Designates the next view to receive focus when the user navigates right. See the Android documentation.\n *\n * @platform android\n */\n nextFocusRight?: ?number,\n\n /**\n * Designates the next view to receive focus when the user navigates up. See the Android documentation.\n *\n * @platform android\n */\n nextFocusUp?: ?number,\n}>;\n\ntype TouchableOpacityBaseProps = $ReadOnly<{\n /**\n * Determines what the opacity of the wrapped view should be when touch is active.\n * Defaults to 0.2\n */\n activeOpacity?: ?number,\n style?: ?ViewStyleProp,\n\n hostRef?: ?React.RefSetter>,\n}>;\n\nexport type TouchableOpacityProps = $ReadOnly<{\n ...TouchableWithoutFeedbackProps,\n ...TVProps,\n ...TouchableOpacityBaseProps,\n}>;\n\ntype State = $ReadOnly<{\n anim: Animated.Value,\n pressability: Pressability,\n}>;\n\n/**\n * A wrapper for making views respond properly to touches.\n * On press down, the opacity of the wrapped view is decreased, dimming it.\n *\n * Opacity is controlled by wrapping the children in an Animated.View, which is\n * added to the view hierarchy. Be aware that this can affect layout.\n *\n * Example:\n *\n * ```\n * renderButton: function() {\n * return (\n * \n * \n * \n * );\n * },\n * ```\n * ### Example\n *\n * ```ReactNativeWebPlayer\n * import React, { Component } from 'react'\n * import {\n * AppRegistry,\n * StyleSheet,\n * TouchableOpacity,\n * Text,\n * View,\n * } from 'react-native'\n *\n * class App extends Component {\n * state = { count: 0 }\n *\n * onPress = () => {\n * this.setState(state => ({\n * count: state.count + 1\n * }));\n * };\n *\n * render() {\n * return (\n * \n * \n * Touch Here \n * \n * \n * \n * { this.state.count !== 0 ? this.state.count: null}\n * \n * \n * \n * )\n * }\n * }\n *\n * const styles = StyleSheet.create({\n * container: {\n * flex: 1,\n * justifyContent: 'center',\n * paddingHorizontal: 10\n * },\n * button: {\n * alignItems: 'center',\n * backgroundColor: '#DDDDDD',\n * padding: 10\n * },\n * countContainer: {\n * alignItems: 'center',\n * padding: 10\n * },\n * countText: {\n * color: '#FF00FF'\n * }\n * })\n *\n * AppRegistry.registerComponent('App', () => App)\n * ```\n *\n */\nclass TouchableOpacity extends React.Component {\n state: State = {\n anim: new Animated.Value(this._getChildStyleOpacityWithDefault()),\n pressability: new Pressability(this._createPressabilityConfig()),\n };\n\n _createPressabilityConfig(): PressabilityConfig {\n return {\n cancelable: !this.props.rejectResponderTermination,\n disabled:\n this.props.disabled ??\n this.props['aria-disabled'] ??\n this.props.accessibilityState?.disabled,\n hitSlop: this.props.hitSlop,\n delayLongPress: this.props.delayLongPress,\n delayPressIn: this.props.delayPressIn,\n delayPressOut: this.props.delayPressOut,\n minPressDuration: 0,\n pressRectOffset: this.props.pressRetentionOffset,\n onMouseEnter: this.props.onMouseEnter, // [Windows]\n onMouseLeave: this.props.onMouseLeave, // [Windows]\n onBlur: event => {\n if (Platform.isTV) {\n this._opacityInactive(250);\n }\n if (this.props.onBlur != null) {\n this.props.onBlur(event);\n }\n },\n onFocus: event => {\n if (Platform.isTV) {\n this._opacityActive(150);\n }\n if (this.props.onFocus != null) {\n this.props.onFocus(event);\n }\n },\n onLongPress: this.props.onLongPress,\n onPress: this.props.onPress,\n onPressIn: event => {\n this._opacityActive(\n event.dispatchConfig.registrationName === 'onResponderGrant'\n ? 0\n : 150,\n );\n if (this.props.onPressIn != null) {\n this.props.onPressIn(event);\n }\n },\n onPressOut: event => {\n this._opacityInactive(250);\n if (this.props.onPressOut != null) {\n this.props.onPressOut(event);\n }\n },\n };\n }\n\n /**\n * Animate the touchable to a new opacity.\n */\n _setOpacityTo(toValue: number, duration: number): void {\n Animated.timing(this.state.anim, {\n toValue,\n duration,\n easing: Easing.inOut(Easing.quad),\n useNativeDriver: true,\n }).start();\n }\n\n _opacityActive(duration: number): void {\n this._setOpacityTo(this.props.activeOpacity ?? 0.2, duration);\n }\n\n _opacityInactive(duration: number): void {\n this._setOpacityTo(this._getChildStyleOpacityWithDefault(), duration);\n }\n\n _getChildStyleOpacityWithDefault(): number {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n // $FlowFixMe[prop-missing]\n const opacity = flattenStyle(this.props.style)?.opacity;\n return typeof opacity === 'number' ? opacity : 1;\n }\n\n render(): React.Node {\n // BACKWARD-COMPATIBILITY: Focus and blur events were never supported before\n // adopting `Pressability`, so preserve that behavior.\n const {\n // [Windows We used to manually hook up onFocus and onBlur. Do we still need to?\n // onBlur,\n // onFocus,\n // Windows]\n ...eventHandlersWithoutBlurAndFocus\n } = this.state.pressability.getEventHandlers();\n\n let _accessibilityState = {\n busy: this.props['aria-busy'] ?? this.props.accessibilityState?.busy,\n checked:\n this.props['aria-checked'] ?? this.props.accessibilityState?.checked,\n disabled:\n this.props['aria-disabled'] ?? this.props.accessibilityState?.disabled,\n expanded:\n this.props['aria-expanded'] ?? this.props.accessibilityState?.expanded,\n selected:\n this.props['aria-selected'] ?? this.props.accessibilityState?.selected,\n readOnly:\n this.props['aria-readonly'] ?? this.props.accessibilityState?.readOnly, // Windows\n multiselectable:\n this.props['aria-multiselectable'] ??\n this.props.accessibilityState?.multiselectable, // Windows\n required:\n this.props['aria-required'] ?? this.props.accessibilityState?.required, // Windows\n };\n\n _accessibilityState =\n this.props.disabled != null\n ? {\n ..._accessibilityState,\n disabled: this.props.disabled,\n }\n : _accessibilityState;\n\n const accessibilityValue = {\n max: this.props['aria-valuemax'] ?? this.props.accessibilityValue?.max,\n min: this.props['aria-valuemin'] ?? this.props.accessibilityValue?.min,\n now: this.props['aria-valuenow'] ?? this.props.accessibilityValue?.now,\n text: this.props['aria-valuetext'] ?? this.props.accessibilityValue?.text,\n };\n\n const accessibilityLiveRegion =\n this.props['aria-live'] === 'off'\n ? 'none'\n : this.props['aria-live'] ?? this.props.accessibilityLiveRegion;\n\n const accessibilityLabel =\n this.props['aria-label'] ?? this.props.accessibilityLabel;\n return (\n \n {this.props.children}\n {__DEV__ ? (\n \n ) : null}\n \n );\n }\n\n componentDidUpdate(prevProps: TouchableOpacityProps, prevState: State) {\n this.state.pressability.configure(this._createPressabilityConfig());\n if (\n this.props.disabled !== prevProps.disabled ||\n // $FlowFixMe[underconstrained-implicit-instantiation]\n // $FlowFixMe[prop-missing]\n flattenStyle(prevProps.style)?.opacity !==\n // $FlowFixMe[underconstrained-implicit-instantiation]\n // $FlowFixMe[prop-missing]\n flattenStyle(this.props.style)?.opacity\n ) {\n this._opacityInactive(250);\n }\n }\n\n componentDidMount(): void {\n this.state.pressability.configure(this._createPressabilityConfig());\n }\n\n componentWillUnmount(): void {\n this.state.pressability.reset();\n this.state.anim.resetAnimation();\n }\n}\n\nconst Touchable: component(\n ref?: React.RefSetter>,\n ...props: TouchableOpacityProps\n) = React.forwardRef((props, ref) => (\n \n));\n\nTouchable.displayName = 'TouchableOpacity';\n\nexport default Touchable;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {AccessibilityActionEvent} from '../../Components/View/ViewAccessibility';\nimport type {EdgeInsetsOrSizeProp} from '../../StyleSheet/EdgeInsetsPropType';\nimport type {\n BlurEvent,\n FocusEvent,\n LayoutChangeEvent,\n MouseEvent, // [Windows]\n GestureResponderEvent,\n} from '../../Types/CoreEventTypes';\n\nimport View from '../../Components/View/View';\nimport {type AccessibilityProps} from '../../Components/View/ViewAccessibility';\nimport {PressabilityDebugView} from '../../Pressability/PressabilityDebug';\nimport usePressability from '../../Pressability/usePressability';\nimport {type ViewStyleProp} from '../../StyleSheet/StyleSheet';\nimport * as React from 'react';\nimport {useMemo} from 'react';\nimport Animated from '../../Animated/Animated'; // Windows\n\nexport type TouchableWithoutFeedbackPropsIOS = {};\n\nexport type TouchableWithoutFeedbackPropsAndroid = {\n /**\n * If true, doesn't play a system sound on touch.\n *\n * @platform android\n */\n touchSoundDisabled?: ?boolean,\n};\n\n// [Windows\nexport type TouchableWithoutFeedbackPropsWindows = {\n accessibilityPosInSet?: ?number,\n accessibilitySetSize?: ?number,\n onAccessibilityTap?: ?() => void,\n onMouseEnter?: ?(event: MouseEvent) => void,\n onMouseLeave?: ?(event: MouseEvent) => void,\n tabIndex?: ?number,\n tooltip?: ?Stringish,\n hostRef?: React.RefSetter>,\n};\n// Windows]\n\nexport type TouchableWithoutFeedbackProps = $ReadOnly<\n {\n children?: ?React.Node,\n /**\n * Delay in ms, from onPressIn, before onLongPress is called.\n */\n delayLongPress?: ?number,\n /**\n * Delay in ms, from the start of the touch, before onPressIn is called.\n */\n delayPressIn?: ?number,\n /**\n * Delay in ms, from the release of the touch, before onPressOut is called.\n */\n delayPressOut?: ?number,\n /**\n * If true, disable all interactions for this component.\n */\n disabled?: ?boolean,\n /**\n * Whether this View should be focusable with a non-touch input device,\n * eg. receive focus with a hardware keyboard / TV remote.\n */\n focusable?: ?boolean,\n /**\n * This defines how far your touch can start away from the button.\n * This is added to pressRetentionOffset when moving off of the button.\n * NOTE The touch area never extends past the parent view bounds and\n * the Z-index of sibling views always takes precedence if a touch hits\n * two overlapping views.\n */\n hitSlop?: ?EdgeInsetsOrSizeProp,\n /**\n * Used to reference react managed views from native code.\n */\n id?: string,\n importantForAccessibility?: ?(\n | 'auto'\n | 'yes'\n | 'no'\n | 'no-hide-descendants'\n ),\n nativeID?: ?string,\n onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,\n /**\n * When `accessible` is true (which is the default) this may be called when\n * the OS-specific concept of \"blur\" occurs, meaning the element lost focus.\n * Some platforms may not have the concept of blur.\n */\n onBlur?: ?(event: BlurEvent) => mixed,\n /**\n * When `accessible` is true (which is the default) this may be called when\n * the OS-specific concept of \"focus\" occurs. Some platforms may not have\n * the concept of focus.\n */\n onFocus?: ?(event: FocusEvent) => mixed,\n /**\n * Invoked on mount and layout changes with\n * {nativeEvent: {layout: {x, y, width, height}}}\n */\n onLayout?: ?(event: LayoutChangeEvent) => mixed,\n onLongPress?: ?(event: GestureResponderEvent) => mixed,\n /**\n * Called when the touch is released,\n * but not if cancelled (e.g. by a scroll that steals the responder lock).\n */\n onPress?: ?(event: GestureResponderEvent) => mixed,\n onPressIn?: ?(event: GestureResponderEvent) => mixed,\n onPressOut?: ?(event: GestureResponderEvent) => mixed,\n /**\n * When the scroll view is disabled, this defines how far your\n * touch may move off of the button, before deactivating the button.\n * Once deactivated, try moving it back and you'll see that the button\n * is once again reactivated! Move it back and forth several times\n * while the scroll view is disabled. Ensure you pass in a constant\n * to reduce memory allocations.\n */\n pressRetentionOffset?: ?EdgeInsetsOrSizeProp,\n rejectResponderTermination?: ?boolean,\n /**\n * Used to locate this view in end-to-end tests.\n */\n testID?: ?string,\n /**\n * //FIXME: not in doc but available in examples\n */\n style?: ?ViewStyleProp,\n } & TouchableWithoutFeedbackPropsAndroid &\n TouchableWithoutFeedbackPropsIOS &\n TouchableWithoutFeedbackPropsWindows & // [Windows]\n AccessibilityProps,\n>;\n\nconst PASSTHROUGH_PROPS = [\n 'accessibilityActions',\n 'accessibilityElementsHidden',\n 'accessibilityHint',\n 'accessibilityLanguage',\n 'accessibilityIgnoresInvertColors',\n 'accessibilityLabel',\n 'accessibilityLiveRegion',\n 'accessibilityRole',\n 'accessibilityValue',\n 'aria-valuemax',\n 'aria-valuemin',\n 'aria-valuenow',\n 'aria-valuetext',\n 'accessibilityViewIsModal',\n 'aria-modal',\n 'hitSlop',\n 'importantForAccessibility',\n 'nativeID',\n 'onAccessibilityAction',\n 'onBlur',\n 'onFocus',\n 'onLayout',\n 'testID',\n 'accessibilityPosInSet', // [Windows]\n 'accessibilitySetSize', // [Windows]\n 'onAccessibilityTap', // [Windows]\n 'onMouseEnter', // [Windows]\n 'onMouseLeave', // [Windows]\n 'tabIndex', // [Windows]\n 'tooltip', // [Windows]\n];\n\n/**\n * Do not use unless you have a very good reason.\n * All the elements that respond to press should have a visual feedback when touched.\n * This is one of the primary reason a \"web\" app doesn't feel \"native\".\n *\n * @see https://reactnative.dev/docs/touchablewithoutfeedback\n */\n// [Windows\n// $FlowFixMe[prop-missing]\nconst TouchableWithoutFeedback: React.AbstractComponent<\n TouchableWithoutFeedbackProps,\n React.ElementRef,\n> = React.forwardRef(function TouchableWithoutFeedback(\n props: TouchableWithoutFeedbackProps,\n ref,\n): React.Node {\n const {\n disabled,\n rejectResponderTermination,\n 'aria-disabled': ariaDisabled,\n accessibilityState,\n hitSlop,\n delayLongPress,\n delayPressIn,\n delayPressOut,\n pressRetentionOffset,\n touchSoundDisabled,\n onBlur: _onBlur,\n onFocus: _onFocus,\n onLongPress,\n onPress,\n onPressIn,\n onPressOut,\n onMouseEnter, // [Windows]\n onMouseLeave, // [Windows]\n } = props;\n\n const pressabilityConfig = useMemo(\n () => ({\n cancelable: !rejectResponderTermination,\n disabled:\n disabled !== null\n ? disabled\n : ariaDisabled ?? accessibilityState?.disabled,\n hitSlop: hitSlop,\n delayLongPress: delayLongPress,\n delayPressIn: delayPressIn,\n delayPressOut: delayPressOut,\n minPressDuration: 0,\n pressRectOffset: pressRetentionOffset,\n android_disableSound: touchSoundDisabled,\n onBlur: _onBlur,\n onFocus: _onFocus,\n onLongPress: onLongPress,\n onPress: onPress,\n onPressIn: onPressIn,\n onPressOut: onPressOut,\n onMouseEnter: onMouseEnter, // [Windows]\n onMouseLeave: onMouseLeave, // [Windows]\n }),\n [\n rejectResponderTermination,\n disabled,\n ariaDisabled,\n accessibilityState?.disabled,\n hitSlop,\n delayLongPress,\n delayPressIn,\n delayPressOut,\n pressRetentionOffset,\n touchSoundDisabled,\n _onBlur,\n _onFocus,\n onLongPress,\n onPress,\n onPressIn,\n onPressOut,\n onMouseEnter, // [Windows]\n onMouseLeave, // [Windows]\n ],\n );\n\n const eventHandlers = usePressability(pressabilityConfig);\n\n const element = React.Children.only<$FlowFixMe>(props.children);\n const children: Array = [element.props.children];\n const ariaLive = props['aria-live'];\n\n if (__DEV__) {\n if (element.type === View) {\n children.push(\n ,\n );\n }\n }\n\n let _accessibilityState = {\n busy: props['aria-busy'] ?? props.accessibilityState?.busy,\n checked: props['aria-checked'] ?? props.accessibilityState?.checked,\n disabled: props['aria-disabled'] ?? props.accessibilityState?.disabled,\n expanded: props['aria-expanded'] ?? props.accessibilityState?.expanded,\n selected: props['aria-selected'] ?? props.accessibilityState?.selected,\n readonly: props['aria-readonly'] ?? props.accessibilityState?.readOnly, // Windows\n multiselectable:\n props['aria-multiselectable'] ??\n props.accessibilityState?.multiselectable, // Windows\n required: props['aria-required'] ?? props.accessibilityState?.required, // Windows\n };\n\n // BACKWARD-COMPATIBILITY: Focus and blur events were never supported before\n // adopting `Pressability`, so preserve that behavior.\n const {onBlur, onFocus, ...eventHandlersWithoutBlurAndFocus} = eventHandlers;\n\n const elementProps: {[string]: mixed, ...} = {\n ...eventHandlersWithoutBlurAndFocus,\n accessible: props.accessible !== false,\n accessibilityState:\n props.disabled != null\n ? {\n ..._accessibilityState,\n disabled: props.disabled,\n }\n : _accessibilityState,\n focusable:\n props.focusable !== false &&\n props.onPress !== undefined &&\n !props.disabled,\n\n accessibilityElementsHidden:\n props['aria-hidden'] ?? props.accessibilityElementsHidden,\n importantForAccessibility:\n props['aria-hidden'] === true\n ? 'no-hide-descendants'\n : props.importantForAccessibility,\n accessibilityLiveRegion:\n ariaLive === 'off' ? 'none' : ariaLive ?? props.accessibilityLiveRegion,\n nativeID: props.id ?? props.nativeID,\n };\n\n for (const prop of PASSTHROUGH_PROPS) {\n if (props[prop] !== undefined) {\n elementProps[prop] = props[prop];\n }\n }\n\n // $FlowFixMe[incompatible-call]\n return React.cloneElement(element, {...elementProps, ref}, ...children);\n});\n\nexport default TouchableWithoutFeedback;\n// Windows]\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport VirtualizedLists from '@react-native/virtualized-lists';\n\ntype VirtualizedListType = typeof VirtualizedLists.VirtualizedList;\nconst VirtualizedList: VirtualizedListType = VirtualizedLists.VirtualizedList;\n\nexport type {\n ListRenderItemInfo,\n ListRenderItem,\n Separators,\n} from '@react-native/virtualized-lists';\nexport default VirtualizedList;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\n'use strict';\n\nimport VirtualizedLists from '@react-native/virtualized-lists';\n\ntype VirtualizedSectionListType =\n typeof VirtualizedLists.VirtualizedSectionList;\nconst VirtualizedSectionList: VirtualizedSectionListType =\n VirtualizedLists.VirtualizedSectionList;\n\nexport type {\n SectionBase,\n ScrollToLocationParamsType,\n} from '@react-native/virtualized-lists';\nexport default VirtualizedSectionList;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {ProcessedColorValue} from '../StyleSheet/processColor';\nimport type {ColorValue} from '../StyleSheet/StyleSheet';\n\nimport RCTActionSheetManager from './NativeActionSheetManager';\n\nconst processColor = require('../StyleSheet/processColor').default;\nconst invariant = require('invariant');\n\nexport type ActionSheetIOSOptions = $ReadOnly<{\n title?: ?string,\n message?: ?string,\n options: Array,\n destructiveButtonIndex?: ?number | ?Array,\n cancelButtonIndex?: ?number,\n anchor?: ?number,\n tintColor?: ColorValue | ProcessedColorValue,\n cancelButtonTintColor?: ColorValue | ProcessedColorValue,\n disabledButtonTintColor?: ColorValue | ProcessedColorValue,\n userInterfaceStyle?: string,\n disabledButtonIndices?: Array,\n}>;\n\nexport type ShareActionSheetIOSOptions = $ReadOnly<{\n message?: ?string,\n url?: ?string,\n subject?: ?string,\n anchor?: ?number,\n tintColor?: ?number,\n cancelButtonTintColor?: ?number,\n disabledButtonTintColor?: ?number,\n excludedActivityTypes?: ?Array,\n userInterfaceStyle?: ?string,\n}>;\n\nexport type ShareActionSheetError = $ReadOnly<{\n domain: string,\n code: string,\n userInfo?: ?Object,\n message: string,\n}>;\n\n/**\n * Display action sheets and share sheets on iOS.\n *\n * See https://reactnative.dev/docs/actionsheetios\n */\nconst ActionSheetIOS = {\n /**\n * Display an iOS action sheet.\n *\n * The `options` object must contain one or more of:\n *\n * - `options` (array of strings) - a list of button titles (required)\n * - `cancelButtonIndex` (int) - index of cancel button in `options`\n * - `destructiveButtonIndex` (int or array of ints) - index or indices of destructive buttons in `options`\n * - `title` (string) - a title to show above the action sheet\n * - `message` (string) - a message to show below the title\n * - `disabledButtonIndices` (array of numbers) - a list of button indices which should be disabled\n *\n * The 'callback' function takes one parameter, the zero-based index\n * of the selected item.\n *\n * See https://reactnative.dev/docs/actionsheetios#showactionsheetwithoptions\n */\n showActionSheetWithOptions(\n options: ActionSheetIOSOptions,\n callback: (buttonIndex: number) => void,\n ) {\n invariant(\n typeof options === 'object' && options !== null,\n 'Options must be a valid object',\n );\n invariant(typeof callback === 'function', 'Must provide a valid callback');\n invariant(RCTActionSheetManager, \"ActionSheetManager doesn't exist\");\n\n const {\n tintColor,\n cancelButtonTintColor,\n disabledButtonTintColor,\n destructiveButtonIndex,\n ...remainingOptions\n } = options;\n let destructiveButtonIndices = null;\n\n if (Array.isArray(destructiveButtonIndex)) {\n destructiveButtonIndices = destructiveButtonIndex;\n } else if (typeof destructiveButtonIndex === 'number') {\n destructiveButtonIndices = [destructiveButtonIndex];\n }\n\n const processedTintColor = processColor(tintColor);\n const processedCancelButtonTintColor = processColor(cancelButtonTintColor);\n const processedDisabledButtonTintColor = processColor(\n disabledButtonTintColor,\n );\n\n invariant(\n processedTintColor == null || typeof processedTintColor === 'number',\n 'Unexpected color given for ActionSheetIOS.showActionSheetWithOptions tintColor',\n );\n invariant(\n processedCancelButtonTintColor == null ||\n typeof processedCancelButtonTintColor === 'number',\n 'Unexpected color given for ActionSheetIOS.showActionSheetWithOptions cancelButtonTintColor',\n );\n invariant(\n processedDisabledButtonTintColor == null ||\n typeof processedDisabledButtonTintColor === 'number',\n 'Unexpected color given for ActionSheetIOS.showActionSheetWithOptions disabledButtonTintColor',\n );\n RCTActionSheetManager.showActionSheetWithOptions(\n {\n ...remainingOptions,\n // $FlowFixMe[incompatible-call]\n tintColor: processedTintColor,\n // $FlowFixMe[incompatible-call]\n cancelButtonTintColor: processedCancelButtonTintColor,\n // $FlowFixMe[incompatible-call]\n disabledButtonTintColor: processedDisabledButtonTintColor,\n destructiveButtonIndices,\n },\n callback,\n );\n },\n\n /**\n * Display the iOS share sheet. The `options` object should contain\n * one or both of `message` and `url` and can additionally have\n * a `subject` or `excludedActivityTypes`:\n *\n * - `url` (string) - a URL to share\n * - `message` (string) - a message to share\n * - `subject` (string) - a subject for the message\n * - `excludedActivityTypes` (array) - the activities to exclude from\n * the ActionSheet\n * - `tintColor` (color) - tint color of the buttons\n *\n * The 'failureCallback' function takes one parameter, an error object.\n * The only property defined on this object is an optional `stack` property\n * of type `string`.\n *\n * The 'successCallback' function takes two parameters:\n *\n * - a boolean value signifying success or failure\n * - a string that, in the case of success, indicates the method of sharing\n *\n * See https://reactnative.dev/docs/actionsheetios#showshareactionsheetwithoptions\n */\n showShareActionSheetWithOptions(\n options: ShareActionSheetIOSOptions,\n failureCallback: Function | ((error: ShareActionSheetError) => void),\n successCallback: Function | ((success: boolean, method: ?string) => void),\n ) {\n invariant(\n typeof options === 'object' && options !== null,\n 'Options must be a valid object',\n );\n invariant(\n typeof failureCallback === 'function',\n 'Must provide a valid failureCallback',\n );\n invariant(\n typeof successCallback === 'function',\n 'Must provide a valid successCallback',\n );\n invariant(RCTActionSheetManager, \"ActionSheetManager doesn't exist\");\n RCTActionSheetManager.showShareActionSheetWithOptions(\n {...options, tintColor: processColor(options.tintColor) as $FlowFixMe},\n failureCallback,\n successCallback,\n );\n },\n\n /**\n * Dismisses the most upper iOS action sheet presented, if no action sheet is\n * present a warning is displayed.\n */\n dismissActionSheet: () => {\n invariant(RCTActionSheetManager, \"ActionSheetManager doesn't exist\");\n if (typeof RCTActionSheetManager.dismissActionSheet === 'function') {\n RCTActionSheetManager.dismissActionSheet();\n }\n },\n};\n\nexport default ActionSheetIOS;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeActionSheetManager';\nimport NativeActionSheetManager from '../../src/private/specs_DEPRECATED/modules/NativeActionSheetManager';\nexport default NativeActionSheetManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +getConstants: () => {};\n +showActionSheetWithOptions: (\n options: {\n +title?: ?string,\n +message?: ?string,\n +options: ?Array,\n +destructiveButtonIndices?: ?Array,\n +cancelButtonIndex?: ?number,\n +anchor?: ?number,\n +tintColor?: ?number,\n +cancelButtonTintColor?: ?number,\n +disabledButtonTintColor?: ?number,\n +userInterfaceStyle?: ?string,\n +disabledButtonIndices?: Array,\n },\n callback: (buttonIndex: number) => void,\n ) => void;\n +showShareActionSheetWithOptions: (\n options: {\n +message?: ?string,\n +url?: ?string,\n +subject?: ?string,\n +anchor?: ?number,\n +tintColor?: ?number,\n +cancelButtonTintColor?: ?number,\n +disabledButtonTintColor?: ?number,\n +excludedActivityTypes?: ?Array,\n +userInterfaceStyle?: ?string,\n },\n failureCallback: (error: {\n +domain: string,\n +code: string,\n +userInfo?: ?Object,\n +message: string,\n }) => void,\n successCallback: (completed: boolean, activityType: ?string) => void,\n ) => void;\n +dismissActionSheet?: () => void;\n}\n\nexport default (TurboModuleRegistry.get('ActionSheetManager'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {EventSubscription} from '../vendor/emitter/EventEmitter';\nimport type {AppearancePreferences, ColorSchemeName} from './NativeAppearance';\nimport typeof INativeAppearance from './NativeAppearance';\n\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport EventEmitter from '../vendor/emitter/EventEmitter';\nimport invariant from 'invariant';\n\ntype Appearance = {\n colorScheme: ?ColorSchemeName,\n};\n\nlet lazyState: ?{\n +NativeAppearance: INativeAppearance,\n // Cache the color scheme to reduce the cost of reading it between changes.\n // NOTE: If `NativeAppearance` is null, this will always be null.\n appearance: ?Appearance,\n // NOTE: This is non-nullable to make it easier for `onChangedListener` to\n // return a non-nullable `EventSubscription` value. This is not the common\n // path, so we do not have to over-optimize it.\n +eventEmitter: EventEmitter<{change: [Appearance]}>,\n};\n\n/**\n * Ensures that all state and listeners are lazily initialized correctly.\n */\nfunction getState(): $NonMaybeType {\n if (lazyState != null) {\n return lazyState;\n }\n const eventEmitter = new EventEmitter<{change: [Appearance]}>();\n // NOTE: Avoid initializing `NativeAppearance` until it is actually used.\n const NativeAppearance = require('./NativeAppearance').default;\n if (NativeAppearance == null) {\n // Assign `null` to avoid re-initializing on subsequent invocations.\n lazyState = {\n NativeAppearance: null,\n appearance: null,\n eventEmitter,\n };\n } else {\n const state: $NonMaybeType = {\n NativeAppearance,\n appearance: null,\n eventEmitter,\n };\n new NativeEventEmitter<{\n appearanceChanged: [AppearancePreferences],\n }>(NativeAppearance).addListener('appearanceChanged', newAppearance => {\n state.appearance = {\n colorScheme: toColorScheme(newAppearance.colorScheme),\n };\n eventEmitter.emit('change', state.appearance);\n });\n lazyState = state;\n }\n return lazyState;\n}\n\n/**\n * Returns the current color scheme preference. This value may change, so the\n * value should not be cached without either listening to changes or using\n * the `useColorScheme` hook.\n */\nexport function getColorScheme(): ?ColorSchemeName {\n let colorScheme = null;\n const state = getState();\n const {NativeAppearance} = state;\n if (NativeAppearance != null) {\n if (state.appearance == null) {\n // Lazily initialize `state.appearance`. This should only\n // happen once because we never reassign a null value to it.\n state.appearance = {\n colorScheme: toColorScheme(NativeAppearance.getColorScheme()),\n };\n }\n colorScheme = state.appearance.colorScheme;\n }\n return colorScheme;\n}\n\n/**\n * Updates the current color scheme to the supplied value.\n */\nexport function setColorScheme(colorScheme: ?ColorSchemeName): void {\n const state = getState();\n const {NativeAppearance} = state;\n if (NativeAppearance != null) {\n NativeAppearance.setColorScheme(colorScheme ?? 'unspecified');\n state.appearance = {\n colorScheme: toColorScheme(NativeAppearance.getColorScheme()),\n };\n }\n}\n\n/**\n * Add an event handler that is fired when appearance preferences change.\n */\nexport function addChangeListener(\n listener: ({colorScheme: ?ColorSchemeName}) => void,\n): EventSubscription {\n const {eventEmitter} = getState();\n return eventEmitter.addListener('change', listener);\n}\n\n/**\n * TODO: (hramos) T52919652 Use ?ColorSchemeName once codegen supports union\n */\nfunction toColorScheme(colorScheme: ?string): ?ColorSchemeName {\n invariant(\n colorScheme === 'dark' || colorScheme === 'light' || colorScheme == null,\n \"Unrecognized color scheme. Did you mean 'dark', 'light' or null?\",\n );\n return colorScheme;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport type * from '../../src/private/specs_DEPRECATED/modules/NativeAppearance';\nimport NativeAppearance from '../../src/private/specs_DEPRECATED/modules/NativeAppearance';\nexport default NativeAppearance;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport type ColorSchemeName = 'light' | 'dark' | 'unspecified';\n\nexport type AppearancePreferences = {\n colorScheme?: ?ColorSchemeName,\n};\n\nexport interface Spec extends TurboModule {\n +getColorScheme: () => ?ColorSchemeName;\n +setColorScheme: (colorScheme: ColorSchemeName) => void;\n\n // RCTEventEmitter\n +addListener: (eventName: string) => void;\n +removeListeners: (count: number) => void;\n}\n\nexport default (TurboModuleRegistry.get('Appearance'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport logError from '../Utilities/logError';\nimport Platform from '../Utilities/Platform';\nimport {type EventSubscription} from '../vendor/emitter/EventEmitter';\nimport NativeAppState from './NativeAppState';\n\n/**\n * active - The app is running in the foreground\n * background - The app is running in the background. The user is either:\n * - in another app\n * - on the home screen\n * - @platform android - on another Activity (even if it was launched by your app)\n * @platform ios - inactive - This is a state that occurs when transitioning between foreground & background, and during periods of inactivity such as entering the multitasking view, opening the Notification Center or in the event of an incoming call.\n */\nexport type AppStateStatus = 'inactive' | 'background' | 'active';\n\n/**\n * change - This even is received when the app state has changed.\n * memoryWarning - This event is used in the need of throwing memory warning or releasing it.\n * @platform android - focus - Received when the app gains focus (the user is interacting with the app).\n * @platform android - blur - Received when the user is not actively interacting with the app.\n */\ntype AppStateEventDefinitions = {\n change: [AppStateStatus],\n memoryWarning: [],\n blur: [],\n focus: [],\n};\n\nexport type AppStateEvent = $Keys;\n\ntype NativeAppStateEventDefinitions = {\n appStateDidChange: [{app_state: AppStateStatus}],\n appStateFocusChange: [boolean],\n memoryWarning: [],\n};\n\n/**\n * `AppState` can tell you if the app is in the foreground or background,\n * and notify you when the state changes.\n *\n * See https://reactnative.dev/docs/appstate\n */\nclass AppStateImpl {\n currentState: ?string = null;\n isAvailable: boolean;\n\n _emitter: ?NativeEventEmitter;\n\n constructor() {\n if (NativeAppState == null) {\n this.isAvailable = false;\n } else {\n this.isAvailable = true;\n\n const emitter: NativeEventEmitter =\n new NativeEventEmitter(\n // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior\n // If you want to use the native module on other platforms, please remove this condition and test its behavior\n Platform.OS !== 'ios' ? null : NativeAppState,\n );\n this._emitter = emitter;\n\n this.currentState = NativeAppState.getConstants().initialAppState;\n\n let eventUpdated = false;\n\n // TODO: this is a terrible solution - in order to ensure `currentState`\n // prop is up to date, we have to register an observer that updates it\n // whenever the state changes, even if nobody cares. We should just\n // deprecate the `currentState` property and get rid of this.\n emitter.addListener('appStateDidChange', appStateData => {\n eventUpdated = true;\n this.currentState = appStateData.app_state;\n });\n\n // TODO: see above - this request just populates the value of `currentState`\n // when the module is first initialized. Would be better to get rid of the\n // prop and expose `getCurrentAppState` method directly.\n // $FlowExpectedError[incompatible-call]\n NativeAppState.getCurrentAppState(appStateData => {\n // It's possible that the state will have changed here & listeners need to be notified\n if (!eventUpdated && this.currentState !== appStateData.app_state) {\n this.currentState = appStateData.app_state;\n // $FlowFixMe[incompatible-call]\n emitter.emit('appStateDidChange', appStateData);\n }\n }, logError);\n }\n }\n\n /**\n * Add a handler to AppState changes by listening to the `change` event type\n * and providing the handler.\n *\n * See https://reactnative.dev/docs/appstate#addeventlistener\n */\n addEventListener(\n type: K,\n handler: (...$ElementType) => void,\n ): EventSubscription {\n const emitter = this._emitter;\n if (emitter == null) {\n throw new Error('Cannot use AppState when `isAvailable` is false.');\n }\n switch (type) {\n case 'change':\n // $FlowIssue[invalid-tuple-arity] Flow cannot refine handler based on the event type\n const changeHandler: AppStateStatus => void = handler;\n return emitter.addListener('appStateDidChange', appStateData => {\n changeHandler(appStateData.app_state);\n });\n case 'memoryWarning':\n // $FlowIssue[invalid-tuple-arity] Flow cannot refine handler based on the event type\n const memoryWarningHandler: () => void = handler;\n return emitter.addListener('memoryWarning', memoryWarningHandler);\n case 'blur':\n case 'focus':\n // $FlowIssue[invalid-tuple-arity] Flow cannot refine handler based on the event type\n const focusOrBlurHandler: () => void = handler;\n return emitter.addListener('appStateFocusChange', hasFocus => {\n if (type === 'blur' && !hasFocus) {\n focusOrBlurHandler();\n }\n if (type === 'focus' && hasFocus) {\n focusOrBlurHandler();\n }\n });\n }\n throw new Error('Trying to subscribe to unknown event: ' + type);\n }\n}\n\nconst AppState: AppStateImpl = new AppStateImpl();\nexport default AppState;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\n'use strict';\n\n/**\n * Small utility that can be used as an error handler. You cannot just pass\n * `console.error` as a failure callback - it's not properly bound. If passes an\n * `Error` object, it will print the message and stack.\n */\nconst logError = function (...args: $ReadOnlyArray) {\n if (args.length === 1 && args[0] instanceof Error) {\n const err = args[0];\n console.error('Error: \"' + err.message + '\". Stack:\\n' + err.stack);\n } else {\n console.error.apply(console, args);\n }\n};\n\nexport default logError;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeAppState';\nimport NativeAppState from '../../src/private/specs_DEPRECATED/modules/NativeAppState';\nexport default NativeAppState;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport type AppStateConstants = {\n initialAppState: string,\n};\n\nexport type AppState = {app_state: string};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => AppStateConstants;\n +getCurrentAppState: (\n success: (appState: AppState) => void,\n error: (error: Object) => void,\n ) => void;\n\n // Events\n +addListener: (eventName: string) => void;\n +removeListeners: (count: number) => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing('AppState'): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\nimport NativeClipboard from './NativeClipboard';\n\n/**\n * `Clipboard` gives you an interface for setting and getting content from Clipboard on both iOS and Android\n */\nexport default {\n /**\n * Get content of string type, this method returns a `Promise`, so you can use following code to get clipboard content\n * ```javascript\n * async _getContent() {\n * var content = await Clipboard.getString();\n * }\n * ```\n */\n getString(): Promise {\n return NativeClipboard.getString();\n },\n /**\n * Set content of string type. You can use following code to set clipboard content\n * ```javascript\n * _setContent() {\n * Clipboard.setString('hello world');\n * }\n * ```\n * @param {string} content the content to be stored in the clipboard.\n */\n setString(content: string) {\n NativeClipboard.setString(content);\n },\n};\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeClipboard';\nimport NativeClipboard from '../../../src/private/specs_DEPRECATED/modules/NativeClipboard';\nexport default NativeClipboard;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +getConstants: () => {};\n +getString: () => Promise;\n +setString: (content: string) => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing('Clipboard'): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport NativeDeviceInfo from './NativeDeviceInfo';\n\nexport default NativeDeviceInfo;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport NativeDevMenu from '../specs_DEPRECATED/modules/NativeDevMenu';\n\n/**\n * The DevMenu module exposes methods for interacting with the Dev Menu in development.\n */\ntype DevMenuStatic = {\n /**\n * Show the Dev Menu.\n */\n show(): void,\n};\n\nconst DevMenu: DevMenuStatic = {\n show(): void {\n if (__DEV__) {\n NativeDevMenu.show?.();\n }\n },\n};\n\nexport default DevMenu;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +show: () => void;\n +reload: () => void;\n +setProfilingEnabled: (enabled: boolean) => void;\n +setHotLoadingEnabled: (enabled: boolean) => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing('DevMenu'): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport type {EventSubscription} from '../vendor/emitter/EventEmitter';\n\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport NativeDevSettings from '../NativeModules/specs/NativeDevSettings';\nimport Platform from '../Utilities/Platform';\n\n/**\n * The DevSettings module exposes methods for customizing settings for developers in development.\n */\nlet DevSettings: {\n /**\n * Adds a custom menu item to the developer menu.\n *\n * @param title - The title of the menu item. Is internally used as id and should therefore be unique.\n * @param handler - The callback invoked when pressing the menu item.\n */\n addMenuItem(title: string, handler: () => mixed): void,\n /**\n * Reload the application.\n *\n * @param reason\n */\n reload(reason?: string): void,\n onFastRefresh(): void,\n} = {\n addMenuItem(title: string, handler: () => mixed): void {},\n reload(reason?: string): void {},\n onFastRefresh(): void {},\n};\n\ntype DevSettingsEventDefinitions = {\n didPressMenuItem: [{title: string}],\n};\n\nif (__DEV__) {\n const emitter = new NativeEventEmitter(\n // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior\n // If you want to use the native module on other platforms, please remove this condition and test its behavior\n Platform.OS !== 'ios' ? null : NativeDevSettings,\n );\n const subscriptions = new Map();\n\n DevSettings = {\n addMenuItem(title: string, handler: () => mixed): void {\n // Make sure items are not added multiple times. This can\n // happen when hot reloading the module that registers the\n // menu items. The title is used as the id which means we\n // don't support multiple items with the same name.\n let subscription = subscriptions.get(title);\n if (subscription != null) {\n subscription.remove();\n } else {\n NativeDevSettings.addMenuItem(title);\n }\n\n subscription = emitter.addListener('didPressMenuItem', event => {\n if (event.title === title) {\n handler();\n }\n });\n subscriptions.set(title, subscription);\n },\n reload(reason?: string): void {\n if (NativeDevSettings.reloadWithReason != null) {\n NativeDevSettings.reloadWithReason(reason ?? 'Uncategorized from JS');\n } else {\n NativeDevSettings.reload();\n }\n },\n onFastRefresh(): void {\n NativeDevSettings.onFastRefresh?.();\n },\n };\n}\n\nexport default DevSettings;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeDevSettings';\nimport NativeDevSettings from '../../../src/private/specs_DEPRECATED/modules/NativeDevSettings';\nexport default NativeDevSettings;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +reload: () => void;\n +reloadWithReason?: (reason: string) => void;\n +onFastRefresh?: () => void;\n +setHotLoadingEnabled: (isHotLoadingEnabled: boolean) => void;\n +setProfilingEnabled: (isProfilingEnabled: boolean) => void;\n +toggleElementInspector: () => void;\n +addMenuItem: (title: string) => void;\n +openDebugger?: () => void;\n\n // Events\n +addListener: (eventName: string) => void;\n +removeListeners: (count: number) => void;\n\n // iOS only.\n +setIsShakeToShowDevMenuEnabled: (enabled: boolean) => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing('DevSettings'): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {EventSubscription} from '../vendor/emitter/EventEmitter';\n\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport Platform from '../Utilities/Platform';\nimport NativeIntentAndroid from './NativeIntentAndroid';\nimport NativeLinkingManager from './NativeLinkingManager';\nimport invariant from 'invariant';\nimport nullthrows from 'nullthrows';\n\ntype LinkingEventDefinitions = {\n url: [{url: string}],\n};\n\nclass LinkingImpl extends NativeEventEmitter {\n constructor() {\n super(Platform.OS === 'ios' ? nullthrows(NativeLinkingManager) : undefined);\n }\n\n /**\n * Add a handler to Linking changes by listening to the `url` event type\n * and providing the handler\n *\n * See https://reactnative.dev/docs/linking#addeventlistener\n */\n addEventListener>(\n eventType: K,\n listener: (...$ElementType) => mixed,\n ): EventSubscription {\n return this.addListener(eventType, listener);\n }\n\n /**\n * Try to open the given `url` with any of the installed apps.\n *\n * See https://reactnative.dev/docs/linking#openurl\n */\n openURL(url: string): Promise {\n this._validateURL(url);\n if (Platform.OS === 'android') {\n return nullthrows(NativeIntentAndroid).openURL(url);\n } else {\n return nullthrows(NativeLinkingManager).openURL(url);\n }\n }\n\n /**\n * Determine whether or not an installed app can handle a given URL.\n *\n * See https://reactnative.dev/docs/linking#canopenurl\n */\n canOpenURL(url: string): Promise {\n this._validateURL(url);\n if (Platform.OS === 'android') {\n return nullthrows(NativeIntentAndroid).canOpenURL(url);\n } else {\n return nullthrows(NativeLinkingManager).canOpenURL(url);\n }\n }\n\n /**\n * Open app settings.\n *\n * See https://reactnative.dev/docs/linking#opensettings\n */\n openSettings(): Promise {\n if (Platform.OS === 'android') {\n return nullthrows(NativeIntentAndroid).openSettings();\n } else {\n return nullthrows(NativeLinkingManager).openSettings();\n }\n }\n\n /**\n * If the app launch was triggered by an app link,\n * it will give the link url, otherwise it will give `null`\n *\n * See https://reactnative.dev/docs/linking#getinitialurl\n */\n getInitialURL(): Promise {\n return Platform.OS === 'android'\n ? nullthrows(NativeIntentAndroid).getInitialURL()\n : nullthrows(NativeLinkingManager).getInitialURL();\n }\n\n /*\n * Launch an Android intent with extras (optional)\n *\n * @platform android\n *\n * See https://reactnative.dev/docs/linking#sendintent\n */\n sendIntent(\n action: string,\n extras?: Array<{\n key: string,\n value: string | number | boolean,\n ...\n }>,\n ): Promise {\n if (Platform.OS === 'android') {\n return nullthrows(NativeIntentAndroid).sendIntent(action, extras);\n } else {\n return new Promise((resolve, reject) => reject(new Error('Unsupported')));\n }\n }\n\n _validateURL(url: string): void {\n invariant(\n typeof url === 'string',\n 'Invalid URL: should be a string. Was: ' + url,\n );\n invariant(url, 'Invalid URL: cannot be empty');\n }\n}\n\nconst Linking: LinkingImpl = new LinkingImpl();\n\n/**\n * `Linking` gives you a general interface to interact with both incoming\n * and outgoing app links.\n *\n * See https://reactnative.dev/docs/linking\n */\nexport default Linking;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeIntentAndroid';\nimport NativeIntentAndroid from '../../src/private/specs_DEPRECATED/modules/NativeIntentAndroid';\nexport default NativeIntentAndroid;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +getInitialURL: () => Promise;\n +canOpenURL: (url: string) => Promise;\n +openURL: (url: string) => Promise;\n +openSettings: () => Promise;\n +sendIntent: (\n action: string,\n extras: ?Array<{\n key: string,\n value: string | number | boolean, // TODO(T67672788): Union types are not type safe\n ...\n }>,\n ) => Promise;\n}\n\nexport default (TurboModuleRegistry.get('IntentAndroid'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeLinkingManager';\nimport NativeLinkingManager from '../../src/private/specs_DEPRECATED/modules/NativeLinkingManager';\nexport default NativeLinkingManager;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n // Common interface\n +getInitialURL: () => Promise;\n +canOpenURL: (url: string) => Promise;\n +openURL: (url: string) => Promise;\n +openSettings: () => Promise;\n\n // Events\n +addListener: (eventName: string) => void;\n +removeListeners: (count: number) => void;\n}\n\nexport default (TurboModuleRegistry.get('LinkingManager'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {IgnorePattern, LogData} from './Data/LogBoxData';\nimport type {ExtendedExceptionData} from './Data/parseLogBoxLog';\n\nimport Platform from '../Utilities/Platform';\nimport RCTLog from '../Utilities/RCTLog';\nimport {hasComponentStack} from './Data/parseLogBoxLog';\nimport * as React from 'react';\n\nexport type {LogData, ExtendedExceptionData, IgnorePattern};\n\nlet LogBox;\n\ninterface ILogBox {\n install(): void;\n uninstall(): void;\n isInstalled(): boolean;\n ignoreLogs($ReadOnlyArray): void;\n ignoreAllLogs(value?: boolean): void;\n clearAllLogs(): void;\n addLog(log: LogData): void;\n addException(error: ExtendedExceptionData): void;\n}\n\n/**\n * LogBox displays logs in the app.\n */\nif (__DEV__) {\n const LogBoxData = require('./Data/LogBoxData');\n const {parseLogBoxLog, parseInterpolation} = require('./Data/parseLogBoxLog');\n\n let originalConsoleError;\n let originalConsoleWarn;\n let consoleErrorImpl;\n let consoleWarnImpl: (...args: Array) => void;\n\n let isLogBoxInstalled: boolean = false;\n\n LogBox = {\n install(): void {\n if (isLogBoxInstalled) {\n return;\n }\n\n isLogBoxInstalled = true;\n\n if (global.RN$registerExceptionListener != null) {\n global.RN$registerExceptionListener(\n (error: ExtendedExceptionData & {preventDefault: () => mixed}) => {\n if (global.RN$isRuntimeReady?.() || !error.isFatal) {\n error.preventDefault();\n addException(error);\n }\n },\n );\n }\n\n // Trigger lazy initialization of module.\n require('../NativeModules/specs/NativeLogBox');\n\n // IMPORTANT: we only overwrite `console.error` and `console.warn` once.\n // When we uninstall we keep the same reference and only change its\n // internal implementation\n const isFirstInstall = originalConsoleError == null;\n if (isFirstInstall) {\n originalConsoleError = console.error.bind(console);\n originalConsoleWarn = console.warn.bind(console);\n\n // $FlowExpectedError[cannot-write]\n console.error = (...args) => {\n consoleErrorImpl(...args);\n };\n // $FlowExpectedError[cannot-write]\n console.warn = (...args) => {\n consoleWarnImpl(...args);\n };\n }\n\n consoleErrorImpl = registerError;\n consoleWarnImpl = registerWarning;\n\n if (Platform.isTesting) {\n LogBoxData.setDisabled(true);\n }\n\n RCTLog.setWarningHandler((...args) => {\n registerWarning(...args);\n });\n },\n\n uninstall(): void {\n if (!isLogBoxInstalled) {\n return;\n }\n\n isLogBoxInstalled = false;\n\n // IMPORTANT: we don't re-assign to `console` in case the method has been\n // decorated again after installing LogBox. E.g.:\n // Before uninstalling: original > LogBox > OtherErrorHandler\n // After uninstalling: original > LogBox (noop) > OtherErrorHandler\n consoleErrorImpl = originalConsoleError;\n consoleWarnImpl = originalConsoleWarn;\n },\n\n isInstalled(): boolean {\n return isLogBoxInstalled;\n },\n\n /**\n * Silence any logs that match the given strings or regexes.\n */\n ignoreLogs(patterns: $ReadOnlyArray): void {\n LogBoxData.addIgnorePatterns(patterns);\n },\n\n /**\n * Toggle error and warning notifications\n * Note: this only disables notifications, uncaught errors will still open a full screen LogBox.\n * @param ignore whether to ignore logs or not\n */\n ignoreAllLogs(value?: ?boolean): void {\n LogBoxData.setDisabled(value == null ? true : value);\n },\n\n clearAllLogs(): void {\n LogBoxData.clear();\n },\n\n addLog(log: LogData): void {\n if (isLogBoxInstalled) {\n LogBoxData.addLog(log);\n }\n },\n\n addException,\n };\n\n function addException(error: ExtendedExceptionData): void {\n if (isLogBoxInstalled) {\n LogBoxData.addException(error);\n }\n }\n\n const isRCTLogAdviceWarning = (...args: Array) => {\n // RCTLogAdvice is a native logging function designed to show users\n // a message in the console, but not show it to them in Logbox.\n return typeof args[0] === 'string' && args[0].startsWith('(ADVICE)');\n };\n\n const isWarningModuleWarning = (...args: Array) => {\n return typeof args[0] === 'string' && args[0].startsWith('Warning: ');\n };\n\n const registerWarning = (...args: Array): void => {\n // Let warnings within LogBox itself fall through.\n if (LogBoxData.isLogBoxErrorMessage(String(args[0]))) {\n originalConsoleError(...args);\n return;\n } else {\n // Be sure to pass LogBox warnings through.\n originalConsoleWarn(...args);\n }\n\n try {\n if (!isRCTLogAdviceWarning(...args)) {\n const {category, message, componentStack, componentStackType} =\n parseLogBoxLog(args);\n\n if (!LogBoxData.isMessageIgnored(message.content)) {\n LogBoxData.addLog({\n level: 'warn',\n category,\n message,\n componentStack,\n componentStackType,\n });\n }\n }\n } catch (err) {\n LogBoxData.reportLogBoxError(err);\n }\n };\n\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\n const registerError = (...args): void => {\n // Let errors within LogBox itself fall through.\n if (LogBoxData.isLogBoxErrorMessage(args[0])) {\n originalConsoleError(...args);\n return;\n }\n\n try {\n let stack;\n // $FlowFixMe[prop-missing] Not added to flow types yet.\n if (!hasComponentStack(args) && React.captureOwnerStack != null) {\n stack = React.captureOwnerStack();\n if (!hasComponentStack(args)) {\n if (stack != null && stack !== '') {\n args[0] = args[0] += '%s';\n args.push(stack);\n }\n }\n }\n if (!isWarningModuleWarning(...args) && !hasComponentStack(args)) {\n // Only show LogBox for the 'warning' module, or React errors with\n // component stacks, otherwise pass the error through.\n //\n // By passing through, this will get picked up by the React console override,\n // potentially adding the component stack. React then passes it back to the\n // React Native ExceptionsManager, which reports it to LogBox as an error.\n //\n // Ideally, we refactor all RN error handling so that LogBox patching\n // errors is not necessary, and they are reported the same as a framework.\n // The blocker to this is that the ExceptionManager console.error override\n // strigifys all of the args before passing it through to LogBox, which\n // would lose all of the interpolation information.\n //\n // The 'warning' module needs to be handled here because React internally calls\n // `console.error('Warning: ')` with the component stack already included.\n originalConsoleError(...args);\n return;\n }\n\n const format = args[0].replace('Warning: ', '');\n const filterResult = LogBoxData.checkWarningFilter(format);\n let level = 'error';\n if (filterResult.monitorEvent !== 'warning_unhandled') {\n if (filterResult.suppressCompletely) {\n return;\n }\n\n if (filterResult.suppressDialog_LEGACY === true) {\n level = 'warn';\n } else if (filterResult.forceDialogImmediately === true) {\n level = 'fatal'; // Do not downgrade. These are real bugs with same severity as throws.\n }\n }\n\n // Unfortunately, we need to add the Warning: prefix back for downstream dependencies.\n // Downstream, we check for this prefix to know that LogBox already handled it, so\n // it doesn't get reported back to LogBox. It's an absolute mess.\n args[0] = `Warning: ${filterResult.finalFormat}`;\n const {category, message, componentStack, componentStackType} =\n parseLogBoxLog(args);\n\n // Interpolate the message so they are formatted for adb and other CLIs.\n // This is different than the message.content above because it includes component stacks.\n const interpolated = parseInterpolation(args);\n originalConsoleError(interpolated.message.content);\n\n if (!LogBoxData.isMessageIgnored(message.content)) {\n LogBoxData.addLog({\n level,\n category,\n message,\n componentStack,\n componentStackType,\n });\n }\n } catch (err) {\n LogBoxData.reportLogBoxError(err);\n }\n };\n} else {\n LogBox = {\n install(): void {\n // Do nothing.\n },\n\n uninstall(): void {\n // Do nothing.\n },\n\n isInstalled(): boolean {\n return false;\n },\n\n ignoreLogs(patterns: $ReadOnlyArray): void {\n // Do nothing.\n },\n\n ignoreAllLogs(value?: ?boolean): void {\n // Do nothing.\n },\n\n clearAllLogs(): void {\n // Do nothing.\n },\n\n addLog(log: LogData): void {\n // Do nothing.\n },\n\n addException(error: ExtendedExceptionData): void {\n // Do nothing.\n },\n };\n}\n\nexport default (LogBox: ILogBox);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../../src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid';\nimport NativeDialogManagerAndroid from '../../../src/private/specs_DEPRECATED/modules/NativeDialogManagerAndroid';\nexport default NativeDialogManagerAndroid;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\n/* 'buttonClicked' | 'dismissed' */\ntype DialogAction = string;\n/*\n buttonPositive = -1,\n buttonNegative = -2,\n buttonNeutral = -3\n*/\ntype DialogButtonKey = number;\nexport type DialogOptions = {\n title?: string,\n message?: string,\n buttonPositive?: string,\n buttonNegative?: string,\n buttonNeutral?: string,\n items?: Array,\n cancelable?: boolean,\n};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => {\n +buttonClicked: DialogAction,\n +dismissed: DialogAction,\n +buttonPositive: DialogButtonKey,\n +buttonNegative: DialogButtonKey,\n +buttonNeutral: DialogButtonKey,\n };\n +showAlert: (\n config: DialogOptions,\n onError: (error: string) => void,\n onAction: (action: DialogAction, buttonKey?: DialogButtonKey) => void,\n ) => void;\n}\n\nexport default (TurboModuleRegistry.get('DialogManagerAndroid'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow\n * @format\n */\n\n'use strict';\n\nimport type {GestureResponderEvent} from '../Types/CoreEventTypes';\n\nconst InteractionManager = require('./InteractionManager').default;\nconst TouchHistoryMath = require('./TouchHistoryMath').default;\n\nconst currentCentroidXOfTouchesChangedAfter =\n TouchHistoryMath.currentCentroidXOfTouchesChangedAfter;\nconst currentCentroidYOfTouchesChangedAfter =\n TouchHistoryMath.currentCentroidYOfTouchesChangedAfter;\nconst previousCentroidXOfTouchesChangedAfter =\n TouchHistoryMath.previousCentroidXOfTouchesChangedAfter;\nconst previousCentroidYOfTouchesChangedAfter =\n TouchHistoryMath.previousCentroidYOfTouchesChangedAfter;\nconst currentCentroidX = TouchHistoryMath.currentCentroidX;\nconst currentCentroidY = TouchHistoryMath.currentCentroidY;\n\n/**\n * `PanResponder` reconciles several touches into a single gesture. It makes\n * single-touch gestures resilient to extra touches, and can be used to\n * recognize simple multi-touch gestures.\n *\n * By default, `PanResponder` holds an `InteractionManager` handle to block\n * long-running JS events from interrupting active gestures.\n *\n * It provides a predictable wrapper of the responder handlers provided by the\n * [gesture responder system](docs/gesture-responder-system.html).\n * For each handler, it provides a new `gestureState` object alongside the\n * native event object:\n *\n * ```\n * onPanResponderMove: (event, gestureState) => {}\n * ```\n *\n * A native event is a synthetic touch event with the following form:\n *\n * - `nativeEvent`\n * + `changedTouches` - Array of all touch events that have changed since the last event\n * + `identifier` - The ID of the touch\n * + `locationX` - The X position of the touch, relative to the element\n * + `locationY` - The Y position of the touch, relative to the element\n * + `pageX` - The X position of the touch, relative to the root element\n * + `pageY` - The Y position of the touch, relative to the root element\n * + `target` - The node id of the element receiving the touch event\n * + `timestamp` - A time identifier for the touch, useful for velocity calculation\n * + `touches` - Array of all current touches on the screen\n *\n * A `gestureState` object has the following:\n *\n * - `stateID` - ID of the gestureState- persisted as long as there at least\n * one touch on screen\n * - `moveX` - the latest screen coordinates of the recently-moved touch\n * - `moveY` - the latest screen coordinates of the recently-moved touch\n * - `x0` - the screen coordinates of the responder grant\n * - `y0` - the screen coordinates of the responder grant\n * - `dx` - accumulated distance of the gesture since the touch started\n * - `dy` - accumulated distance of the gesture since the touch started\n * - `vx` - current velocity of the gesture\n * - `vy` - current velocity of the gesture\n * - `numberActiveTouches` - Number of touches currently on screen\n *\n * ### Basic Usage\n *\n * ```\n * componentWillMount: function() {\n * this._panResponder = PanResponder.create({\n * // Ask to be the responder:\n * onStartShouldSetPanResponder: (evt, gestureState) => true,\n * onStartShouldSetPanResponderCapture: (evt, gestureState) => true,\n * onMoveShouldSetPanResponder: (evt, gestureState) => true,\n * onMoveShouldSetPanResponderCapture: (evt, gestureState) => true,\n *\n * onPanResponderGrant: (evt, gestureState) => {\n * // The gesture has started. Show visual feedback so the user knows\n * // what is happening!\n *\n * // gestureState.d{x,y} will be set to zero now\n * },\n * onPanResponderMove: (evt, gestureState) => {\n * // The most recent move distance is gestureState.move{X,Y}\n *\n * // The accumulated gesture distance since becoming responder is\n * // gestureState.d{x,y}\n * },\n * onPanResponderTerminationRequest: (evt, gestureState) => true,\n * onPanResponderRelease: (evt, gestureState) => {\n * // The user has released all touches while this view is the\n * // responder. This typically means a gesture has succeeded\n * },\n * onPanResponderTerminate: (evt, gestureState) => {\n * // Another component has become the responder, so this gesture\n * // should be cancelled\n * },\n * onShouldBlockNativeResponder: (evt, gestureState) => {\n * // Returns whether this component should block native components from becoming the JS\n * // responder. Returns true by default. Is currently only supported on android.\n * return true;\n * },\n * });\n * },\n *\n * render: function() {\n * return (\n * \n * );\n * },\n *\n * ```\n *\n * ### Working Example\n *\n * To see it in action, try the\n * [PanResponder example in RNTester](https://github.com/facebook/react-native/blob/HEAD/packages/rn-tester/js/examples/PanResponder/PanResponderExample.js)\n */\n\nexport type PanResponderGestureState = {\n /**\n * ID of the gestureState - persisted as long as there at least one touch on screen\n */\n stateID: number,\n\n /**\n * The latest screen coordinates of the recently-moved touch\n */\n moveX: number,\n\n /**\n * The latest screen coordinates of the recently-moved touch\n */\n moveY: number,\n\n /**\n * The screen coordinates of the responder grant\n */\n x0: number,\n\n /**\n * The screen coordinates of the responder grant\n */\n y0: number,\n\n /**\n * Accumulated distance of the gesture since the touch started\n */\n dx: number,\n\n /**\n * Accumulated distance of the gesture since the touch started\n */\n dy: number,\n\n /**\n * Current velocity of the gesture\n */\n vx: number,\n\n /**\n * Current velocity of the gesture\n */\n vy: number,\n\n /**\n * Number of touches currently on screen\n */\n numberActiveTouches: number,\n\n /**\n * All `gestureState` accounts for timeStamps up until this value\n *\n * @private\n */\n _accountsForMovesUpTo: number,\n};\n\ntype ActiveCallback = (\n event: GestureResponderEvent,\n gestureState: PanResponderGestureState,\n) => boolean;\n\ntype PassiveCallback = (\n event: GestureResponderEvent,\n gestureState: PanResponderGestureState,\n) => mixed;\n\nexport type GestureResponderHandlers = {\n onMoveShouldSetResponder: (event: GestureResponderEvent) => boolean,\n onMoveShouldSetResponderCapture: (event: GestureResponderEvent) => boolean,\n onResponderEnd: (event: GestureResponderEvent) => void,\n onResponderGrant: (event: GestureResponderEvent) => boolean,\n onResponderMove: (event: GestureResponderEvent) => void,\n onResponderReject: (event: GestureResponderEvent) => void,\n onResponderRelease: (event: GestureResponderEvent) => void,\n onResponderStart: (event: GestureResponderEvent) => void,\n onResponderTerminate: (event: GestureResponderEvent) => void,\n onResponderTerminationRequest: (event: GestureResponderEvent) => boolean,\n onStartShouldSetResponder: (event: GestureResponderEvent) => boolean,\n onStartShouldSetResponderCapture: (event: GestureResponderEvent) => boolean,\n};\n\nexport type PanResponderCallbacks = $ReadOnly<{\n onMoveShouldSetPanResponder?: ?ActiveCallback,\n onMoveShouldSetPanResponderCapture?: ?ActiveCallback,\n onStartShouldSetPanResponder?: ?ActiveCallback,\n onStartShouldSetPanResponderCapture?: ?ActiveCallback,\n /**\n * The body of `onResponderGrant` returns a bool, but the vast majority of\n * callsites return void and this TODO notice is found in it:\n * TODO: t7467124 investigate if this can be removed\n */\n onPanResponderGrant?: ?(PassiveCallback | ActiveCallback),\n onPanResponderReject?: ?PassiveCallback,\n onPanResponderStart?: ?PassiveCallback,\n onPanResponderEnd?: ?PassiveCallback,\n onPanResponderRelease?: ?PassiveCallback,\n onPanResponderMove?: ?PassiveCallback,\n onPanResponderTerminate?: ?PassiveCallback,\n onPanResponderTerminationRequest?: ?ActiveCallback,\n onShouldBlockNativeResponder?: ?ActiveCallback,\n}>;\n\nconst PanResponder = {\n /**\n *\n * A graphical explanation of the touch data flow:\n *\n * +----------------------------+ +--------------------------------+\n * | ResponderTouchHistoryStore | |TouchHistoryMath |\n * +----------------------------+ +----------+---------------------+\n * |Global store of touchHistory| |Allocation-less math util |\n * |including activeness, start | |on touch history (centroids |\n * |position, prev/cur position.| |and multitouch movement etc) |\n * | | | |\n * +----^-----------------------+ +----^---------------------------+\n * | |\n * | (records relevant history |\n * | of touches relevant for |\n * | implementing higher level |\n * | gestures) |\n * | |\n * +----+-----------------------+ +----|---------------------------+\n * | ResponderEventPlugin | | | Your App/Component |\n * +----------------------------+ +----|---------------------------+\n * |Negotiates which view gets | Low level | | High level |\n * |onResponderMove events. | events w/ | +-+-------+ events w/ |\n * |Also records history into | touchHistory| | Pan | multitouch + |\n * |ResponderTouchHistoryStore. +---------------->Responder+-----> accumulative|\n * +----------------------------+ attached to | | | distance and |\n * each event | +---------+ velocity. |\n * | |\n * | |\n * +--------------------------------+\n *\n *\n *\n * Gesture that calculates cumulative movement over time in a way that just\n * \"does the right thing\" for multiple touches. The \"right thing\" is very\n * nuanced. When moving two touches in opposite directions, the cumulative\n * distance is zero in each dimension. When two touches move in parallel five\n * pixels in the same direction, the cumulative distance is five, not ten. If\n * two touches start, one moves five in a direction, then stops and the other\n * touch moves fives in the same direction, the cumulative distance is ten.\n *\n * This logic requires a kind of processing of time \"clusters\" of touch events\n * so that two touch moves that essentially occur in parallel but move every\n * other frame respectively, are considered part of the same movement.\n *\n * Explanation of some of the non-obvious fields:\n *\n * - moveX/moveY: If no move event has been observed, then `(moveX, moveY)` is\n * invalid. If a move event has been observed, `(moveX, moveY)` is the\n * centroid of the most recently moved \"cluster\" of active touches.\n * (Currently all move have the same timeStamp, but later we should add some\n * threshold for what is considered to be \"moving\"). If a palm is\n * accidentally counted as a touch, but a finger is moving greatly, the palm\n * will move slightly, but we only want to count the single moving touch.\n * - x0/y0: Centroid location (non-cumulative) at the time of becoming\n * responder.\n * - dx/dy: Cumulative touch distance - not the same thing as sum of each touch\n * distance. Accounts for touch moves that are clustered together in time,\n * moving the same direction. Only valid when currently responder (otherwise,\n * it only represents the drag distance below the threshold).\n * - vx/vy: Velocity.\n */\n\n _initializeGestureState(gestureState: PanResponderGestureState) {\n gestureState.moveX = 0;\n gestureState.moveY = 0;\n gestureState.x0 = 0;\n gestureState.y0 = 0;\n gestureState.dx = 0;\n gestureState.dy = 0;\n gestureState.vx = 0;\n gestureState.vy = 0;\n gestureState.numberActiveTouches = 0;\n // All `gestureState` accounts for timeStamps up until:\n gestureState._accountsForMovesUpTo = 0;\n },\n\n /**\n * This is nuanced and is necessary. It is incorrect to continuously take all\n * active *and* recently moved touches, find the centroid, and track how that\n * result changes over time. Instead, we must take all recently moved\n * touches, and calculate how the centroid has changed just for those\n * recently moved touches, and append that change to an accumulator. This is\n * to (at least) handle the case where the user is moving three fingers, and\n * then one of the fingers stops but the other two continue.\n *\n * This is very different than taking all of the recently moved touches and\n * storing their centroid as `dx/dy`. For correctness, we must *accumulate\n * changes* in the centroid of recently moved touches.\n *\n * There is also some nuance with how we handle multiple moved touches in a\n * single event. With the way `ReactNativeEventEmitter` dispatches touches as\n * individual events, multiple touches generate two 'move' events, each of\n * them triggering `onResponderMove`. But with the way `PanResponder` works,\n * all of the gesture inference is performed on the first dispatch, since it\n * looks at all of the touches (even the ones for which there hasn't been a\n * native dispatch yet). Therefore, `PanResponder` does not call\n * `onResponderMove` passed the first dispatch. This diverges from the\n * typical responder callback pattern (without using `PanResponder`), but\n * avoids more dispatches than necessary.\n */\n _updateGestureStateOnMove(\n gestureState: PanResponderGestureState,\n touchHistory: $PropertyType,\n ) {\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n gestureState.moveX = currentCentroidXOfTouchesChangedAfter(\n touchHistory,\n gestureState._accountsForMovesUpTo,\n );\n gestureState.moveY = currentCentroidYOfTouchesChangedAfter(\n touchHistory,\n gestureState._accountsForMovesUpTo,\n );\n const movedAfter = gestureState._accountsForMovesUpTo;\n const prevX = previousCentroidXOfTouchesChangedAfter(\n touchHistory,\n movedAfter,\n );\n const x = currentCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);\n const prevY = previousCentroidYOfTouchesChangedAfter(\n touchHistory,\n movedAfter,\n );\n const y = currentCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);\n const nextDX = gestureState.dx + (x - prevX);\n const nextDY = gestureState.dy + (y - prevY);\n\n // TODO: This must be filtered intelligently.\n const dt =\n touchHistory.mostRecentTimeStamp - gestureState._accountsForMovesUpTo;\n gestureState.vx = (nextDX - gestureState.dx) / dt;\n gestureState.vy = (nextDY - gestureState.dy) / dt;\n\n gestureState.dx = nextDX;\n gestureState.dy = nextDY;\n gestureState._accountsForMovesUpTo = touchHistory.mostRecentTimeStamp;\n },\n\n /**\n * @param {object} config Enhanced versions of all of the responder callbacks\n * that provide not only the typical `ResponderSyntheticEvent`, but also the\n * `PanResponder` gesture state. Simply replace the word `Responder` with\n * `PanResponder` in each of the typical `onResponder*` callbacks. For\n * example, the `config` object would look like:\n *\n * - `onMoveShouldSetPanResponder: (e, gestureState) => {...}`\n * - `onMoveShouldSetPanResponderCapture: (e, gestureState) => {...}`\n * - `onStartShouldSetPanResponder: (e, gestureState) => {...}`\n * - `onStartShouldSetPanResponderCapture: (e, gestureState) => {...}`\n * - `onPanResponderReject: (e, gestureState) => {...}`\n * - `onPanResponderGrant: (e, gestureState) => {...}`\n * - `onPanResponderStart: (e, gestureState) => {...}`\n * - `onPanResponderEnd: (e, gestureState) => {...}`\n * - `onPanResponderRelease: (e, gestureState) => {...}`\n * - `onPanResponderMove: (e, gestureState) => {...}`\n * - `onPanResponderTerminate: (e, gestureState) => {...}`\n * - `onPanResponderTerminationRequest: (e, gestureState) => {...}`\n * - `onShouldBlockNativeResponder: (e, gestureState) => {...}`\n *\n * In general, for events that have capture equivalents, we update the\n * gestureState once in the capture phase and can use it in the bubble phase\n * as well.\n *\n * Be careful with onStartShould* callbacks. They only reflect updated\n * `gestureState` for start/end events that bubble/capture to the Node.\n * Once the node is the responder, you can rely on every start/end event\n * being processed by the gesture and `gestureState` being updated\n * accordingly. (numberActiveTouches) may not be totally accurate unless you\n * are the responder.\n */\n create(config: PanResponderCallbacks): {\n getInteractionHandle: () => ?number,\n panHandlers: GestureResponderHandlers,\n } {\n const interactionState = {\n handle: (null: ?number),\n };\n const gestureState: PanResponderGestureState = {\n // Useful for debugging\n stateID: Math.random(),\n moveX: 0,\n moveY: 0,\n x0: 0,\n y0: 0,\n dx: 0,\n dy: 0,\n vx: 0,\n vy: 0,\n numberActiveTouches: 0,\n _accountsForMovesUpTo: 0,\n };\n const panHandlers = {\n onStartShouldSetResponder(event: GestureResponderEvent): boolean {\n return config.onStartShouldSetPanResponder == null\n ? false\n : config.onStartShouldSetPanResponder(event, gestureState);\n },\n onMoveShouldSetResponder(event: GestureResponderEvent): boolean {\n return config.onMoveShouldSetPanResponder == null\n ? false\n : config.onMoveShouldSetPanResponder(event, gestureState);\n },\n onStartShouldSetResponderCapture(event: GestureResponderEvent): boolean {\n // TODO: Actually, we should reinitialize the state any time\n // touches.length increases from 0 active to > 0 active.\n if (event.nativeEvent.touches.length === 1) {\n PanResponder._initializeGestureState(gestureState);\n }\n gestureState.numberActiveTouches =\n event.touchHistory.numberActiveTouches;\n return config.onStartShouldSetPanResponderCapture != null\n ? config.onStartShouldSetPanResponderCapture(event, gestureState)\n : false;\n },\n\n onMoveShouldSetResponderCapture(event: GestureResponderEvent): boolean {\n const touchHistory = event.touchHistory;\n // Responder system incorrectly dispatches should* to current responder\n // Filter out any touch moves past the first one - we would have\n // already processed multi-touch geometry during the first event.\n if (\n gestureState._accountsForMovesUpTo ===\n touchHistory.mostRecentTimeStamp\n ) {\n return false;\n }\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n return config.onMoveShouldSetPanResponderCapture\n ? config.onMoveShouldSetPanResponderCapture(event, gestureState)\n : false;\n },\n\n onResponderGrant(event: GestureResponderEvent): boolean {\n if (!interactionState.handle) {\n interactionState.handle =\n InteractionManager.createInteractionHandle();\n }\n gestureState.x0 = currentCentroidX(event.touchHistory);\n gestureState.y0 = currentCentroidY(event.touchHistory);\n gestureState.dx = 0;\n gestureState.dy = 0;\n if (config.onPanResponderGrant) {\n config.onPanResponderGrant(event, gestureState);\n }\n // TODO: t7467124 investigate if this can be removed\n return config.onShouldBlockNativeResponder == null\n ? true\n : config.onShouldBlockNativeResponder(event, gestureState);\n },\n\n onResponderReject(event: GestureResponderEvent): void {\n clearInteractionHandle(\n interactionState,\n config.onPanResponderReject,\n event,\n gestureState,\n );\n },\n\n onResponderRelease(event: GestureResponderEvent): void {\n clearInteractionHandle(\n interactionState,\n config.onPanResponderRelease,\n event,\n gestureState,\n );\n PanResponder._initializeGestureState(gestureState);\n },\n\n onResponderStart(event: GestureResponderEvent): void {\n const touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n if (config.onPanResponderStart) {\n config.onPanResponderStart(event, gestureState);\n }\n },\n\n onResponderMove(event: GestureResponderEvent): void {\n const touchHistory = event.touchHistory;\n // Guard against the dispatch of two touch moves when there are two\n // simultaneously changed touches.\n if (\n gestureState._accountsForMovesUpTo ===\n touchHistory.mostRecentTimeStamp\n ) {\n return;\n }\n // Filter out any touch moves past the first one - we would have\n // already processed multi-touch geometry during the first event.\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n if (config.onPanResponderMove) {\n config.onPanResponderMove(event, gestureState);\n }\n },\n\n onResponderEnd(event: GestureResponderEvent): void {\n const touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n clearInteractionHandle(\n interactionState,\n config.onPanResponderEnd,\n event,\n gestureState,\n );\n },\n\n onResponderTerminate(event: GestureResponderEvent): void {\n clearInteractionHandle(\n interactionState,\n config.onPanResponderTerminate,\n event,\n gestureState,\n );\n PanResponder._initializeGestureState(gestureState);\n },\n\n onResponderTerminationRequest(event: GestureResponderEvent): boolean {\n return config.onPanResponderTerminationRequest == null\n ? true\n : config.onPanResponderTerminationRequest(event, gestureState);\n },\n };\n return {\n panHandlers,\n getInteractionHandle(): ?number {\n return interactionState.handle;\n },\n };\n },\n};\n\nfunction clearInteractionHandle(\n interactionState: {handle: ?number, ...},\n callback: ?(ActiveCallback | PassiveCallback),\n event: GestureResponderEvent,\n gestureState: PanResponderGestureState,\n) {\n if (interactionState.handle) {\n InteractionManager.clearInteractionHandle(interactionState.handle);\n interactionState.handle = null;\n }\n if (callback) {\n callback(event, gestureState);\n }\n}\n\nexport type PanResponderInstance = ReturnType<(typeof PanResponder)['create']>;\n\nexport default PanResponder;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n// $FlowFixMe[definition-cycle]\n// $FlowFixMe[recursive-definition]\nconst TouchHistoryMath = {\n /**\n * This code is optimized and not intended to look beautiful. This allows\n * computing of touch centroids that have moved after `touchesChangedAfter`\n * timeStamp. You can compute the current centroid involving all touches\n * moves after `touchesChangedAfter`, or you can compute the previous\n * centroid of all touches that were moved after `touchesChangedAfter`.\n *\n * @param {TouchHistoryMath} touchHistory Standard Responder touch track\n * data.\n * @param {number} touchesChangedAfter timeStamp after which moved touches\n * are considered \"actively moving\" - not just \"active\".\n * @param {boolean} isXAxis Consider `x` dimension vs. `y` dimension.\n * @param {boolean} ofCurrent Compute current centroid for actively moving\n * touches vs. previous centroid of now actively moving touches.\n * @return {number} value of centroid in specified dimension.\n */\n centroidDimension: function (\n touchHistory: TouchHistoryMath,\n touchesChangedAfter: number,\n isXAxis: boolean,\n ofCurrent: boolean,\n ): number {\n const touchBank = touchHistory.touchBank;\n let total = 0;\n let count = 0;\n\n const oneTouchData =\n touchHistory.numberActiveTouches === 1\n ? touchHistory.touchBank[touchHistory.indexOfSingleActiveTouch]\n : null;\n\n if (oneTouchData !== null) {\n if (\n oneTouchData.touchActive &&\n oneTouchData.currentTimeStamp > touchesChangedAfter\n ) {\n total +=\n ofCurrent && isXAxis\n ? oneTouchData.currentPageX\n : ofCurrent && !isXAxis\n ? oneTouchData.currentPageY\n : !ofCurrent && isXAxis\n ? oneTouchData.previousPageX\n : oneTouchData.previousPageY;\n count = 1;\n }\n } else {\n for (let i = 0; i < touchBank.length; i++) {\n const touchTrack = touchBank[i];\n if (\n touchTrack !== null &&\n touchTrack !== undefined &&\n touchTrack.touchActive &&\n touchTrack.currentTimeStamp >= touchesChangedAfter\n ) {\n let toAdd; // Yuck, program temporarily in invalid state.\n if (ofCurrent && isXAxis) {\n toAdd = touchTrack.currentPageX;\n } else if (ofCurrent && !isXAxis) {\n toAdd = touchTrack.currentPageY;\n } else if (!ofCurrent && isXAxis) {\n toAdd = touchTrack.previousPageX;\n } else {\n toAdd = touchTrack.previousPageY;\n }\n total += toAdd;\n count++;\n }\n }\n }\n return count > 0 ? total / count : TouchHistoryMath.noCentroid;\n },\n\n currentCentroidXOfTouchesChangedAfter: function (\n touchHistory: TouchHistoryMath,\n touchesChangedAfter: number,\n ): number {\n return TouchHistoryMath.centroidDimension(\n touchHistory,\n touchesChangedAfter,\n true, // isXAxis\n true, // ofCurrent\n );\n },\n\n currentCentroidYOfTouchesChangedAfter: function (\n touchHistory: TouchHistoryMath,\n touchesChangedAfter: number,\n ): number {\n return TouchHistoryMath.centroidDimension(\n touchHistory,\n touchesChangedAfter,\n false, // isXAxis\n true, // ofCurrent\n );\n },\n\n previousCentroidXOfTouchesChangedAfter: function (\n touchHistory: TouchHistoryMath,\n touchesChangedAfter: number,\n ): number {\n return TouchHistoryMath.centroidDimension(\n touchHistory,\n touchesChangedAfter,\n true, // isXAxis\n false, // ofCurrent\n );\n },\n\n previousCentroidYOfTouchesChangedAfter: function (\n touchHistory: TouchHistoryMath,\n touchesChangedAfter: number,\n ): number {\n return TouchHistoryMath.centroidDimension(\n touchHistory,\n touchesChangedAfter,\n false, // isXAxis\n false, // ofCurrent\n );\n },\n\n currentCentroidX: function (touchHistory: TouchHistoryMath): number {\n return TouchHistoryMath.centroidDimension(\n touchHistory,\n 0, // touchesChangedAfter\n true, // isXAxis\n true, // ofCurrent\n );\n },\n\n currentCentroidY: function (touchHistory: TouchHistoryMath): number {\n return TouchHistoryMath.centroidDimension(\n touchHistory,\n 0, // touchesChangedAfter\n false, // isXAxis\n true, // ofCurrent\n );\n },\n\n noCentroid: -1,\n} as {\n centroidDimension: (\n touchHistory: TouchHistoryMath,\n touchesChangedAfter: number,\n isXAxis: boolean,\n ofCurrent: boolean,\n ) => number,\n currentCentroidXOfTouchesChangedAfter: (\n touchHistory: TouchHistoryMath,\n touchesChangedAfter: number,\n ) => number,\n currentCentroidYOfTouchesChangedAfter: (\n touchHistory: TouchHistoryMath,\n touchesChangedAfter: number,\n ) => number,\n previousCentroidXOfTouchesChangedAfter: (\n touchHistory: TouchHistoryMath,\n touchesChangedAfter: number,\n ) => number,\n previousCentroidYOfTouchesChangedAfter: (\n touchHistory: TouchHistoryMath,\n touchesChangedAfter: number,\n ) => number,\n currentCentroidX: (touchHistory: TouchHistoryMath) => number,\n currentCentroidY: (touchHistory: TouchHistoryMath) => number,\n noCentroid: number,\n};\n\nexport default TouchHistoryMath;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\nimport NativeDialogManagerAndroid from '../NativeModules/specs/NativeDialogManagerAndroid';\nimport NativePermissionsAndroid from './NativePermissionsAndroid';\nimport invariant from 'invariant';\n\nconst Platform = require('../Utilities/Platform').default;\n\nexport type Rationale = {\n title: string,\n message: string,\n buttonPositive?: string,\n buttonNegative?: string,\n buttonNeutral?: string,\n ...\n};\n\nconst PERMISSION_REQUEST_RESULT = Object.freeze({\n GRANTED: 'granted',\n DENIED: 'denied',\n NEVER_ASK_AGAIN: 'never_ask_again',\n});\n\ntype PermissionsType = $ReadOnly<{\n READ_CALENDAR: 'android.permission.READ_CALENDAR',\n WRITE_CALENDAR: 'android.permission.WRITE_CALENDAR',\n CAMERA: 'android.permission.CAMERA',\n READ_CONTACTS: 'android.permission.READ_CONTACTS',\n WRITE_CONTACTS: 'android.permission.WRITE_CONTACTS',\n GET_ACCOUNTS: 'android.permission.GET_ACCOUNTS',\n ACCESS_FINE_LOCATION: 'android.permission.ACCESS_FINE_LOCATION',\n ACCESS_COARSE_LOCATION: 'android.permission.ACCESS_COARSE_LOCATION',\n ACCESS_BACKGROUND_LOCATION: 'android.permission.ACCESS_BACKGROUND_LOCATION',\n RECORD_AUDIO: 'android.permission.RECORD_AUDIO',\n READ_PHONE_STATE: 'android.permission.READ_PHONE_STATE',\n CALL_PHONE: 'android.permission.CALL_PHONE',\n READ_CALL_LOG: 'android.permission.READ_CALL_LOG',\n WRITE_CALL_LOG: 'android.permission.WRITE_CALL_LOG',\n ADD_VOICEMAIL: 'com.android.voicemail.permission.ADD_VOICEMAIL',\n READ_VOICEMAIL: 'com.android.voicemail.permission.READ_VOICEMAIL',\n WRITE_VOICEMAIL: 'com.android.voicemail.permission.WRITE_VOICEMAIL',\n USE_SIP: 'android.permission.USE_SIP',\n PROCESS_OUTGOING_CALLS: 'android.permission.PROCESS_OUTGOING_CALLS',\n BODY_SENSORS: 'android.permission.BODY_SENSORS',\n BODY_SENSORS_BACKGROUND: 'android.permission.BODY_SENSORS_BACKGROUND',\n SEND_SMS: 'android.permission.SEND_SMS',\n RECEIVE_SMS: 'android.permission.RECEIVE_SMS',\n READ_SMS: 'android.permission.READ_SMS',\n RECEIVE_WAP_PUSH: 'android.permission.RECEIVE_WAP_PUSH',\n RECEIVE_MMS: 'android.permission.RECEIVE_MMS',\n READ_EXTERNAL_STORAGE: 'android.permission.READ_EXTERNAL_STORAGE',\n READ_MEDIA_IMAGES: 'android.permission.READ_MEDIA_IMAGES',\n READ_MEDIA_VIDEO: 'android.permission.READ_MEDIA_VIDEO',\n READ_MEDIA_AUDIO: 'android.permission.READ_MEDIA_AUDIO',\n READ_MEDIA_VISUAL_USER_SELECTED: 'android.permission.READ_MEDIA_VISUAL_USER_SELECTED',\n WRITE_EXTERNAL_STORAGE: 'android.permission.WRITE_EXTERNAL_STORAGE',\n BLUETOOTH_CONNECT: 'android.permission.BLUETOOTH_CONNECT',\n BLUETOOTH_SCAN: 'android.permission.BLUETOOTH_SCAN',\n BLUETOOTH_ADVERTISE: 'android.permission.BLUETOOTH_ADVERTISE',\n ACCESS_MEDIA_LOCATION: 'android.permission.ACCESS_MEDIA_LOCATION',\n ACCEPT_HANDOVER: 'android.permission.ACCEPT_HANDOVER',\n ACTIVITY_RECOGNITION: 'android.permission.ACTIVITY_RECOGNITION',\n ANSWER_PHONE_CALLS: 'android.permission.ANSWER_PHONE_CALLS',\n READ_PHONE_NUMBERS: 'android.permission.READ_PHONE_NUMBERS',\n UWB_RANGING: 'android.permission.UWB_RANGING',\n POST_NOTIFICATIONS: 'android.permission.POST_NOTIFICATIONS',\n NEARBY_WIFI_DEVICES: 'android.permission.NEARBY_WIFI_DEVICES',\n}>;\n\nexport type PermissionStatus = 'granted' | 'denied' | 'never_ask_again';\nexport type Permission = $Values;\n\nconst PERMISSIONS = Object.freeze({\n READ_CALENDAR: 'android.permission.READ_CALENDAR',\n WRITE_CALENDAR: 'android.permission.WRITE_CALENDAR',\n CAMERA: 'android.permission.CAMERA',\n READ_CONTACTS: 'android.permission.READ_CONTACTS',\n WRITE_CONTACTS: 'android.permission.WRITE_CONTACTS',\n GET_ACCOUNTS: 'android.permission.GET_ACCOUNTS',\n ACCESS_FINE_LOCATION: 'android.permission.ACCESS_FINE_LOCATION',\n ACCESS_COARSE_LOCATION: 'android.permission.ACCESS_COARSE_LOCATION',\n ACCESS_BACKGROUND_LOCATION: 'android.permission.ACCESS_BACKGROUND_LOCATION',\n RECORD_AUDIO: 'android.permission.RECORD_AUDIO',\n READ_PHONE_STATE: 'android.permission.READ_PHONE_STATE',\n CALL_PHONE: 'android.permission.CALL_PHONE',\n READ_CALL_LOG: 'android.permission.READ_CALL_LOG',\n WRITE_CALL_LOG: 'android.permission.WRITE_CALL_LOG',\n ADD_VOICEMAIL: 'com.android.voicemail.permission.ADD_VOICEMAIL',\n READ_VOICEMAIL: 'com.android.voicemail.permission.READ_VOICEMAIL',\n WRITE_VOICEMAIL: 'com.android.voicemail.permission.WRITE_VOICEMAIL',\n USE_SIP: 'android.permission.USE_SIP',\n PROCESS_OUTGOING_CALLS: 'android.permission.PROCESS_OUTGOING_CALLS',\n BODY_SENSORS: 'android.permission.BODY_SENSORS',\n BODY_SENSORS_BACKGROUND: 'android.permission.BODY_SENSORS_BACKGROUND',\n SEND_SMS: 'android.permission.SEND_SMS',\n RECEIVE_SMS: 'android.permission.RECEIVE_SMS',\n READ_SMS: 'android.permission.READ_SMS',\n RECEIVE_WAP_PUSH: 'android.permission.RECEIVE_WAP_PUSH',\n RECEIVE_MMS: 'android.permission.RECEIVE_MMS',\n READ_EXTERNAL_STORAGE: 'android.permission.READ_EXTERNAL_STORAGE',\n READ_MEDIA_IMAGES: 'android.permission.READ_MEDIA_IMAGES',\n READ_MEDIA_VIDEO: 'android.permission.READ_MEDIA_VIDEO',\n READ_MEDIA_AUDIO: 'android.permission.READ_MEDIA_AUDIO',\n READ_MEDIA_VISUAL_USER_SELECTED:\n 'android.permission.READ_MEDIA_VISUAL_USER_SELECTED',\n WRITE_EXTERNAL_STORAGE: 'android.permission.WRITE_EXTERNAL_STORAGE',\n BLUETOOTH_CONNECT: 'android.permission.BLUETOOTH_CONNECT',\n BLUETOOTH_SCAN: 'android.permission.BLUETOOTH_SCAN',\n BLUETOOTH_ADVERTISE: 'android.permission.BLUETOOTH_ADVERTISE',\n ACCESS_MEDIA_LOCATION: 'android.permission.ACCESS_MEDIA_LOCATION',\n ACCEPT_HANDOVER: 'android.permission.ACCEPT_HANDOVER',\n ACTIVITY_RECOGNITION: 'android.permission.ACTIVITY_RECOGNITION',\n ANSWER_PHONE_CALLS: 'android.permission.ANSWER_PHONE_CALLS',\n READ_PHONE_NUMBERS: 'android.permission.READ_PHONE_NUMBERS',\n UWB_RANGING: 'android.permission.UWB_RANGING',\n POST_NOTIFICATIONS: 'android.permission.POST_NOTIFICATIONS',\n NEARBY_WIFI_DEVICES: 'android.permission.NEARBY_WIFI_DEVICES',\n}) as PermissionsType;\n\n/**\n * `PermissionsAndroid` provides access to Android M's new permissions model.\n *\n * See https://reactnative.dev/docs/permissionsandroid\n */\nclass PermissionsAndroid {\n PERMISSIONS: PermissionsType = PERMISSIONS;\n RESULTS: $ReadOnly<{\n DENIED: 'denied',\n GRANTED: 'granted',\n NEVER_ASK_AGAIN: 'never_ask_again',\n }> = PERMISSION_REQUEST_RESULT;\n\n /**\n * DEPRECATED - use check\n *\n * Returns a promise resolving to a boolean value as to whether the specified\n * permissions has been granted\n *\n * @deprecated\n */\n checkPermission(permission: Permission): Promise {\n console.warn(\n '\"PermissionsAndroid.checkPermission\" is deprecated. Use \"PermissionsAndroid.check\" instead',\n );\n if (Platform.OS !== 'android') {\n console.warn(\n '\"PermissionsAndroid\" module works only for Android platform.',\n );\n return Promise.resolve(false);\n }\n\n invariant(\n NativePermissionsAndroid,\n 'PermissionsAndroid is not installed correctly.',\n );\n\n return NativePermissionsAndroid.checkPermission(permission);\n }\n\n /**\n * Returns a promise resolving to a boolean value as to whether the specified\n * permissions has been granted\n *\n * See https://reactnative.dev/docs/permissionsandroid#check\n */\n check(permission: Permission): Promise {\n if (Platform.OS !== 'android') {\n console.warn(\n '\"PermissionsAndroid\" module works only for Android platform.',\n );\n return Promise.resolve(false);\n }\n\n invariant(\n NativePermissionsAndroid,\n 'PermissionsAndroid is not installed correctly.',\n );\n\n return NativePermissionsAndroid.checkPermission(permission);\n }\n\n /**\n * DEPRECATED - use request\n *\n * Prompts the user to enable a permission and returns a promise resolving to a\n * boolean value indicating whether the user allowed or denied the request\n *\n * If the optional rationale argument is included (which is an object with a\n * `title` and `message`), this function checks with the OS whether it is\n * necessary to show a dialog explaining why the permission is needed\n * (https://developer.android.com/training/permissions/requesting#explain)\n * and then shows the system permission dialog\n *\n * @deprecated\n */\n async requestPermission(\n permission: Permission,\n rationale?: Rationale,\n ): Promise {\n console.warn(\n '\"PermissionsAndroid.requestPermission\" is deprecated. Use \"PermissionsAndroid.request\" instead',\n );\n if (Platform.OS !== 'android') {\n console.warn(\n '\"PermissionsAndroid\" module works only for Android platform.',\n );\n return Promise.resolve(false);\n }\n\n const response = await this.request(permission, rationale);\n return response === this.RESULTS.GRANTED;\n }\n\n /**\n * Prompts the user to enable a permission and returns a promise resolving to a\n * string value indicating whether the user allowed or denied the request\n *\n * See https://reactnative.dev/docs/permissionsandroid#request\n */\n async request(\n permission: Permission,\n rationale?: Rationale,\n ): Promise {\n if (Platform.OS !== 'android') {\n console.warn(\n '\"PermissionsAndroid\" module works only for Android platform.',\n );\n return Promise.resolve(this.RESULTS.DENIED);\n }\n\n invariant(\n NativePermissionsAndroid,\n 'PermissionsAndroid is not installed correctly.',\n );\n\n if (rationale) {\n const shouldShowRationale =\n await NativePermissionsAndroid.shouldShowRequestPermissionRationale(\n permission,\n );\n\n if (shouldShowRationale && !!NativeDialogManagerAndroid) {\n return new Promise((resolve, reject) => {\n const options = {\n ...rationale,\n };\n NativeDialogManagerAndroid.showAlert(\n /* $FlowFixMe[incompatible-exact] (>=0.111.0 site=react_native_fb)\n * This comment suppresses an error found when Flow v0.111 was\n * deployed. To see the error, delete this comment and run Flow.\n */\n options,\n () => reject(new Error('Error showing rationale')),\n () =>\n // $FlowFixMe[incompatible-call]\n resolve(NativePermissionsAndroid.requestPermission(permission)),\n );\n });\n }\n }\n // $FlowFixMe[incompatible-return]\n return NativePermissionsAndroid.requestPermission(permission);\n }\n\n /**\n * Prompts the user to enable multiple permissions in the same dialog and\n * returns an object with the permissions as keys and strings as values\n * indicating whether the user allowed or denied the request\n *\n * See https://reactnative.dev/docs/permissionsandroid#requestmultiple\n */\n requestMultiple(\n permissions: Array,\n ): Promise<{[permission: Permission]: PermissionStatus, ...}> {\n if (Platform.OS !== 'android') {\n console.warn(\n '\"PermissionsAndroid\" module works only for Android platform.',\n );\n return Promise.resolve({});\n }\n\n invariant(\n NativePermissionsAndroid,\n 'PermissionsAndroid is not installed correctly.',\n );\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[incompatible-call]\n return NativePermissionsAndroid.requestMultiplePermissions(permissions);\n }\n}\n\nconst PermissionsAndroidInstance: PermissionsAndroid = new PermissionsAndroid();\nexport default PermissionsAndroidInstance;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativePermissionsAndroid';\nimport NativePermissionsAndroid from '../../src/private/specs_DEPRECATED/modules/NativePermissionsAndroid';\nexport default NativePermissionsAndroid;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\n// TODO: Use proper enum types.\nexport type PermissionStatus = string;\nexport type PermissionType = string;\n\n/*\nexport type PermissionStatus = 'granted' | 'denied' | 'never_ask_again';\nexport type PermissionType =\n | 'android.permission.READ_CALENDAR'\n | 'android.permission.WRITE_CALENDAR'\n | 'android.permission.CAMERA'\n | 'android.permission.READ_CONTACTS'\n | 'android.permission.WRITE_CONTACTS'\n | 'android.permission.GET_ACCOUNTS'\n | 'android.permission.ACCESS_BACKGROUND_LOCATION'\n | 'android.permission.ACCESS_FINE_LOCATION'\n | 'android.permission.ACCESS_COARSE_LOCATION'\n | 'android.permission.RECORD_AUDIO'\n | 'android.permission.READ_PHONE_STATE'\n | 'android.permission.CALL_PHONE'\n | 'android.permission.READ_CALL_LOG'\n | 'android.permission.WRITE_CALL_LOG'\n | 'com.android.voicemail.permission.ADD_VOICEMAIL'\n | 'com.android.voicemail.permission.READ_VOICEMAIL'\n | 'com.android.voicemail.permission.WRITE_VOICEMAIL'\n | 'android.permission.USE_SIP'\n | 'android.permission.PROCESS_OUTGOING_CALLS'\n | 'android.permission.BODY_SENSORS'\n | 'android.permission.BODY_SENSORS_BACKGROUND'\n | 'android.permission.SEND_SMS'\n | 'android.permission.RECEIVE_SMS'\n | 'android.permission.READ_SMS'\n | 'android.permission.RECEIVE_WAP_PUSH'\n | 'android.permission.RECEIVE_MMS'\n | 'android.permission.READ_EXTERNAL_STORAGE'\n | 'android.permission.READ_MEDIA_IMAGES'\n | 'android.permission.READ_MEDIA_VIDEO'\n | 'android.permission.READ_MEDIA_AUDIO'\n | 'android.permission.READ_MEDIA_VISUAL_USER_SELECTED'\n | 'android.permission.WRITE_EXTERNAL_STORAGE'\n | 'android.permission.BLUETOOTH_CONNECT'\n | 'android.permission.BLUETOOTH_SCAN'\n | 'android.permission.BLUETOOTH_ADVERTISE'\n | 'android.permission.ACCESS_MEDIA_LOCATION'\n | 'android.permission.ACCEPT_HANDOVER'\n | 'android.permission.ACTIVITY_RECOGNITION'\n | 'android.permission.ANSWER_PHONE_CALLS'\n | 'android.permission.READ_PHONE_NUMBERS'\n | 'android.permission.UWB_RANGING'\n | 'android.permission.POST_NOTIFICATIONS'\n | 'android.permission.NEARBY_WIFI_DEVICES';\n */\n\nexport interface Spec extends TurboModule {\n +checkPermission: (permission: PermissionType) => Promise;\n +requestPermission: (permission: PermissionType) => Promise;\n +shouldShowRequestPermissionRationale: (\n permission: string,\n ) => Promise;\n +requestMultiplePermissions: (\n permissions: Array,\n ) => Promise<{[permission: PermissionType]: PermissionStatus, ...}>;\n}\n\nexport default (TurboModuleRegistry.get('PermissionsAndroid'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport type {EventSubscription} from '../vendor/emitter/EventEmitter';\n\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport Platform from '../Utilities/Platform';\nimport NativePushNotificationManagerIOS from './NativePushNotificationManagerIOS';\nimport invariant from 'invariant';\n\nexport type PushNotificationPermissions = {\n alert: boolean,\n badge: boolean,\n sound: boolean,\n [key: string]: boolean | number,\n};\n\ntype PresentLocalNotificationDetails = {\n alertBody: string,\n alertAction?: string,\n alertTitle?: string,\n soundName?: string,\n category?: string,\n userInfo?: Object,\n applicationIconBadgeNumber?: number,\n fireDate?: number,\n isSilent?: boolean,\n};\n\ntype ScheduleLocalNotificationDetails = {\n ...PresentLocalNotificationDetails,\n repeatInterval?: 'year' | 'month' | 'week' | 'day' | 'hour' | 'minute',\n};\n\ntype NativePushNotificationIOSEventDefinitions = {\n remoteNotificationReceived: [\n {\n notificationId: string,\n remote: boolean,\n ...\n },\n ],\n remoteNotificationsRegistered: [\n {\n deviceToken?: ?string,\n ...\n },\n ],\n remoteNotificationRegistrationError: [\n {\n message: string,\n code: number,\n details: {...},\n },\n ],\n localNotificationReceived: [{...}],\n};\n\nconst PushNotificationEmitter =\n new NativeEventEmitter(\n // T88715063: NativeEventEmitter only used this parameter on iOS. Now it uses it on all platforms, so this code was modified automatically to preserve its behavior\n // If you want to use the native module on other platforms, please remove this condition and test its behavior\n Platform.OS !== 'ios' ? null : NativePushNotificationManagerIOS,\n );\n\nconst _notifHandlers = new Map();\n\nconst DEVICE_NOTIF_EVENT = 'remoteNotificationReceived';\nconst NOTIF_REGISTER_EVENT = 'remoteNotificationsRegistered';\nconst NOTIF_REGISTRATION_ERROR_EVENT = 'remoteNotificationRegistrationError';\nconst DEVICE_LOCAL_NOTIF_EVENT = 'localNotificationReceived';\n\nexport type ContentAvailable = 1 | null | void;\n\nexport type FetchResult = {\n NewData: 'UIBackgroundFetchResultNewData',\n NoData: 'UIBackgroundFetchResultNoData',\n ResultFailed: 'UIBackgroundFetchResultFailed',\n ...\n};\n\n/**\n * An event emitted by PushNotificationIOS.\n */\nexport type PushNotificationEventName = $Keys<{\n /**\n * Fired when a remote notification is received. The handler will be invoked\n * with an instance of `PushNotificationIOS`. This will handle notifications\n * that arrive in the foreground or were tapped to open the app from the\n * background.\n */\n notification: string,\n /**\n * Fired when a local notification is received. The handler will be invoked\n * with an instance of `PushNotificationIOS`. This will handle notifications\n * that arrive in the foreground or were tapped to open the app from the\n * background.\n */\n localNotification: string,\n /**\n * Fired when the user registers for remote notifications. The handler will be\n * invoked with a hex string representing the deviceToken.\n */\n register: string,\n /**\n * Fired when the user fails to register for remote notifications. Typically\n * occurs due to APNS issues or if the device is a simulator. The handler\n * will be invoked with {message: string, code: number, details: any}.\n */\n registrationError: string,\n ...\n}>;\n\nexport interface PushNotification {\n /**\n * An alias for `getAlert` to get the notification's main message string\n */\n getMessage(): ?string | ?Object;\n\n /**\n * Gets the sound string from the `aps` object\n */\n getSound(): ?string;\n\n /**\n * Gets the category string from the `aps` object\n */\n getCategory(): ?string;\n\n /**\n * Gets the notification's main message from the `aps` object\n */\n getAlert(): ?string | ?Object;\n\n /**\n * Gets the content-available number from the `aps` object\n */\n getContentAvailable(): ContentAvailable;\n\n /**\n * Gets the badge count number from the `aps` object\n */\n getBadgeCount(): ?number;\n\n /**\n * Gets the data object on the notif\n */\n getData(): ?Object;\n\n /**\n * Gets the thread ID on the notif\n */\n getThreadID(): ?string;\n\n /**\n * iOS Only\n * Signifies remote notification handling is complete\n */\n finish(result: string): void;\n}\n\n/**\n *\n * Handle notifications for your app, including scheduling and permissions.\n *\n * See https://reactnative.dev/docs/pushnotificationios\n */\nclass PushNotificationIOS {\n _data: Object;\n _alert: string | Object;\n _sound: string;\n _category: string;\n _contentAvailable: ContentAvailable;\n _badgeCount: number;\n _notificationId: string;\n _isRemote: boolean;\n _remoteNotificationCompleteCallbackCalled: boolean;\n _threadID: string;\n\n static FetchResult: FetchResult = {\n NewData: 'UIBackgroundFetchResultNewData',\n NoData: 'UIBackgroundFetchResultNoData',\n ResultFailed: 'UIBackgroundFetchResultFailed',\n };\n\n /**\n * Schedules the localNotification for immediate presentation.\n * details is an object containing:\n * alertBody : The message displayed in the notification alert.\n * alertAction : The \"action\" displayed beneath an actionable notification. Defaults to \"view\";\n * soundName : The sound played when the notification is fired (optional).\n * category : The category of this notification, required for actionable notifications (optional).\n * userInfo : An optional object containing additional notification data.\n * applicationIconBadgeNumber (optional) : The number to display as the app's icon badge. The default value of this property is 0, which means that no badge is displayed.\n *\n * See https://reactnative.dev/docs/pushnotificationios#presentlocalnotification\n */\n static presentLocalNotification(\n details: PresentLocalNotificationDetails,\n ): void {\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n // $FlowFixMe[prop-missing]\n NativePushNotificationManagerIOS.presentLocalNotification(details);\n }\n\n /**\n * Schedules a local notification for future presentation.\n *\n * details is an object containing:\n * fireDate : The date and time when the system should deliver the notification.\n * alertBody : The message displayed in the notification alert.\n * alertAction : The \"action\" displayed beneath an actionable notification. Defaults to \"view\";\n * soundName : The sound played when the notification is fired (optional).\n * category : The category of this notification, required for actionable notifications (optional).\n * userInfo : An optional object containing additional notification data.\n * applicationIconBadgeNumber (optional) : The number to display as the app's icon badge. Setting the number to 0 removes the icon badge.\n *\n * See https://reactnative.dev/docs/pushnotificationios#schedulelocalnotification\n */\n static scheduleLocalNotification(\n details: ScheduleLocalNotificationDetails,\n ): void {\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n // $FlowFixMe[prop-missing]\n NativePushNotificationManagerIOS.scheduleLocalNotification(details);\n }\n\n /**\n * Cancels all scheduled local notifications.\n *\n * See https://reactnative.dev/docs/pushnotificationios#cancelalllocalnotifications\n */\n static cancelAllLocalNotifications(): void {\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n NativePushNotificationManagerIOS.cancelAllLocalNotifications();\n }\n\n /**\n * Removes all delivered notifications from Notification Center.\n *\n * See https://reactnative.dev/docs/pushnotificationios#removealldeliverednotifications\n */\n static removeAllDeliveredNotifications(): void {\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n NativePushNotificationManagerIOS.removeAllDeliveredNotifications();\n }\n\n /**\n * Provides a list of the app’s notifications that are currently displayed\n * in Notification Center.\n *\n * See https://reactnative.dev/docs/pushnotificationios#getdeliverednotifications\n */\n static getDeliveredNotifications(\n callback: (notifications: Array) => void,\n ): void {\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n NativePushNotificationManagerIOS.getDeliveredNotifications(callback);\n }\n\n /**\n * Removes the specified notifications from Notification Center.\n *\n * See https://reactnative.dev/docs/pushnotificationios#removedeliverednotifications\n */\n static removeDeliveredNotifications(identifiers: Array): void {\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n NativePushNotificationManagerIOS.removeDeliveredNotifications(identifiers);\n }\n\n /**\n * Sets the badge number for the app icon on the Home Screen.\n *\n * See https://reactnative.dev/docs/pushnotificationios#setapplicationiconbadgenumber\n */\n static setApplicationIconBadgeNumber(number: number): void {\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n NativePushNotificationManagerIOS.setApplicationIconBadgeNumber(number);\n }\n\n /**\n * Gets the current badge number for the app icon on the Home Screen.\n *\n * See https://reactnative.dev/docs/pushnotificationios#getapplicationiconbadgenumber\n */\n static getApplicationIconBadgeNumber(callback: Function): void {\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n NativePushNotificationManagerIOS.getApplicationIconBadgeNumber(callback);\n }\n\n /**\n * Cancels any scheduled local notifications which match the fields in the\n * provided `userInfo`.\n *\n * See https://reactnative.dev/docs/pushnotificationios#cancellocalnotification\n */\n static cancelLocalNotifications(userInfo: Object): void {\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n NativePushNotificationManagerIOS.cancelLocalNotifications(userInfo);\n }\n\n /**\n * Gets the list of local notifications that are currently scheduled.\n *\n * See https://reactnative.dev/docs/pushnotificationios#getscheduledlocalnotifications\n */\n static getScheduledLocalNotifications(callback: Function): void {\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n NativePushNotificationManagerIOS.getScheduledLocalNotifications(callback);\n }\n\n /**\n * Attaches a listener to notification events including local notifications,\n * remote notifications, and notification registration results.\n *\n * See https://reactnative.dev/docs/pushnotificationios#addeventlistener\n */\n static addEventListener(\n type: PushNotificationEventName,\n handler: Function,\n ): void {\n invariant(\n type === 'notification' ||\n type === 'register' ||\n type === 'registrationError' ||\n type === 'localNotification',\n 'PushNotificationIOS only supports `notification`, `register`, `registrationError`, and `localNotification` events',\n );\n let listener;\n if (type === 'notification') {\n listener = PushNotificationEmitter.addListener(\n DEVICE_NOTIF_EVENT,\n notifData => {\n handler(new PushNotificationIOS(notifData));\n },\n );\n } else if (type === 'localNotification') {\n listener = PushNotificationEmitter.addListener(\n DEVICE_LOCAL_NOTIF_EVENT,\n notifData => {\n handler(new PushNotificationIOS(notifData));\n },\n );\n } else if (type === 'register') {\n listener = PushNotificationEmitter.addListener(\n NOTIF_REGISTER_EVENT,\n registrationInfo => {\n handler(registrationInfo.deviceToken);\n },\n );\n } else if (type === 'registrationError') {\n listener = PushNotificationEmitter.addListener(\n NOTIF_REGISTRATION_ERROR_EVENT,\n errorInfo => {\n handler(errorInfo);\n },\n );\n }\n _notifHandlers.set(type, listener);\n }\n\n /**\n * Removes the event listener. Do this in `componentWillUnmount` to prevent\n * memory leaks.\n *\n * See https://reactnative.dev/docs/pushnotificationios#removeeventlistener\n */\n static removeEventListener(type: PushNotificationEventName): void {\n invariant(\n type === 'notification' ||\n type === 'register' ||\n type === 'registrationError' ||\n type === 'localNotification',\n 'PushNotificationIOS only supports `notification`, `register`, `registrationError`, and `localNotification` events',\n );\n const listener = _notifHandlers.get(type);\n if (!listener) {\n return;\n }\n listener.remove();\n _notifHandlers.delete(type);\n }\n\n /**\n * Requests notification permissions from iOS, prompting the user with a\n * dialog box. By default, it will request all notification permissions, but\n * you can optionally specify which permissions to request.\n *\n * See https://reactnative.dev/docs/pushnotificationios#requestpermissions\n */\n static requestPermissions(\n permissions?: PushNotificationPermissions,\n ): Promise<{\n alert: boolean,\n badge: boolean,\n sound: boolean,\n ...\n }> {\n let requestedPermissions = {\n alert: true,\n badge: true,\n sound: true,\n };\n if (permissions) {\n requestedPermissions = {\n alert: !!permissions.alert,\n badge: !!permissions.badge,\n sound: !!permissions.sound,\n };\n }\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n return NativePushNotificationManagerIOS.requestPermissions(\n requestedPermissions,\n );\n }\n\n /**\n * Unregister for all remote notifications received via Apple Push Notification\n * service.\n * You should call this method in rare circumstances only, such as when\n * a new version of the app removes support for all types of remote\n * notifications. Users can temporarily prevent apps from receiving\n * remote notifications through the Notifications section of the\n * Settings app. Apps unregistered through this method can always\n * re-register.\n *\n * See https://reactnative.dev/docs/pushnotificationios#abandonpermissions\n */\n static abandonPermissions(): void {\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n NativePushNotificationManagerIOS.abandonPermissions();\n }\n\n /**\n * Check which push permissions are currently enabled. `callback` will be\n * invoked with a `Permissions` object.\n *\n * - `alert` :boolean\n * - `badge` :boolean\n * - `sound` :boolean\n *\n * See https://reactnative.dev/docs/pushnotificationios#checkpermissions\n */\n static checkPermissions(\n callback: (permissions: PushNotificationPermissions) => void,\n ): void {\n invariant(typeof callback === 'function', 'Must provide a valid callback');\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n NativePushNotificationManagerIOS.checkPermissions(callback);\n }\n\n /**\n * This method returns a promise that resolves to either the notification\n * object if the app was launched by a push notification, or `null` otherwise.\n *\n * See https://reactnative.dev/docs/pushnotificationios#getinitialnotification\n */\n static getInitialNotification(): Promise {\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n return NativePushNotificationManagerIOS.getInitialNotification().then(\n notification => {\n return notification && new PushNotificationIOS(notification);\n },\n );\n }\n\n /**\n * This method returns a promise that resolves to the current notification\n * authorization status. See UNAuthorizationStatus for possible values.\n */\n static getAuthorizationStatus(\n callback: (authorizationStatus: number) => void,\n ): void {\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n\n NativePushNotificationManagerIOS.getAuthorizationStatus(callback);\n }\n\n /**\n * You will never need to instantiate `PushNotificationIOS` yourself.\n * Listening to the `notification` event and invoking\n * `getInitialNotification` is sufficient.\n *\n */\n constructor(nativeNotif: Object) {\n this._data = {};\n this._remoteNotificationCompleteCallbackCalled = false;\n this._isRemote = nativeNotif.remote;\n if (this._isRemote) {\n this._notificationId = nativeNotif.notificationId;\n }\n\n if (nativeNotif.remote) {\n // Extract data from Apple's `aps` dict as defined:\n // https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService\n Object.keys(nativeNotif).forEach(notifKey => {\n const notifVal = nativeNotif[notifKey];\n if (notifKey === 'aps') {\n this._alert = notifVal.alert;\n this._sound = notifVal.sound;\n this._badgeCount = notifVal.badge;\n this._category = notifVal.category;\n this._contentAvailable = notifVal['content-available'];\n this._threadID = notifVal['thread-id'];\n } else {\n this._data[notifKey] = notifVal;\n }\n });\n } else {\n // Local notifications aren't being sent down with `aps` dict.\n this._badgeCount = nativeNotif.applicationIconBadgeNumber;\n this._sound = nativeNotif.soundName;\n this._alert = nativeNotif.alertBody;\n this._data = nativeNotif.userInfo;\n this._category = nativeNotif.category;\n }\n }\n\n /**\n * This method is available for remote notifications that have been received via:\n * `application:didReceiveRemoteNotification:fetchCompletionHandler:`. See docs\n * for more information.\n *\n * See https://reactnative.dev/docs/pushnotificationios#finish\n */\n finish(fetchResult: string): void {\n if (\n !this._isRemote ||\n !this._notificationId ||\n this._remoteNotificationCompleteCallbackCalled\n ) {\n return;\n }\n this._remoteNotificationCompleteCallbackCalled = true;\n\n invariant(\n NativePushNotificationManagerIOS,\n 'PushNotificationManager is not available.',\n );\n NativePushNotificationManagerIOS.onFinishRemoteNotification(\n this._notificationId,\n fetchResult,\n );\n }\n\n /**\n * An alias for `getAlert` to get the notification's main message string.\n */\n getMessage(): ?string | ?Object {\n // alias because \"alert\" is an ambiguous name\n return this._alert;\n }\n\n /**\n * Gets the sound string from the `aps` object. This will be `null` for local\n * notifications.\n *\n * See https://reactnative.dev/docs/pushnotificationios#getsound\n */\n getSound(): ?string {\n return this._sound;\n }\n\n /**\n * Gets the category string from the `aps` object.\n *\n * See https://reactnative.dev/docs/pushnotificationios#getcategory\n */\n getCategory(): ?string {\n return this._category;\n }\n\n /**\n * Gets the notification's main message from the `aps` object. Also see the\n * alias: `getMessage()`.\n *\n * See https://reactnative.dev/docs/pushnotificationios#getalert\n */\n getAlert(): ?string | ?Object {\n return this._alert;\n }\n\n /**\n * Gets the content-available number from the `aps` object.\n *\n * See https://reactnative.dev/docs/pushnotificationios#getcontentavailable\n */\n getContentAvailable(): ContentAvailable {\n return this._contentAvailable;\n }\n\n /**\n * Gets the badge count number from the `aps` object.\n *\n * See https://reactnative.dev/docs/pushnotificationios#getbadgecount\n */\n getBadgeCount(): ?number {\n return this._badgeCount;\n }\n\n /**\n * Gets the data object on the notification.\n *\n * See https://reactnative.dev/docs/pushnotificationios#getdata\n */\n getData(): ?Object {\n return this._data;\n }\n\n /**\n * Gets the thread ID on the notification.\n *\n * See https://reactnative.dev/docs/pushnotificationios#getthreadid\n */\n getThreadID(): ?string {\n return this._threadID;\n }\n}\n\nexport default PushNotificationIOS;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS';\nimport NativePushNotificationManagerIOS from '../../src/private/specs_DEPRECATED/modules/NativePushNotificationManagerIOS';\nexport default NativePushNotificationManagerIOS;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\ntype Permissions = {\n alert: boolean,\n badge: boolean,\n sound: boolean,\n};\n\ntype Notification = {\n +alertTitle?: ?string,\n +alertBody?: ?string,\n +userInfo?: ?Object,\n /**\n * Identifier for the notification category. See the [Apple documentation](https://developer.apple.com/documentation/usernotifications/declaring_your_actionable_notification_types)\n * for more details.\n */\n +category?: ?string,\n /**\n * Actual type: string | number\n *\n * Schedule notifications using EITHER `fireDate` or `fireIntervalSeconds`.\n * If both are specified, `fireDate` takes precedence.\n * If you use `presentLocalNotification`, both will be ignored\n * and the notification will be shown immediately.\n */\n +fireDate?: ?number,\n /**\n * Seconds from now to display the notification.\n *\n * Schedule notifications using EITHER `fireDate` or `fireIntervalSeconds`.\n * If both are specified, `fireDate` takes precedence.\n * If you use `presentLocalNotification`, both will be ignored\n * and the notification will be shown immediately.\n */\n +fireIntervalSeconds?: ?number,\n /** Badge count to display on the app icon. */\n +applicationIconBadgeNumber?: ?number,\n /** Whether to silence the notification sound. */\n +isSilent?: ?boolean,\n /**\n * Custom notification sound. Can only be set when creating notifications.\n * This will be null for notifications retrieved via\n * getScheduledLocalNotifications or getDeliveredNotifications.\n */\n +soundName?: ?string,\n};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => {};\n +onFinishRemoteNotification: (\n notificationId: string,\n /**\n * Type:\n * 'UIBackgroundFetchResultNewData' |\n * 'UIBackgroundFetchResultNoData' |\n * 'UIBackgroundFetchResultFailed'\n */\n fetchResult: string,\n ) => void;\n +setApplicationIconBadgeNumber: (num: number) => void;\n +getApplicationIconBadgeNumber: (callback: (num: number) => void) => void;\n +requestPermissions: (permission: {\n +alert: boolean,\n +badge: boolean,\n +sound: boolean,\n }) => Promise;\n +abandonPermissions: () => void;\n +checkPermissions: (callback: (permissions: Permissions) => void) => void;\n +presentLocalNotification: (notification: Notification) => void;\n +scheduleLocalNotification: (notification: Notification) => void;\n +cancelAllLocalNotifications: () => void;\n +cancelLocalNotifications: (userInfo: Object) => void;\n +getInitialNotification: () => Promise;\n +getScheduledLocalNotifications: (\n callback: (notification: Notification) => void,\n ) => void;\n +removeAllDeliveredNotifications: () => void;\n +removeDeliveredNotifications: (identifiers: Array) => void;\n +getDeliveredNotifications: (\n callback: (notification: Array) => void,\n ) => void;\n +getAuthorizationStatus: (\n callback: (authorizationStatus: number) => void,\n ) => void;\n +addListener: (eventType: string) => void;\n +removeListeners: (count: number) => void;\n}\n\nexport default (TurboModuleRegistry.get(\n 'PushNotificationManager',\n): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n\n'use strict';\n\nconst Settings = {\n get(key: string): any {\n console.warn('Settings is not yet supported on this platform.');\n return null;\n },\n\n set(settings: Object) {\n console.warn('Settings is not yet supported on this platform.');\n },\n\n watchKeys(keys: string | Array, callback: () => void): number {\n console.warn('Settings is not yet supported on this platform.');\n return -1;\n },\n\n clearWatch(watchId: number) {\n console.warn('Settings is not yet supported on this platform.');\n },\n};\n\nexport default Settings;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {ColorValue} from '../StyleSheet/StyleSheet';\n\nimport NativeActionSheetManager from '../ActionSheetIOS/NativeActionSheetManager';\nimport NativeShareModule from './NativeShareModule';\n\nconst processColor = require('../StyleSheet/processColor').default;\nconst Platform = require('../Utilities/Platform').default;\nconst invariant = require('invariant');\n\nexport type ShareContent =\n | {\n title?: string,\n url: string,\n message?: string,\n }\n | {\n title?: string,\n url?: string,\n message: string,\n };\nexport type ShareOptions = {\n dialogTitle?: string,\n excludedActivityTypes?: Array,\n tintColor?: ColorValue,\n subject?: string,\n anchor?: number,\n};\n\nexport type ShareAction = {\n action: 'sharedAction' | 'dismissedAction',\n activityType?: string | null,\n};\n\nclass Share {\n /**\n * Open a dialog to share text content.\n *\n * In iOS, Returns a Promise which will be invoked an object containing `action`, `activityType`.\n * If the user dismissed the dialog, the Promise will still be resolved with action being `Share.dismissedAction`\n * and all the other keys being undefined.\n *\n * In Android, Returns a Promise which always resolves with action being `Share.sharedAction`.\n *\n * ### Content\n *\n * #### iOS\n *\n * - `url` - a URL to share\n * - `message` - a message to share\n *\n * At least one of `URL` or `message` is required.\n *\n * #### Android\n *\n * - `title` - title of the message (optional)\n * - `message` - a message to share (often will include a URL).\n *\n * ### Options\n *\n * #### iOS\n *\n * - `subject` - a subject to share via email\n * - `excludedActivityTypes`\n * - `tintColor`\n *\n * #### Android\n *\n * - `dialogTitle`\n *\n */\n static share(\n content: ShareContent,\n options?: ShareOptions = {},\n ): Promise<{action: string, activityType: ?string}> {\n invariant(\n typeof content === 'object' && content !== null,\n 'Content to share must be a valid object',\n );\n invariant(\n typeof content.url === 'string' || typeof content.message === 'string',\n 'At least one of URL or message is required',\n );\n invariant(\n typeof options === 'object' && options !== null,\n 'Options must be a valid object',\n );\n\n if (Platform.OS === 'android') {\n invariant(\n NativeShareModule,\n 'ShareModule should be registered on Android.',\n );\n invariant(\n content.title == null || typeof content.title === 'string',\n 'Invalid title: title should be a string.',\n );\n\n const newContent = {\n title: content.title,\n message:\n typeof content.message === 'string' ? content.message : undefined,\n };\n\n return NativeShareModule.share(newContent, options.dialogTitle).then(\n result => ({\n activityType: null,\n ...result,\n }),\n );\n } else if (Platform.OS === 'ios') {\n return new Promise((resolve, reject) => {\n const tintColor = processColor(options.tintColor);\n\n invariant(\n tintColor == null || typeof tintColor === 'number',\n 'Unexpected color given for options.tintColor',\n );\n\n invariant(\n NativeActionSheetManager,\n 'NativeActionSheetManager is not registered on iOS, but it should be.',\n );\n\n NativeActionSheetManager.showShareActionSheetWithOptions(\n {\n message:\n typeof content.message === 'string' ? content.message : undefined,\n url: typeof content.url === 'string' ? content.url : undefined,\n subject: options.subject,\n tintColor: typeof tintColor === 'number' ? tintColor : undefined,\n anchor:\n typeof options.anchor === 'number' ? options.anchor : undefined,\n excludedActivityTypes: options.excludedActivityTypes,\n },\n error => reject(error),\n (success, activityType) => {\n if (success) {\n resolve({\n action: 'sharedAction',\n activityType: activityType,\n });\n } else {\n resolve({\n action: 'dismissedAction',\n activityType: null,\n });\n }\n },\n );\n });\n } else {\n return Promise.reject(new Error('Unsupported platform'));\n }\n }\n\n /**\n * The content was successfully shared.\n */\n static sharedAction: 'sharedAction' = 'sharedAction';\n\n /**\n * The dialog has been dismissed.\n * @platform ios\n */\n static dismissedAction: 'dismissedAction' = 'dismissedAction';\n}\n\nexport default Share;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeShareModule';\nimport NativeShareModule from '../../src/private/specs_DEPRECATED/modules/NativeShareModule';\nexport default NativeShareModule;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +getConstants: () => {};\n +share: (\n content: {title?: string, message?: string},\n dialogTitle?: string,\n ) => Promise<{action: string}>;\n}\n\nexport default (TurboModuleRegistry.get('ShareModule'): ?Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nconst ToastAndroid = {\n // Dummy fallback toast duration constants\n SHORT: (0: number),\n LONG: (0: number),\n // Dummy fallback toast gravity constants\n TOP: (0: number),\n BOTTOM: (0: number),\n CENTER: (0: number),\n\n show: function (message: string, duration: number): void {\n console.warn('ToastAndroid is not supported on this platform.');\n },\n\n showWithGravity: function (\n message: string,\n duration: number,\n gravity: number,\n ): void {\n console.warn('ToastAndroid is not supported on this platform.');\n },\n\n showWithGravityAndOffset: function (\n message: string,\n duration: number,\n gravity: number,\n xOffset: number,\n yOffset: number,\n ): void {\n console.warn('ToastAndroid is not supported on this platform.');\n },\n};\n\nexport default ToastAndroid;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n\nimport Animated from './Animated';\nimport {useRef} from 'react';\n\nexport default function useAnimatedValue(\n initialValue: number,\n config?: ?Animated.AnimatedConfig,\n): Animated.Value {\n const ref = useRef(null);\n if (ref.current == null) {\n ref.current = new Animated.Value(initialValue, config);\n }\n return ref.current;\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nimport type {ColorSchemeName} from './NativeAppearance';\n\nimport {addChangeListener, getColorScheme} from './Appearance';\nimport {useSyncExternalStore} from 'react';\n\nconst subscribe = (onStoreChange: () => void) => {\n const appearanceSubscription = addChangeListener(onStoreChange);\n return () => appearanceSubscription.remove();\n};\n\nexport default function useColorScheme(): ?ColorSchemeName {\n return useSyncExternalStore(subscribe, getColorScheme);\n}\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n'use strict';\n\nconst deepFreezeAndThrowOnMutationInDev =\n require('./Utilities/deepFreezeAndThrowOnMutationInDev').default;\n\n/**\n * A collection of Unicode sequences for various characters and emoji.\n *\n * - More explicit than using the sequences directly in code.\n * - Source code should be limited to ASCII.\n * - Less chance of typos.\n */\nconst UTFSequence: {\n BOM: string,\n BULLET: string,\n BULLET_SP: string,\n MDASH: string,\n MDASH_SP: string,\n MIDDOT: string,\n MIDDOT_KATAKANA: string,\n MIDDOT_SP: string,\n NBSP: string,\n NDASH: string,\n NDASH_SP: string,\n NEWLINE: string,\n PIZZA: string,\n TRIANGLE_LEFT: string,\n TRIANGLE_RIGHT: string,\n} = deepFreezeAndThrowOnMutationInDev({\n BOM: '\\ufeff', // byte order mark\n BULLET: '\\u2022', // bullet: •\n BULLET_SP: '\\u00A0\\u2022\\u00A0', //  • \n MIDDOT: '\\u00B7', // normal middle dot: ·\n MIDDOT_SP: '\\u00A0\\u00B7\\u00A0', //  · \n MIDDOT_KATAKANA: '\\u30FB', // katakana middle dot\n MDASH: '\\u2014', // em dash: —\n MDASH_SP: '\\u00A0\\u2014\\u00A0', //  — \n NDASH: '\\u2013', // en dash: –\n NDASH_SP: '\\u00A0\\u2013\\u00A0', //  – \n NEWLINE: '\\u000A',\n NBSP: '\\u00A0', // non-breaking space:  \n PIZZA: '\\uD83C\\uDF55',\n TRIANGLE_LEFT: '\\u25c0', // black left-pointing triangle\n TRIANGLE_RIGHT: '\\u25b6', // black right-pointing triangle\n});\n\nexport default UTFSequence;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict\n * @jsdoc\n */\n\nimport NativeVibration from './NativeVibration';\n\nconst Platform = require('../Utilities/Platform').default;\n\n/**\n * Vibration API\n *\n * See https://reactnative.dev/docs/vibration\n */\n\nlet _vibrating: boolean = false;\nlet _id: number = 0; // _id is necessary to prevent race condition.\nconst _default_vibration_length = 400;\n\nfunction vibrateByPattern(pattern: Array, repeat: boolean = false) {\n if (_vibrating) {\n return;\n }\n _vibrating = true;\n if (pattern[0] === 0) {\n NativeVibration.vibrate(_default_vibration_length);\n // $FlowFixMe[reassign-const]\n pattern = pattern.slice(1);\n }\n if (pattern.length === 0) {\n _vibrating = false;\n return;\n }\n setTimeout(() => vibrateScheduler(++_id, pattern, repeat, 1), pattern[0]);\n}\n\nfunction vibrateScheduler(\n id: number,\n pattern: Array,\n repeat: boolean,\n nextIndex: number,\n) {\n if (!_vibrating || id !== _id) {\n return;\n }\n NativeVibration.vibrate(_default_vibration_length);\n if (nextIndex >= pattern.length) {\n if (repeat) {\n // $FlowFixMe[reassign-const]\n nextIndex = 0;\n } else {\n _vibrating = false;\n return;\n }\n }\n setTimeout(\n () => vibrateScheduler(id, pattern, repeat, nextIndex + 1),\n pattern[nextIndex],\n );\n}\n\nconst Vibration = {\n /**\n * Trigger a vibration with specified `pattern`.\n *\n * See https://reactnative.dev/docs/vibration#vibrate\n */\n vibrate: function (\n pattern?: number | Array = _default_vibration_length,\n repeat?: boolean = false,\n ) {\n if (Platform.OS === 'android') {\n if (typeof pattern === 'number') {\n NativeVibration.vibrate(pattern);\n } else if (Array.isArray(pattern)) {\n NativeVibration.vibrateByPattern(pattern, repeat ? 0 : -1);\n } else {\n throw new Error('Vibration pattern should be a number or array');\n }\n } else {\n if (_vibrating) {\n return;\n }\n if (typeof pattern === 'number') {\n NativeVibration.vibrate(pattern);\n } else if (Array.isArray(pattern)) {\n vibrateByPattern(pattern, repeat);\n } else {\n throw new Error('Vibration pattern should be a number or array');\n }\n }\n },\n /**\n * Stop vibration\n *\n * See https://reactnative.dev/docs/vibration#cancel\n */\n cancel: function () {\n if (Platform.OS === 'ios') {\n _vibrating = false;\n } else {\n NativeVibration.cancel();\n }\n },\n};\n\nexport default Vibration;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeVibration';\nimport NativeVibration from '../../src/private/specs_DEPRECATED/modules/NativeVibration';\nexport default NativeVibration;\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport interface Spec extends TurboModule {\n +getConstants: () => {};\n +vibrate: (pattern: number) => void;\n\n // Android only\n +vibrateByPattern: (pattern: Array, repeat: number) => void;\n +cancel: () => void;\n}\n\nexport default (TurboModuleRegistry.getEnforcing('Vibration'): Spec);\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\nimport type {ColorValue} from './StyleSheet';\n\nexport type DynamicColorIOSTuple = {\n light: ColorValue,\n dark: ColorValue,\n highContrastLight?: ColorValue,\n highContrastDark?: ColorValue,\n};\n\nexport const DynamicColorIOS = (tuple: DynamicColorIOSTuple): ColorValue => {\n throw new Error('DynamicColorIOS is not available on this platform.');\n};\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n\nimport type {ViewProps} from 'react-native';\n\nimport FlyoutNativeComponent from './FlyoutNativeComponent';\nimport * as React from 'react';\nimport {findNodeHandle, StyleSheet} from 'react-native';\n\ntype Placement =\n | 'top'\n | 'bottom'\n | 'left'\n | 'right'\n | 'full'\n | 'top-edge-aligned-left'\n | 'top-edge-aligned-right'\n | 'bottom-edge-aligned-left'\n | 'bottom-edge-aligned-right'\n | 'left-edge-aligned-top'\n | 'right-edge-aligned-top'\n | 'left-edge-aligned-bottom'\n | 'right-edge-aligned-bottom';\n\ntype ShowMode =\n | 'auto'\n | 'standard'\n | 'transient'\n | 'transient-with-dismiss-on-pointer-move-away';\n\ntype Props = $ReadOnly<{\n ...ViewProps,\n\n // Props\n horizontalOffset?: Double,\n isLightDismissEnabled?: boolean,\n autoFocus?: boolean,\n shouldConstrainToRootBounds?: boolean,\n\n /**\n * Specifies whether the area outside the flyout is darkened\n */\n isOverlayEnabled?: boolean,\n\n isOpen?: boolean,\n onDismiss?: (isOpen: boolean) => void,\n placement?: Placement,\n showMode?: ShowMode,\n target?: React.ReactNode,\n verticalOffset?: number,\n\n // Events\n}>;\n\nconst styles = StyleSheet.create({\n rctFlyout: {\n position: 'absolute',\n },\n});\n\ntype State = $ReadOnly<{\n target?: number | null,\n targetRef?: React.ReactNode,\n}>;\n\n/**\n * Renders a flyout component.\n *\n * This is a controlled component that requires an `onDismiss` callback that\n * updates the `isOpen` prop in order for the component to reflect user actions.\n *\n * @keyword flyout\n */\nexport class Flyout extends React.Component {\n static getDerivedStateFromProps(nextProps: Props, prevState: State): State {\n // Check if we're given a new target property; we need to resolve it to a node handle before render\n if (prevState.targetRef !== nextProps.target) {\n // Map the 'target' property to a node tag to use in the native layer\n const newtarget = findNodeHandle(nextProps.target);\n return {\n target: newtarget,\n targetRef: nextProps.target,\n };\n }\n\n return prevState;\n }\n\n state = {target: undefined, targetRef: null};\n\n constructor(props: Props) {\n super(props);\n }\n\n render(): React.Node {\n const props = {...this.props};\n\n return (\n \n );\n }\n}\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @flow strict-local\n * @format\n */\n\nimport type {ViewProps} from 'react-native/Libraries/Components/View/ViewPropTypes';\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {\n DirectEventHandler,\n Double,\n Int32,\n} from 'react-native/Libraries/Types/CodegenTypes';\n\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\n\ntype DismissEvent = $ReadOnly<{\n isOpen?: boolean,\n}>;\n\ntype NativeProps = $ReadOnly<{\n ...ViewProps,\n\n // Props\n horizontalOffset?: Double,\n isLightDismissEnabled?: boolean,\n autoFocus?: boolean,\n shouldConstrainToRootBounds?: boolean,\n\n /**\n * Specifies whether the area outside the flyout is darkened\n */\n isOverlayEnabled?: boolean,\n\n isOpen?: boolean,\n onDismiss?: ?DirectEventHandler,\n placement?: string,\n showMode?: string,\n target?: Int32,\n verticalOffset?: Double,\n\n // Events\n}>;\n\ntype NativeType = HostComponent;\n\nexport default (codegenNativeComponent('RCTFlyout', {\n interfaceOnly: true,\n}): NativeType);\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @flow strict-local\n * @format\n */\n\nimport * as React from 'react';\n\nimport GlyphNativeComponent from './GlyphNativeComponent';\n\nimport type {ViewProps} from '../View/ViewPropTypes';\nimport useMergeRefs from '../../Utilities/useMergeRefs';\n\nexport type Props = $ReadOnly<{|\n ...ViewProps,\n\n emSize?: number,\n fontUri: string,\n glyph: string,\n colorEnabled?: boolean,\n|}>;\n\n/**\n * Glyph is a wrapper for the Xaml Glyph control\n *\n * This control is used to render Glyphs from a Font file, which might be\n * used similar to SVG to have vector based images that also have the\n * ability to be rendered with a specific color\n */\n\n// $FlowFixMe[prop-missing]\nexport const Glyph: React.AbstractComponent<\n Props,\n React.ElementRef,\n> = React.forwardRef(function Glyph(props: Props, forwardedRef): React.Node {\n const nativeSwitchRef = React.useRef | null>(null);\n // $FlowFixMe[incompatible-call]\n const ref = useMergeRefs(nativeSwitchRef, forwardedRef);\n\n return ;\n});\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @flow strict-local\n * @format\n */\n\nimport type {ColorValue} from '../../StyleSheet/StyleSheet';\nimport type {Double} from '../../Types/CodegenTypes';\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {ViewProps} from '../View/ViewPropTypes';\n\ntype NativeProps = $ReadOnly<{|\n ...ViewProps,\n\n // Props\n color?: ?ColorValue,\n emSize?: Double,\n fontUri: string,\n glyph: string,\n colorEnabled?: boolean,\n\n // Events\n|}>;\n\ntype NativeType = HostComponent;\n\nexport default (codegenNativeComponent('PLYIcon', {\n interfaceOnly: true,\n}): NativeType);\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n'use strict';\n\nimport * as React from 'react';\nimport PopupNativeComponent from './PopupNativeComponent';\nimport type {ViewProps} from '../View/ViewPropTypes';\nimport {findNodeHandle} from '../../ReactNative/RendererProxy';\nimport StyleSheet from '../../StyleSheet/StyleSheet';\n\nconst styles = StyleSheet.create({\n rctPopup: {\n position: 'absolute',\n },\n});\n\ntype Props = $ReadOnly<{|\n ...ViewProps,\n\n isOpen?: boolean,\n\n /**\n * Configures the Popup with a transparent backdrop.\n */\n isLightDismissEnabled?: boolean,\n\n /**\n * Sets whether the Popup will automatically receive focus when opened.\n * Defaults to true. Always true when isLightDismissEnabled === true.\n */\n autoFocus?: boolean,\n\n horizontalOffset?: number,\n verticalOffset?: number,\n\n /**\n * Sets a React element to use as an anchor point. When set, the popup will be positioned relative to it.\n */\n target?: React.ReactNode,\n onDismiss?: () => void,\n testID?: string,\n|}>;\n\ntype State = $ReadOnly<{|\n target?: number | null,\n targetRef?: React.ReactNode,\n|}>;\n\n/**\n * Renders a popup component.\n *\n * This is a controlled component that requires an `onDismiss` callback that\n * updates the `isOpen` prop in order for the component to reflect user actions.\n *\n * @keyword popup\n */\nexport class Popup extends React.Component {\n static getDerivedStateFromProps(nextProps: Props, prevState: State): State {\n // Check if we're given a new target property; we need to resolve it to a node handle before render\n if (prevState.targetRef !== nextProps.target) {\n // Map the 'target' property to a node tag to use in the native layer\n const newtarget = findNodeHandle(nextProps.target);\n return {\n target: newtarget,\n targetRef: nextProps.target,\n };\n }\n\n return prevState;\n }\n\n constructor(props: Props) {\n super(props);\n this.state = {target: undefined, targetRef: null};\n }\n\n render(): React.Node {\n const props = {...this.props};\n props.style = [styles.rctPopup, this.props.style];\n\n return ;\n }\n}\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @flow strict-local\n * @format\n */\n\nimport type {Double, DirectEventHandler, Int32} from '../../Types/CodegenTypes';\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type {HostComponent} from '../../../src/private/types/HostComponent';\nimport type {ViewProps} from '../View/ViewPropTypes';\n\ntype DismissEvent = $ReadOnly<{|\n isOpen?: boolean,\n|}>;\n\ntype NativeProps = $ReadOnly<{|\n ...ViewProps,\n\n isOpen?: boolean,\n\n /**\n * Configures the Popup with a transparent backdrop.\n */\n isLightDismissEnabled?: boolean,\n\n /**\n * Sets whether the Popup will automatically receive focus when opened.\n * Defaults to true. Always true when isLightDismissEnabled === true.\n */\n autoFocus?: boolean,\n\n horizontalOffset?: Double,\n verticalOffset?: Double,\n\n /**\n * Sets a React element to use as an anchor point. When set, the popup will be positioned relative to it.\n */\n target?: Int32,\n onDismiss?: ?DirectEventHandler,\n testID?: string,\n|}>;\n\ntype NativeType = HostComponent;\n\nexport default (codegenNativeComponent('RCTPopup', {\n interfaceOnly: true,\n}): NativeType);\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n * @format\n */\n'use strict';\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.supportKeyboard = void 0;\nconst react_1 = __importDefault(require(\"react\"));\n/**\n * @deprecated - Exported types should already have the keyboarding properties on them\n */\nconst supportKeyboard = (WrappedComponent) => {\n class SupportKeyboard extends react_1.default.Component {\n render() {\n const { forwardedRef, ...rest } = this.props;\n return (react_1.default.createElement(WrappedComponent, { ref: forwardedRef, ...rest }));\n }\n }\n return react_1.default.forwardRef((props, ref) => {\n return react_1.default.createElement(SupportKeyboard, { ...props, forwardedRef: ref });\n });\n};\nexports.supportKeyboard = supportKeyboard;\n//# sourceMappingURL=KeyboardExt.js.map","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow strict-local\n */\n\n'use strict';\n\nimport type {EdgeInsetsOrSizeProp} from '../../StyleSheet/EdgeInsetsPropType';\nimport type {ViewStyleProp} from '../../StyleSheet/StyleSheet';\nimport type {\n BlurEvent,\n FocusEvent,\n LayoutChangeEvent,\n LayoutRectangle,\n MouseEvent,\n PointerEvent,\n GestureResponderEvent,\n KeyEvent, // [Windows]\n} from '../../Types/CoreEventTypes';\nimport type {\n AccessibilityActionEvent,\n AccessibilityProps,\n} from './ViewAccessibility';\nimport type {Node} from 'react';\n\nexport type ViewLayout = LayoutRectangle;\nexport type ViewLayoutEvent = LayoutChangeEvent;\n\ntype DirectEventProps = $ReadOnly<{\n /**\n * When `accessible` is true, the system will try to invoke this function\n * when the user performs an accessibility custom action.\n *\n */\n onAccessibilityAction?: ?(event: AccessibilityActionEvent) => mixed,\n\n /**\n * When `accessible` is true, the system will try to invoke this function\n * when the user performs accessibility tap gesture.\n *\n * See https://reactnative.dev/docs/view#onaccessibilitytap\n */\n onAccessibilityTap?: ?() => mixed,\n\n /**\n * Invoked on mount and layout changes with:\n *\n * `{nativeEvent: { layout: {x, y, width, height}}}`\n *\n * This event is fired immediately once the layout has been calculated, but\n * the new layout may not yet be reflected on the screen at the time the\n * event is received, especially if a layout animation is in progress.\n *\n * See https://reactnative.dev/docs/view#onlayout\n */\n onLayout?: ?(event: LayoutChangeEvent) => mixed,\n\n /**\n * When `accessible` is `true`, the system will invoke this function when the\n * user performs the magic tap gesture.\n *\n * See https://reactnative.dev/docs/view#onmagictap\n */\n onMagicTap?: ?() => mixed,\n\n /**\n * When `accessible` is `true`, the system will invoke this function when the\n * user performs the escape gesture.\n *\n * See https://reactnative.dev/docs/view#onaccessibilityescape\n */\n onAccessibilityEscape?: ?() => mixed,\n}>;\n\ntype MouseEventProps = $ReadOnly<{\n onMouseEnter?: ?(event: MouseEvent) => void,\n onMouseLeave?: ?(event: MouseEvent) => void,\n}>;\n\n// Experimental/Work in Progress Pointer Event Callbacks (not yet ready for use)\ntype PointerEventProps = $ReadOnly<{\n onClick?: ?(event: PointerEvent) => void,\n onClickCapture?: ?(event: PointerEvent) => void,\n onPointerEnter?: ?(event: PointerEvent) => void,\n onPointerEnterCapture?: ?(event: PointerEvent) => void,\n onPointerLeave?: ?(event: PointerEvent) => void,\n onPointerLeaveCapture?: ?(event: PointerEvent) => void,\n onPointerMove?: ?(event: PointerEvent) => void,\n onPointerMoveCapture?: ?(event: PointerEvent) => void,\n onPointerCancel?: ?(e: PointerEvent) => void,\n onPointerCancelCapture?: ?(e: PointerEvent) => void,\n onPointerDown?: ?(e: PointerEvent) => void,\n onPointerDownCapture?: ?(e: PointerEvent) => void,\n onPointerUp?: ?(e: PointerEvent) => void,\n onPointerUpCapture?: ?(e: PointerEvent) => void,\n onPointerOver?: ?(e: PointerEvent) => void,\n onPointerOverCapture?: ?(e: PointerEvent) => void,\n onPointerOut?: ?(e: PointerEvent) => void,\n onPointerOutCapture?: ?(e: PointerEvent) => void,\n onGotPointerCapture?: ?(e: PointerEvent) => void,\n onGotPointerCaptureCapture?: ?(e: PointerEvent) => void,\n onLostPointerCapture?: ?(e: PointerEvent) => void,\n onLostPointerCaptureCapture?: ?(e: PointerEvent) => void,\n}>;\n\ntype FocusEventProps = $ReadOnly<{\n onBlur?: ?(event: BlurEvent) => void,\n onBlurCapture?: ?(event: BlurEvent) => void,\n onFocus?: ?(event: FocusEvent) => void,\n onFocusCapture?: ?(event: FocusEvent) => void,\n}>;\n\ntype TouchEventProps = $ReadOnly<{\n onTouchCancel?: ?(e: GestureResponderEvent) => void,\n onTouchCancelCapture?: ?(e: GestureResponderEvent) => void,\n onTouchEnd?: ?(e: GestureResponderEvent) => void,\n onTouchEndCapture?: ?(e: GestureResponderEvent) => void,\n onTouchMove?: ?(e: GestureResponderEvent) => void,\n onTouchMoveCapture?: ?(e: GestureResponderEvent) => void,\n onTouchStart?: ?(e: GestureResponderEvent) => void,\n onTouchStartCapture?: ?(e: GestureResponderEvent) => void,\n}>;\n\n/**\n * For most touch interactions, you'll simply want to wrap your component in\n * `TouchableHighlight` or `TouchableOpacity`. Check out `Touchable.js`,\n * `ScrollResponder.js` and `ResponderEventPlugin.js` for more discussion.\n */\nexport type GestureResponderHandlers = $ReadOnly<{\n /**\n * Does this view want to \"claim\" touch responsiveness? This is called for\n * every touch move on the `View` when it is not the responder.\n *\n * `View.props.onMoveShouldSetResponder: (event) => [true | false]`, where\n * `event` is a synthetic touch event as described above.\n *\n * See https://reactnative.dev/docs/view#onmoveshouldsetresponder\n */\n onMoveShouldSetResponder?: ?(e: GestureResponderEvent) => boolean,\n\n /**\n * If a parent `View` wants to prevent a child `View` from becoming responder\n * on a move, it should have this handler which returns `true`.\n *\n * `View.props.onMoveShouldSetResponderCapture: (event) => [true | false]`,\n * where `event` is a synthetic touch event as described above.\n *\n * See https://reactnative.dev/docs/view#onMoveShouldsetrespondercapture\n */\n onMoveShouldSetResponderCapture?: ?(e: GestureResponderEvent) => boolean,\n\n /**\n * The View is now responding for touch events. This is the time to highlight\n * and show the user what is happening.\n *\n * `View.props.onResponderGrant: (event) => {}`, where `event` is a synthetic\n * touch event as described above.\n *\n * Return true from this callback to prevent any other native components from\n * becoming responder until this responder terminates (Android-only).\n *\n * See https://reactnative.dev/docs/view#onrespondergrant\n */\n onResponderGrant?: ?(e: GestureResponderEvent) => void | boolean,\n\n /**\n * The user is moving their finger.\n *\n * `View.props.onResponderMove: (event) => {}`, where `event` is a synthetic\n * touch event as described above.\n *\n * See https://reactnative.dev/docs/view#onrespondermove\n */\n onResponderMove?: ?(e: GestureResponderEvent) => void,\n\n /**\n * Another responder is already active and will not release it to that `View`\n * asking to be the responder.\n *\n * `View.props.onResponderReject: (event) => {}`, where `event` is a\n * synthetic touch event as described above.\n *\n * See https://reactnative.dev/docs/view#onresponderreject\n */\n onResponderReject?: ?(e: GestureResponderEvent) => void,\n\n /**\n * Fired at the end of the touch.\n *\n * `View.props.onResponderRelease: (event) => {}`, where `event` is a\n * synthetic touch event as described above.\n *\n * See https://reactnative.dev/docs/view#onresponderrelease\n */\n onResponderRelease?: ?(e: GestureResponderEvent) => void,\n\n onResponderStart?: ?(e: GestureResponderEvent) => void,\n onResponderEnd?: ?(e: GestureResponderEvent) => void,\n\n /**\n * The responder has been taken from the `View`. Might be taken by other\n * views after a call to `onResponderTerminationRequest`, or might be taken\n * by the OS without asking (e.g., happens with control center/ notification\n * center on iOS)\n *\n * `View.props.onResponderTerminate: (event) => {}`, where `event` is a\n * synthetic touch event as described above.\n *\n * See https://reactnative.dev/docs/view#onresponderterminate\n */\n onResponderTerminate?: ?(e: GestureResponderEvent) => void,\n\n /**\n * Some other `View` wants to become responder and is asking this `View` to\n * release its responder. Returning `true` allows its release.\n *\n * `View.props.onResponderTerminationRequest: (event) => {}`, where `event`\n * is a synthetic touch event as described above.\n *\n * See https://reactnative.dev/docs/view#onresponderterminationrequest\n */\n onResponderTerminationRequest?: ?(e: GestureResponderEvent) => boolean,\n\n /**\n * Does this view want to become responder on the start of a touch?\n *\n * `View.props.onStartShouldSetResponder: (event) => [true | false]`, where\n * `event` is a synthetic touch event as described above.\n *\n * See https://reactnative.dev/docs/view#onstartshouldsetresponder\n */\n onStartShouldSetResponder?: ?(e: GestureResponderEvent) => boolean,\n\n /**\n * If a parent `View` wants to prevent a child `View` from becoming responder\n * on a touch start, it should have this handler which returns `true`.\n *\n * `View.props.onStartShouldSetResponderCapture: (event) => [true | false]`,\n * where `event` is a synthetic touch event as described above.\n *\n * See https://reactnative.dev/docs/view#onstartshouldsetrespondercapture\n */\n onStartShouldSetResponderCapture?: ?(e: GestureResponderEvent) => boolean,\n}>;\n\ntype AndroidDrawableThemeAttr = $ReadOnly<{\n type: 'ThemeAttrAndroid',\n attribute: string,\n}>;\n\ntype AndroidDrawableRipple = $ReadOnly<{\n type: 'RippleAndroid',\n color?: ?number,\n borderless?: ?boolean,\n rippleRadius?: ?number,\n}>;\n\ntype AndroidDrawable = AndroidDrawableThemeAttr | AndroidDrawableRipple;\n\nexport type ViewPropsAndroid = $ReadOnly<{\n nativeBackgroundAndroid?: ?AndroidDrawable,\n nativeForegroundAndroid?: ?AndroidDrawable,\n\n /**\n * Whether this `View` should render itself (and all of its children) into a\n * single hardware texture on the GPU.\n *\n * @platform android\n *\n * See https://reactnative.dev/docs/view#rendertohardwaretextureandroid\n */\n renderToHardwareTextureAndroid?: ?boolean,\n\n /**\n * Whether to force the Android TV focus engine to move focus to this view.\n *\n * @platform android\n */\n hasTVPreferredFocus?: ?boolean,\n\n /**\n * TV next focus down (see documentation for the View component).\n *\n * @platform android\n */\n nextFocusDown?: ?number,\n\n /**\n * TV next focus forward (see documentation for the View component).\n *\n * @platform android\n */\n nextFocusForward?: ?number,\n\n /**\n * TV next focus left (see documentation for the View component).\n *\n * @platform android\n */\n nextFocusLeft?: ?number,\n\n /**\n * TV next focus right (see documentation for the View component).\n *\n * @platform android\n */\n nextFocusRight?: ?number,\n\n /**\n * TV next focus up (see documentation for the View component).\n *\n * @platform android\n */\n nextFocusUp?: ?number,\n\n /**\n * Whether this `View` should be focusable with a non-touch input device, eg. receive focus with a hardware keyboard.\n *\n * @platform android\n */\n focusable?: ?boolean,\n\n /**\n * Indicates whether this `View` should be focusable with a non-touch input device, eg. receive focus with a hardware keyboard.\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex\n * for more details.\n *\n * Supports the following values:\n * - 0 (View is focusable)\n * - -1 (View is not focusable)\n *\n * @platform android\n */\n tabIndex?: 0 | -1,\n\n /**\n * The action to perform when this `View` is clicked on by a non-touch click, eg. enter key on a hardware keyboard.\n *\n * @platform android\n */\n onClick?: ?(event: GestureResponderEvent) => mixed,\n}>;\n\nexport type ViewPropsIOS = $ReadOnly<{\n /**\n * Whether this `View` should be rendered as a bitmap before compositing.\n *\n * @platform ios\n *\n * See https://reactnative.dev/docs/view#shouldrasterizeios\n */\n shouldRasterizeIOS?: ?boolean,\n}>;\n\n// [Windows\nexport const EventPhase = {\n None: 0,\n Capturing: 1,\n AtTarget: 2,\n Bubbling: 3,\n};\n\nexport const HandledEventPhase = {\n Capturing: EventPhase.Capturing,\n Bubbling: EventPhase.Bubbling,\n};\n\nexport type HandledKeyboardEvent = $ReadOnly<{|\n altKey?: ?boolean,\n ctrlKey?: ?boolean,\n metaKey?: ?boolean,\n shiftKey?: ?boolean,\n code: string,\n handledEventPhase?: number,\n|}>;\n\ntype ViewPropsWindows = $ReadOnly<{|\n /**\n * Key up event\n *\n * @platform windows\n */\n onKeyUp?: ?(e: KeyEvent) => void,\n onKeyUpCapture?: ?(e: KeyEvent) => void,\n keyUpEvents?: ?$ReadOnlyArray,\n\n onKeyDown?: ?(e: KeyEvent) => void,\n onKeyDownCapture?: ?(e: KeyEvent) => void,\n keyDownEvents?: ?$ReadOnlyArray,\n /**\n * Specifies the Tooltip for the view\n * @platform windows\n */\n tooltip?: ?string,\n\n tabIndex?: ?number,\n\n disabled?: ?boolean,\n\n accessibilityLevel?: ?number,\n 'aria-level'?: ?number,\n accessibilityPosInSet?: ?number,\n 'aria-posinset'?: ?number,\n accessibilitySetSize?: ?number,\n 'aria-setsize'?: ?number,\n\n /**\n * Specifies if the control should show System focus visuals\n */\n enableFocusRing?: ?boolean,\n\n onFocus?: ?(event: FocusEvent) => mixed,\n onBlur?: ?(event: FocusEvent) => mixed,\n onMouseLeave?: ?(event: MouseEvent) => mixed,\n onMouseEnter?: ?(event: MouseEvent) => mixed,\n|}>;\n// Windows]\n\ntype ViewBaseProps = $ReadOnly<{\n children?: Node,\n style?: ?ViewStyleProp,\n\n /**\n * Views that are only used to layout their children or otherwise don't draw\n * anything may be automatically removed from the native hierarchy as an\n * optimization. Set this property to `false` to disable this optimization and\n * ensure that this `View` exists in the native view hierarchy.\n *\n * See https://reactnative.dev/docs/view#collapsable\n */\n collapsable?: ?boolean,\n\n /**\n * Setting to false prevents direct children of the view from being removed\n * from the native view hierarchy, similar to the effect of setting\n * `collapsable={false}` on each child.\n */\n collapsableChildren?: ?boolean,\n\n /**\n * Used to locate this view from native classes. Has precedence over `nativeID` prop.\n *\n * > This disables the 'layout-only view removal' optimization for this view!\n *\n * See https://reactnative.dev/docs/view#id\n */\n id?: string,\n\n /**\n * Used to locate this view in end-to-end tests.\n *\n * > This disables the 'layout-only view removal' optimization for this view!\n *\n * See https://reactnative.dev/docs/view#testid\n */\n testID?: ?string,\n\n /**\n * Used to locate this view from native classes.\n *\n * > This disables the 'layout-only view removal' optimization for this view!\n *\n * See https://reactnative.dev/docs/view#nativeid\n */\n nativeID?: ?string,\n\n /**\n * Whether this `View` needs to rendered offscreen and composited with an\n * alpha in order to preserve 100% correct colors and blending behavior.\n *\n * See https://reactnative.dev/docs/view#needsoffscreenalphacompositing\n */\n needsOffscreenAlphaCompositing?: ?boolean,\n\n /**\n * This defines how far a touch event can start away from the view.\n * Typical interface guidelines recommend touch targets that are at least\n * 30 - 40 points/density-independent pixels.\n *\n * > The touch area never extends past the parent view bounds and the Z-index\n * > of sibling views always takes precedence if a touch hits two overlapping\n * > views.\n *\n * See https://reactnative.dev/docs/view#hitslop\n */\n hitSlop?: ?EdgeInsetsOrSizeProp,\n\n /**\n * Controls whether the `View` can be the target of touch events.\n *\n * See https://reactnative.dev/docs/view#pointerevents\n */\n pointerEvents?: ?('auto' | 'box-none' | 'box-only' | 'none'),\n\n /**\n * This is a special performance property exposed by `RCTView` and is useful\n * for scrolling content when there are many subviews, most of which are\n * offscreen. For this property to be effective, it must be applied to a\n * view that contains many subviews that extend outside its bound. The\n * subviews must also have `overflow: hidden`, as should the containing view\n * (or one of its superviews).\n *\n * See https://reactnative.dev/docs/view#removeclippedsubviews\n */\n removeClippedSubviews?: ?boolean,\n\n 'aria-readonly'?: ?boolean, // [Windows]\n\n 'aria-multiselectable'?: ?boolean, // [Windows]\n 'aria-required'?: ?boolean, // [Windows]\n}>;\n\nexport type ViewProps = $ReadOnly<{\n ...DirectEventProps,\n ...GestureResponderHandlers,\n ...MouseEventProps,\n ...PointerEventProps,\n ...FocusEventProps,\n ...TouchEventProps,\n ...ViewPropsAndroid,\n ...ViewPropsIOS,\n ...ViewPropsWindows, // [Windows]\n ...AccessibilityProps,\n ...ViewBaseProps,\n}>;\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * @format\n * @flow strict-local\n */\n\nimport EventEmitter, {\n type EventSubscription,\n} from '../vendor/emitter/EventEmitter';\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport NativeAppTheme, {\n type AppThemeData,\n type HighContrastColors,\n} from './NativeAppTheme';\n\n// Default values here are used in jest environment, or when native module otherwise not available\nlet _isHighContrast = false;\nlet _highContrastColors = {\n ButtonFaceColor: '',\n ButtonTextColor: '',\n GrayTextColor: '',\n HighlightColor: '',\n HighlightTextColor: '',\n HotlightColor: '',\n WindowColor: '',\n WindowTextColor: '',\n};\n\ntype AppThemeEvent = (nativeEvent: AppThemeData) => void;\nconst eventEmitter = new EventEmitter<{\n highContrastChanged: [AppThemeData],\n}>();\n\ntype NativeAppThemeEventDefinitions = {\n highContrastChanged: [AppThemeData],\n};\n\n// $FlowFixMe[underconstrained-implicit-instantiation]\nconst _notifyHandlers = new Map();\n\nif (NativeAppTheme) {\n _isHighContrast = NativeAppTheme.getConstants().isHighContrast;\n _highContrastColors = NativeAppTheme.getConstants().highContrastColors;\n\n const nativeEventEmitter =\n new NativeEventEmitter(null);\n nativeEventEmitter.addListener(\n 'highContrastChanged',\n (newAppTheme: AppThemeData) => {\n _isHighContrast = newAppTheme.isHighContrast;\n _highContrastColors = newAppTheme.highContrastColors;\n eventEmitter.emit('highContrastChanged', newAppTheme);\n },\n );\n}\n\nmodule.exports = {\n // $FlowFixMe[unsafe-getters-setters]\n get isHighContrast(): boolean {\n return _isHighContrast;\n },\n\n // $FlowFixMe[unsafe-getters-setters]\n get currentHighContrastColors(): HighContrastColors {\n return _highContrastColors;\n },\n\n /**\n * Add an event handler that is fired when appearance preferences change.\n */\n addListener(\n eventName: 'highContrastChanged',\n event: AppThemeEvent,\n ): EventSubscription {\n const listener = eventEmitter.addListener(eventName, event);\n _notifyHandlers.set(eventName, listener);\n return listener;\n },\n\n removeListener(eventName: 'highContrastChanged', event: AppThemeEvent): void {\n const listener = _notifyHandlers.get(eventName);\n if (!listener) {\n return;\n }\n listener.remove();\n _notifyHandlers.delete(eventName);\n },\n};\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * @format\n * @flow strict-local\n */\n\nexport * from '../../src/private/specs_DEPRECATED/modules/NativeAppTheme';\nimport NativeAppTheme from '../../src/private/specs_DEPRECATED/modules/NativeAppTheme';\nexport default NativeAppTheme;\n","/**\n * Copyright (c) Microsoft Corporation.\n * Licensed under the MIT License.\n *\n * @flow strict\n * @format\n */\n\nimport type {TurboModule} from '../../../../Libraries/TurboModule/RCTExport';\n\nimport * as TurboModuleRegistry from '../../../../Libraries/TurboModule/TurboModuleRegistry';\n\nexport type HighContrastColors = {|\n ButtonFaceColor: string,\n ButtonTextColor: string,\n GrayTextColor: string,\n HighlightColor: string,\n HighlightTextColor: string,\n HotlightColor: string,\n WindowColor: string,\n WindowTextColor: string,\n|};\n\nexport type AppThemeData = {|\n isHighContrast: boolean,\n highContrastColors: HighContrastColors,\n|};\n\nexport interface Spec extends TurboModule {\n +getConstants: () => AppThemeData;\n}\n\nexport default (TurboModuleRegistry.get('AppTheme'): ?Spec);\n","import { createSlice, createAsyncThunk, PayloadAction, createSelector } from '@reduxjs/toolkit';\r\nimport { CommonContextDataModel } from '../loader/dataHandler/CommonContextDataModel';\r\nimport {\r\n ICommonState,\r\n Metadata,\r\n UpdateRingRampsTable,\r\n UpdateRingKillSwitchesTable,\r\n UpdateRingSettingsTable,\r\n EcsRampsTable,\r\n ILogProps,\r\n IActionProps,\r\n INezhaProps,\r\n IQoSTelemetryProps,\r\n IFunnelTelemetryProps,\r\n IDebugInfo,\r\n IViewSizeChangedProps,\r\n ICopilotFunnelTelemetryProps,\r\n ILogBvtRenderingInfo,\r\n IBvtPressRequest,\r\n IBvtRenderRequest,\r\n IBvtSetTextRequest\r\n} from '../types';\r\nimport { selectMetadata } from './selectors';\r\n\r\nexport const dataModel: CommonContextDataModel = new CommonContextDataModel();\r\n\r\nconst initialState: ICommonState = {\r\n metadata: null,\r\n updateRingSettings: null,\r\n failedFetch: false,\r\n viewActivated: ''\r\n};\r\n\r\n// create a thunk for the async function to fetch the metadata\r\nconst fetchAllMetadataAsync = createAsyncThunk('common/fetchAllMetadata', dataModel.fetchAllMetadata);\r\n\r\n// create an async thunk for fetching a single UpdateRingRamp\r\nconst fetchUpdateRingRampAsync = createAsyncThunk(\r\n 'common/fetchUpdateRingRamp',\r\n dataModel.fetchUpdateRingRamp\r\n);\r\n\r\nconst onMessageHandlerRenderingAsync = createAsyncThunk(\r\n 'common/messageHandlerRendering',\r\n (viewName: string) => {\r\n return dataModel.onMessageHandlerRendering(viewName);\r\n }\r\n);\r\n\r\n// create an async thunk for fetching a single UpdateRingKillSwitch\r\nconst fetchUpdateRingKillSwitchAsync = createAsyncThunk(\r\n 'common/fetchUpdateRingKillSwitch',\r\n dataModel.fetchUpdateRingKillSwitch\r\n);\r\n\r\n// create an async thunk for handling onAction\r\n// Accepts the action name and view name as arguments\r\nconst handleOnActionAsync = createAsyncThunk('common/onAction', (arg: IActionProps) => {\r\n return dataModel.handleAction(arg.action, arg.view);\r\n});\r\n\r\n// create an async thunk for handling onLog\r\n// Accepts the message and view name as arguments\r\nconst handleOnLogAsync = createAsyncThunk('common/onLog', (arg: ILogProps) => {\r\n return dataModel.log(arg.message, arg.view);\r\n});\r\n\r\n// create an async thunk for handling onLog\r\n// Accepts the message and view name as arguments\r\nconst handleOnLogBvtInfoAsync = createAsyncThunk('common/onLogBvtInfo', (args: ILogBvtRenderingInfo) => {\r\n return dataModel.logBvtInfo(args);\r\n});\r\n\r\n// create an async thunk for handling onLog\r\n// Accepts the message and view name as arguments\r\nconst handleOnLogErrorAsync = createAsyncThunk('common/onLogError', (arg: ILogProps) => {\r\n return dataModel.logError(arg.message, arg.view);\r\n});\r\n\r\nconst handleOnRecordNezhaTelemetryAsync = createAsyncThunk(\r\n 'common/onRecordNezhaTelemetry',\r\n (arg: INezhaProps) => {\r\n return dataModel.recordNezhaTelemetry(arg.viewName, arg.action);\r\n }\r\n);\r\n\r\n// create an async thunk for handling onRecordQosTelemetry\r\n// Accepts the telemetry data and view name as arguments\r\nconst handleOnRecordQosTelemetryAsync = createAsyncThunk(\r\n 'common/onRecordQoSTelemetry',\r\n (arg: IQoSTelemetryProps) => {\r\n return dataModel.recordQoSTelemetry(arg.data, arg.view);\r\n }\r\n);\r\n\r\nconst handleOnRecordFunnelTelemetryAsync = createAsyncThunk(\r\n 'common/onRecordFunnelTelemetry',\r\n (arg: IFunnelTelemetryProps) => {\r\n return dataModel.recordFunnelTelemetry(arg.view, arg.funnelStage);\r\n }\r\n);\r\n\r\nconst handleOnRecordCopilotFunnelTelemetryAsync = createAsyncThunk(\r\n 'common/onRecordCopilotFunnelTelemetry',\r\n (arg: ICopilotFunnelTelemetryProps) => {\r\n return dataModel.recordCopilotFunnelTelemetry(arg.launchSource, arg.action, arg.stage);\r\n }\r\n);\r\n\r\nconst handleOnQuotaUpsellClickedAsync = createAsyncThunk(\r\n 'common/onQuotaUpsellClicked',\r\n dataModel.onQuotaUpsellClicked\r\n);\r\n\r\n// create an async thunk for fetching a single UpdateRingRampSetting\r\nconst fetchUpdateRingSettingAsync = createAsyncThunk(\r\n 'common/fetchUpdateRingSetting',\r\n dataModel.fetchUpdateRingSetting\r\n);\r\n\r\n// create an async thunk for requesting all debug info\r\nconst getDebugInfoAsync = createAsyncThunk('common/getDebugInfo', dataModel.getDebugInfo);\r\n\r\n// create an async thunk for notifying when a view's size changes\r\nconst viewSizeChangedAsync = createAsyncThunk('common/viewSizeChanged', (arg: IViewSizeChangedProps) => {\r\n return dataModel.viewSizeChanged(arg.viewName, arg.width, arg.height);\r\n});\r\n\r\n// create a selector for getting whether or not Korean CELA information should be shown.\r\nexport const selectShouldShowKoreanCela = createSelector(\r\n [selectMetadata],\r\n (metadata) =>\r\n metadata?.localization.locale.startsWith('KR') && metadata?.localization.activeLanguage.startsWith('ko')\r\n);\r\n\r\nexport const selectIsSpacelessLanguage = createSelector([selectMetadata], (metadata) => {\r\n const spacelessLanguages = ['ja', 'km', 'th', 'zh'];\r\n if (metadata) {\r\n let result = false;\r\n spacelessLanguages.forEach((lang) => {\r\n if (metadata.localization.activeLanguage.startsWith(lang)) {\r\n result = true;\r\n }\r\n });\r\n return result;\r\n } else {\r\n return false;\r\n }\r\n});\r\n\r\n// create an async thunk for fetching a single ECS ramp value\r\nconst fetchECSRampAsync = createAsyncThunk('common/fetchECSRamp', dataModel.fetchECSRamp);\r\n\r\nexport const commonSlice = createSlice({\r\n name: 'common',\r\n initialState,\r\n reducers: {\r\n setFailedFetch: (state, action: PayloadAction) => {\r\n state.failedFetch = action.payload;\r\n },\r\n setViewActivated: (state: ICommonState, action: PayloadAction) => {\r\n state.viewActivated = action.payload;\r\n },\r\n setDebugInfo: (state: ICommonState, action: PayloadAction) => {\r\n state.debugInfo = action.payload;\r\n },\r\n setTextScaleFactor: (state: ICommonState, action: PayloadAction) => {\r\n if (state.metadata) {\r\n state.metadata.windows.textScaleFactor = action.payload;\r\n }\r\n },\r\n setBvtPressRequest: (state: ICommonState, action: PayloadAction) => {\r\n state.bvtPressRequest = { count: (state.bvtPressRequest?.count ?? 0) + 1, ...action.payload };\r\n },\r\n clearBvtPressRequest: (state: ICommonState) => {\r\n state.bvtPressRequest = { count: state.bvtPressRequest?.count ?? 0, viewName: '', testId: '' };\r\n },\r\n setBvtSetTextRequest: (state: ICommonState, action: PayloadAction) => {\r\n state.bvtSetTextRequest = action.payload;\r\n },\r\n setBvtRenderRequest: (state: ICommonState, action: PayloadAction) => {\r\n state.bvtRenderRequest = {\r\n count: (state.bvtRenderRequest?.count ?? 0) + 1,\r\n viewName: action.payload?.viewName,\r\n testId: action.payload?.testId\r\n };\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(getDebugInfoAsync.rejected, (state, payload) => {\r\n console.error(`Failed to get debug info`);\r\n console.error(payload);\r\n })\r\n .addCase(fetchUpdateRingRampAsync.fulfilled, (state, action: PayloadAction) => {\r\n const tableUpdate = action.payload;\r\n state.updateRingSettings = {\r\n updateRingRampsTable: {\r\n ...state.updateRingSettings?.updateRingRampsTable,\r\n ...tableUpdate\r\n },\r\n updateRingKillSwitchesTable: {\r\n ...state.updateRingSettings?.updateRingKillSwitchesTable\r\n },\r\n updateRingSettingsTable: {\r\n ...state.updateRingSettings?.updateRingSettingsTable\r\n },\r\n ecsRampsTable: {\r\n ...state.updateRingSettings?.ecsRampsTable\r\n }\r\n };\r\n })\r\n .addCase(fetchUpdateRingRampAsync.rejected, (state, payload) => {\r\n console.error(`Failed to fetch update ring ramp`);\r\n console.error(payload);\r\n })\r\n .addCase(\r\n fetchUpdateRingKillSwitchAsync.fulfilled,\r\n (state, action: PayloadAction) => {\r\n const tableUpdate = action.payload;\r\n state.updateRingSettings = {\r\n updateRingRampsTable: {\r\n ...state.updateRingSettings?.updateRingRampsTable\r\n },\r\n updateRingKillSwitchesTable: {\r\n ...state.updateRingSettings?.updateRingKillSwitchesTable,\r\n ...tableUpdate\r\n },\r\n updateRingSettingsTable: {\r\n ...state.updateRingSettings?.updateRingSettingsTable\r\n },\r\n ecsRampsTable: {\r\n ...state.updateRingSettings?.ecsRampsTable\r\n }\r\n };\r\n }\r\n )\r\n .addCase(fetchUpdateRingKillSwitchAsync.rejected, (state, payload) => {\r\n console.error(`Failed to fetch update ring kill switch`);\r\n console.error(payload);\r\n })\r\n .addCase(\r\n fetchUpdateRingSettingAsync.fulfilled,\r\n (state, action: PayloadAction) => {\r\n const tableUpdate = action.payload;\r\n state.updateRingSettings = {\r\n updateRingRampsTable: {\r\n ...state.updateRingSettings?.updateRingRampsTable\r\n },\r\n updateRingKillSwitchesTable: {\r\n ...state.updateRingSettings?.updateRingKillSwitchesTable\r\n },\r\n updateRingSettingsTable: {\r\n ...state.updateRingSettings?.updateRingSettingsTable,\r\n ...tableUpdate\r\n },\r\n ecsRampsTable: {\r\n ...state.updateRingSettings?.ecsRampsTable\r\n }\r\n };\r\n }\r\n )\r\n .addCase(fetchECSRampAsync.fulfilled, (state, action: PayloadAction) => {\r\n const tableUpdate = action.payload;\r\n state.updateRingSettings = {\r\n updateRingSettingsTable: {\r\n ...state.updateRingSettings?.updateRingSettingsTable\r\n },\r\n updateRingRampsTable: {\r\n ...state.updateRingSettings?.updateRingRampsTable\r\n },\r\n updateRingKillSwitchesTable: {\r\n ...state.updateRingSettings?.updateRingKillSwitchesTable\r\n },\r\n ecsRampsTable: {\r\n ...state.updateRingSettings?.ecsRampsTable,\r\n ...tableUpdate\r\n }\r\n };\r\n })\r\n .addCase(fetchECSRampAsync.rejected, (state, payload) => {\r\n console.error(`Failed to fetch ECS ramp`);\r\n console.error(payload);\r\n })\r\n .addCase(fetchUpdateRingSettingAsync.rejected, (state, payload) => {\r\n console.error(`Failed to fetch update ring setting`);\r\n console.error(payload);\r\n })\r\n .addCase(fetchAllMetadataAsync.fulfilled, (state, action: PayloadAction) => {\r\n state.metadata = action.payload;\r\n })\r\n .addCase(fetchAllMetadataAsync.rejected, (state, payload) => {\r\n state.failedFetch = true;\r\n console.error(`Failed to fetch metadata: ${payload}`);\r\n })\r\n .addCase(handleOnActionAsync.fulfilled, (state, action: PayloadAction) => {})\r\n .addCase(handleOnActionAsync.rejected, (state, payload) => {})\r\n .addCase(handleOnLogAsync.fulfilled, (state, action: PayloadAction) => {})\r\n .addCase(handleOnLogAsync.rejected, (state, payload) => {})\r\n .addCase(handleOnLogErrorAsync.fulfilled, (state, action: PayloadAction) => {})\r\n .addCase(handleOnLogErrorAsync.rejected, (state, payload) => {})\r\n .addCase(handleOnRecordNezhaTelemetryAsync.fulfilled, (state, action: PayloadAction) => {})\r\n .addCase(handleOnRecordNezhaTelemetryAsync.rejected, (state, payload) => {})\r\n .addCase(handleOnRecordQosTelemetryAsync.fulfilled, (state, action: PayloadAction) => {})\r\n .addCase(handleOnRecordQosTelemetryAsync.rejected, (state, payload) => {})\r\n .addCase(handleOnRecordFunnelTelemetryAsync.fulfilled, (state, action: PayloadAction) => {})\r\n .addCase(handleOnRecordFunnelTelemetryAsync.rejected, (state, payload) => {})\r\n .addCase(viewSizeChangedAsync.fulfilled, (state, action: PayloadAction) => {})\r\n .addCase(viewSizeChangedAsync.rejected, (state, payload) => {});\r\n }\r\n});\r\n\r\nexport const commonActions = {\r\n ...commonSlice.actions, // Action creators are generated for each case reducer function\r\n onMessageHandlerRendering: onMessageHandlerRenderingAsync,\r\n fetchAllMetadata: fetchAllMetadataAsync,\r\n fetchUpdateRingRamp: fetchUpdateRingRampAsync,\r\n fetchUpdateRingKillSwitch: fetchUpdateRingKillSwitchAsync,\r\n fetchUpdateRingSetting: fetchUpdateRingSettingAsync,\r\n fetchECSRamp: fetchECSRampAsync,\r\n onAction: handleOnActionAsync,\r\n onLog: handleOnLogAsync,\r\n onLogError: handleOnLogErrorAsync,\r\n onLogBvtInfo: handleOnLogBvtInfoAsync,\r\n onRecordNezhaTelemetry: handleOnRecordNezhaTelemetryAsync,\r\n onRecordQosTelemetry: handleOnRecordQosTelemetryAsync,\r\n onRecordFunnelTelemetry: handleOnRecordFunnelTelemetryAsync,\r\n getDebugInfo: getDebugInfoAsync,\r\n onViewSizeChanged: viewSizeChangedAsync,\r\n onRecordCopilotFunnelTelemetry: handleOnRecordCopilotFunnelTelemetryAsync,\r\n onQuotaUpsellClicked: handleOnQuotaUpsellClickedAsync\r\n};\r\n\r\nexport default commonSlice.reducer;\r\n","import {\r\n EcsRamp,\r\n EcsRampsTable,\r\n ILogBvtRenderingInfo,\r\n IMetadata,\r\n IQoSTelemetryData,\r\n IUpdateRingSettingRequest,\r\n UpdateRingKillSwitch,\r\n UpdateRingKillSwitchesTable,\r\n UpdateRingRamp,\r\n UpdateRingRampsTable,\r\n UpdateRingSettingsTable\r\n} from '../../types';\r\nimport { NativeDataHandler } from '../../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../../common/dataHandler/IDataHandler';\r\nimport { getDataHandlerSendOptions } from '../../helpers/helpers';\r\n\r\nconst ROUTE_RNCOMMON = 'RNCommon';\r\nconst ROUTE_RNCOMMON_FREE = 'RNCommonFree';\r\n\r\n// in createAsyncThunk, \"this\" does not reference the CommonContextDataModel instance\r\n// so we need to create a global instance of the data handler\r\nconst _dataHandler = new NativeDataHandler();\r\n\r\nexport class CommonContextDataModel {\r\n /**\r\n * Notify when the message handler is rendering.\r\n */\r\n public async onMessageHandlerRendering(viewName: string): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNCommon/messageHandlerRendering',\r\n requestType: 'POST',\r\n postData: { viewName }\r\n };\r\n return _dataHandler.send(options);\r\n }\r\n\r\n /**\r\n * Get all metadata values.\r\n */\r\n public async fetchAllMetadata(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNCommon/metadata',\r\n requestType: 'GET'\r\n };\r\n return _dataHandler.send(options);\r\n }\r\n\r\n /**\r\n * Get a single ramp enablement value.\r\n */\r\n public async fetchUpdateRingRamp(rampId: UpdateRingRamp): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNCommon/updateRingRamp',\r\n requestType: 'GET',\r\n postData: { id: rampId }\r\n };\r\n return _dataHandler.send(options);\r\n }\r\n\r\n /**\r\n * Get a single kill switch safety value.\r\n */\r\n public async fetchUpdateRingKillSwitch(\r\n killSwitchId: UpdateRingKillSwitch\r\n ): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNCommon/updateRingKillSwitch',\r\n requestType: 'GET',\r\n postData: { id: killSwitchId }\r\n };\r\n return _dataHandler.send(options);\r\n }\r\n\r\n /**\r\n * Get a single UpdateRingSetting value.\r\n */\r\n public async fetchUpdateRingSetting(request: IUpdateRingSettingRequest): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNCommon/updateRingSetting',\r\n requestType: 'GET',\r\n postData: { ...request }\r\n };\r\n return _dataHandler.send(options);\r\n }\r\n\r\n /**\r\n * Get a single ECS Ramp value.\r\n */\r\n public async fetchECSRamp(ecsRampId: EcsRamp): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNCommon/ecsRamp',\r\n requestType: 'GET',\r\n postData: { id: ecsRampId }\r\n };\r\n return _dataHandler.send(options);\r\n }\r\n\r\n /**\r\n * Open new window and/or web browser handleAction()\r\n */\r\n public async handleAction(action: string, appKey: string): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNCommon/handleAction',\r\n requestType: 'POST',\r\n postData: {\r\n actionParameter: action,\r\n viewName: appKey\r\n }\r\n };\r\n return _dataHandler.send(options);\r\n }\r\n\r\n /**\r\n * Log information from the view through the native logging API.\r\n */\r\n public async log(message: string, appKey: string): Promise {\r\n const body = {\r\n message: message,\r\n viewName: appKey\r\n };\r\n return _dataHandler.send(getDataHandlerSendOptions('POST', ROUTE_RNCOMMON_FREE, 'log', body));\r\n }\r\n\r\n /**\r\n * Log error information from the view through the native logging API.\r\n */\r\n public async logError(message: string, appKey: string): Promise {\r\n const body = {\r\n message: message,\r\n viewName: appKey\r\n };\r\n return _dataHandler.send(getDataHandlerSendOptions('POST', ROUTE_RNCOMMON_FREE, 'logError', body));\r\n }\r\n\r\n /**\r\n * Used to log when a specific element has been rendered.\r\n * BVTs can listen for the specific log event to validate when a specific element is rendering.\r\n */\r\n public async logBvtInfo(logInfo: ILogBvtRenderingInfo): Promise {\r\n return _dataHandler.send(\r\n getDataHandlerSendOptions('POST', ROUTE_RNCOMMON_FREE, 'logBvtInfo', { ...logInfo })\r\n );\r\n }\r\n\r\n /**\r\n * Record a QoS Telemetry point through the native logging API.\r\n */\r\n public async recordQoSTelemetry(data: IQoSTelemetryData, appKey: string): Promise {\r\n const body = {\r\n viewName: appKey,\r\n ...data\r\n };\r\n return _dataHandler.send(\r\n getDataHandlerSendOptions('POST', ROUTE_RNCOMMON_FREE, 'recordQoSTelemetry', body)\r\n );\r\n }\r\n\r\n /**\r\n * Record a Funnel Telemetry point to track view initialization/loading through the native logging API.\r\n */\r\n public async recordFunnelTelemetry(appKey: string, funnelStage: string): Promise {\r\n const body = {\r\n viewName: appKey,\r\n funnelStage: funnelStage\r\n };\r\n return _dataHandler.send(\r\n getDataHandlerSendOptions('POST', ROUTE_RNCOMMON_FREE, 'recordRNFunnelTelemetry', body)\r\n );\r\n }\r\n\r\n /**\r\n * Record a Copilot Funnel Telemetry point to track Copilot related user interactions through the native logging API.\r\n */\r\n public async recordCopilotFunnelTelemetry(\r\n launchSource: number,\r\n action: number,\r\n stage: string\r\n ): Promise {\r\n return _dataHandler.send(\r\n getDataHandlerSendOptions('POST', ROUTE_RNCOMMON_FREE, 'recordCopilotFunnelTelemetry', {\r\n launchSource,\r\n action,\r\n stage\r\n })\r\n );\r\n }\r\n\r\n public async onQuotaUpsellClicked(): Promise {\r\n return _dataHandler.send(getDataHandlerSendOptions('POST', 'kfmmove', 'quotaUpsellClicked'));\r\n }\r\n\r\n /**\r\n * Record ECS Telemetry for experiments.\r\n */\r\n public async recordECSExperimentTelemetry(ecsRamp: number): Promise {\r\n const body = {\r\n id: ecsRamp\r\n };\r\n return _dataHandler.send(\r\n getDataHandlerSendOptions('POST', ROUTE_RNCOMMON_FREE, 'recordECSExperimentTelemetry', body)\r\n );\r\n }\r\n\r\n /**\r\n * Record a Nezha Telemetry point through the native logging API.\r\n */\r\n public async recordNezhaTelemetry(viewName: string, action: string): Promise {\r\n const body = { viewName, action };\r\n return _dataHandler.send(\r\n getDataHandlerSendOptions('POST', ROUTE_RNCOMMON_FREE, 'recordNezhaTelemetry', body)\r\n );\r\n }\r\n\r\n /**\r\n * Requests the debug information from the sync client.\r\n *\r\n * Note that the debug information will be sent back asynchronously in the form of a message of type 'debugInfo'\r\n * instead of being returned directly from the route.\r\n */\r\n public async getDebugInfo(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNCommon/debugInfo',\r\n requestType: 'POST'\r\n };\r\n return _dataHandler.send(options);\r\n }\r\n\r\n /**\r\n * Requests the debug information from the sync client.\r\n *\r\n * Note that the debug information will be sent back asynchronously in the form of a message of type 'debugInfo'\r\n * instead of being returned directly from the route.\r\n */\r\n public async viewSizeChanged(viewName: string, width?: number, height?: number): Promise {\r\n return _dataHandler.send(\r\n getDataHandlerSendOptions('POST', ROUTE_RNCOMMON, 'viewSizeChanged', { viewName, width, height })\r\n );\r\n }\r\n}\r\n","import { useTranslation } from 'react-i18next';\r\nimport { ROUTE_URL_BASE } from '../constants';\r\nimport { IDataHandlerSendOptions, TDataHandlerRequestType } from '../dataHandler/IDataHandler';\r\nimport { Platform } from 'react-native';\r\n\r\n/**\r\n * Strips HTML tags from a string and returns an accessibility-friendly version.\r\n * If the link text ends with punctuation, the punctuation moves after \"link\"\r\n * (e.g. OneDrive app. → \"OneDrive app.\").\r\n * - Replaces
with a space.\r\n * - Strips , , , formatting tags.\r\n * - Collapses multiple consecutive spaces into one.\r\n * @param html The HTML string to convert.\r\n */\r\nexport const stripHtmlForAccessibility = (html: string): string => {\r\n return html\r\n .replace(/]*>(.*?)<\\/a>/g, (match, text: string) => {\r\n const trailingPunct = text.match(/([.,;:!?]+)$/);\r\n if (trailingPunct) {\r\n return text.slice(0, -trailingPunct[1].length) + ' ' + trailingPunct[1];\r\n }\r\n return text;\r\n })\r\n .replace(//g, ' ')\r\n .replace(/<\\/?(?:b|strong)>/g, '')\r\n .replace(/ {2,}/g, ' ')\r\n .trim();\r\n};\r\n\r\nexport const formatAccessibilityInfo = (announcements: string[]): string => {\r\n let accessibilityInfo = '';\r\n\r\n if (announcements.length > 0) {\r\n // Initialize the accessibility info with the first announcement.\r\n accessibilityInfo = announcements[0];\r\n\r\n // If there are multiple announcements, concatenate them with a period and space.\r\n // The period and space force the narrator to pause between each announcement.\r\n for (let i = 1; i < announcements.length; i++) {\r\n const delim = accessibilityInfo.endsWith('.') ? ' ' : '. ';\r\n accessibilityInfo += delim + announcements[i];\r\n }\r\n }\r\n\r\n // Strip HTML tags, replacing links with accessible \"text link\" format.\r\n return stripHtmlForAccessibility(accessibilityInfo);\r\n};\r\n\r\nexport const formatString = (message: string, ...params: string[]): string => {\r\n const regexp = /%(\\d+)/g;\r\n return message.replace(regexp, function (match: string, index: number): string {\r\n return index - 1 < params.length && typeof params[index - 1] !== 'undefined' ? params[index - 1] : match;\r\n });\r\n};\r\n\r\nexport const formati18nString = (message: string, ...params: string[]): string => {\r\n const regexp = /{(\\d+)}/g;\r\n return message.replace(regexp, function (match: string, index: number): string {\r\n const paramIndex = index - 1;\r\n return paramIndex < params.length && typeof params[paramIndex] !== 'undefined'\r\n ? params[paramIndex]\r\n : match;\r\n });\r\n};\r\n\r\nexport const useTranslationForOS = (key: string): string => {\r\n const { t: translate } = useTranslation();\r\n\r\n let osKey = key;\r\n if (Platform.OS === 'macos') {\r\n osKey += '.mac';\r\n } else {\r\n osKey += '.win';\r\n }\r\n\r\n return translate(osKey);\r\n};\r\n\r\nexport const getRouteUrl = (route: string, func: string): string => {\r\n return `${ROUTE_URL_BASE}${route}/${func}`;\r\n};\r\n\r\nexport const getDataHandlerSendOptions = (\r\n method: TDataHandlerRequestType,\r\n route: string,\r\n func: string,\r\n body?: {}\r\n): IDataHandlerSendOptions => {\r\n return {\r\n url: getRouteUrl(route, func),\r\n requestType: method,\r\n postData: body\r\n };\r\n};\r\n\r\n/**\r\n * Removes the first occurrence of a specified symbol from a string.\r\n * Use this function when you only need to remove the first instance\r\n * of the given symbol from the string.\r\n *\r\n */\r\nexport const removeSymbol = (str: string, symbol: string): string => {\r\n return str.replace(symbol, '');\r\n};\r\n\r\n/**\r\n * Removes all occurrences of a specified symbol from a string.\r\n * Use this function when you want to remove every instance of the\r\n * given symbol from the string, not just the first.\r\n *\r\n */\r\nexport const removeSymbols = (str: string, symbol: string): string => {\r\n return str.split(symbol).join('');\r\n};\r\n\r\n/**\r\n * Remove multiple symbols from a given string\r\n * @param str The string to remove symbols from\r\n * @param symbols The symbols to remove\r\n * @returns The string with the symbols removed\r\n */\r\nexport const removeMultipleSymbols = (str: string, ...symbols: string[]): string => {\r\n return symbols.reduce((acc, symbol) => removeSymbol(acc, symbol), str);\r\n};\r\n\r\nexport const truncateString = (str: string, maxLength: number): string => {\r\n // Use Array.from to split by Unicode code points instead of UTF-16 code units.\r\n // This prevents splitting surrogate pairs for supplementary characters (above U+FFFF),\r\n // which would produce lone surrogates and cause JSON serialization failures.\r\n const chars = Array.from(str);\r\n return chars.length > maxLength ? `${chars.slice(0, maxLength).join('')}...` : str;\r\n};\r\n\r\n/**\r\n * Formats a list of folders into a human-readable string with proper conjunctions.\r\n * For example:\r\n * - [] => \"\"\r\n * - [\"Desktop\"] => \"Desktop\"\r\n * - [\"Desktop\", \"Documents\"] => \"Desktop and Documents\"\r\n * - [\"Desktop\", \"Documents\", \"Pictures\"] => \"Desktop, Documents, and Pictures\"\r\n */\r\nexport const formatFolderList = (folders: string[]): string => {\r\n if (folders.length === 0) {\r\n return '';\r\n }\r\n\r\n if (folders.length === 1) {\r\n return folders[0];\r\n }\r\n\r\n if (folders.length === 2) {\r\n return `${folders[0]} and ${folders[1]}`;\r\n }\r\n\r\n return `${folders.slice(0, -1).join(', ')}, and ${folders[folders.length - 1]}`;\r\n};\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\nconst BYTES_PER_KB = 1024;\r\nconst BYTES_PER_MB = BYTES_PER_KB * BYTES_PER_KB;\r\nconst BYTES_PER_GB = BYTES_PER_MB * BYTES_PER_KB;\r\nconst BYTES_PER_TB = BYTES_PER_GB * BYTES_PER_KB;\r\ntype TranslateFn = (key: string, options?: Record) => string;\r\n\r\nexport interface IFormattedBytes {\r\n value: string;\r\n unit: string;\r\n localized: string;\r\n}\r\n\r\nexport const formatBytes = (bytes: number, translate: TranslateFn): IFormattedBytes => {\r\n let value: string;\r\n let unit: string;\r\n // Sizes should never be negative or NaN. Clamp invalid values to 0 to avoid\r\n // showing nonsense (e.g. very large negative numbers) when the underlying\r\n // data source returns garbage.\r\n if (!Number.isFinite(bytes) || bytes < 0) {\r\n bytes = 0;\r\n }\r\n if (bytes < BYTES_PER_KB) {\r\n value = `${bytes}`;\r\n unit = translate('unitBytes');\r\n } else if (bytes < BYTES_PER_MB) {\r\n value = (bytes / BYTES_PER_KB).toFixed(1);\r\n unit = translate('unitKilobytes');\r\n } else if (bytes < BYTES_PER_GB) {\r\n value = (bytes / BYTES_PER_MB).toFixed(1);\r\n unit = translate('unitMegabytes');\r\n } else if (bytes < BYTES_PER_TB) {\r\n value = (bytes / BYTES_PER_GB).toFixed(1);\r\n unit = translate('unitGigabytes');\r\n } else {\r\n value = (bytes / BYTES_PER_TB).toFixed(1);\r\n unit = translate('unitTerabytes');\r\n }\r\n\r\n return {\r\n value,\r\n unit,\r\n localized: translate('sizeWithUnit', { 0: value, 1: unit })\r\n };\r\n};\r\n\r\nconst MS_PER_SECOND = 1000;\r\nconst SECONDS_PER_MINUTE = 60;\r\nconst SECONDS_PER_HOUR = 3600;\r\nconst HOURS_PER_DAY = 24;\r\nconst HOURS_PER_HALF_DAY = 12;\r\nconst MIN_ELAPSED_SECONDS = 1;\r\n\r\nconst padZero = (n: number): string => (n < 10 ? `0${n}` : `${n}`);\r\n\r\nexport const formatAbsoluteTimestamp = (date: Date, translate: TranslateFn): string => {\r\n const month = date.getMonth() + 1;\r\n const day = date.getDate();\r\n const year = date.getFullYear();\r\n const hours = date.getHours();\r\n const minutes = padZero(date.getMinutes());\r\n const ampm = hours >= HOURS_PER_HALF_DAY ? 'PM' : 'AM';\r\n const hour12 = hours % HOURS_PER_HALF_DAY || HOURS_PER_HALF_DAY;\r\n return translate('dateTimeFormat', { 0: month, 1: day, 2: year, 3: hour12, 4: minutes, 5: ampm });\r\n};\r\n\r\nexport const formatTimestamp = (utcDateStr: string, translate: TranslateFn): string => {\r\n try {\r\n const date = new Date(utcDateStr);\r\n if (isNaN(date.getTime())) {\r\n return utcDateStr;\r\n }\r\n\r\n const diffSeconds = Math.floor((Date.now() - date.getTime()) / MS_PER_SECOND);\r\n\r\n if (diffSeconds < 0) {\r\n return formatAbsoluteTimestamp(date, translate);\r\n }\r\n\r\n if (diffSeconds >= SECONDS_PER_HOUR) {\r\n const hours = Math.floor(diffSeconds / SECONDS_PER_HOUR);\r\n if (hours >= HOURS_PER_DAY) {\r\n return formatAbsoluteTimestamp(date, translate);\r\n }\r\n const unit = hours === 1 ? translate('unitHour') : translate('unitHours');\r\n return translate('timeAgo', { 0: hours, 1: unit });\r\n }\r\n\r\n if (diffSeconds >= SECONDS_PER_MINUTE) {\r\n const minutes = Math.floor(diffSeconds / SECONDS_PER_MINUTE);\r\n const unit = minutes === 1 ? translate('unitMinute') : translate('unitMinutes');\r\n return translate('timeAgo', { 0: minutes, 1: unit });\r\n }\r\n\r\n const seconds = Math.max(diffSeconds, MIN_ELAPSED_SECONDS);\r\n const unit = seconds === 1 ? translate('unitSecond') : translate('unitSeconds');\r\n return translate('timeAgo', { 0: seconds, 1: unit });\r\n } catch {\r\n return utcDateStr;\r\n }\r\n};\r\n\r\nexport const isWithin24Hours = (utcDateStr: string): boolean => {\r\n try {\r\n const diffSeconds = Math.floor((Date.now() - new Date(utcDateStr).getTime()) / MS_PER_SECOND);\r\n return diffSeconds >= 0 && diffSeconds < SECONDS_PER_HOUR * HOURS_PER_DAY;\r\n } catch {\r\n return false;\r\n }\r\n};\r\n","export { Trans } from './Trans.js';\nexport { Trans as TransWithoutContext } from './TransWithoutContext.js';\nexport { useTranslation } from './useTranslation.js';\nexport { withTranslation } from './withTranslation.js';\nexport { Translation } from './Translation.js';\nexport { I18nextProvider } from './I18nextProvider.js';\nexport { withSSR } from './withSSR.js';\nexport { useSSR } from './useSSR.js';\nexport { initReactI18next } from './initReactI18next.js';\nexport { setDefaults, getDefaults } from './defaults.js';\nexport { setI18n, getI18n } from './i18nInstance.js';\nexport { I18nContext, composeInitialProps, getInitialProps } from './context.js';\nexport const date = () => '';\nexport const time = () => '';\nexport const number = () => '';\nexport const select = () => '';\nexport const plural = () => '';\nexport const selectOrdinal = () => '';","import { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport const I18nContext = createContext();\nexport class ReportNamespaces {\n constructor() {\n this.usedNamespaces = {};\n }\n addUsedNamespaces(namespaces) {\n namespaces.forEach(ns => {\n if (!this.usedNamespaces[ns]) this.usedNamespaces[ns] = true;\n });\n }\n getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n}\nexport function composeInitialProps(ForComponent) {\n return ctx => new Promise(resolve => {\n const i18nInitialProps = getInitialProps();\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(componentsInitialProps => {\n resolve({\n ...componentsInitialProps,\n ...i18nInitialProps\n });\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n}\nexport function getInitialProps() {\n const i18n = getI18n();\n const namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n const ret = {};\n const initialI18nStore = {};\n i18n.languages.forEach(l => {\n initialI18nStore[l] = {};\n namespaces.forEach(ns => {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","import { unescape } from './unescape.js';\nlet defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape\n};\nexport function setDefaults() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = {\n ...defaultOptions,\n ...options\n };\n}\nexport function getDefaults() {\n return defaultOptions;\n}","const matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nconst htmlEntities = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n ''': \"'\",\n ''': \"'\",\n '"': '\"',\n '"': '\"',\n ' ': ' ',\n ' ': ' ',\n '©': '©',\n '©': '©',\n '®': '®',\n '®': '®',\n '…': '…',\n '…': '…',\n '/': '/',\n '/': '/'\n};\nconst unescapeHtmlEntity = m => htmlEntities[m];\nexport const unescape = text => text.replace(matchHtmlEntity, unescapeHtmlEntity);","let i18nInstance;\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport const initReactI18next = {\n type: '3rdParty',\n init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import { createElement, useMemo } from 'react';\nimport { I18nContext } from './context.js';\nexport function I18nextProvider(_ref) {\n let {\n i18n,\n defaultNS,\n children\n } = _ref;\n const value = useMemo(() => ({\n i18n,\n defaultNS\n }), [i18n, defaultNS]);\n return createElement(I18nContext.Provider, {\n value\n }, children);\n}","import { useContext } from 'react';\nimport { nodesToString, Trans as TransWithoutContext } from './TransWithoutContext.js';\nimport { getI18n, I18nContext } from './context.js';\nexport { nodesToString };\nexport function Trans(_ref) {\n let {\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n } = _ref;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n const t = tFromProps || i18n && i18n.t.bind(i18n);\n return TransWithoutContext({\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions,\n values,\n defaults,\n components,\n ns: ns || t && t.ns || defaultNSFromContext || i18n && i18n.options && i18n.options.defaultNS,\n i18n,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n });\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport React, { isValidElement, cloneElement, createElement, Children } from 'react';\nimport HTML from 'html-parse-stringify';\nimport { warn, warnOnce } from './utils.js';\nimport { getDefaults } from './defaults.js';\nimport { getI18n } from './i18nInstance.js';\nfunction hasChildren(node, checkLength) {\n if (!node) return false;\n const base = node.props ? node.props.children : node.children;\n if (checkLength) return base.length > 0;\n return !!base;\n}\nfunction getChildren(node) {\n if (!node) return [];\n const children = node.props ? node.props.children : node.children;\n return node.props && node.props.i18nIsDynamicList ? getAsArray(children) : children;\n}\nfunction hasValidReactChildren(children) {\n if (Object.prototype.toString.call(children) !== '[object Array]') return false;\n return children.every(child => isValidElement(child));\n}\nfunction getAsArray(data) {\n return Array.isArray(data) ? data : [data];\n}\nfunction mergeProps(source, target) {\n const newTarget = {\n ...target\n };\n newTarget.props = Object.assign(source.props, target.props);\n return newTarget;\n}\nexport function nodesToString(children, i18nOptions) {\n if (!children) return '';\n let stringNode = '';\n const childrenArray = getAsArray(children);\n const keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];\n childrenArray.forEach((child, childIndex) => {\n if (typeof child === 'string') {\n stringNode += `${child}`;\n } else if (isValidElement(child)) {\n const childPropsCount = Object.keys(child.props).length;\n const shouldKeepChild = keepArray.indexOf(child.type) > -1;\n const childChildren = child.props.children;\n if (!childChildren && shouldKeepChild && childPropsCount === 0) {\n stringNode += `<${child.type}/>`;\n } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {\n stringNode += `<${childIndex}>`;\n } else if (child.props.i18nIsDynamicList) {\n stringNode += `<${childIndex}>`;\n } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {\n stringNode += `<${child.type}>${childChildren}`;\n } else {\n const content = nodesToString(childChildren, i18nOptions);\n stringNode += `<${childIndex}>${content}`;\n }\n } else if (child === null) {\n warn(`Trans: the passed in value is invalid - seems you passed in a null child.`);\n } else if (typeof child === 'object') {\n const {\n format,\n ...clone\n } = child;\n const keys = Object.keys(clone);\n if (keys.length === 1) {\n const value = format ? `${keys[0]}, ${format}` : keys[0];\n stringNode += `{{${value}}}`;\n } else {\n warn(`react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.`, child);\n }\n } else {\n warn(`Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.`, child);\n }\n });\n return stringNode;\n}\nfunction renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {\n if (targetString === '') return [];\n const keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];\n const emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.map(keep => `<${keep}`).join('|')).test(targetString);\n if (!children && !emptyChildrenButNeedsHandling && !shouldUnescape) return [targetString];\n const data = {};\n function getData(childs) {\n const childrenArray = getAsArray(childs);\n childrenArray.forEach(child => {\n if (typeof child === 'string') return;\n if (hasChildren(child)) getData(getChildren(child));else if (typeof child === 'object' && !isValidElement(child)) Object.assign(data, child);\n });\n }\n getData(children);\n const ast = HTML.parse(`<0>${targetString}`);\n const opts = {\n ...data,\n ...combinedTOpts\n };\n function renderInner(child, node, rootReactNode) {\n const childs = getChildren(child);\n const mappedChildren = mapAST(childs, node.children, rootReactNode);\n return hasValidReactChildren(childs) && mappedChildren.length === 0 || child.props && child.props.i18nIsDynamicList ? childs : mappedChildren;\n }\n function pushTranslatedJSX(child, inner, mem, i, isVoid) {\n if (child.dummy) {\n child.children = inner;\n mem.push(cloneElement(child, {\n key: i\n }, isVoid ? undefined : inner));\n } else {\n mem.push(...Children.map([child], c => {\n const props = {\n ...c.props\n };\n delete props.i18nIsDynamicList;\n return React.createElement(c.type, _extends({}, props, {\n key: i,\n ref: c.ref\n }, isVoid ? {} : {\n children: inner\n }));\n }));\n }\n }\n function mapAST(reactNode, astNode, rootReactNode) {\n const reactNodes = getAsArray(reactNode);\n const astNodes = getAsArray(astNode);\n return astNodes.reduce((mem, node, i) => {\n const translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);\n if (node.type === 'tag') {\n let tmp = reactNodes[parseInt(node.name, 10)];\n if (rootReactNode.length === 1 && !tmp) tmp = rootReactNode[0][node.name];\n if (!tmp) tmp = {};\n const child = Object.keys(node.attrs).length !== 0 ? mergeProps({\n props: node.attrs\n }, tmp) : tmp;\n const isElement = isValidElement(child);\n const isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;\n const isEmptyTransWithHTML = emptyChildrenButNeedsHandling && typeof child === 'object' && child.dummy && !isElement;\n const isKnownComponent = typeof children === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);\n if (typeof child === 'string') {\n const value = i18n.services.interpolator.interpolate(child, opts, i18n.language);\n mem.push(value);\n } else if (hasChildren(child) || isValidTranslationWithChildren) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (isEmptyTransWithHTML) {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i);\n } else if (Number.isNaN(parseFloat(node.name))) {\n if (isKnownComponent) {\n const inner = renderInner(child, node, rootReactNode);\n pushTranslatedJSX(child, inner, mem, i, node.voidElement);\n } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {\n if (node.voidElement) {\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }));\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(createElement(node.name, {\n key: `${node.name}-${i}`\n }, inner));\n }\n } else if (node.voidElement) {\n mem.push(`<${node.name} />`);\n } else {\n const inner = mapAST(reactNodes, node.children, rootReactNode);\n mem.push(`<${node.name}>${inner}`);\n }\n } else if (typeof child === 'object' && !isElement) {\n const content = node.children[0] ? translationContent : null;\n if (content) mem.push(content);\n } else {\n pushTranslatedJSX(child, translationContent, mem, i, node.children.length !== 1 || !translationContent);\n }\n } else if (node.type === 'text') {\n const wrapTextNodes = i18nOptions.transWrapTextNodes;\n const content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);\n if (wrapTextNodes) {\n mem.push(createElement(wrapTextNodes, {\n key: `${node.name}-${i}`\n }, content));\n } else {\n mem.push(content);\n }\n }\n return mem;\n }, []);\n }\n const result = mapAST([{\n dummy: true,\n children: children || []\n }], ast, getAsArray(children || []));\n return getChildren(result[0]);\n}\nexport function Trans(_ref) {\n let {\n children,\n count,\n parent,\n i18nKey,\n context,\n tOptions = {},\n values,\n defaults,\n components,\n ns,\n i18n: i18nFromProps,\n t: tFromProps,\n shouldUnescape,\n ...additionalProps\n } = _ref;\n const i18n = i18nFromProps || getI18n();\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');\n return children;\n }\n const t = tFromProps || i18n.t.bind(i18n) || (k => k);\n if (context) tOptions.context = context;\n const reactI18nextOptions = {\n ...getDefaults(),\n ...(i18n.options && i18n.options.react)\n };\n let namespaces = ns || t.ns || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n const nodeAsString = nodesToString(children, reactI18nextOptions);\n const defaultValue = defaults || nodeAsString || reactI18nextOptions.transEmptyNodeValue || i18nKey;\n const {\n hashTransKey\n } = reactI18nextOptions;\n const key = i18nKey || (hashTransKey ? hashTransKey(nodeAsString || defaultValue) : nodeAsString || defaultValue);\n if (i18n.options && i18n.options.interpolation && i18n.options.interpolation.defaultVariables) {\n values = values && Object.keys(values).length > 0 ? {\n ...values,\n ...i18n.options.interpolation.defaultVariables\n } : {\n ...i18n.options.interpolation.defaultVariables\n };\n }\n const interpolationOverride = values ? tOptions.interpolation : {\n interpolation: {\n ...tOptions.interpolation,\n prefix: '#$?',\n suffix: '?$#'\n }\n };\n const combinedTOpts = {\n ...tOptions,\n count,\n ...values,\n ...interpolationOverride,\n defaultValue,\n ns: namespaces\n };\n const translation = key ? t(key, combinedTOpts) : defaultValue;\n if (components) {\n Object.keys(components).forEach(c => {\n const comp = components[c];\n if (typeof comp.type === 'function' || !comp.props || !comp.props.children || translation.indexOf(`${c}/>`) < 0 && translation.indexOf(`${c} />`) < 0) return;\n function Componentized() {\n return React.createElement(React.Fragment, null, comp);\n }\n components[c] = React.createElement(Componentized, null);\n });\n }\n const content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);\n const useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;\n return useAsParent ? createElement(useAsParent, additionalProps, content) : content;\n}","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","var e,t=(e=require(\"void-elements\"))&&\"object\"==typeof e&&\"default\"in e?e.default:e,n=/\\s([^'\"/\\s><]+?)[\\s/>]|([^\\s=]+)=\\s?(\"[^\"]*\"|'[^']*')/g;function r(e){var r={type:\"tag\",name:\"\",voidElement:!1,attrs:{},children:[]},i=e.match(/<\\/?([^\\s]+?)[/\\s>]/);if(i&&(r.name=i[1],(t[i[1]]||\"/\"===e.charAt(e.length-2))&&(r.voidElement=!0),r.name.startsWith(\"!--\"))){var s=e.indexOf(\"--\\x3e\");return{type:\"comment\",comment:-1!==s?e.slice(4,s):\"\"}}for(var a=new RegExp(n),c=null;null!==(c=a.exec(e));)if(c[0].trim())if(c[1]){var l=c[1].trim(),o=[l,\"\"];l.indexOf(\"=\")>-1&&(o=l.split(\"=\")),r.attrs[o[0]]=o[1],a.lastIndex--}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var i=/<[a-zA-Z0-9\\-\\!\\/](?:\"[^\"]*\"|'[^']*'|[^'\">])*>/g,s=/^\\s*$/,a=Object.create(null);function c(e,t){switch(t.type){case\"text\":return e+t.content;case\"tag\":return e+=\"<\"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'=\"'+e[n]+'\"');return t.length?\" \"+t.join(\" \"):\"\"}(t.attrs):\"\")+(t.voidElement?\"/>\":\">\"),t.voidElement?e:e+t.children.reduce(c,\"\")+\"\";case\"comment\":return e+\"\\x3c!--\"+t.comment+\"--\\x3e\"}}module.exports={parse:function(e,t){t||(t={}),t.components||(t.components=a);var n,c=[],l=[],o=-1,u=!1;if(0!==e.indexOf(\"<\")){var h=e.indexOf(\"<\");c.push({type:\"text\",content:-1===h?e:e.substring(0,h)})}for(var f,d=[];f=i.exec(e);)d.push(f);return d.forEach(function(e,t){var n=e[0];if(n&&!n.startsWith(\"\\x3c!--\")){for(var r=0,i=0,s=-1,a=null,c=0;c\"===l&&i++}var o=s>-1&&/[a-zA-Z0-9\\-!/]/.test(n.charAt(s+1));if(r>i&&o){var u=n.substring(0,s),h=n.substring(u.length);d[t][0]=h,d[t].index+=u.length}}}),d.forEach(function(i,a){var h=i[0];if(h){var f=i.index;if(u){if(h!==\"\")return;u=!1}var v,m,p=\"/\"!==h.charAt(1),x=h.startsWith(\"\\x3c!--\"),g=f+h.length,y=e.charAt(g),E=d[a+1];if(\"<\"===y&&E){var b=e.substring(g,E.index);v=b.split(\"<\").length>b.split(\">\").length}if(x){var A=r(h);if(o<0)return c.push(A),c;(m=l[o]).children.push(A);var O=e.slice(g,E?E.index:void 0);return O.length>0&&m.children.push({type:\"text\",content:O}),c}if(p&&(o++,\"tag\"===(n=r(h)).type&&t.components[n.name]&&(n.type=\"component\",u=!0),n.voidElement||u||!y||\"<\"===y||n.children.push({type:\"text\",content:e.slice(g,E?E.index:void 0)}),0===o&&c.push(n),(m=l[o-1])&&m.children.push(n),l[o]=n),(!p||n.voidElement)&&(o>-1&&(n.voidElement||n.name===h.slice(2,-1))&&(o--,n=-1===o?c:l[o]),!u&&(\"<\"!==y||v)&&y)){m=-1===o?c:l[o].children;var j=E?E.index:-1,W=e.slice(g,-1===j?void 0:j);s.test(W)&&(W=\" \"),(j>-1&&o+m.length>=0||\" \"!==W)&&m.push({type:\"text\",content:W})}}}),c},stringify:function(e){return e.reduce(function(e,t){return e+c(\"\",t)},\"\")}};\n//# sourceMappingURL=html-parse-stringify.js.map\n","/**\n * This file automatically generated from `pre-publish.js`.\n * Do not manually edit.\n */\n\nmodule.exports = {\n \"area\": true,\n \"base\": true,\n \"br\": true,\n \"col\": true,\n \"embed\": true,\n \"hr\": true,\n \"img\": true,\n \"input\": true,\n \"link\": true,\n \"meta\": true,\n \"param\": true,\n \"source\": true,\n \"track\": true,\n \"wbr\": true\n};\n","export function warn() {\n if (console && console.warn) {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (typeof args[0] === 'string') args[0] = `react-i18next:: ${args[0]}`;\n console.warn(...args);\n }\n}\nconst alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn(...args);\n}\nconst loadedClb = (i18n, cb) => () => {\n if (i18n.isInitialized) {\n cb();\n } else {\n const initialized = () => {\n setTimeout(() => {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n i18n.on('initialized', initialized);\n }\n};\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, loadedClb(i18n, cb));\n}\nexport function loadLanguages(i18n, lng, ns, cb) {\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(n => {\n if (i18n.options.ns.indexOf(n) < 0) i18n.options.ns.push(n);\n });\n i18n.loadLanguages(lng, loadedClb(i18n, cb));\n}\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const lng = i18n.languages[0];\n const fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n const lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n const loadNotPending = (l, n) => {\n const loadState = i18n.services.backendConnector.state[`${l}|${n}`];\n return loadState === -1 || loadState === 2;\n };\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\nexport function hasLoadedNamespace(ns, i18n) {\n let options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n const isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n return i18n.hasLoadedNamespace(ns, {\n lng: options.lng,\n precheck: (i18nInstance, loadNotPending) => {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import { useTranslation } from './useTranslation.js';\nexport function Translation(props) {\n const {\n ns,\n children,\n ...options\n } = props;\n const [t, i18n, ready] = useTranslation(ns, options);\n return children(t, {\n i18n,\n lng: i18n.language\n }, ready);\n}","import { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context.js';\nimport { warnOnce, loadNamespaces, loadLanguages, hasLoadedNamespace } from './utils.js';\nconst usePrevious = (value, ignore) => {\n const ref = useRef();\n useEffect(() => {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\nexport function useTranslation(ns) {\n let props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext,\n defaultNS: defaultNSFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n const notReadyT = (k, optsOrDefaultValue) => {\n if (typeof optsOrDefaultValue === 'string') return optsOrDefaultValue;\n if (optsOrDefaultValue && typeof optsOrDefaultValue === 'object' && typeof optsOrDefaultValue.defaultValue === 'string') return optsOrDefaultValue.defaultValue;\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n const retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');\n const i18nOptions = {\n ...getDefaults(),\n ...i18n.options.react,\n ...props\n };\n const {\n useSuspense,\n keyPrefix\n } = i18nOptions;\n let namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n const ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(n => hasLoadedNamespace(n, i18n, i18nOptions));\n function getT() {\n return i18n.getFixedT(props.lng || null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n const [t, setT] = useState(getT);\n let joinedNS = namespaces.join();\n if (props.lng) joinedNS = `${props.lng}${joinedNS}`;\n const previousJoinedNS = usePrevious(joinedNS);\n const isMounted = useRef(true);\n useEffect(() => {\n const {\n bindI18n,\n bindI18nStore\n } = i18nOptions;\n isMounted.current = true;\n if (!ready && !useSuspense) {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => {\n if (isMounted.current) setT(getT);\n });\n } else {\n loadNamespaces(i18n, namespaces, () => {\n if (isMounted.current) setT(getT);\n });\n }\n }\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return () => {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(e => i18n.off(e, boundReset));\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(e => i18n.store.off(e, boundReset));\n };\n }, [i18n, joinedNS]);\n const isInitial = useRef(true);\n useEffect(() => {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n const ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(resolve => {\n if (props.lng) {\n loadLanguages(i18n, props.lng, namespaces, () => resolve());\n } else {\n loadNamespaces(i18n, namespaces, () => resolve());\n }\n });\n}","import { useContext } from 'react';\nimport { getI18n, I18nContext } from './context.js';\nexport function useSSR(initialI18nStore, initialLanguage) {\n let props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n const {\n i18n: i18nFromProps\n } = props;\n const {\n i18n: i18nFromContext\n } = useContext(I18nContext) || {};\n const i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n.options && i18n.options.isClone) return;\n if (initialI18nStore && !i18n.initializedStoreOnce) {\n i18n.services.resourceStore.data = initialI18nStore;\n i18n.options.ns = Object.values(initialI18nStore).reduce((mem, lngResources) => {\n Object.keys(lngResources).forEach(ns => {\n if (mem.indexOf(ns) < 0) mem.push(ns);\n });\n return mem;\n }, i18n.options.ns);\n i18n.initializedStoreOnce = true;\n i18n.isInitialized = true;\n }\n if (initialLanguage && !i18n.initializedLanguageOnce) {\n i18n.changeLanguage(initialLanguage);\n i18n.initializedLanguageOnce = true;\n }\n}","import { createElement } from 'react';\nimport { useSSR } from './useSSR.js';\nimport { composeInitialProps } from './context.js';\nimport { getDisplayName } from './utils.js';\nexport function withSSR() {\n return function Extend(WrappedComponent) {\n function I18nextWithSSR(_ref) {\n let {\n initialI18nStore,\n initialLanguage,\n ...rest\n } = _ref;\n useSSR(initialI18nStore, initialLanguage);\n return createElement(WrappedComponent, {\n ...rest\n });\n }\n I18nextWithSSR.getInitialProps = composeInitialProps(WrappedComponent);\n I18nextWithSSR.displayName = `withI18nextSSR(${getDisplayName(WrappedComponent)})`;\n I18nextWithSSR.WrappedComponent = WrappedComponent;\n return I18nextWithSSR;\n };\n}","import { createElement, forwardRef as forwardRefReact } from 'react';\nimport { useTranslation } from './useTranslation.js';\nimport { getDisplayName } from './utils.js';\nexport function withTranslation(ns) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n return function Extend(WrappedComponent) {\n function I18nextWithTranslation(_ref) {\n let {\n forwardedRef,\n ...rest\n } = _ref;\n const [t, i18n, ready] = useTranslation(ns, {\n ...rest,\n keyPrefix: options.keyPrefix\n });\n const passDownProps = {\n ...rest,\n t,\n i18n,\n tReady: ready\n };\n if (options.withRef && forwardedRef) {\n passDownProps.ref = forwardedRef;\n } else if (!options.withRef && forwardedRef) {\n passDownProps.forwardedRef = forwardedRef;\n }\n return createElement(WrappedComponent, passDownProps);\n }\n I18nextWithTranslation.displayName = `withI18nextTranslation(${getDisplayName(WrappedComponent)})`;\n I18nextWithTranslation.WrappedComponent = WrappedComponent;\n const forwardRef = (props, ref) => createElement(I18nextWithTranslation, Object.assign({}, props, {\n forwardedRef: ref\n }));\n return options.withRef ? forwardRefReact(forwardRef) : I18nextWithTranslation;\n };\n}","export const MESSAGE_TYPES = {\n KFM_SCAN_INITIALIZED: 'kfmScanInitialized',\n KFM_STATE_UPDATE: 'kfmUpdatedState',\n KFM_SPACED_USED: 'kfmSpaceUsedInfoState',\n KFM_INFO_STATE: 'infoState',\n USER_INPUT_DIALOG: 'userInputDialogState',\n KFM_STORAGE_LINK: 'kfmStorageLink',\n KFM_OPT_OUT_DIALOG_STATE: 'kfmOptOutDialogState',\n KFM_OPT_OUT_RESULT_DIALOG_STATE: 'kfmOptOutResultDialogState',\n KFM_PENDING_BANNER_STATE: 'kfmSilentPendingBannerState',\n ACTIVITY_CENTER: 'activityCenter',\n UPDATE_SYNC_STATUS: 'updateSyncStatus',\n UPDATE_VISUAL_STATE: 'updateVisualState',\n UPDATE_ACM_STATE: 'notifyACMUpdated',\n GET_COAUTH_LOCKED_ITEMS: 'coauthLockedItems',\n ACTIVITY_CENTER_REOPENED: 'reopenAC',\n ACTIVITY_CENTER_HIDDEN: 'ACHidden',\n ACTIVITY_CENTER_HANDLE_ESC: 'handleEscapeKey',\n ACTIVITY_CENTER_REMOVE_HISTORY_ITEM: 'removeHistoryItem',\n ACTIVITY_CENTER_THUMBNAIL_UPDATED: 'thumbnailUpdated',\n FOLDER_COLOR_CHANGED: 'FolderColor.Changed',\n FOLDER_COLOR_VISUAL_STATE_CHANGED: 'FolderColor.VisualStateChanged',\n FOLDER_COLOR_SAVING_ERROR: 'FolderColor.Error',\n VAULT_SET_SHOULD_DISABLE_BUTTON: 'setShouldDisableButton',\n VAULT_SET_SHOULD_DISABLE_BUTTON: 'setShouldDisableButton',\n PURCAHSE_VIEW_SET_PRODUCT_CARD_ONE: 'setProductCardOne',\n PURCAHSE_VIEW_SET_PRODUCT_CARD_TWO: 'setProductCardTwo',\n PURCAHSE_VIEW_SET_PRODUCT_CARD_SUCCESS: 'setProductCardSuccess',\n SET_SHOW_PRODUCT_CARD: 'setShowProductCard',\n SET_STATE_CHANGES: 'setStateChanges',\n COPILOT_DIALOG_THUMB_CLICKED: 'CopilotDialog.ThumbClicked',\n COPILOT_DIALOG_VISUAL_STATE_CHANGED: 'CopilotDialog.VisualStateChanged',\n ACTIVITY_CENTER_OPEN_FIRST_COPILOT_ELIGIBLE_ITEM_CONTEXT_MENU: 'openFirstCopilotEligibleItemContextMenu',\n MACBOX_UPGRADE_PROGRESS: 'macboxUpgradeProgress'\n};\n\nexport const ROUTE_URL_BASE = 'http://localhost:9001/sync/';\n\nexport const UX_RN_VIEW_DATA_LOADED = 'UXRNViewDataLoaded';\n","'use strict'\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./redux-toolkit.cjs.production.min.js')\n} else {\n module.exports = require('./redux-toolkit.cjs.development.js')\n}","var e,n=this&&this.__extends||(e=function(n,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,n){e.__proto__=n}||function(e,n){for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])},e(n,t)},function(n,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");function r(){this.constructor=n}e(n,t),n.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),t=this&&this.__generator||function(e,n){var t,r,i,o,u={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(t)throw new TypeError(\"Generator is already executing.\");for(;u;)try{if(t=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return u.label++,{value:o[1],done:!1};case 5:u.label++,r=o[1],o=[0];continue;case 7:o=u.ops.pop(),u.trys.pop();continue;default:if(!((i=(i=u.trys).length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){u=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]-1}function z(e){return\"\"+e}function N(e){return void 0===e&&(e={}),function(){return function(e){return function(n){return e(n)}}}}var V=m(require(\"immer\")),B=function(e){function t(){for(var n=[],r=0;r\",value:e};if(\"object\"!=typeof e||null===e)return!1;if(null==o?void 0:o.has(e))return!1;for(var a=null!=r?r(e):Object.entries(e),c=i.length>0,f=function(e,a){var f=n?n+\".\"+e:e;return c&&i.some((function(e){return e instanceof RegExp?e.test(f):f===e}))?\"continue\":t(a)?\"object\"==typeof a&&(u=H(a,f,t,r,i,o))?{value:u}:void 0:{value:{keyPath:f,value:a}}},l=0,s=a;l0){var o=n.filter((function(n){return function(n,t,r){var i=Object.assign({},r.entities[t.id],t.changes),o=ie(i,e),u=o!==t.id;return u&&(n[t.id]=o,delete r.entities[t.id]),r.entities[o]=i,u}(r,n,t)})).length>0;o&&(t.ids=Object.keys(t.entities))}}function u(n,r){var i=ue(n,e,r),u=i[0];o(i[1],r),t(u,r)}return{removeAll:(a=function(e){Object.assign(e,{ids:[],entities:{}})},c=re((function(e,n){return a(n)})),function(e){return c(e,void 0)}),addOne:re(n),addMany:re(t),setOne:re(r),setMany:re((function(e,n){for(var t=0,i=e=oe(e);t-1;return t&&r}function we(e){return\"function\"==typeof e[0]&&\"pending\"in e[0]&&\"fulfilled\"in e[0]&&\"rejected\"in e[0]}function Oe(){for(var e=[],n=0;n0)for(var d=e.getState(),p=Array.from(r.values()),v=0,y=p;v1?r-1:0),e=1;e3?r.t-4:r.t:Array.isArray(n)?1:c(n)?2:v(n)?3:0}function u(n,r){return 2===i(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function o(n,r){return 2===i(n)?n.get(r):n[r]}function f(n,r,t){var e=i(n);2===e?n.set(r,t):3===e?n.add(t):n[r]=t}function a(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function c(n){return W&&n instanceof Map}function v(n){return X&&n instanceof Set}function s(n){return n.i||n.u}function p(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=U(n);delete r[H];for(var t=T(r),e=0;e1&&(n.set=n.add=n.clear=n.delete=d),Object.freeze(n),u&&e(n,(function(n,r){return l(r,!0)}),!0)),n}function d(){n(2)}function h(n){return null==n||\"object\"!=typeof n||Object.isFrozen(n)}function y(r){var t=V[r];return t||n(18,r),t}function _(n,r){V[n]||(V[n]=r)}function b(){return I}function m(n,r){r&&(y(\"Patches\"),n.o=[],n.v=[],n.s=r)}function j(n){O(n),n.p.forEach(w),n.p=null}function O(n){n===I&&(I=n.l)}function x(n){return I={p:[],l:I,h:n,_:!0,m:0}}function w(n){var r=n[H];0===r.t||1===r.t?r.j():r.O=!0}function S(r,e){e.m=e.p.length;var i=e.p[0],u=void 0!==r&&r!==i;return e.h.S||y(\"ES5\").P(e,r,u),u?(i[H].g&&(j(e),n(4)),t(r)&&(r=P(e,r),e.l||M(e,r)),e.o&&y(\"Patches\").M(i[H].u,r,e.o,e.v)):r=P(e,i,[]),j(e),e.o&&e.s(e.o,e.v),r!==B?r:void 0}function P(n,r,t){if(h(r))return r;var i=r[H];if(!i)return e(r,(function(e,u){return g(n,i,r,e,u,t)}),!0),r;if(i.A!==n)return r;if(!i.g)return M(n,i.u,!0),i.u;if(!i.R){i.R=!0,i.A.m--;var u=4===i.t||5===i.t?i.i=p(i.k):i.i,o=u,f=!1;3===i.t&&(o=new Set(u),u.clear(),f=!0),e(o,(function(r,e){return g(n,i,u,r,e,t,f)})),M(n,u,!1),t&&n.o&&y(\"Patches\").F(i,t,n.o,n.v)}return i.i}function g(n,e,i,o,a,c,v){if(r(a)){var s=P(n,a,c&&e&&3!==e.t&&!u(e.N,o)?c.concat(o):void 0);if(f(i,o,s),!r(s))return;n._=!1}else v&&i.add(a);if(t(a)&&!h(a)){if(!n.h.D&&n.m<1)return;P(n,a),e&&e.A.l||M(n,a)}}function M(n,r,t){void 0===t&&(t=!1),!n.l&&n.h.D&&n._&&l(r,t)}function A(n,r){var t=n[H];return(t?s(t):n)[r]}function z(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t)}}function E(n){n.g||(n.g=!0,n.l&&E(n.l))}function R(n){n.i||(n.i=p(n.u))}function k(n,r,t){var e=c(r)?y(\"MapSet\").K(r,t):v(r)?y(\"MapSet\").$(r,t):n.S?function(n,r){var t=Array.isArray(n),e={t:t?1:0,A:r?r.A:b(),g:!1,R:!1,N:{},l:r,u:n,k:null,i:null,j:null,C:!1},i=e,u=Y;t&&(i=[e],u=Z);var o=Proxy.revocable(i,u),f=o.revoke,a=o.proxy;return e.k=a,e.j=f,a}(r,t):y(\"ES5\").I(r,t);return(t?t.A:b()).p.push(e),e}function F(u){return r(u)||n(22,u),function n(r){if(!t(r))return r;var u,a=r[H],c=i(r);if(a){if(!a.g&&(a.t<4||!y(\"ES5\").J(a)))return a.u;a.R=!0,u=N(r,c),a.R=!1}else u=N(r,c);return e(u,(function(r,t){a&&o(a.u,r)===t||f(u,r,n(t))})),3===c?new Set(u):u}(u)}function N(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return p(n)}function D(){function n(n,r){var t=f[n];return t?t.enumerable=r:f[n]=t={configurable:!0,enumerable:r,get:function(){return Y.get(this[H],n)},set:function(r){Y.set(this[H],n,r)}},t}function t(n){for(var r=n.length-1;r>=0;r--){var t=n[r][H];if(!t.g)switch(t.t){case 5:o(t)&&E(t);break;case 4:i(t)&&E(t)}}}function i(n){for(var r=n.u,t=n.k,e=T(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==H){var f=r[o];if(void 0===f&&!u(r,o))return!0;var c=t[o],v=c&&c[H];if(v?v.u!==f:!a(c,f))return!0}}var s=!!r[H];return e.length!==T(r).length+(s?0:1)}function o(n){var r=n.k;if(r.length!==n.u.length)return!0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return!0;for(var e=0;e1?t-1:0),u=1;u1?t-1:0),u=1;u=0;e--){var i=t[e];if(0===i.path.length&&\"replace\"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var u=y(\"Patches\").W;return r(n)?u(n,t):this.produce(n,(function(n){return u(n,t)}))},e}(),rn=new nn,tn=rn.produce,en=rn.produceWithPatches.bind(rn),un=rn.setAutoFreeze.bind(rn),on=rn.setUseProxies.bind(rn),fn=rn.applyPatches.bind(rn),an=rn.createDraft.bind(rn),cn=rn.finishDraft.bind(rn);exports.Immer=nn,exports.applyPatches=fn,exports.castDraft=function(n){return n},exports.castImmutable=function(n){return n},exports.createDraft=an,exports.current=F,exports.default=tn,exports.enableAllPlugins=function(){D(),$(),K()},exports.enableES5=D,exports.enableMapSet=$,exports.enablePatches=K,exports.finishDraft=cn,exports.freeze=l,exports.immerable=G,exports.isDraft=r,exports.isDraftable=t,exports.nothing=B,exports.original=function(t){return r(t)||n(23,t),t[H].u},exports.produce=tn,exports.produceWithPatches=en,exports.setAutoFreeze=un,exports.setUseProxies=on;\n//# sourceMappingURL=immer.cjs.production.min.js.map\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _objectSpread = require('@babel/runtime/helpers/objectSpread2');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _objectSpread__default = /*#__PURE__*/_interopDefaultLegacy(_objectSpread);\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread__default['default'](_objectSpread__default['default']({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\nexports.__DO_NOT_USE__ActionTypes = ActionTypes;\nexports.applyMiddleware = applyMiddleware;\nexports.bindActionCreators = bindActionCreators;\nexports.combineReducers = combineReducers;\nexports.compose = compose;\nexports.createStore = createStore;\nexports.legacy_createStore = legacy_createStore;\n","var defineProperty = require(\"./defineProperty.js\");\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nmodule.exports = _objectSpread2, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSelector = void 0;\nexports.createSelectorCreator = createSelectorCreator;\nexports.createStructuredSelector = void 0;\nObject.defineProperty(exports, \"defaultEqualityCheck\", {\n enumerable: true,\n get: function get() {\n return _defaultMemoize.defaultEqualityCheck;\n }\n});\nObject.defineProperty(exports, \"defaultMemoize\", {\n enumerable: true,\n get: function get() {\n return _defaultMemoize.defaultMemoize;\n }\n});\n\nvar _defaultMemoize = require(\"./defaultMemoize\");\n\nfunction getDependencies(funcs) {\n var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;\n\n if (!dependencies.every(function (dep) {\n return typeof dep === 'function';\n })) {\n var dependencyTypes = dependencies.map(function (dep) {\n return typeof dep === 'function' ? \"function \" + (dep.name || 'unnamed') + \"()\" : typeof dep;\n }).join(', ');\n throw new Error(\"createSelector expects all input-selectors to be functions, but received the following types: [\" + dependencyTypes + \"]\");\n }\n\n return dependencies;\n}\n\nfunction createSelectorCreator(memoize) {\n for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n memoizeOptionsFromArgs[_key - 1] = arguments[_key];\n }\n\n var createSelector = function createSelector() {\n for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n funcs[_key2] = arguments[_key2];\n }\n\n var _recomputations = 0;\n\n var _lastResult; // Due to the intricacies of rest params, we can't do an optional arg after `...funcs`.\n // So, start by declaring the default value here.\n // (And yes, the words 'memoize' and 'options' appear too many times in this next sequence.)\n\n\n var directlyPassedOptions = {\n memoizeOptions: undefined\n }; // Normally, the result func or \"output selector\" is the last arg\n\n var resultFunc = funcs.pop(); // If the result func is actually an _object_, assume it's our options object\n\n if (typeof resultFunc === 'object') {\n directlyPassedOptions = resultFunc; // and pop the real result func off\n\n resultFunc = funcs.pop();\n }\n\n if (typeof resultFunc !== 'function') {\n throw new Error(\"createSelector expects an output function after the inputs, but received: [\" + typeof resultFunc + \"]\");\n } // Determine which set of options we're using. Prefer options passed directly,\n // but fall back to options given to createSelectorCreator.\n\n\n var _directlyPassedOption = directlyPassedOptions,\n _directlyPassedOption2 = _directlyPassedOption.memoizeOptions,\n memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2; // Simplifying assumption: it's unlikely that the first options arg of the provided memoizer\n // is an array. In most libs I've looked at, it's an equality function or options object.\n // Based on that, if `memoizeOptions` _is_ an array, we assume it's a full\n // user-provided array of options. Otherwise, it must be just the _first_ arg, and so\n // we wrap it in an array so we can apply it.\n\n var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];\n var dependencies = getDependencies(funcs);\n var memoizedResultFunc = memoize.apply(void 0, [function recomputationWrapper() {\n _recomputations++; // apply arguments instead of spreading for performance.\n\n return resultFunc.apply(null, arguments);\n }].concat(finalMemoizeOptions)); // If a selector is called with the exact same arguments we don't need to traverse our dependencies again.\n\n var selector = memoize(function dependenciesChecker() {\n var params = [];\n var length = dependencies.length;\n\n for (var i = 0; i < length; i++) {\n // apply arguments instead of spreading and mutate a local list of params for performance.\n // @ts-ignore\n params.push(dependencies[i].apply(null, arguments));\n } // apply arguments instead of spreading for performance.\n\n\n _lastResult = memoizedResultFunc.apply(null, params);\n return _lastResult;\n });\n Object.assign(selector, {\n resultFunc: resultFunc,\n memoizedResultFunc: memoizedResultFunc,\n dependencies: dependencies,\n lastResult: function lastResult() {\n return _lastResult;\n },\n recomputations: function recomputations() {\n return _recomputations;\n },\n resetRecomputations: function resetRecomputations() {\n return _recomputations = 0;\n }\n });\n return selector;\n }; // @ts-ignore\n\n\n return createSelector;\n}\n\nvar createSelector = /* #__PURE__ */createSelectorCreator(_defaultMemoize.defaultMemoize);\nexports.createSelector = createSelector;\n\n// Manual definition of state and output arguments\nvar createStructuredSelector = function createStructuredSelector(selectors, selectorCreator) {\n if (selectorCreator === void 0) {\n selectorCreator = createSelector;\n }\n\n if (typeof selectors !== 'object') {\n throw new Error('createStructuredSelector expects first argument to be an object ' + (\"where each property is a selector, instead received a \" + typeof selectors));\n }\n\n var objectKeys = Object.keys(selectors);\n var resultSelector = selectorCreator( // @ts-ignore\n objectKeys.map(function (key) {\n return selectors[key];\n }), function () {\n for (var _len3 = arguments.length, values = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n values[_key3] = arguments[_key3];\n }\n\n return values.reduce(function (composition, value, index) {\n composition[objectKeys[index]] = value;\n return composition;\n }, {});\n });\n return resultSelector;\n};\n\nexports.createStructuredSelector = createStructuredSelector;","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createCacheKeyComparator = createCacheKeyComparator;\nexports.defaultEqualityCheck = void 0;\nexports.defaultMemoize = defaultMemoize;\n// Cache implementation based on Erik Rasmussen's `lru-memoize`:\n// https://github.com/erikras/lru-memoize\nvar NOT_FOUND = 'NOT_FOUND';\n\nfunction createSingletonCache(equals) {\n var entry;\n return {\n get: function get(key) {\n if (entry && equals(entry.key, key)) {\n return entry.value;\n }\n\n return NOT_FOUND;\n },\n put: function put(key, value) {\n entry = {\n key: key,\n value: value\n };\n },\n getEntries: function getEntries() {\n return entry ? [entry] : [];\n },\n clear: function clear() {\n entry = undefined;\n }\n };\n}\n\nfunction createLruCache(maxSize, equals) {\n var entries = [];\n\n function get(key) {\n var cacheIndex = entries.findIndex(function (entry) {\n return equals(key, entry.key);\n }); // We found a cached entry\n\n if (cacheIndex > -1) {\n var entry = entries[cacheIndex]; // Cached entry not at top of cache, move it to the top\n\n if (cacheIndex > 0) {\n entries.splice(cacheIndex, 1);\n entries.unshift(entry);\n }\n\n return entry.value;\n } // No entry found in cache, return sentinel\n\n\n return NOT_FOUND;\n }\n\n function put(key, value) {\n if (get(key) === NOT_FOUND) {\n // TODO Is unshift slow?\n entries.unshift({\n key: key,\n value: value\n });\n\n if (entries.length > maxSize) {\n entries.pop();\n }\n }\n }\n\n function getEntries() {\n return entries;\n }\n\n function clear() {\n entries = [];\n }\n\n return {\n get: get,\n put: put,\n getEntries: getEntries,\n clear: clear\n };\n}\n\nvar defaultEqualityCheck = function defaultEqualityCheck(a, b) {\n return a === b;\n};\n\nexports.defaultEqualityCheck = defaultEqualityCheck;\n\nfunction createCacheKeyComparator(equalityCheck) {\n return function areArgumentsShallowlyEqual(prev, next) {\n if (prev === null || next === null || prev.length !== next.length) {\n return false;\n } // Do this in a for loop (and not a `forEach` or an `every`) so we can determine equality as fast as possible.\n\n\n var length = prev.length;\n\n for (var i = 0; i < length; i++) {\n if (!equalityCheck(prev[i], next[i])) {\n return false;\n }\n }\n\n return true;\n };\n}\n\n// defaultMemoize now supports a configurable cache size with LRU behavior,\n// and optional comparison of the result value with existing values\nfunction defaultMemoize(func, equalityCheckOrOptions) {\n var providedOptions = typeof equalityCheckOrOptions === 'object' ? equalityCheckOrOptions : {\n equalityCheck: equalityCheckOrOptions\n };\n var _providedOptions$equa = providedOptions.equalityCheck,\n equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa,\n _providedOptions$maxS = providedOptions.maxSize,\n maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS,\n resultEqualityCheck = providedOptions.resultEqualityCheck;\n var comparator = createCacheKeyComparator(equalityCheck);\n var cache = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator); // we reference arguments instead of spreading them for performance reasons\n\n function memoized() {\n var value = cache.get(arguments);\n\n if (value === NOT_FOUND) {\n // @ts-ignore\n value = func.apply(null, arguments);\n\n if (resultEqualityCheck) {\n var entries = cache.getEntries();\n var matchingEntry = entries.find(function (entry) {\n return resultEqualityCheck(entry.value, value);\n });\n\n if (matchingEntry) {\n value = matchingEntry.value;\n }\n }\n\n cache.put(arguments, value);\n }\n\n return value;\n }\n\n memoized.clearCache = function () {\n return cache.clear();\n };\n\n return memoized;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/** A function that accepts a potential \"extra argument\" value to be injected later,\r\n * and returns an instance of the thunk middleware that uses that value\r\n */\nfunction createThunkMiddleware(extraArgument) {\n // Standard Redux middleware definition pattern:\n // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware\n var middleware = function middleware(_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n // The thunk middleware looks for any functions that were passed to `store.dispatch`.\n // If this \"action\" is really a function, call it and return the result.\n if (typeof action === 'function') {\n // Inject the store's `dispatch` and `getState` methods, as well as any \"extra arg\"\n return action(dispatch, getState, extraArgument);\n } // Otherwise, pass the action down the middleware chain as usual\n\n\n return next(action);\n };\n };\n };\n\n return middleware;\n}\n\nvar thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version\n// with whatever \"extra arg\" they want to inject into their thunks\n\nthunk.withExtraArgument = createThunkMiddleware;\nvar _default = thunk;\nexports.default = _default;","import { createSelector } from '@reduxjs/toolkit';\r\nimport { RootState } from '../../store';\r\nimport {\r\n EcsRamp,\r\n IBvtPressRequest,\r\n IBvtRenderRequest,\r\n IBvtSetTextRequest,\r\n ICommonState,\r\n IDebugInfo,\r\n Metadata,\r\n UpdateRingKillSwitch,\r\n UpdateRingRamp\r\n} from '../types';\r\n\r\n// select top level state using plain selector function\r\nconst selectCommon = (state: RootState): ICommonState => state.common;\r\n\r\n// memoize selectors using createSelector from redux-toolkit to avoid unnecessary re-renders\r\n// createSelector takes an array of input selectors and a transform function as arguments.\r\n// documentation for createSelector: https://redux-toolkit.js.org/api/createSelector\r\n\r\n// Selectors for Update Ring Ramps\r\nexport const selectUpdateRingRampsTable = createSelector(\r\n [selectCommon],\r\n (common: ICommonState) => common.updateRingSettings?.updateRingRampsTable\r\n);\r\nexport const selectUpdateRingRamp = createSelector(\r\n [\r\n selectUpdateRingRampsTable,\r\n (state: RootState, id: UpdateRingRamp) => id // pass in the id as a second argument to the selector\r\n ],\r\n (updateRingRampTable, id) => (updateRingRampTable ? updateRingRampTable[id] : undefined)\r\n);\r\n\r\n// Selectors for Update Ring Kill Switches\r\nexport const selectUpdateRingKillSwitchesTable = createSelector(\r\n [selectCommon],\r\n (common: ICommonState) => common.updateRingSettings?.updateRingKillSwitchesTable\r\n);\r\nexport const selectUpdateRingKillSwitch = createSelector(\r\n [\r\n selectUpdateRingKillSwitchesTable,\r\n (state: RootState, id: UpdateRingKillSwitch) => id // pass in the id as a second argument to the selector\r\n ],\r\n (updateRingKillSwitchesTable, id) =>\r\n updateRingKillSwitchesTable ? updateRingKillSwitchesTable[id] : undefined\r\n);\r\n\r\n// Selectors for Update Ring Settings\r\nexport const selectUpdateRingSettingsTable = createSelector(\r\n [selectCommon],\r\n (common: ICommonState) => common.updateRingSettings?.updateRingSettingsTable\r\n);\r\nexport const selectUpdateRingSetting = createSelector(\r\n [\r\n selectUpdateRingSettingsTable,\r\n (state: RootState, id: UpdateRingKillSwitch) => id // pass in the id as a second argument to the selector\r\n ],\r\n (updateRingSettingsTable, id) => (updateRingSettingsTable ? updateRingSettingsTable[id] : undefined)\r\n);\r\n\r\n// Selectors for ECS Ramps\r\nexport const selectEcsRampsTable = createSelector(\r\n [selectCommon],\r\n (common: ICommonState) => common.updateRingSettings?.ecsRampsTable\r\n);\r\nexport const selectEcsRamp = createSelector(\r\n [\r\n selectEcsRampsTable,\r\n (state: RootState, id: EcsRamp) => id // pass in the id as a second argument to the selector\r\n ],\r\n (ecsRampsTable, id) => (ecsRampsTable ? ecsRampsTable[id] : undefined)\r\n);\r\n\r\nexport const selectMetadata = createSelector(\r\n [selectCommon],\r\n (common: ICommonState): Metadata => common.metadata\r\n);\r\n\r\nexport const selectTextScaleFactor = createSelector(\r\n [selectCommon],\r\n (common: ICommonState): number => common.metadata?.windows?.textScaleFactor ?? 1\r\n);\r\n\r\nexport const selectIsAppReady = createSelector([selectMetadata], (metadata: Metadata) => {\r\n return metadata !== null;\r\n});\r\n\r\n// select failedFetch from state\r\nexport const selectFailedFetch = createSelector([selectCommon], (common: ICommonState) => common.failedFetch);\r\n\r\nexport const selectIsReportABugEnabled = createSelector([selectMetadata], (metadata: Metadata) => {\r\n return metadata?.feedback.isReportABugEnabled;\r\n});\r\n\r\nexport const selectViewActivated = createSelector(\r\n [selectCommon],\r\n (common: ICommonState): string | undefined => {\r\n return common.viewActivated;\r\n }\r\n);\r\n\r\nexport const selectBvtPressRequest = createSelector(\r\n [selectCommon],\r\n (common: ICommonState): IBvtPressRequest | undefined => {\r\n return common.bvtPressRequest;\r\n }\r\n);\r\n\r\nexport const selectBvtRenderRequest = createSelector(\r\n [selectCommon],\r\n (common: ICommonState): IBvtRenderRequest | undefined => common.bvtRenderRequest\r\n);\r\n\r\nexport const selectBvtSetTextRequest = createSelector(\r\n [selectCommon],\r\n (common: ICommonState): IBvtSetTextRequest | undefined => {\r\n return common.bvtSetTextRequest;\r\n }\r\n);\r\n\r\nexport const selectDebugInfo = createSelector(\r\n [selectCommon],\r\n (common: ICommonState): IDebugInfo | undefined => {\r\n return common.debugInfo;\r\n }\r\n);\r\n","import React from 'react';\r\nimport { IGlobal } from './common/types';\r\nimport { AppRegistry } from 'react-native';\r\nimport { store } from './store';\r\nimport { Provider } from 'react-redux';\r\nimport { CommonLoader } from './common/loader/CommonLoader';\r\nimport { IMessageHandlerProps } from './common/dataHandler/NativeDataHandler';\r\n\r\nexport const registerViewWithCommonLoader = (\r\n appKey: string,\r\n viewType: React.ComponentType,\r\n messageHandlerType?: React.ComponentType\r\n): void => {\r\n const view = (): JSX.Element => {\r\n if ((global as IGlobal).lastAppKey === undefined) {\r\n (global as IGlobal).lastAppKey = appKey;\r\n }\r\n return (\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n AppRegistry.registerComponent(appKey, () => view);\r\n};\r\n","\"use strict\";\n\nexports.__esModule = true;\nvar _exportNames = {\n batch: true\n};\nObject.defineProperty(exports, \"batch\", {\n enumerable: true,\n get: function () {\n return _reactBatchedUpdates.unstable_batchedUpdates;\n }\n});\n\nvar _shim = require(\"use-sync-external-store/shim\");\n\nvar _withSelector = require(\"use-sync-external-store/shim/with-selector\");\n\nvar _reactBatchedUpdates = require(\"./utils/reactBatchedUpdates\");\n\nvar _batch = require(\"./utils/batch\");\n\nvar _useSelector = require(\"./hooks/useSelector\");\n\nvar _connect = require(\"./components/connect\");\n\nvar _exports = require(\"./exports\");\n\nObject.keys(_exports).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _exports[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _exports[key];\n }\n });\n});\n// The primary entry point assumes we're working with standard ReactDOM/RN, but\n// older versions that do not include `useSyncExternalStore` (React 16.9 - 17.x).\n// Because of that, the useSyncExternalStore compat shim is needed.\n(0, _useSelector.initializeUseSelector)(_withSelector.useSyncExternalStoreWithSelector);\n(0, _connect.initializeConnect)(_shim.useSyncExternalStore); // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\n(0, _batch.setBatch)(_reactBatchedUpdates.unstable_batchedUpdates);","\"use strict\";\n\nexports.__esModule = true;\nObject.defineProperty(exports, \"unstable_batchedUpdates\", {\n enumerable: true,\n get: function () {\n return _reactNative.unstable_batchedUpdates;\n }\n});\n\nvar _reactNative = require(\"react-native\");","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nvar _exportNames = {\n Provider: true,\n connect: true,\n ReactReduxContext: true,\n useDispatch: true,\n createDispatchHook: true,\n useSelector: true,\n createSelectorHook: true,\n useStore: true,\n createStoreHook: true,\n shallowEqual: true\n};\nObject.defineProperty(exports, \"Provider\", {\n enumerable: true,\n get: function () {\n return _Provider.default;\n }\n});\nObject.defineProperty(exports, \"connect\", {\n enumerable: true,\n get: function () {\n return _connect.default;\n }\n});\nObject.defineProperty(exports, \"ReactReduxContext\", {\n enumerable: true,\n get: function () {\n return _Context.ReactReduxContext;\n }\n});\nObject.defineProperty(exports, \"useDispatch\", {\n enumerable: true,\n get: function () {\n return _useDispatch.useDispatch;\n }\n});\nObject.defineProperty(exports, \"createDispatchHook\", {\n enumerable: true,\n get: function () {\n return _useDispatch.createDispatchHook;\n }\n});\nObject.defineProperty(exports, \"useSelector\", {\n enumerable: true,\n get: function () {\n return _useSelector.useSelector;\n }\n});\nObject.defineProperty(exports, \"createSelectorHook\", {\n enumerable: true,\n get: function () {\n return _useSelector.createSelectorHook;\n }\n});\nObject.defineProperty(exports, \"useStore\", {\n enumerable: true,\n get: function () {\n return _useStore.useStore;\n }\n});\nObject.defineProperty(exports, \"createStoreHook\", {\n enumerable: true,\n get: function () {\n return _useStore.createStoreHook;\n }\n});\nObject.defineProperty(exports, \"shallowEqual\", {\n enumerable: true,\n get: function () {\n return _shallowEqual.default;\n }\n});\n\nvar _Provider = _interopRequireDefault(require(\"./components/Provider\"));\n\nvar _connect = _interopRequireDefault(require(\"./components/connect\"));\n\nvar _Context = require(\"./components/Context\");\n\nvar _useDispatch = require(\"./hooks/useDispatch\");\n\nvar _useSelector = require(\"./hooks/useSelector\");\n\nvar _useStore = require(\"./hooks/useStore\");\n\nvar _shallowEqual = _interopRequireDefault(require(\"./utils/shallowEqual\"));\n\nvar _types = require(\"./types\");\n\nObject.keys(_types).forEach(function (key) {\n if (key === \"default\" || key === \"__esModule\") return;\n if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;\n if (key in exports && exports[key] === _types[key]) return;\n Object.defineProperty(exports, key, {\n enumerable: true,\n get: function () {\n return _types[key];\n }\n });\n});","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.ReactReduxContext = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nconst ContextKey = Symbol.for(`react-redux-context`);\nconst gT = typeof globalThis !== \"undefined\" ? globalThis :\n/* fall back to a per-module scope (pre-8.1 behaviour) if `globalThis` is not available */\n{};\n\nfunction getContext() {\n var _gT$ContextKey;\n\n if (!React.createContext) return {};\n const contextMap = (_gT$ContextKey = gT[ContextKey]) != null ? _gT$ContextKey : gT[ContextKey] = new Map();\n let realContext = contextMap.get(React.createContext);\n\n if (!realContext) {\n realContext = React.createContext(null);\n\n if (process.env.NODE_ENV !== 'production') {\n realContext.displayName = 'ReactRedux';\n }\n\n contextMap.set(React.createContext, realContext);\n }\n\n return realContext;\n}\n\nconst ReactReduxContext = /*#__PURE__*/getContext();\nexports.ReactReduxContext = ReactReduxContext;\nvar _default = ReactReduxContext;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.createDispatchHook = createDispatchHook;\nexports.useDispatch = void 0;\n\nvar _Context = require(\"../components/Context\");\n\nvar _useStore = require(\"./useStore\");\n\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\nfunction createDispatchHook(context = _Context.ReactReduxContext) {\n const useStore = // @ts-ignore\n context === _Context.ReactReduxContext ? _useStore.useStore : (0, _useStore.createStoreHook)(context);\n return function useDispatch() {\n const store = useStore(); // @ts-ignore\n\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\n\nconst useDispatch = /*#__PURE__*/createDispatchHook();\nexports.useDispatch = useDispatch;","\"use strict\";\n\nexports.__esModule = true;\nexports.createStoreHook = createStoreHook;\nexports.useStore = void 0;\n\nvar _Context = require(\"../components/Context\");\n\nvar _useReduxContext = require(\"./useReduxContext\");\n\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\nfunction createStoreHook(context = _Context.ReactReduxContext) {\n const useReduxContext = // @ts-ignore\n context === _Context.ReactReduxContext ? _useReduxContext.useReduxContext : // @ts-ignore\n (0, _useReduxContext.createReduxContextHook)(context);\n return function useStore() {\n const {\n store\n } = useReduxContext(); // @ts-ignore\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\n\nconst useStore = /*#__PURE__*/createStoreHook();\nexports.useStore = useStore;","\"use strict\";\n\nexports.__esModule = true;\nexports.createReduxContextHook = createReduxContextHook;\nexports.useReduxContext = void 0;\n\nvar _react = require(\"react\");\n\nvar _Context = require(\"../components/Context\");\n\n/**\r\n * Hook factory, which creates a `useReduxContext` hook bound to a given context. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useReduxContext` hook bound to the specified context.\r\n */\nfunction createReduxContextHook(context = _Context.ReactReduxContext) {\n return function useReduxContext() {\n const contextValue = (0, _react.useContext)(context);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n };\n}\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const { store } = useReduxContext()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\n\nconst useReduxContext = /*#__PURE__*/createReduxContextHook();\nexports.useReduxContext = useReduxContext;","\"use strict\";\n\nexports.__esModule = true;\nexports.createSelectorHook = createSelectorHook;\nexports.useSelector = exports.initializeUseSelector = void 0;\n\nvar _react = require(\"react\");\n\nvar _useReduxContext = require(\"./useReduxContext\");\n\nvar _Context = require(\"../components/Context\");\n\nvar _useSyncExternalStore = require(\"../utils/useSyncExternalStore\");\n\nlet useSyncExternalStoreWithSelector = _useSyncExternalStore.notInitialized;\n\nconst initializeUseSelector = fn => {\n useSyncExternalStoreWithSelector = fn;\n};\n\nexports.initializeUseSelector = initializeUseSelector;\n\nconst refEquality = (a, b) => a === b;\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nfunction createSelectorHook(context = _Context.ReactReduxContext) {\n const useReduxContext = context === _Context.ReactReduxContext ? _useReduxContext.useReduxContext : (0, _useReduxContext.createReduxContextHook)(context);\n return function useSelector(selector, equalityFnOrOptions = {}) {\n const {\n equalityFn = refEquality,\n stabilityCheck = undefined,\n noopCheck = undefined\n } = typeof equalityFnOrOptions === 'function' ? {\n equalityFn: equalityFnOrOptions\n } : equalityFnOrOptions;\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(`You must pass a selector to useSelector`);\n }\n\n if (typeof selector !== 'function') {\n throw new Error(`You must pass a function as a selector to useSelector`);\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(`You must pass a function as an equality function to useSelector`);\n }\n }\n\n const {\n store,\n subscription,\n getServerState,\n stabilityCheck: globalStabilityCheck,\n noopCheck: globalNoopCheck\n } = useReduxContext();\n const firstRun = (0, _react.useRef)(true);\n const wrappedSelector = (0, _react.useCallback)({\n [selector.name](state) {\n const selected = selector(state);\n\n if (process.env.NODE_ENV !== 'production') {\n const finalStabilityCheck = typeof stabilityCheck === 'undefined' ? globalStabilityCheck : stabilityCheck;\n\n if (finalStabilityCheck === 'always' || finalStabilityCheck === 'once' && firstRun.current) {\n const toCompare = selector(state);\n\n if (!equalityFn(selected, toCompare)) {\n let stack = undefined;\n\n try {\n throw new Error();\n } catch (e) {\n ;\n ({\n stack\n } = e);\n }\n\n console.warn('Selector ' + (selector.name || 'unknown') + ' returned a different result when called with the same parameters. This can lead to unnecessary rerenders.' + '\\nSelectors that return a new reference (such as an object or an array) should be memoized: https://redux.js.org/usage/deriving-data-selectors#optimizing-selectors-with-memoization', {\n state,\n selected,\n selected2: toCompare,\n stack\n });\n }\n }\n\n const finalNoopCheck = typeof noopCheck === 'undefined' ? globalNoopCheck : noopCheck;\n\n if (finalNoopCheck === 'always' || finalNoopCheck === 'once' && firstRun.current) {\n // @ts-ignore\n if (selected === state) {\n let stack = undefined;\n\n try {\n throw new Error();\n } catch (e) {\n ;\n ({\n stack\n } = e);\n }\n\n console.warn('Selector ' + (selector.name || 'unknown') + ' returned the root state when called. This can lead to unnecessary rerenders.' + '\\nSelectors that return the entire state are almost certainly a mistake, as they will cause a rerender whenever *anything* in state changes.', {\n stack\n });\n }\n }\n\n if (firstRun.current) firstRun.current = false;\n }\n\n return selected;\n }\n\n }[selector.name], [selector, globalStabilityCheck, stabilityCheck]);\n const selectedState = useSyncExternalStoreWithSelector(subscription.addNestedSub, store.getState, getServerState || store.getState, wrappedSelector, equalityFn);\n (0, _react.useDebugValue)(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
{counter}
\r\n * }\r\n */\n\n\nconst useSelector = /*#__PURE__*/createSelectorHook();\nexports.useSelector = useSelector;","\"use strict\";\n\nexports.__esModule = true;\nexports.notInitialized = void 0;\n\nconst notInitialized = () => {\n throw new Error('uSES not initialized!');\n};\n\nexports.notInitialized = notInitialized;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _Context = require(\"./Context\");\n\nvar _Subscription = require(\"../utils/Subscription\");\n\nvar _useIsomorphicLayoutEffect = require(\"../utils/useIsomorphicLayoutEffect\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction Provider({\n store,\n context,\n children,\n serverState,\n stabilityCheck = 'once',\n noopCheck = 'once'\n}) {\n const contextValue = React.useMemo(() => {\n const subscription = (0, _Subscription.createSubscription)(store);\n return {\n store,\n subscription,\n getServerState: serverState ? () => serverState : undefined,\n stabilityCheck,\n noopCheck\n };\n }, [store, serverState, stabilityCheck, noopCheck]);\n const previousState = React.useMemo(() => store.getState(), [store]);\n (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(() => {\n const {\n subscription\n } = contextValue;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return () => {\n subscription.tryUnsubscribe();\n subscription.onStateChange = undefined;\n };\n }, [contextValue, previousState]);\n const Context = context || _Context.ReactReduxContext; // @ts-ignore 'AnyAction' is assignable to the constraint of type 'A', but 'A' could be instantiated with a different subtype\n\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nvar _default = Provider;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.createSubscription = createSubscription;\n\nvar _batch = require(\"./batch\");\n\nfunction createListenerCollection() {\n const batch = (0, _batch.getBatch)();\n let first = null;\n let last = null;\n return {\n clear() {\n first = null;\n last = null;\n },\n\n notify() {\n batch(() => {\n let listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n\n get() {\n let listeners = [];\n let listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n\n subscribe(callback) {\n let isSubscribed = true;\n let listener = last = {\n callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n\n };\n}\n\nconst nullListeners = {\n notify() {},\n\n get: () => []\n};\n\nfunction createSubscription(store, parentSub) {\n let unsubscribe;\n let listeners = nullListeners; // Reasons to keep the subscription active\n\n let subscriptionsAmount = 0; // Is this specific subscription subscribed (or only nested ones?)\n\n let selfSubscribed = false;\n\n function addNestedSub(listener) {\n trySubscribe();\n const cleanupListener = listeners.subscribe(listener); // cleanup nested sub\n\n let removed = false;\n return () => {\n if (!removed) {\n removed = true;\n cleanupListener();\n tryUnsubscribe();\n }\n };\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return selfSubscribed;\n }\n\n function trySubscribe() {\n subscriptionsAmount++;\n\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n subscriptionsAmount--;\n\n if (unsubscribe && subscriptionsAmount === 0) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n function trySubscribeSelf() {\n if (!selfSubscribed) {\n selfSubscribed = true;\n trySubscribe();\n }\n }\n\n function tryUnsubscribeSelf() {\n if (selfSubscribed) {\n selfSubscribed = false;\n tryUnsubscribe();\n }\n }\n\n const subscription = {\n addNestedSub,\n notifyNestedSubs,\n handleChangeWrapper,\n isSubscribed,\n trySubscribe: trySubscribeSelf,\n tryUnsubscribe: tryUnsubscribeSelf,\n getListeners: () => listeners\n };\n return subscription;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.getBatch = exports.setBatch = void 0;\n\n// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nlet batch = defaultNoopBatch; // Allow injecting another batching function later\n\nconst setBatch = newBatch => batch = newBatch; // Supply a getter just to skip dealing with ESM bindings\n\n\nexports.setBatch = setBatch;\n\nconst getBatch = () => batch;\n\nexports.getBatch = getBatch;","\"use strict\";\n\nexports.__esModule = true;\nexports.useIsomorphicLayoutEffect = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\n// Under React Native, we know that we always want to use useLayoutEffect\nconst useIsomorphicLayoutEffect = React.useLayoutEffect;\nexports.useIsomorphicLayoutEffect = useIsomorphicLayoutEffect;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = exports.initializeConnect = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _hoistNonReactStatics = _interopRequireDefault(require(\"hoist-non-react-statics\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _reactIs = require(\"react-is\");\n\nvar _selectorFactory = _interopRequireDefault(require(\"../connect/selectorFactory\"));\n\nvar _mapDispatchToProps = require(\"../connect/mapDispatchToProps\");\n\nvar _mapStateToProps = require(\"../connect/mapStateToProps\");\n\nvar _mergeProps = require(\"../connect/mergeProps\");\n\nvar _Subscription = require(\"../utils/Subscription\");\n\nvar _useIsomorphicLayoutEffect = require(\"../utils/useIsomorphicLayoutEffect\");\n\nvar _shallowEqual = _interopRequireDefault(require(\"../utils/shallowEqual\"));\n\nvar _warning = _interopRequireDefault(require(\"../utils/warning\"));\n\nvar _Context = require(\"./Context\");\n\nvar _useSyncExternalStore = require(\"../utils/useSyncExternalStore\");\n\nconst _excluded = [\"reactReduxForwardedRef\"];\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nlet useSyncExternalStore = _useSyncExternalStore.notInitialized;\n\nconst initializeConnect = fn => {\n useSyncExternalStore = fn;\n}; // Define some constant arrays just to avoid re-creating these\n\n\nexports.initializeConnect = initializeConnect;\nconst EMPTY_ARRAY = [null, 0];\nconst NO_SUBSCRIPTION_ARRAY = [null, null]; // Attempts to stringify whatever not-really-a-component value we were given\n// for logging in an error message\n\nconst stringifyComponent = Comp => {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\n// This is \"just\" a `useLayoutEffect`, but with two modifications:\n// - we need to fall back to `useEffect` in SSR to avoid annoying warnings\n// - we extract this to a separate function to avoid closing over values\n// and causing memory leaks\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(() => effectFunc(...effectArgs), dependencies);\n} // Effect callback, extracted: assign the latest props values to refs for later usage\n\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, // actualChildProps: unknown,\nchildPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n} // Effect callback, extracted: subscribe to the Redux store or nearest connected ancestor,\n// check for updates after dispatched actions, and trigger re-renders.\n\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, // forceComponentUpdateDispatch: React.Dispatch,\nadditionalSubscribeListener) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return () => {}; // Capture values for checking if and when this component unmounts\n\n let didUnsubscribe = false;\n let lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n const checkForUpdates = () => {\n if (didUnsubscribe || !isMounted.current) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n } // TODO We're currently calling getState ourselves here, rather than letting `uSES` do it\n\n\n const latestStoreState = store.getState();\n let newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // TODO This is hacky and not how `uSES` is meant to be used\n // Trigger the React `useSyncExternalStore` subscriber\n\n additionalSubscribeListener();\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n const unsubscribeWrapper = () => {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n} // Reducer initial state creation for our update reducer\n\n\nconst initStateUpdates = () => EMPTY_ARRAY;\n\nfunction strictEqual(a, b) {\n return a === b;\n}\n/**\r\n * Infers the type of props that a connector will inject into a component.\r\n */\n\n\nlet hasWarnedAboutDeprecatedPureOption = false;\n/**\r\n * Connects a React component to a Redux store.\r\n *\r\n * - Without arguments, just wraps the component, without changing the behavior / props\r\n *\r\n * - If 2 params are passed (3rd param, mergeProps, is skipped), default behavior\r\n * is to override ownProps (as stated in the docs), so what remains is everything that's\r\n * not a state or dispatch prop\r\n *\r\n * - When 3rd param is passed, we don't know if ownProps propagate and whether they\r\n * should be valid component props, because it depends on mergeProps implementation.\r\n * As such, it is the user's responsibility to extend ownProps interface from state or\r\n * dispatch props or both when applicable\r\n *\r\n * @param mapStateToProps A function that extracts values from state\r\n * @param mapDispatchToProps Setup for dispatching actions\r\n * @param mergeProps Optional callback to merge state and dispatch props together\r\n * @param options Options for configuring the connection\r\n *\r\n */\n\nfunction connect(mapStateToProps, mapDispatchToProps, mergeProps, {\n // The `pure` option has been removed, so TS doesn't like us destructuring this to check its existence.\n // @ts-ignore\n pure,\n areStatesEqual = strictEqual,\n areOwnPropsEqual = _shallowEqual.default,\n areStatePropsEqual = _shallowEqual.default,\n areMergedPropsEqual = _shallowEqual.default,\n // use React's forwardRef to expose a ref of the wrapped component\n forwardRef = false,\n // the context consumer to use\n context = _Context.ReactReduxContext\n} = {}) {\n if (process.env.NODE_ENV !== 'production') {\n if (pure !== undefined && !hasWarnedAboutDeprecatedPureOption) {\n hasWarnedAboutDeprecatedPureOption = true;\n (0, _warning.default)('The `pure` option has been removed. `connect` is now always a \"pure/memoized\" component');\n }\n }\n\n const Context = context;\n const initMapStateToProps = (0, _mapStateToProps.mapStateToPropsFactory)(mapStateToProps);\n const initMapDispatchToProps = (0, _mapDispatchToProps.mapDispatchToPropsFactory)(mapDispatchToProps);\n const initMergeProps = (0, _mergeProps.mergePropsFactory)(mergeProps);\n const shouldHandleStateChanges = Boolean(mapStateToProps);\n\n const wrapWithConnect = WrappedComponent => {\n if (process.env.NODE_ENV !== 'production' && !(0, _reactIs.isValidElementType)(WrappedComponent)) {\n throw new Error(`You must pass a component to the function returned by connect. Instead received ${stringifyComponent(WrappedComponent)}`);\n }\n\n const wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n const displayName = `Connect(${wrappedComponentName})`;\n const selectorFactoryOptions = {\n shouldHandleStateChanges,\n displayName,\n wrappedComponentName,\n WrappedComponent,\n // @ts-ignore\n initMapStateToProps,\n // @ts-ignore\n initMapDispatchToProps,\n initMergeProps,\n areStatesEqual,\n areStatePropsEqual,\n areOwnPropsEqual,\n areMergedPropsEqual\n };\n\n function ConnectFunction(props) {\n const [propsContext, reactReduxForwardedRef, wrapperProps] = React.useMemo(() => {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n const {\n reactReduxForwardedRef\n } = props,\n wrapperProps = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]);\n const ContextToUse = React.useMemo(() => {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && // @ts-ignore\n (0, _reactIs.isContextConsumer)( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n const contextValue = React.useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n const didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n const didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(`Could not find \"store\" in the context of ` + `\"${displayName}\". Either wrap the root component in a , ` + `or pass a custom React context provider to and the corresponding ` + `React context consumer to ${displayName} in connect options.`);\n } // Based on the previous check, one of these must be true\n\n\n const store = didStoreComeFromProps ? props.store : contextValue.store;\n const getServerState = didStoreComeFromContext ? contextValue.getServerState : store.getState;\n const childPropsSelector = React.useMemo(() => {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return (0, _selectorFactory.default)(store.dispatch, selectorFactoryOptions);\n }, [store]);\n const [subscription, notifyNestedSubs] = React.useMemo(() => {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n const subscription = (0, _Subscription.createSubscription)(store, didStoreComeFromProps ? undefined : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n const notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]); // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n const overriddenContextValue = React.useMemo(() => {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return (0, _extends2.default)({}, contextValue, {\n subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // Set up refs to coordinate values between the subscription effect and the render logic\n\n const lastChildProps = React.useRef();\n const lastWrapperProps = React.useRef(wrapperProps);\n const childPropsFromStoreUpdate = React.useRef();\n const renderIsScheduled = React.useRef(false);\n const isProcessingDispatch = React.useRef(false);\n const isMounted = React.useRef(false);\n const latestSubscriptionCallbackError = React.useRef();\n (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(() => {\n isMounted.current = true;\n return () => {\n isMounted.current = false;\n };\n }, []);\n const actualChildPropsSelector = React.useMemo(() => {\n const selector = () => {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n };\n\n return selector;\n }, [store, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n const subscribeForReact = React.useMemo(() => {\n const subscribe = reactListener => {\n if (!subscription) {\n return () => {};\n }\n\n return subscribeUpdates(shouldHandleStateChanges, store, subscription, // @ts-ignore\n childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, isMounted, childPropsFromStoreUpdate, notifyNestedSubs, reactListener);\n };\n\n return subscribe;\n }, [subscription]);\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, childPropsFromStoreUpdate, notifyNestedSubs]);\n let actualChildProps;\n\n try {\n actualChildProps = useSyncExternalStore( // TODO We're passing through a big wrapper that does a bunch of extra side effects besides subscribing\n subscribeForReact, // TODO This is incredibly hacky. We've already processed the store update and calculated new child props,\n // TODO and we're just passing that through so it triggers a re-render for us rather than relying on `uSES`.\n actualChildPropsSelector, getServerState ? () => childPropsSelector(getServerState(), wrapperProps) : actualChildPropsSelector);\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n ;\n err.message += `\\nThe error may be correlated with this previous error:\\n${latestSubscriptionCallbackError.current.stack}\\n\\n`;\n }\n\n throw err;\n }\n\n (0, _useIsomorphicLayoutEffect.useIsomorphicLayoutEffect)(() => {\n latestSubscriptionCallbackError.current = undefined;\n childPropsFromStoreUpdate.current = undefined;\n lastChildProps.current = actualChildProps;\n }); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n const renderedWrappedComponent = React.useMemo(() => {\n return (\n /*#__PURE__*/\n // @ts-ignore\n React.createElement(WrappedComponent, (0, _extends2.default)({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }))\n );\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n const renderedChild = React.useMemo(() => {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return /*#__PURE__*/React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n }\n\n const _Connect = React.memo(ConnectFunction);\n\n // Add a hacky cast to get the right output type\n const Connect = _Connect;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n const _forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n // @ts-ignore\n return /*#__PURE__*/React.createElement(Connect, (0, _extends2.default)({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n\n const forwarded = _forwarded;\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return (0, _hoistNonReactStatics.default)(forwarded, WrappedComponent);\n }\n\n return (0, _hoistNonReactStatics.default)(Connect, WrappedComponent);\n };\n\n return wrapWithConnect;\n}\n\nvar _default = connect;\nexports.default = _default;","function _extends() {\n return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports, _extends.apply(null, arguments);\n}\nmodule.exports = _extends, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.pureFinalPropsSelectorFactory = pureFinalPropsSelectorFactory;\nexports.default = finalPropsSelectorFactory;\n\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\n\nvar _verifySubselectors = _interopRequireDefault(require(\"./verifySubselectors\"));\n\nconst _excluded = [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"];\n\nfunction pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, {\n areStatesEqual,\n areOwnPropsEqual,\n areStatePropsEqual\n}) {\n let hasRunAtLeastOnce = false;\n let state;\n let ownProps;\n let stateProps;\n let dispatchProps;\n let mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n const nextStateProps = mapStateToProps(state, ownProps);\n const statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n const propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n const stateChanged = !areStatesEqual(nextState, state, nextOwnProps, ownProps);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n}\n\n// TODO: Add more comments\n// The selector returned by selectorFactory will memoize its results,\n// allowing connect's shouldComponentUpdate to return false if final\n// props have not changed.\nfunction finalPropsSelectorFactory(dispatch, _ref) {\n let {\n initMapStateToProps,\n initMapDispatchToProps,\n initMergeProps\n } = _ref,\n options = (0, _objectWithoutPropertiesLoose2.default)(_ref, _excluded);\n const mapStateToProps = initMapStateToProps(dispatch, options);\n const mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n const mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n (0, _verifySubselectors.default)(mapStateToProps, mapDispatchToProps, mergeProps);\n }\n\n return pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = verifySubselectors;\n\nvar _warning = _interopRequireDefault(require(\"../utils/warning\"));\n\nfunction verify(selector, methodName) {\n if (!selector) {\n throw new Error(`Unexpected value for ${methodName} in connect.`);\n } else if (methodName === 'mapStateToProps' || methodName === 'mapDispatchToProps') {\n if (!Object.prototype.hasOwnProperty.call(selector, 'dependsOnOwnProps')) {\n (0, _warning.default)(`The selector for ${methodName} of connect did not specify a value for dependsOnOwnProps.`);\n }\n }\n}\n\nfunction verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps) {\n verify(mapStateToProps, 'mapStateToProps');\n verify(mapDispatchToProps, 'mapDispatchToProps');\n verify(mergeProps, 'mergeProps');\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = warning;\n\n/**\r\n * Prints a warning in the console if it exists.\r\n *\r\n * @param {String} message The warning message.\r\n * @returns {void}\r\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = shallowEqual;\n\nfunction is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n const keysA = Object.keys(objA);\n const keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (let i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.mapStateToPropsFactory = mapStateToPropsFactory;\n\nvar _wrapMapToProps = require(\"./wrapMapToProps\");\n\nvar _invalidArgFactory = require(\"./invalidArgFactory\");\n\nfunction mapStateToPropsFactory(mapStateToProps) {\n return !mapStateToProps ? (0, _wrapMapToProps.wrapMapToPropsConstant)(() => ({})) : typeof mapStateToProps === 'function' ? // @ts-ignore\n (0, _wrapMapToProps.wrapMapToPropsFunc)(mapStateToProps, 'mapStateToProps') : (0, _invalidArgFactory.createInvalidArgFactory)(mapStateToProps, 'mapStateToProps');\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.wrapMapToPropsConstant = wrapMapToPropsConstant;\nexports.getDependsOnOwnProps = getDependsOnOwnProps;\nexports.wrapMapToPropsFunc = wrapMapToPropsFunc;\n\nvar _verifyPlainObject = _interopRequireDefault(require(\"../utils/verifyPlainObject\"));\n\nfunction wrapMapToPropsConstant( // * Note:\n// It seems that the dispatch argument\n// could be a dispatch function in some cases (ex: whenMapDispatchToPropsIsMissing)\n// and a state object in some others (ex: whenMapStateToPropsIsMissing)\n// eslint-disable-next-line no-unused-vars\ngetConstant) {\n return function initConstantSelector(dispatch) {\n const constant = getConstant(dispatch);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n// TODO Can this get pulled out so that we can subscribe directly to the store if we don't need ownProps?\n\n\nfunction getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\n\nfunction wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, {\n displayName\n }) {\n const proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch, undefined);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n let props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject.default)(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = verifyPlainObject;\n\nvar _isPlainObject = _interopRequireDefault(require(\"./isPlainObject\"));\n\nvar _warning = _interopRequireDefault(require(\"./warning\"));\n\nfunction verifyPlainObject(value, displayName, methodName) {\n if (!(0, _isPlainObject.default)(value)) {\n (0, _warning.default)(`${methodName}() in ${displayName} must return a plain object. Instead received ${value}.`);\n }\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = isPlainObject;\n\n/**\r\n * @param {any} obj The object to inspect.\r\n * @returns {boolean} True if the argument appears to be a plain object.\r\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n let proto = Object.getPrototypeOf(obj);\n if (proto === null) return true;\n let baseProto = proto;\n\n while (Object.getPrototypeOf(baseProto) !== null) {\n baseProto = Object.getPrototypeOf(baseProto);\n }\n\n return proto === baseProto;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.createInvalidArgFactory = createInvalidArgFactory;\n\nfunction createInvalidArgFactory(arg, name) {\n return (dispatch, options) => {\n throw new Error(`Invalid value of type ${typeof arg} for ${name} argument when connecting component ${options.wrappedComponentName}.`);\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.mapDispatchToPropsFactory = mapDispatchToPropsFactory;\n\nvar _bindActionCreators = _interopRequireDefault(require(\"../utils/bindActionCreators\"));\n\nvar _wrapMapToProps = require(\"./wrapMapToProps\");\n\nvar _invalidArgFactory = require(\"./invalidArgFactory\");\n\nfunction mapDispatchToPropsFactory(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? (0, _wrapMapToProps.wrapMapToPropsConstant)(dispatch => // @ts-ignore\n (0, _bindActionCreators.default)(mapDispatchToProps, dispatch)) : !mapDispatchToProps ? (0, _wrapMapToProps.wrapMapToPropsConstant)(dispatch => ({\n dispatch\n })) : typeof mapDispatchToProps === 'function' ? // @ts-ignore\n (0, _wrapMapToProps.wrapMapToPropsFunc)(mapDispatchToProps, 'mapDispatchToProps') : (0, _invalidArgFactory.createInvalidArgFactory)(mapDispatchToProps, 'mapDispatchToProps');\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = bindActionCreators;\n\nfunction bindActionCreators(actionCreators, dispatch) {\n const boundActionCreators = {};\n\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = (...args) => dispatch(actionCreator(...args));\n }\n }\n\n return boundActionCreators;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.defaultMergeProps = defaultMergeProps;\nexports.wrapMergePropsFunc = wrapMergePropsFunc;\nexports.mergePropsFactory = mergePropsFactory;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _verifyPlainObject = _interopRequireDefault(require(\"../utils/verifyPlainObject\"));\n\nvar _invalidArgFactory = require(\"./invalidArgFactory\");\n\nfunction defaultMergeProps(stateProps, dispatchProps, ownProps) {\n // @ts-ignore\n return (0, _extends2.default)({}, ownProps, stateProps, dispatchProps);\n}\n\nfunction wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, {\n displayName,\n areMergedPropsEqual\n }) {\n let hasRunOnce = false;\n let mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n const nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') (0, _verifyPlainObject.default)(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\n\nfunction mergePropsFactory(mergeProps) {\n return !mergeProps ? () => defaultMergeProps : typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : (0, _invalidArgFactory.createInvalidArgFactory)(mergeProps, 'mergeProps');\n}","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","\"use strict\";","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim/with-selector.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim/with-selector.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\"),\n shim = require(\"use-sync-external-store/shim\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useSyncExternalStore = shim.useSyncExternalStore,\n useRef = React.useRef,\n useEffect = React.useEffect,\n useMemo = React.useMemo,\n useDebugValue = React.useDebugValue;\nexports.useSyncExternalStoreWithSelector = function (\n subscribe,\n getSnapshot,\n getServerSnapshot,\n selector,\n isEqual\n) {\n var instRef = useRef(null);\n if (null === instRef.current) {\n var inst = { hasValue: !1, value: null };\n instRef.current = inst;\n } else inst = instRef.current;\n instRef = useMemo(\n function () {\n function memoizedSelector(nextSnapshot) {\n if (!hasMemo) {\n hasMemo = !0;\n memoizedSnapshot = nextSnapshot;\n nextSnapshot = selector(nextSnapshot);\n if (void 0 !== isEqual && inst.hasValue) {\n var currentSelection = inst.value;\n if (isEqual(currentSelection, nextSnapshot))\n return (memoizedSelection = currentSelection);\n }\n return (memoizedSelection = nextSnapshot);\n }\n currentSelection = memoizedSelection;\n if (objectIs(memoizedSnapshot, nextSnapshot)) return currentSelection;\n var nextSelection = selector(nextSnapshot);\n if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))\n return (memoizedSnapshot = nextSnapshot), currentSelection;\n memoizedSnapshot = nextSnapshot;\n return (memoizedSelection = nextSelection);\n }\n var hasMemo = !1,\n memoizedSnapshot,\n memoizedSelection,\n maybeGetServerSnapshot =\n void 0 === getServerSnapshot ? null : getServerSnapshot;\n return [\n function () {\n return memoizedSelector(getSnapshot());\n },\n null === maybeGetServerSnapshot\n ? void 0\n : function () {\n return memoizedSelector(maybeGetServerSnapshot());\n }\n ];\n },\n [getSnapshot, getServerSnapshot, selector, isEqual]\n );\n var value = useSyncExternalStore(subscribe, instRef[0], instRef[1]);\n useEffect(\n function () {\n inst.hasValue = !0;\n inst.value = value;\n },\n [value]\n );\n useDebugValue(value);\n return value;\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.native.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.native.development.js');\n}\n","/**\n * @license React\n * use-sync-external-store-shim.native.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore\n ? React.useSyncExternalStore\n : useSyncExternalStore$1;\n","import { configureStore, PreloadedState, combineReducers } from '@reduxjs/toolkit';\r\nimport activityCenterReducer from './activityCenterView/redux/activityCenterSlice';\r\nimport chinaTypeApprovalReducer from './freView/redux/chinaTypeApprovalSlice';\r\nimport chooseRootFolderReducer from './freView/redux/chooseRootFolderSlice';\r\nimport commonReducer from './common/redux/commonSlice';\r\nimport exitDialogReducer from './exitDialogView/redux/ExitDialogSlice';\r\nimport floodgateSurveyReducer from './floodgateSurveyView/redux/floodgateSurveySlice';\r\nimport folderColorReducer from './folderColorView/redux/folderColorSlice';\r\nimport freReducer from './freView/redux/freSlice';\r\nimport kfmDoneReducer from './kfmMoveView/kfmDoneView/redux/kfmDoneSlice';\r\nimport kfmErrorReducer from './kfmMoveView/kfmErrorView/redux/kfmErrorSlice';\r\nimport kfmOptOutSurveyReducer from './kfmOptOutSurveyView/redux/kfmOptOutSlice';\r\nimport macboxConsentReducer from './freView/redux/macboxConsentSlice';\r\nimport odignoreReducer from './settingsView/redux/odignoreSlice';\r\nimport optionalDiagnosticDataReducer from './freView/redux/optionalDiagnosticDataSlice';\r\nimport premiumReducer from './freView/redux/premiumSlice';\r\nimport purchaseReducer from './purchaseView/redux/purchaseSlice';\r\nimport requiredDiagnosticDataReducer from './freView/redux/requiredDiagnosticDataSlice';\r\nimport selectiveSyncReducer from './freView/redux/selectiveSyncSlice';\r\nimport sendFeedbackReducer from './sendFeedbackView/redux/sendFeedbackSlice';\r\nimport settingsReducer from './settingsView/redux/settingsSlice';\r\nimport taskDialogReducer from './taskDialogView/redux/TaskDialogSlice';\r\nimport tutorialPageReducer from './freView/redux/tutorialSlice';\r\nimport welcomePageReducer from './freView/redux/welcomeSlice';\r\nimport wizardWindowReducer from './freView/redux/wizardWindowSlice';\r\nimport wizardErrorReducer from './freView/redux/wizardErrorSlice';\r\nimport { vaultReducer } from './vaultWizard/redux/vaultSlice';\r\nimport kfmCheckFullDiskAccessReducer from './freView/redux/kfmCheckFullDiskAccessSlice';\r\nimport shareLoadingReducer from './shareLoadingView/redux/shareLoadingSlice';\r\nimport copilotReducer from './copilotDialogView/redux/copilotDialogSlice';\r\nimport kfmOnboardingReducer from './kfmOnboardingView/redux/kfmOnboardingSlice';\r\nimport versionHistoryReducer from './versionHistoryView/redux/versionHistorySlice';\r\n\r\nconst rootReducer = combineReducers({\r\n common: commonReducer,\r\n odignore: odignoreReducer,\r\n kfmOptOutSurvey: kfmOptOutSurveyReducer,\r\n taskdialog: taskDialogReducer,\r\n settings: settingsReducer,\r\n activityCenter: activityCenterReducer,\r\n fre: freReducer,\r\n welcomePage: welcomePageReducer,\r\n chinaTypeApprovalPage: chinaTypeApprovalReducer,\r\n exitDialog: exitDialogReducer,\r\n sendFeedback: sendFeedbackReducer,\r\n floodgateSurvey: floodgateSurveyReducer,\r\n tutorial: tutorialPageReducer,\r\n requiredDiagnosticData: requiredDiagnosticDataReducer,\r\n optionalDiagnosticData: optionalDiagnosticDataReducer,\r\n premium: premiumReducer,\r\n purchaseView: purchaseReducer,\r\n chooseRootFolder: chooseRootFolderReducer,\r\n folderColor: folderColorReducer,\r\n wizardWindow: wizardWindowReducer,\r\n selectiveSync: selectiveSyncReducer,\r\n wizardError: wizardErrorReducer,\r\n kfmDone: kfmDoneReducer,\r\n vault: vaultReducer,\r\n macboxConsent: macboxConsentReducer,\r\n kfmError: kfmErrorReducer,\r\n kfmCheckFullDiskAccess: kfmCheckFullDiskAccessReducer,\r\n shareLoading: shareLoadingReducer,\r\n copilotDialogView: copilotReducer,\r\n kfmOnboarding: kfmOnboardingReducer,\r\n versionHistory: versionHistoryReducer\r\n});\r\n\r\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\r\nexport const setupStore = (preloadedState?: PreloadedState) => {\r\n return configureStore({\r\n reducer: rootReducer,\r\n preloadedState\r\n });\r\n};\r\n\r\nexport const store = setupStore();\r\n\r\n// Infer the `RootState` and `AppDispatch` types from the store itself\r\nexport type RootState = ReturnType;\r\n// Inferred type: {posts: PostsState, comments: CommentsState, users: UsersState}\r\nexport type AppDispatch = typeof store.dispatch;\r\n\r\nexport type AppStore = ReturnType;\r\n","import { createSlice, createAsyncThunk, PayloadAction, ActionReducerMapBuilder } from '@reduxjs/toolkit';\r\n\r\nimport { ActivityCenterDataModel } from '../dataHandler/ActivityCenterDataModel';\r\nimport {\r\n ActivityCenterUIAction,\r\n ActivityItemType,\r\n ErrorActionType,\r\n IActivityCenterErrorState,\r\n IActivityCenterState,\r\n IActivityCenterUIActionProps,\r\n IErrorActionProps,\r\n IGlobalSyncStatus,\r\n IHistoryItemMenuActionProps,\r\n IItemHistory,\r\n IItemHistoryState,\r\n IProgressItems,\r\n IVisualState,\r\n SyncUIState,\r\n ICoAuthLockedItems,\r\n IPausedReason,\r\n PauseInvoker,\r\n IStartupParams,\r\n ActivityCenterPageOpenType,\r\n ISelectedItem,\r\n IShowMoreOptionsTooltipProps,\r\n IContextMenuItem,\r\n IOD4EntryPayload,\r\n ICopilotActionPayload,\r\n IPrioritizeSyncPayload,\r\n IUnarchiveContextMenuPayload,\r\n HistoryItemMenuAction,\r\n ISearchContext,\r\n ISearchResultItem,\r\n ISearchTooltipSeenResponse,\r\n IPerformSearchPayload,\r\n ISearchResponse,\r\n SearchFilterType,\r\n SearchQueryStatus,\r\n MAX_RECENT_SEARCHES,\r\n IRecordSearchActivityPayload,\r\n IRecordSearchFeedbackPayload\r\n} from '../types';\r\nimport {\r\n IActivityCenterMessageData,\r\n IActivityCenterMessageClickedData,\r\n NotificationSource\r\n} from '../types/activityCenterMessageTypes';\r\nimport { RootState } from '../../store';\r\nimport { DataFetchState, VisualStates } from '../../common/types';\r\nimport { isCopilotActionEnabledForFileExtension } from '../utils/CopilotActionHelpers';\r\nimport { IKFMOnboardingFlags } from '../types/activityCenterViewTypes';\r\n\r\n// Item history list will be limited to 100 items\r\nconst MAX_HISTORY_ITEMS = 100;\r\nconst MAX_PENDING_ITEM_THUMBNAILS = 100;\r\n\r\nexport const dataModel: ActivityCenterDataModel = new ActivityCenterDataModel();\r\n\r\nexport const defaultStartupParams: IStartupParams = {\r\n forceRecreate: false,\r\n showErrorsView: ActivityCenterPageOpenType.CloseCustomView,\r\n shouldShowMenu: false,\r\n openInBackground: false,\r\n isStickyMode: false\r\n};\r\n\r\nexport const defaultSelectedItem: ISelectedItem = {\r\n item: null,\r\n topPosition: 0,\r\n scrollToIndex: undefined\r\n};\r\n\r\nexport const defaultMoreOptionsTooltip: IShowMoreOptionsTooltipProps = {\r\n showTooltip: false,\r\n top: 0\r\n};\r\n\r\nexport const defaultSearchContext: ISearchContext = {\r\n query: '',\r\n state: 'idle',\r\n selectedFilter: 'all',\r\n results: [],\r\n isSearchBarVisible: false,\r\n recentSearches: []\r\n};\r\n\r\n/**\r\n * Helper for the recent-searches list: returns a new list with `query`\r\n * pushed to the front, after removing any existing case-insensitive match,\r\n * and capped at `MAX_RECENT_SEARCHES`. The most-recently-typed casing of\r\n * the query is preserved (this is what the user just saw).\r\n *\r\n * Both `addRecentSearch` (used for explicit history pushes) and the\r\n * `performSearchAsync.fulfilled` extra-reducer (used to record searches\r\n * that actually returned hits) share this function so the two paths can't\r\n * drift on dedup/cap semantics.\r\n */\r\nconst pushRecentSearch = (recent: string[], query: string): string[] => {\r\n const lowerQuery = query.toLowerCase();\r\n const filtered = recent.filter((existing: string) => existing.toLowerCase() !== lowerQuery);\r\n filtered.unshift(query);\r\n return filtered.slice(0, MAX_RECENT_SEARCHES);\r\n};\r\n\r\n/**\r\n * Clears the live search fields (the ones that feed `selectIsSearchActive`)\r\n * without touching `recentSearches` or the `previousSession` snapshot.\r\n */\r\nconst clearLiveSearch = (search: ISearchContext): void => {\r\n search.query = '';\r\n search.state = 'idle';\r\n search.selectedFilter = 'all';\r\n search.results = [];\r\n search.errorMessage = undefined;\r\n search.latestRequestId = undefined;\r\n};\r\n\r\n/**\r\n * Captures the current search into `previousSession` so re-entering search\r\n * mode can restore it. Only completed searches worth restoring are stashed —\r\n * an in-flight ('searching') or errored query would restore into a broken\r\n * state, and an empty query has nothing to show. An existing snapshot is left\r\n * untouched in those cases so closing an empty search bar doesn't discard the\r\n * results the user actually wants back.\r\n */\r\nconst stashSearchSession = (search: ISearchContext): void => {\r\n const isRestorable =\r\n search.query.trim().length > 0 && (search.state === 'success' || search.state === 'noResults');\r\n if (!isRestorable) {\r\n return;\r\n }\r\n search.previousSession = {\r\n query: search.query,\r\n state: search.state,\r\n selectedFilter: search.selectedFilter,\r\n results: search.results\r\n };\r\n};\r\n\r\n/** Restores a stashed search into the live fields, if one exists. */\r\nconst restoreSearchSession = (search: ISearchContext): void => {\r\n const previous = search.previousSession;\r\n if (previous === undefined) {\r\n return;\r\n }\r\n search.query = previous.query;\r\n search.state = previous.state;\r\n search.selectedFilter = previous.selectedFilter;\r\n search.results = previous.results;\r\n search.errorMessage = undefined;\r\n search.latestRequestId = undefined;\r\n};\r\n\r\nconst initialState: IActivityCenterState = {\r\n failedFetch: false,\r\n errors: {\r\n totalErrors: 0,\r\n headerText: '',\r\n secondaryHeaderText: '',\r\n isWarningsOnly: false,\r\n isQuietErrorsOnly: false\r\n },\r\n page: 'ac_home',\r\n globalSyncStatus: null,\r\n visualState: null,\r\n syncingBlocked: false,\r\n itemsHistory: { items: [], didRetrieveFullList: true },\r\n activityCenterMessageData: null,\r\n rootContextMenuItem: null,\r\n isContextMenuOpen: false,\r\n isItemMenuOpen: false,\r\n selectedItem: defaultSelectedItem,\r\n progressItems: null,\r\n startTime: 0,\r\n syncStateAtLaunch: SyncUIState.Last,\r\n coAuthLockedItems: null,\r\n pausedReason: PauseInvoker.None,\r\n startupParams: defaultStartupParams,\r\n activityCenterReopenSequence: 0,\r\n isSettingsTooltipVisible: false,\r\n isHomeTooltipVisible: false,\r\n isReportABugTooltipVisible: false,\r\n moreOptionsTooltip: defaultMoreOptionsTooltip,\r\n itemHistoryState: DataFetchState.Pending,\r\n itemProgressState: DataFetchState.Pending,\r\n errorItemsState: DataFetchState.Pending,\r\n syncStatusState: DataFetchState.Pending,\r\n visualStateState: DataFetchState.Pending,\r\n lastUIActionPerformed: ActivityCenterUIAction.None,\r\n lastAcmAction: '',\r\n lastAcmSource: NotificationSource.Default,\r\n acmViewed: false,\r\n allowOD4Entry: false,\r\n allowOD4EntryState: DataFetchState.Pending,\r\n trapFocus: false,\r\n isCopilotActionEnabled: false,\r\n isCopilotImageActionEnabled: false,\r\n isPrioritizeSyncEnabled: false,\r\n isUnarchiveContextMenuEnabled: false,\r\n upgradeProgress: undefined,\r\n upgradeScope: undefined,\r\n isBusinessClient: false,\r\n isKFMOnboardingEnabled: false,\r\n isKFMOnboardingTooltipVisible: false,\r\n hasClickedLightbulb: false,\r\n pendingItemThumbnails: {},\r\n isSearchToggleTooltipVisible: false,\r\n isSearchOnboardingTooltipVisible: false,\r\n hasSeenSearchTooltip: false,\r\n search: defaultSearchContext\r\n};\r\n\r\nconst applyPendingItemThumbnails = (state: IActivityCenterState): void => {\r\n if (!state.itemsHistory) {\r\n return;\r\n }\r\n\r\n for (const item of state.itemsHistory.items) {\r\n const thumbnailUrl = state.pendingItemThumbnails[item.filePath];\r\n if (thumbnailUrl) {\r\n item.thumbnailUrl = thumbnailUrl;\r\n delete state.pendingItemThumbnails[item.filePath];\r\n }\r\n }\r\n};\r\n\r\nconst cachePendingItemThumbnail = (\r\n state: IActivityCenterState,\r\n filePath: string,\r\n thumbnailUrl: string\r\n): void => {\r\n if (!state.pendingItemThumbnails[filePath]) {\r\n const pendingPaths = Object.keys(state.pendingItemThumbnails);\r\n if (pendingPaths.length >= MAX_PENDING_ITEM_THUMBNAILS) {\r\n // Keep a small FIFO of thumbnail updates that arrived before their history rows.\r\n // The cap is defensive and should be rare; if it is hit, drop only the\r\n // oldest unmatched patch so newer visible rows can still be updated. A\r\n // dropped row keeps its file icon until it is refreshed or requests again.\r\n delete state.pendingItemThumbnails[pendingPaths[0]];\r\n }\r\n }\r\n\r\n state.pendingItemThumbnails[filePath] = thumbnailUrl;\r\n};\r\n\r\nconst getActivityCenterErrorsAsync = createAsyncThunk(\r\n 'activity_center/get_errors',\r\n (): Promise => {\r\n return dataModel.getErrors();\r\n }\r\n);\r\n\r\nconst fetchContextMenuItemsAsync = createAsyncThunk(\r\n 'activity_center/fetchContextMenuItems',\r\n (): Promise => {\r\n return dataModel.fetchContextMenuItems();\r\n }\r\n);\r\n\r\nconst handleContextMenuActionAsync = createAsyncThunk(\r\n 'activity_center/handleContextMenuAction',\r\n (menuResult: number): Promise => {\r\n return dataModel.handleContextMenuAction(menuResult);\r\n }\r\n);\r\n\r\nconst fetchSyncStatusAsync = createAsyncThunk(\r\n 'activity_center/fetchSyncStatus',\r\n (): Promise => {\r\n return dataModel.fetchSyncStatus();\r\n }\r\n);\r\n\r\nconst fetchVisualStateAsync = createAsyncThunk(\r\n 'activity_center/fetchVisualState',\r\n (): Promise => {\r\n return dataModel.fetchVisualState();\r\n }\r\n);\r\n\r\nconst getItemsHistoryAsync = createAsyncThunk(\r\n 'activity_center/getItemsHistory',\r\n (refreshHistory: boolean, { getState }): Promise => {\r\n // default to false if not provided\r\n if (refreshHistory === undefined) {\r\n refreshHistory = false;\r\n }\r\n return dataModel.getItemsHistory(refreshHistory);\r\n }\r\n);\r\n\r\nconst fetchActivityCenterMessageDataAsync = createAsyncThunk(\r\n 'activity_center/fetchActivityCenterMessageData',\r\n (): Promise => {\r\n return dataModel.getActivityCenterMessageData();\r\n }\r\n);\r\n\r\nconst handleHistoryItemActionAsync = createAsyncThunk(\r\n 'activity_center/handleHistoryItemAction',\r\n (data: IHistoryItemMenuActionProps): Promise => {\r\n return dataModel.handleHistoryItemAction(data);\r\n }\r\n);\r\n\r\nconst handleFooterUIActionAsync = createAsyncThunk(\r\n 'activity_center/handleFooterUIAction',\r\n (action: ActivityCenterUIAction): Promise => {\r\n return dataModel.handleFooterUIAction(action);\r\n }\r\n);\r\n\r\nconst getUIActionTelemetryData = (state: RootState): IActivityCenterUIActionProps => {\r\n const { activityCenter } = state;\r\n const visualState = activityCenter.visualState?.VisualState || VisualStates.Exiting;\r\n const historyItemsCount = activityCenter.itemsHistory?.items.length || 0;\r\n const isMenuOpen = activityCenter.isItemMenuOpen;\r\n const endState = activityCenter.globalSyncStatus?.SyncState || SyncUIState.Last;\r\n const beginState = activityCenter.syncStateAtLaunch;\r\n const acmSource = activityCenter.lastAcmSource;\r\n const acmAction = activityCenter.lastAcmAction;\r\n const uiAction = activityCenter.lastUIActionPerformed;\r\n const isAcmVisible = activityCenter.acmViewed;\r\n\r\n // Check if the selected item is a history item with PlaceholderCreated type\r\n // Search result items don't have activityItemType, so we check if the property exists\r\n const selectedItem = activityCenter.selectedItem?.item;\r\n const isPlaceholderFile = !!(\r\n selectedItem &&\r\n 'activityItemType' in selectedItem &&\r\n selectedItem.activityItemType === ActivityItemType.PlaceholderCreated\r\n );\r\n const upDuration = Date.now() - activityCenter.startTime;\r\n return {\r\n visualState,\r\n historyItemsCount,\r\n isMenuOpen,\r\n endState,\r\n beginState,\r\n acmSource,\r\n acmAction,\r\n isAcmVisible,\r\n isPlaceholderFile,\r\n upDuration,\r\n uiAction\r\n };\r\n};\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\nconst handleUIActionTelemetryAsync = createAsyncThunk(\r\n 'activity_center/handleUIActionTelemetry',\r\n async (_, { getState }): Promise => {\r\n const state = getState() as RootState;\r\n const uiActionTelemetryData = getUIActionTelemetryData(state);\r\n return dataModel.sendActivityCenterUIActionTelemetry(uiActionTelemetryData);\r\n }\r\n);\r\n\r\n/* eslint-disable @typescript-eslint/no-use-before-define */\r\nconst handleErrorActionAsync = createAsyncThunk(\r\n 'activity_center/handleErrorAction',\r\n async (data: IErrorActionProps, { dispatch }): Promise => {\r\n let uiAction = ActivityCenterUIAction.None;\r\n switch (data.action) {\r\n case ErrorActionType.MainBody:\r\n uiAction = ActivityCenterUIAction.ErrorMainBodyClicked;\r\n break;\r\n case ErrorActionType.LearnMoreLink:\r\n uiAction = ActivityCenterUIAction.ErrorLearnMoreClicked;\r\n break;\r\n case ErrorActionType.PrimaryButton:\r\n uiAction = ActivityCenterUIAction.ErrorPrimaryButtonClicked;\r\n break;\r\n case ErrorActionType.SecondaryButton:\r\n uiAction = ActivityCenterUIAction.ErrorSecondaryButtonClicked;\r\n break;\r\n case ErrorActionType.SecondLink:\r\n uiAction = ActivityCenterUIAction.ErrorSecondaryButtonClicked;\r\n break;\r\n }\r\n\r\n dispatch(activityCenterActions.setLastUIActionPerformed(uiAction));\r\n return dataModel.handleErrorAction(data);\r\n }\r\n);\r\n\r\nconst handleResponseForCachedMessageAsync = createAsyncThunk(\r\n 'activity_center/handleResponseForCachedMessage',\r\n (acmClickedData: IActivityCenterMessageClickedData, { dispatch }): Promise => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.AcmClicked));\r\n dispatch(activityCenterActions.setLastAcmAction(acmClickedData.actionParameter));\r\n return dataModel.handleResponseForCachedMessage(acmClickedData);\r\n }\r\n);\r\n\r\nconst getProgressItemsAsync = createAsyncThunk(\r\n 'activity_center/getProgressItems',\r\n (): Promise => {\r\n return dataModel.getProgressItems();\r\n }\r\n);\r\n\r\nconst getPausedReaonAsync = createAsyncThunk(\r\n 'activity_center/get_paused_reason',\r\n (): Promise => {\r\n return dataModel.getPausedReason();\r\n }\r\n);\r\n\r\nconst getStartupParamsAsync = createAsyncThunk(\r\n 'activity_center/get_startup_params',\r\n async (_, { dispatch }): Promise => {\r\n const startupParams = await dataModel.getStartupParams();\r\n\r\n // Dispatch fetchContextMenuItemsAsync if shouldShowMenu is true\r\n if (startupParams.shouldShowMenu) {\r\n dispatch(fetchContextMenuItemsAsync());\r\n }\r\n\r\n return startupParams;\r\n }\r\n);\r\n\r\nconst hideActivityCenterAsync = createAsyncThunk(\r\n 'activity_center/hide_activity_center',\r\n (): Promise => {\r\n return dataModel.hideActivityCenter();\r\n }\r\n);\r\n\r\nconst getAllowOD4Entry = createAsyncThunk(\r\n 'activity_center/get_allow_od4_entry',\r\n (): Promise => {\r\n return dataModel.getAllowOD4Entry();\r\n }\r\n);\r\n\r\nconst getCopilotActionEligibility = createAsyncThunk(\r\n 'activity_center/get_copilot_action_eligibility',\r\n (): Promise => {\r\n return dataModel.getCopilotActionEligibility();\r\n }\r\n);\r\n\r\nconst getPrioritizeSyncEligibility = createAsyncThunk(\r\n 'activity_center/get_prioritize_sync_eligibility',\r\n (): Promise => {\r\n return dataModel.getPrioritizeSyncEligibility();\r\n }\r\n);\r\n\r\nconst getUnarchiveContextMenuEligibility = createAsyncThunk(\r\n 'activity_center/get_unarchive_context_menu_eligibility',\r\n (): Promise => {\r\n return dataModel.getUnarchiveContextMenuEligibility();\r\n }\r\n);\r\n\r\nconst launchKFMOnboardingAsync = createAsyncThunk(\r\n 'activity_center/launch_kfm_onboarding',\r\n (): Promise => {\r\n return dataModel.launchKFMOnboardingUX();\r\n }\r\n);\r\n\r\nconst getIsKFMOnboardingEnabledAsync = createAsyncThunk(\r\n 'activity_center/get_is_kfm_onboarding_enabled',\r\n (): Promise => {\r\n return dataModel.getIsKFMOnboardingEnabled();\r\n }\r\n);\r\n\r\n// Search async thunks\r\nconst performSearchAsync = createAsyncThunk(\r\n 'activity_center/perform_search',\r\n async (payload: IPerformSearchPayload): Promise => {\r\n return dataModel.performSearch(payload);\r\n }\r\n);\r\n\r\nconst getSearchTooltipSeenAsync = createAsyncThunk(\r\n 'activity_center/get_search_tooltip_seen',\r\n (): Promise => {\r\n return dataModel.getSearchTooltipSeen();\r\n }\r\n);\r\n\r\nconst markSearchTooltipSeenAsync = createAsyncThunk(\r\n 'activity_center/mark_search_tooltip_seen',\r\n (): Promise => {\r\n return dataModel.markSearchTooltipSeen();\r\n }\r\n);\r\n\r\n// AC search activity telemetry. Fire-and-forget — native forwards semantic\r\n// stage/entity/action fields to ACSearchFunnelTelemetry and emits repeated\r\n// queries through a separate typed event. We swallow rejections here so a\r\n// transient IPC failure can't surface as a noisy redux error in product UI.\r\nconst recordSearchActivityAsync = createAsyncThunk(\r\n 'activity_center/record_search_activity',\r\n async (payload: IRecordSearchActivityPayload): Promise => {\r\n try {\r\n await dataModel.recordSearchActivity(payload);\r\n } catch {\r\n // Telemetry must never break the user experience.\r\n }\r\n }\r\n);\r\n\r\nconst recordSearchFeedbackAsync = createAsyncThunk(\r\n 'activity_center/record_search_feedback',\r\n async (payload: IRecordSearchFeedbackPayload): Promise => {\r\n try {\r\n await dataModel.recordSearchFeedback(payload);\r\n } catch {\r\n // Telemetry must never break the user experience.\r\n }\r\n }\r\n);\r\n\r\nexport const activityCenterSlice = createSlice({\r\n name: 'activity_center',\r\n initialState,\r\n reducers: {\r\n setTrapFocus: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.trapFocus = action.payload;\r\n },\r\n setStartTime: (state: IActivityCenterState) => {\r\n // Get current time in milliseconds\r\n state.startTime = Date.now();\r\n },\r\n resetState: (state: IActivityCenterState) => {\r\n // The footer uses this sequence to re-arm its impression effect after a native reopen.\r\n state.syncStateAtLaunch = SyncUIState.Last;\r\n state.startupParams = defaultStartupParams;\r\n state.isContextMenuOpen = false;\r\n state.isItemMenuOpen = false;\r\n state.page = 'ac_home';\r\n state.lastAcmAction = '';\r\n state.lastAcmSource = NotificationSource.Default;\r\n state.lastUIActionPerformed = ActivityCenterUIAction.None;\r\n state.acmViewed = false;\r\n state.moreOptionsTooltip = defaultMoreOptionsTooltip;\r\n state.isSettingsTooltipVisible = false;\r\n state.isHomeTooltipVisible = false;\r\n state.isReportABugTooltipVisible = false;\r\n state.isSearchToggleTooltipVisible = false;\r\n // Transient onboarding tooltip is cleared every reset; persisted\r\n // hasSeenSearchTooltip survives so the tooltip never reappears for\r\n // a user who has already dismissed it.\r\n state.isSearchOnboardingTooltipVisible = false;\r\n state.selectedItem = defaultSelectedItem;\r\n // Leave search mode on reset so the Activity Center always reopens in its\r\n // default (history) view rather than restoring a stale query and result\r\n // set. The search itself is stashed first, so clicking the search button\r\n // brings the user's previous results straight back. `recentSearches` is\r\n // preserved too — it is the user's search history, not view state.\r\n stashSearchSession(state.search);\r\n clearLiveSearch(state.search);\r\n state.search.isSearchBarVisible = false;\r\n },\r\n setPage: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.isHomeTooltipVisible = false;\r\n state.page = action.payload;\r\n },\r\n activityCenterReopened: (state: IActivityCenterState) => {\r\n state.activityCenterReopenSequence += 1;\r\n },\r\n hideACM: (state: IActivityCenterState) => {\r\n if (state.activityCenterMessageData) {\r\n state.activityCenterMessageData = null;\r\n }\r\n },\r\n dismissContextMenus: (state: IActivityCenterState) => {\r\n state.isContextMenuOpen = false;\r\n state.isItemMenuOpen = false;\r\n state.selectedItem = defaultSelectedItem;\r\n },\r\n toggleContextMenu: (state: IActivityCenterState) => {\r\n state.isContextMenuOpen = !state.isContextMenuOpen;\r\n state.isSettingsTooltipVisible = false;\r\n state.isItemMenuOpen = false;\r\n state.selectedItem = defaultSelectedItem;\r\n },\r\n toggleItemMenu: (\r\n state: IActivityCenterState,\r\n action: PayloadAction<{ item: IItemHistory | ISearchResultItem; top: number; autoSelected?: boolean }>\r\n ) => {\r\n state.isItemMenuOpen = true;\r\n state.isContextMenuOpen = false;\r\n state.moreOptionsTooltip.showTooltip = false;\r\n const { item, top, autoSelected } = action.payload;\r\n state.selectedItem.item = item;\r\n state.selectedItem.topPosition = top;\r\n state.selectedItem.autoSelected = autoSelected;\r\n },\r\n setCoAuthLockedItems: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.coAuthLockedItems = action.payload;\r\n },\r\n setSettingsTooltipVisibility: (state: IActivityCenterState, action: PayloadAction) => {\r\n // only show tooltip if the context menu is not open\r\n if (state.isContextMenuOpen) {\r\n return;\r\n }\r\n state.isSettingsTooltipVisible = action.payload;\r\n },\r\n setIsReportABugTooltipVisible: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.isReportABugTooltipVisible = action.payload;\r\n },\r\n setIsKFMOnboardingTooltipVisible: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.isKFMOnboardingTooltipVisible = action.payload;\r\n },\r\n setIsSearchToggleTooltipVisible: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.isSearchToggleTooltipVisible = action.payload;\r\n },\r\n setIsSearchOnboardingTooltipVisible: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.isSearchOnboardingTooltipVisible = action.payload;\r\n },\r\n setHasSeenSearchTooltip: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.hasSeenSearchTooltip = action.payload;\r\n // Dismissing the onboarding tooltip also implicitly hides it now.\r\n if (action.payload) {\r\n state.isSearchOnboardingTooltipVisible = false;\r\n }\r\n },\r\n setHomeIconHovered: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.isHomeTooltipVisible = action.payload;\r\n },\r\n setMoreOptionsTooltipVisibility: (\r\n state: IActivityCenterState,\r\n action: PayloadAction\r\n ) => {\r\n state.moreOptionsTooltip = action.payload;\r\n },\r\n removeHistoryItem: (state: IActivityCenterState, action: PayloadAction) => {\r\n if (state.itemsHistory) {\r\n state.itemsHistory.items.splice(action.payload, 1);\r\n }\r\n },\r\n updateItemThumbnail: (\r\n state: IActivityCenterState,\r\n action: PayloadAction<{ filePath: string; thumbnailUrl: string }>\r\n ) => {\r\n const { filePath, thumbnailUrl } = action.payload;\r\n if (!filePath || !thumbnailUrl) {\r\n return;\r\n }\r\n let didUpdate = false;\r\n if (state.itemsHistory) {\r\n for (const item of state.itemsHistory.items) {\r\n if (item.filePath === filePath) {\r\n item.thumbnailUrl = thumbnailUrl;\r\n didUpdate = true;\r\n break;\r\n }\r\n }\r\n }\r\n if (didUpdate) {\r\n delete state.pendingItemThumbnails[filePath];\r\n } else {\r\n cachePendingItemThumbnail(state, filePath, thumbnailUrl);\r\n }\r\n\r\n if (state.search?.results) {\r\n for (const result of state.search.results) {\r\n if (result.filePath === filePath) {\r\n result.thumbnailUrl = thumbnailUrl;\r\n break;\r\n }\r\n }\r\n }\r\n },\r\n setGlobalSyncStatus: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.globalSyncStatus = action.payload;\r\n },\r\n setLastUIActionPerformed: (\r\n state: IActivityCenterState,\r\n action: PayloadAction\r\n ) => {\r\n state.lastUIActionPerformed = action.payload;\r\n },\r\n setLastAcmAction: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.lastAcmAction = action.payload;\r\n },\r\n setLastAcmSource: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.lastAcmSource = action.payload;\r\n },\r\n setAcmViewed: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.acmViewed = action.payload;\r\n },\r\n openFirstCopilotEligibleItemContextMenu: (state: IActivityCenterState) => {\r\n // First, try to find the first actionable history item from the combined progress+history list\r\n // Progress items don't have context menus, so we need a history item\r\n let firstActionableItem: IItemHistory | null = null;\r\n let selectedItemIndex = -1;\r\n\r\n // Check progress items first (they appear first in the UI)\r\n const progressItems = state.progressItems?.items || [];\r\n const historyItems = state.itemsHistory?.items || [];\r\n\r\n // Combine the lists in the same order as the UI (progress first, then history)\r\n const combinedItems = [...progressItems, ...historyItems];\r\n\r\n // Find the first history item that is actionable\r\n for (let i = 0; i < combinedItems.length; i++) {\r\n const item = combinedItems[i];\r\n // Check if this is a history item (not a progress item) and is actionable\r\n if ('isActionable' in item && (item as IItemHistory).isActionable) {\r\n // Check if the item has a valid file extension for Copilot actions\r\n const itemName = (item as IItemHistory).fileName;\r\n // Use action=AskAQuestion since it's available for most file types.\r\n // As long as AskAQuestion is available, we can say CopilotAction is available for the file.\r\n if (\r\n isCopilotActionEnabledForFileExtension(\r\n itemName,\r\n HistoryItemMenuAction.AskAQuestion,\r\n state.isBusinessClient,\r\n state.isCopilotImageActionEnabled\r\n )\r\n ) {\r\n firstActionableItem = item as IItemHistory;\r\n selectedItemIndex = i;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (firstActionableItem && selectedItemIndex >= 0) {\r\n state.moreOptionsTooltip.showTooltip = false;\r\n state.selectedItem.item = firstActionableItem;\r\n\r\n // Store the index so the UI can scroll to this item\r\n // We'll use a custom property to signal that we need to scroll\r\n state.selectedItem.scrollToIndex = selectedItemIndex;\r\n\r\n // Don't set topPosition here - let the UI calculate it after scrolling\r\n state.selectedItem.topPosition = 0;\r\n state.selectedItem.autoSelected = true;\r\n }\r\n },\r\n clearScrollToIndex: (state: IActivityCenterState) => {\r\n if (state.selectedItem.scrollToIndex !== undefined) {\r\n state.selectedItem.scrollToIndex = undefined;\r\n }\r\n },\r\n setUpgradeProgress: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.upgradeProgress = action.payload;\r\n },\r\n setUpgradeScope: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.upgradeScope = action.payload;\r\n },\r\n setIsBusinessClient: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.isBusinessClient = action.payload;\r\n },\r\n // Search reducers\r\n setSearchQuery: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.search.query = action.payload;\r\n if (action.payload === '') {\r\n state.search.state = 'idle';\r\n state.search.results = [];\r\n state.search.latestRequestId = undefined;\r\n } else if (state.search.state === 'idle') {\r\n state.search.state = 'searching';\r\n }\r\n },\r\n setSearchFilter: (state: IActivityCenterState, action: PayloadAction) => {\r\n state.search.selectedFilter = action.payload;\r\n },\r\n clearSearch: (state: IActivityCenterState) => {\r\n state.search.query = '';\r\n state.search.state = 'idle';\r\n state.search.selectedFilter = 'all';\r\n state.search.results = [];\r\n state.search.errorMessage = undefined;\r\n state.search.latestRequestId = undefined;\r\n // An explicit clear is the user discarding the search, so drop the\r\n // restore snapshot too — otherwise the results they just dismissed\r\n // would come back the next time they open the search bar.\r\n state.search.previousSession = undefined;\r\n },\r\n toggleSearchBarVisible: (state: IActivityCenterState) => {\r\n const wasVisible = state.search.isSearchBarVisible;\r\n state.search.isSearchBarVisible = !wasVisible;\r\n // Opening the search bar (or pressing the toggle at all) is taken as\r\n // acknowledgment of the onboarding tooltip — dismiss it.\r\n if (state.isSearchOnboardingTooltipVisible) {\r\n state.isSearchOnboardingTooltipVisible = false;\r\n state.hasSeenSearchTooltip = true;\r\n }\r\n if (wasVisible) {\r\n // Closing: stash the current search so re-opening can restore it, then\r\n // clear the live fields so the AC falls back to the history view.\r\n stashSearchSession(state.search);\r\n clearLiveSearch(state.search);\r\n } else {\r\n // Opening: restore the previous search, if any.\r\n restoreSearchSession(state.search);\r\n }\r\n },\r\n addRecentSearch: (state: IActivityCenterState, action: PayloadAction) => {\r\n const query = action.payload.trim();\r\n if (query.length === 0) {\r\n return;\r\n }\r\n state.search.recentSearches = pushRecentSearch(state.search.recentSearches, query);\r\n },\r\n clearRecentSearches: (state: IActivityCenterState) => {\r\n state.search.recentSearches = [];\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder: ActionReducerMapBuilder) => {\r\n builder\r\n .addCase(\r\n getActivityCenterErrorsAsync.fulfilled,\r\n (state: IActivityCenterState, action: PayloadAction) => {\r\n const { totalErrors, messages, headerText, secondaryHeaderText } = action.payload;\r\n state.errors.totalErrors = totalErrors;\r\n state.errors.messages = messages;\r\n state.errors.headerText = headerText;\r\n state.errors.secondaryHeaderText = secondaryHeaderText;\r\n state.errors.isWarningsOnly = action.payload.isWarningsOnly;\r\n state.errors.isQuietErrorsOnly = action.payload.isQuietErrorsOnly;\r\n // If there are no errors or only one error and it is ready, go to the home page\r\n if (\r\n totalErrors === 0 ||\r\n (totalErrors === 1 && messages?.length === 1 && messages[0].isSingleErrorReady)\r\n ) {\r\n state.page = 'ac_home';\r\n }\r\n state.errorItemsState = DataFetchState.Fulfilled;\r\n }\r\n )\r\n .addCase(getActivityCenterErrorsAsync.rejected, (state: IActivityCenterState) => {\r\n state.errors.totalErrors = 0;\r\n state.failedFetch = true;\r\n state.errorItemsState = DataFetchState.Rejected;\r\n })\r\n .addCase(getActivityCenterErrorsAsync.pending, (state: IActivityCenterState) => {\r\n state.errorItemsState = DataFetchState.Pending;\r\n })\r\n .addCase(\r\n getItemsHistoryAsync.fulfilled,\r\n (state: IActivityCenterState, action: PayloadAction) => {\r\n const { items, didRetrieveFullList } = action.payload;\r\n if (didRetrieveFullList) {\r\n // set the items if the full list was retrieved\r\n state.itemsHistory = {\r\n items,\r\n didRetrieveFullList\r\n };\r\n } else {\r\n if (items.length > 0 && state.itemsHistory) {\r\n // Add new items to the front and remove the excess of 100 items\r\n // This is because ActivityItemsController only returns new items added to the history\r\n // and we want to keep the history list to a maximum of 100 most recent items\r\n const trimmedItems = [...items];\r\n if (trimmedItems.length < MAX_HISTORY_ITEMS) {\r\n const spaceAvailable = MAX_HISTORY_ITEMS - trimmedItems.length;\r\n const existingListSize = state.itemsHistory.items.length;\r\n // Move items from the old list to the new list\r\n // Ensure we don't exceed the maximum number of items that can be moved in the old list\r\n const itemsToMove = Math.min(spaceAvailable, existingListSize);\r\n for (let i = 0; i < itemsToMove; i++) {\r\n trimmedItems.push(state.itemsHistory.items[i]);\r\n }\r\n }\r\n state.itemsHistory.items = trimmedItems;\r\n state.itemsHistory.didRetrieveFullList = false;\r\n }\r\n }\r\n applyPendingItemThumbnails(state);\r\n if (didRetrieveFullList) {\r\n state.pendingItemThumbnails = {};\r\n }\r\n state.itemHistoryState = DataFetchState.Fulfilled;\r\n }\r\n )\r\n .addCase(getItemsHistoryAsync.rejected, (state: IActivityCenterState) => {\r\n state.itemHistoryState = DataFetchState.Rejected;\r\n })\r\n .addCase(getItemsHistoryAsync.pending, (state: IActivityCenterState) => {\r\n state.itemHistoryState = DataFetchState.Pending;\r\n })\r\n .addCase(fetchSyncStatusAsync.fulfilled, (state, action: PayloadAction) => {\r\n state.globalSyncStatus = action.payload;\r\n // update syncUI state at launch if value is still default\r\n if (state.syncStateAtLaunch === SyncUIState.Last) {\r\n state.syncStateAtLaunch = action.payload.SyncState;\r\n }\r\n state.syncStatusState = DataFetchState.Fulfilled;\r\n })\r\n .addCase(fetchSyncStatusAsync.rejected, (state, payload) => {\r\n state.syncStatusState = DataFetchState.Rejected;\r\n console.error(`Failed to fetch sync status`);\r\n console.error(payload);\r\n })\r\n .addCase(fetchSyncStatusAsync.pending, (state, action: PayloadAction) => {\r\n state.syncStatusState = DataFetchState.Pending;\r\n })\r\n .addCase(fetchVisualStateAsync.fulfilled, (state, action: PayloadAction) => {\r\n state.visualState = action.payload;\r\n state.visualStateState = DataFetchState.Fulfilled;\r\n })\r\n .addCase(fetchVisualStateAsync.rejected, (state, payload) => {\r\n state.visualStateState = DataFetchState.Rejected;\r\n console.error(`Failed to fetch visual state`);\r\n console.error(payload);\r\n })\r\n .addCase(fetchVisualStateAsync.pending, (state, action: PayloadAction) => {\r\n state.visualStateState = DataFetchState.Pending;\r\n })\r\n .addCase(\r\n fetchActivityCenterMessageDataAsync.fulfilled,\r\n (state, action: PayloadAction) => {\r\n state.activityCenterMessageData = action.payload;\r\n }\r\n )\r\n .addCase(fetchActivityCenterMessageDataAsync.rejected, (state, payload) => {\r\n console.error(`Failed to fetch AC Message Data`);\r\n console.error(payload);\r\n })\r\n .addCase(handleHistoryItemActionAsync.fulfilled, (state, action: PayloadAction) => {})\r\n .addCase(\r\n getProgressItemsAsync.fulfilled,\r\n (state: IActivityCenterState, action: PayloadAction) => {\r\n state.progressItems = action.payload;\r\n state.itemProgressState = DataFetchState.Fulfilled;\r\n }\r\n )\r\n .addCase(getProgressItemsAsync.rejected, (state: IActivityCenterState) => {\r\n state.itemProgressState = DataFetchState.Rejected;\r\n })\r\n .addCase(getProgressItemsAsync.pending, (state: IActivityCenterState) => {\r\n state.itemProgressState = DataFetchState.Pending;\r\n })\r\n .addCase(handleErrorActionAsync.fulfilled, (state, action: PayloadAction) => {})\r\n .addCase(\r\n fetchContextMenuItemsAsync.fulfilled,\r\n (state: IActivityCenterState, action: PayloadAction) => {\r\n state.rootContextMenuItem = action.payload;\r\n }\r\n )\r\n .addCase(fetchContextMenuItemsAsync.rejected, (state: IActivityCenterState) => {\r\n state.rootContextMenuItem = null;\r\n state.failedFetch = true;\r\n })\r\n .addCase(handleContextMenuActionAsync.pending, (state, action: PayloadAction) => {\r\n state.isContextMenuOpen = false;\r\n })\r\n .addCase(getPausedReaonAsync.fulfilled, (state, action: PayloadAction) => {\r\n state.pausedReason = action.payload.pausedReason;\r\n })\r\n .addCase(getStartupParamsAsync.fulfilled, (state, action: PayloadAction) => {\r\n state.startupParams = action.payload;\r\n // Show context menu if startup params indicate that it should be shown\r\n state.isContextMenuOpen = action.payload.shouldShowMenu;\r\n // Show errors view if startup params indicate that it should be shown\r\n if (action.payload.showErrorsView === ActivityCenterPageOpenType.OpenCustomView) {\r\n state.page = 'ac_errors';\r\n }\r\n })\r\n .addCase(getStartupParamsAsync.rejected, (state, payload) => {\r\n console.error(payload);\r\n console.error(`Failed to fetch startup params`);\r\n })\r\n .addCase(hideActivityCenterAsync.fulfilled, (state, action: PayloadAction) => {})\r\n .addCase(getAllowOD4Entry.fulfilled, (state, action: PayloadAction) => {\r\n state.allowOD4Entry = action.payload.allowOD4Entry;\r\n state.allowOD4EntryState = DataFetchState.Fulfilled;\r\n })\r\n .addCase(getAllowOD4Entry.rejected, (state) => {\r\n state.allowOD4EntryState = DataFetchState.Rejected;\r\n })\r\n .addCase(\r\n getCopilotActionEligibility.fulfilled,\r\n (state, action: PayloadAction) => {\r\n state.isCopilotActionEnabled = action.payload.isCopilotActionEnabled;\r\n state.isCopilotImageActionEnabled = action.payload.isCopilotImageActionEnabled;\r\n }\r\n )\r\n .addCase(\r\n getPrioritizeSyncEligibility.fulfilled,\r\n (state, action: PayloadAction) => {\r\n state.isPrioritizeSyncEnabled = action.payload.isPrioritizeSyncEnabled;\r\n }\r\n )\r\n .addCase(\r\n getUnarchiveContextMenuEligibility.fulfilled,\r\n (state, action: PayloadAction) => {\r\n state.isUnarchiveContextMenuEnabled = action.payload.isUnarchiveContextMenuEnabled;\r\n }\r\n )\r\n .addCase(launchKFMOnboardingAsync.fulfilled, (state, action: PayloadAction) => {})\r\n .addCase(\r\n getIsKFMOnboardingEnabledAsync.fulfilled,\r\n (state, action: PayloadAction) => {\r\n state.isKFMOnboardingEnabled = action.payload.isEnabled;\r\n state.hasClickedLightbulb = action.payload.hasClickedLightbulb;\r\n }\r\n )\r\n // Search extraReducers\r\n .addCase(performSearchAsync.pending, (state, action) => {\r\n state.search.state = 'searching';\r\n state.search.errorMessage = undefined;\r\n // Store the request ID in state to track the latest request\r\n state.search.latestRequestId = action.meta.requestId;\r\n })\r\n .addCase(performSearchAsync.fulfilled, (state, action) => {\r\n // Only update if this is the latest request (ignore stale responses)\r\n if (action.meta.requestId !== state.search.latestRequestId) {\r\n return;\r\n }\r\n if (action.payload.status === SearchQueryStatus.Success) {\r\n state.search.results = action.payload.results;\r\n state.search.state = action.payload.results.length > 0 ? 'success' : 'noResults';\r\n // Record successful queries with at least one result in the in-memory\r\n // recent-search history (used by the empty-state). Use the actual\r\n // query the request was issued with (in `meta.arg`).\r\n if (action.payload.results.length > 0) {\r\n const issuedQuery: string | undefined = (action.meta.arg as IPerformSearchPayload | undefined)\r\n ?.query;\r\n const trimmed = issuedQuery?.trim() ?? '';\r\n if (trimmed.length > 0) {\r\n state.search.recentSearches = pushRecentSearch(state.search.recentSearches, trimmed);\r\n }\r\n }\r\n } else {\r\n state.search.state = 'error';\r\n state.search.results = [];\r\n state.search.errorMessage = undefined;\r\n }\r\n })\r\n .addCase(performSearchAsync.rejected, (state, action) => {\r\n // Only show error if this was the latest request (ignore stale errors)\r\n if (action.meta.requestId === state.search.latestRequestId) {\r\n state.search.state = 'error';\r\n state.search.errorMessage = undefined;\r\n state.search.results = [];\r\n }\r\n })\r\n .addCase(\r\n getSearchTooltipSeenAsync.fulfilled,\r\n (state, action: PayloadAction) => {\r\n // Hydrate the persisted seen flag once on AC mount. If the user has\r\n // already seen the tooltip, also force-hide it in case the auto-show\r\n // effect raced this hydrate and flipped visibility to true.\r\n state.hasSeenSearchTooltip = action.payload.seen;\r\n if (action.payload.seen) {\r\n state.isSearchOnboardingTooltipVisible = false;\r\n }\r\n }\r\n )\r\n .addCase(markSearchTooltipSeenAsync.pending, (state) => {\r\n // Optimistically clear visibility and mark seen the instant we kick\r\n // off the persistence write. If the write fails, the next AC open\r\n // will simply re-fetch the (still-false) registry value and the\r\n // tooltip will show again.\r\n state.hasSeenSearchTooltip = true;\r\n state.isSearchOnboardingTooltipVisible = false;\r\n });\r\n }\r\n});\r\n\r\nexport const activityCenterActions = {\r\n ...activityCenterSlice.actions, // Action creators are generated for each case reducer function\r\n getActivityCenterErrors: getActivityCenterErrorsAsync,\r\n fetchContextMenuItems: fetchContextMenuItemsAsync,\r\n handleContextMenuAction: handleContextMenuActionAsync,\r\n fetchSyncStatus: fetchSyncStatusAsync,\r\n fetchVisualState: fetchVisualStateAsync,\r\n getItemsHistory: getItemsHistoryAsync,\r\n fetchActivityCenterMessageData: fetchActivityCenterMessageDataAsync,\r\n handleHistoryItemAction: handleHistoryItemActionAsync,\r\n handleResponseForCachedMessage: handleResponseForCachedMessageAsync,\r\n getProgressItems: getProgressItemsAsync,\r\n handleErrorAction: handleErrorActionAsync,\r\n handleUIActionTelemetry: handleUIActionTelemetryAsync,\r\n handleFooterAction: handleFooterUIActionAsync,\r\n getPausedReason: getPausedReaonAsync,\r\n getStartupParams: getStartupParamsAsync,\r\n hideActivityCenter: hideActivityCenterAsync,\r\n getAllowOD4Entry: getAllowOD4Entry,\r\n getCopilotActionEligibility: getCopilotActionEligibility,\r\n getPrioritizeSyncEligibility: getPrioritizeSyncEligibility,\r\n getUnarchiveContextMenuEligibility: getUnarchiveContextMenuEligibility,\r\n launchKFMOnboarding: launchKFMOnboardingAsync,\r\n getIsKFMOnboardingEnabled: getIsKFMOnboardingEnabledAsync,\r\n // Search actions\r\n performSearch: performSearchAsync,\r\n getSearchTooltipSeen: getSearchTooltipSeenAsync,\r\n markSearchTooltipSeen: markSearchTooltipSeenAsync,\r\n recordSearchActivity: recordSearchActivityAsync,\r\n recordSearchFeedback: recordSearchFeedbackAsync\r\n};\r\n\r\nexport default activityCenterSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\nimport {\r\n IActivityCenterErrorState,\r\n IGlobalSyncStatus,\r\n IHistoryItemMenuActionProps,\r\n IItemHistoryState,\r\n IProgressItems,\r\n IVisualState,\r\n IErrorActionProps,\r\n IActivityCenterUIActionProps,\r\n ActivityCenterUIAction,\r\n IPausedReason,\r\n IStartupParams,\r\n IContextMenuItem,\r\n IOD4EntryPayload,\r\n ICopilotActionPayload,\r\n IPerformSearchPayload,\r\n ISearchResponse,\r\n ISearchTooltipSeenResponse,\r\n IPrioritizeSyncPayload,\r\n IUnarchiveContextMenuPayload,\r\n IRecordSearchActivityPayload,\r\n IRecordSearchFeedbackPayload\r\n} from '../types';\r\nimport {\r\n IActivityCenterMessageData,\r\n IActivityCenterMessageClickedData\r\n} from '../types/activityCenterMessageTypes';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\nimport { IKFMOnboardingFlags } from '../types/activityCenterViewTypes';\r\n\r\nexport class ActivityCenterDataModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async getErrors(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/getErrors',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getItemsHistory(refreshHistory: boolean): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/getItemsHistory',\r\n requestType: 'GET',\r\n postData: { refreshHistory }\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async fetchSyncStatus(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/updateSyncStatus',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async fetchVisualState(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/updateVisualState',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async fetchContextMenuItems(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/contextMenuItems',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async handleContextMenuAction(menuResult: number): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/handleContextMenuAction',\r\n requestType: 'POST',\r\n postData: { menuResult }\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async handleFooterUIAction(action: ActivityCenterUIAction): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/handleFooterAction',\r\n requestType: 'POST',\r\n postData: { action }\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async pauseSyncing(pauseTime: number): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/pauseSyncing',\r\n requestType: 'POST',\r\n postData: { pauseTime }\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async reportIssue(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/reportIssue',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getActivityCenterMessageData(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/getActivityCenterMessageData',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async handleHistoryItemAction(data: IHistoryItemMenuActionProps): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/handleHistoryItemAction',\r\n requestType: 'POST',\r\n postData: data\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async handleResponseForCachedMessage(\r\n acmClickedData: IActivityCenterMessageClickedData\r\n ): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/handleResponseForCachedMessage',\r\n requestType: 'POST',\r\n postData: {\r\n ...acmClickedData\r\n }\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getProgressItems(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/getProgressItems',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async handleErrorAction(data: IErrorActionProps): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/handleErrorAction',\r\n requestType: 'POST',\r\n postData: data\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async sendActivityCenterUIActionTelemetry(data: IActivityCenterUIActionProps): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/sendActivityCenterUIActionTelemetry',\r\n requestType: 'POST',\r\n postData: { ...data }\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getPausedReason(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/getPausedReason',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getStartupParams(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/getStartupParams',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async hideActivityCenter(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/hideActivityCenter',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getAllowOD4Entry(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/ActivityCenter/getAllowOD4Entry',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getCopilotActionEligibility(): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('GET', 'ActivityCenter', 'getCopilotActionEligibility')\r\n );\r\n }\r\n\r\n public async getPrioritizeSyncEligibility(): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('GET', 'ActivityCenter', 'getPrioritizeSyncEligibility')\r\n );\r\n }\r\n\r\n public async getUnarchiveContextMenuEligibility(): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('GET', 'ActivityCenter', 'getUnarchiveContextMenuEligibility')\r\n );\r\n }\r\n\r\n public async launchKFMOnboardingUX(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', 'ActivityCenter', 'launchKFMOnboarding'));\r\n }\r\n\r\n public async getIsKFMOnboardingEnabled(): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('GET', 'ActivityCenter', 'getIsKFMOnboardingEnabled')\r\n );\r\n }\r\n\r\n // Search methods\r\n public async performSearch(payload: IPerformSearchPayload): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', 'SemanticSearch', 'performSearch', payload)\r\n );\r\n }\r\n\r\n public async getSearchTooltipSeen(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('GET', 'SemanticSearch', 'getSearchTooltipSeen'));\r\n }\r\n\r\n public async markSearchTooltipSeen(): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', 'SemanticSearch', 'markSearchTooltipSeen')\r\n );\r\n }\r\n\r\n /**\r\n * Fires a single AC-search activity event. Native forwards semantic\r\n * stage/entity/action fields to ACSearchFunnelTelemetry and emits repeated\r\n * query metadata through a separate typed event.\r\n * Fire-and-forget; never throw to the caller.\r\n */\r\n public async recordSearchActivity(payload: IRecordSearchActivityPayload): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', 'SemanticSearch', 'recordSearchActivity', payload)\r\n );\r\n }\r\n\r\n /**\r\n * Fires a single AC-search feedback event (sentiment only — no query\r\n * text or per-query correlation; feedback is a pure opinion signal).\r\n * Fire-and-forget; never throw to the caller.\r\n */\r\n public async recordSearchFeedback(payload: IRecordSearchFeedbackPayload): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', 'SemanticSearch', 'recordSearchFeedback', payload)\r\n );\r\n }\r\n}\r\n","import { DataFetchState, VisualStates } from '../../common/types';\r\nimport { IActivityCenterMessageData, NotificationSource } from './activityCenterMessageTypes';\r\n\r\nexport interface IActivityCenterState {\r\n failedFetch: boolean;\r\n page: string;\r\n errors: IActivityCenterErrorState;\r\n globalSyncStatus: IGlobalSyncStatus | null;\r\n visualState: IVisualState | null;\r\n syncingBlocked: boolean;\r\n itemsHistory: IItemHistoryState | null;\r\n activityCenterMessageData: IActivityCenterMessageData | null;\r\n rootContextMenuItem: IContextMenuItem | null;\r\n isContextMenuOpen: boolean;\r\n isItemMenuOpen: boolean;\r\n selectedItem: ISelectedItem;\r\n progressItems: IProgressItems | null;\r\n startTime: number;\r\n syncStateAtLaunch: SyncUIState;\r\n coAuthLockedItems: ICoAuthLockedItems | null;\r\n pausedReason: PauseInvoker;\r\n startupParams: IStartupParams;\r\n activityCenterReopenSequence: number;\r\n isSettingsTooltipVisible: boolean;\r\n isHomeTooltipVisible: boolean;\r\n moreOptionsTooltip: IShowMoreOptionsTooltipProps;\r\n isReportABugTooltipVisible: boolean;\r\n itemHistoryState: DataFetchState;\r\n itemProgressState: DataFetchState;\r\n errorItemsState: DataFetchState;\r\n syncStatusState: DataFetchState;\r\n visualStateState: DataFetchState;\r\n lastUIActionPerformed: ActivityCenterUIAction;\r\n lastAcmAction: string;\r\n lastAcmSource: NotificationSource;\r\n acmViewed: boolean;\r\n allowOD4Entry: boolean;\r\n allowOD4EntryState: DataFetchState;\r\n trapFocus: boolean;\r\n isCopilotActionEnabled: boolean;\r\n isCopilotImageActionEnabled: boolean;\r\n isPrioritizeSyncEnabled: boolean;\r\n isUnarchiveContextMenuEnabled: boolean;\r\n upgradeProgress?: number;\r\n upgradeScope?: string;\r\n isBusinessClient: boolean;\r\n isKFMOnboardingEnabled: boolean;\r\n isKFMOnboardingTooltipVisible: boolean;\r\n hasClickedLightbulb: boolean;\r\n pendingItemThumbnails: Record;\r\n isSearchToggleTooltipVisible: boolean;\r\n isSearchOnboardingTooltipVisible: boolean;\r\n /** True once the onboarding tooltip has been dismissed this AC session. */\r\n hasSeenSearchTooltip: boolean;\r\n // Search state\r\n search: ISearchContext;\r\n}\r\n\r\nexport interface IOD4EntryPayload {\r\n allowOD4Entry: boolean;\r\n}\r\n\r\nexport interface ICopilotActionPayload {\r\n isCopilotActionEnabled: boolean;\r\n isCopilotImageActionEnabled: boolean;\r\n}\r\n\r\nexport interface IPrioritizeSyncPayload {\r\n isPrioritizeSyncEnabled: boolean;\r\n}\r\n\r\nexport interface IUnarchiveContextMenuPayload {\r\n isUnarchiveContextMenuEnabled: boolean;\r\n}\r\n\r\nexport enum VaultState {\r\n Unknown = 0,\r\n // Hidden = 1 (deprecated),\r\n Locked = 2,\r\n Unlocked = 3,\r\n Unlocking = 4\r\n}\r\n\r\nexport enum VisibleErrorState {\r\n None = 0, // No errors exist\r\n NonActionableWarning = 1, // Only contains non actionable warnings (service throttling, etc)\r\n Warning = 2, // Only warnings exist, has at least one actionable warning (aka user can fix it, such as locked files)\r\n Error = 3, // At least one error and possibly warnings exist\r\n Blocked = 4 // Critical error exists that blocks all of sync\r\n}\r\n\r\nexport enum SyncUIState {\r\n Transferring = 0,\r\n Uploading = 1,\r\n Downloading = 2,\r\n Processing = 3,\r\n UpToDate = 4,\r\n Looking = 5,\r\n CrossScopeMoving = 6,\r\n MetadataSending = 7,\r\n MetadataReceiving = 8,\r\n GenericDownload = 9,\r\n CoAuthLockedOnly = 10,\r\n Last = 11\r\n}\r\n\r\nexport interface IGlobalSyncStatus {\r\n SyncState: SyncUIState;\r\n ProcessingFileCount: number;\r\n ProgressFileCount: number;\r\n FilesRemainingString: string;\r\n DownloadTransferRate: number;\r\n UploadTransferRate: number;\r\n CompletedSize: number;\r\n TotalSize: number;\r\n BytesTransferredSize: string;\r\n BytesTransferredUnits: string;\r\n BytesTotalSize: string;\r\n BytesTotalUnits: string;\r\n}\r\n\r\nexport interface IVisualState {\r\n VisualState: number;\r\n VisibleErrorState: number;\r\n VaultState: VaultState;\r\n VisualStateText: string;\r\n}\r\n\r\nexport type GlobalSyncStatus = IGlobalSyncStatus | null;\r\nexport type VisualState = IVisualState | null;\r\nexport type ActivityCenterMessageData = IActivityCenterMessageData | null;\r\n\r\nexport interface IActivityCenterErrorState {\r\n totalErrors: number;\r\n headerText: string;\r\n secondaryHeaderText: string;\r\n isWarningsOnly: boolean;\r\n isQuietErrorsOnly: boolean;\r\n messages?: IActivityCenterErrorProps[];\r\n}\r\n\r\nexport interface IItemHistoryState {\r\n items: IItemHistory[];\r\n didRetrieveFullList: boolean;\r\n}\r\n\r\n/**\r\n * Represents the currently selected item in the Activity Center (for context menu).\r\n * Can be a history item or search result - both have filePath for menu actions.\r\n * Progress items do not support context menus.\r\n */\r\nexport interface ISelectedItem {\r\n item: IItemHistory | ISearchResultItem | null;\r\n topPosition: number;\r\n scrollToIndex?: number;\r\n autoSelected?: boolean;\r\n}\r\n\r\n/** @deprecated Use ISelectedItem instead */\r\nexport type ISelectedHistoryItem = ISelectedItem;\r\nexport interface IItemHistory {\r\n fileName: string;\r\n icon: string;\r\n thumbnailUrl?: string;\r\n filePath: string;\r\n hydratingProcess: string;\r\n hydratingExe: string;\r\n activityItemType: ActivityItemType;\r\n time: string;\r\n diffSyncStatusFlag: number;\r\n actionString: string;\r\n folderName: string;\r\n imageFileName?: string;\r\n isActionable: boolean;\r\n}\r\n\r\nexport interface IProgressItems {\r\n items: IProgressItem[];\r\n}\r\n\r\nexport interface IProgressItem {\r\n fileName: string;\r\n icon: string;\r\n filePath: string;\r\n resourceId: string;\r\n processExeName: string;\r\n activityItemType: ActivityItemType;\r\n processName: string;\r\n isWaitingForDiffSync: boolean;\r\n completedSizeBytes: number;\r\n totalSizeBytes: number;\r\n completedSize: string;\r\n completedSizeUnit: string;\r\n totalSize: string;\r\n totalSizeUnit: string;\r\n diffGramSize: number;\r\n deleted: boolean;\r\n detectedInProgressBytesOverflow: boolean;\r\n isActiveHydration: boolean;\r\n folderName: string;\r\n}\r\n\r\nexport interface ICoAuthLockedItems {\r\n items: ICoAuthLockedItem[];\r\n}\r\n\r\nexport interface ICoAuthLockedItem {\r\n fileName: string;\r\n icon: string;\r\n filePath: string;\r\n}\r\n\r\nexport enum ActivityItemType {\r\n Unknown = 0, // When the item is first added to sync progress map, its status is syncing. We do not yet know whether it is upload or download\r\n Downloading = 1, // Items is in the \"In Progress\" section, Downloading\r\n Uploading = 2, // Item is in the \"In Progress\" section, Uploading\r\n UpToDate = 3, // Item moved from \"In Progress\" to History section of Activity Center\r\n Downloaded = 4,\r\n Uploaded = 5,\r\n Deleted = 6, // Deleted item will appear in History section but with status as Deleted\r\n Moved = 10,\r\n Renamed = 11,\r\n PlaceholderCreated = 12,\r\n LocalDeletePending = 13,\r\n AutoRename = 14,\r\n ResetSuccessful = 15,\r\n ResetFailed = 16,\r\n VaultMove = 17,\r\n AddedFolderUnmounted = 18, // Added folder removed by user\r\n Archived = 19, // File was archived (moved to cold storage)\r\n Reactivating = 20, // File is being reactivated from archive\r\n Reactivated = 21, // File was reactivated from archive (completed)\r\n CoAuthLockedItem = 22, // Moved to 22 to match C++ enum additions\r\n CheckedOut = 23, // File was checked out from SharePoint\r\n CheckedIn = 24 // File was checked in to SharePoint\r\n}\r\nexport interface IActivityCenterErrorProps {\r\n primaryText: string;\r\n secondaryText: string;\r\n imageFileName: string;\r\n primaryActionParameter: string;\r\n filePath?: string;\r\n isFolder: boolean;\r\n errorType: number;\r\n checkboxText: string;\r\n isWarning: boolean;\r\n isQuietError: boolean;\r\n isSingleErrorReady: boolean;\r\n linkText: string;\r\n learnMoreLink: string;\r\n tertiaryText: ITertiaryTextProps;\r\n buttonOne: IActionButtonProps;\r\n buttonTwo: IActionButtonProps;\r\n secondLink: ISecondLinkProps;\r\n icon?: string;\r\n errorSizeContext?: number;\r\n}\r\n\r\ninterface ISecondLinkProps {\r\n text?: string;\r\n url?: string;\r\n}\r\ninterface ITertiaryTextProps {\r\n text: string;\r\n textAccessible: string;\r\n isCentered: boolean;\r\n}\r\n\r\ninterface IActionButtonProps {\r\n text: string;\r\n actionParameter: string;\r\n imageUrl: string;\r\n}\r\n\r\nexport interface IHistoryItemMenuActionProps {\r\n path: string;\r\n action: HistoryItemMenuAction;\r\n}\r\n\r\nexport enum HistoryItemMenuAction {\r\n Open = 0,\r\n Share = 1,\r\n Viewonline = 2,\r\n Versionhistory = 3,\r\n OpenItemFolder = 4,\r\n Summarize = 5,\r\n CreateAnFAQ = 6,\r\n AskAQuestion = 7,\r\n ExplainImage = 8,\r\n ExtractText = 9,\r\n SyncNow = 10,\r\n Reactivate = 11,\r\n CopyLink = 12\r\n}\r\n\r\nexport enum ErrorActionType {\r\n MainBody = 0, // Clicks on the message body\r\n PrimaryButton = 1, // Clicks on the primary button\r\n SecondaryButton = 2, // Clicks on the secondary button\r\n Dismiss = 3, // Clicks on Dismiss\r\n LearnMoreLink = 4, // Clicks on Learn More\r\n SecondLink = 5 // Clicks on Second customizable link\r\n}\r\n\r\nexport interface IErrorActionProps {\r\n index: number;\r\n action: ErrorActionType;\r\n isCheckboxChecked: boolean;\r\n}\r\n\r\n/// \r\n/// Possible UI actions the user could perform in the ActivityCenter. Make sure\r\n/// to update ActivityCenterView::UIActionToString when adding a value here.\r\n/// Match with C++ enum ActivityCenterUIAction in IActivityCenterCache.h\r\n/// \r\nexport enum ActivityCenterUIAction {\r\n None = 0,\r\n ProgressItemActivated = 1,\r\n HistoryItemActivated = 2,\r\n ErrorAction = 3,\r\n FooterOpenFolderClicked = 4,\r\n OpenSettings = 5,\r\n PremiumBannerClicked = 6,\r\n OpenItemFolder = 7,\r\n AcmClicked = 8,\r\n MenuButtonClicked = 9,\r\n OpenMenuActivated = 10,\r\n ShareMenuActivated = 11,\r\n ViewOnlineMenuActivated = 12,\r\n FooterGoPremiumClicked = 13,\r\n PauseStatusRectClicked = 14,\r\n ActiveHydrationCanceled = 15,\r\n ErrorPrimaryButtonClicked = 16,\r\n ErrorSecondaryButtonClicked = 17,\r\n ErrorLearnMoreClicked = 18,\r\n ErrorMainBodyClicked = 19,\r\n FooterViewOnlineClicked = 20,\r\n FooterMoreClicked = 21,\r\n VersionHistoryMenuActivated = 22,\r\n FooterRecycleBinClicked = 23,\r\n HeaderSettingsClicked = 24,\r\n HeaderReportBugClicked = 25,\r\n ErrorsSecondLinkClicked = 26,\r\n QuotaBarClicked = 27,\r\n FooterPhotoClicked = 28,\r\n SummarizeClicked = 29,\r\n CreateAnFAQClicked = 30,\r\n AskAQuestionClicked = 31,\r\n HeaderKFMOnboardingClicked = 32,\r\n ExplainImageClicked = 33,\r\n ExtractTextClicked = 34,\r\n SyncNowClicked = 35,\r\n ReactivateClicked = 36,\r\n SearchFeedbackClicked = 37,\r\n SearchClicked = 38,\r\n SearchQuerySubmitted = 39,\r\n SearchResultClicked = 40,\r\n SearchPopOutClicked = 41,\r\n SearchRecentSearchClicked = 42,\r\n CopyLinkMenuActivated = 43,\r\n FooterGoPremiumImpression = 44,\r\n\r\n // This enum should always represent the last element of the list\r\n Last = 45\r\n}\r\n\r\nexport interface IActivityCenterUIActionProps {\r\n uiAction: ActivityCenterUIAction;\r\n upDuration: number;\r\n visualState: VisualStates;\r\n acmSource: NotificationSource;\r\n isPlaceholderFile: boolean;\r\n historyItemsCount: number;\r\n isMenuOpen: boolean;\r\n isAcmVisible: boolean;\r\n endState: SyncUIState;\r\n acmAction: string;\r\n beginState: SyncUIState;\r\n}\r\n/// \r\n/// Describes how Pause was invoked.\r\n/// Multiple flags can be set at a given time.\r\n/// These enums are derived from the PauseInvoker enum in the C++ code (IPauseManager.h).\r\n/// \r\nexport enum PauseInvoker {\r\n None = 0,\r\n Manual = 1 << 0,\r\n TimerResume = 1 << 1,\r\n MeteredNetwork = 1 << 2,\r\n BatterySaver = 1 << 3\r\n}\r\n\r\nexport interface IPausedReason {\r\n pausedReason: PauseInvoker;\r\n}\r\n\r\n// Defined in CommonStructs.h\r\nexport enum ActivityCenterPageOpenType {\r\n /// \r\n /// Closes the page this is passed in for.\r\n /// Is default value for safety so most code paths will close other views\r\n /// and return to AC History List view\r\n /// \r\n CloseCustomView = 0,\r\n\r\n /// \r\n /// Leaves the page value as it was before, useful for maintaining view between systray clicks, etc.\r\n /// \r\n AsIs = 1,\r\n\r\n /// \r\n /// Opens the page this is passed in for\r\n /// \r\n OpenCustomView = 2\r\n}\r\n\r\nexport interface IStartupParams {\r\n forceRecreate: boolean;\r\n isStickyMode: boolean;\r\n openInBackground: boolean;\r\n shouldShowMenu: boolean;\r\n showErrorsView: ActivityCenterPageOpenType;\r\n}\r\n\r\nexport interface IShowMoreOptionsTooltipProps {\r\n showTooltip: boolean;\r\n top: number;\r\n}\r\n\r\nexport enum ContextMenuIconType {\r\n None,\r\n ApplicationIcon,\r\n QuotaError,\r\n QuotaWarning\r\n}\r\n\r\nexport interface IContextMenuItem {\r\n name: string;\r\n accessibleName: string;\r\n commandId: number;\r\n children: IContextMenuItem[];\r\n isChecked: boolean;\r\n isSeparator: boolean;\r\n isDisabled: boolean;\r\n icon: ContextMenuIconType;\r\n iconImageString: string;\r\n testId: string;\r\n}\r\n\r\n// ============================================================================\r\n// Search result item types\r\n// ============================================================================\r\n\r\n/**\r\n * Search result file type categories for filtering.\r\n */\r\nexport type SearchResultFileType =\r\n | 'photo'\r\n | 'video'\r\n | 'document'\r\n | 'spreadsheet'\r\n | 'presentation'\r\n | 'folder'\r\n | 'other';\r\n\r\n/**\r\n * File types that render in the gallery photo grid (photos and videos).\r\n * Single source of truth: edit this helper to add a future media type and every\r\n * gallery selector + component picks it up automatically.\r\n */\r\nexport function isGalleryFileType(fileType: SearchResultFileType | undefined): boolean {\r\n return fileType === 'photo' || fileType === 'video';\r\n}\r\n\r\n/**\r\n * Search result item - represents a file found via semantic search.\r\n *\r\n * `itemKind: 'searchResult'` is the discriminator used by `isSearchResultItem`\r\n * to narrow the FlatList's mixed-item union. History/progress items don't\r\n * carry this field, so the type guard returns false for them.\r\n */\r\nexport interface ISearchResultItem {\r\n itemKind: 'searchResult';\r\n fileName: string;\r\n icon: string;\r\n filePath: string;\r\n folderName: string;\r\n resourceId: string;\r\n searchRank: number;\r\n thumbnailUrl?: string;\r\n webUrl?: string;\r\n fileType: SearchResultFileType;\r\n fileExtension: string;\r\n uploadedTo: string;\r\n timeAgo?: string;\r\n isActionable: boolean;\r\n}\r\n\r\n/**\r\n * Type guard to check if an item is a search result item.\r\n */\r\nexport function isSearchResultItem(\r\n item: IItemHistory | IProgressItem | ISearchResultItem\r\n): item is ISearchResultItem {\r\n return 'itemKind' in item && item.itemKind === 'searchResult';\r\n}\r\n\r\n// ============================================================================\r\n// Search State Types\r\n// ============================================================================\r\n\r\n/**\r\n * Filter categories for search results.\r\n */\r\nexport type SearchFilterType = 'all' | 'documents' | 'photos' | 'presentations' | 'spreadsheets';\r\n\r\n/**\r\n * Search operation state.\r\n */\r\nexport type SearchState = 'idle' | 'searching' | 'success' | 'error' | 'noResults';\r\n\r\n/**\r\n * Search query status codes returned by the C++ search handler.\r\n * Must stay in sync with SearchContext::QueryStatus in SearchQueryContext.h.\r\n */\r\nexport enum SearchQueryStatus {\r\n Success = 0,\r\n Error = 1,\r\n Timeout = 2,\r\n NoNetwork = 3,\r\n NetworkError = 4,\r\n NotSignedIn = 5,\r\n QueryNotSupported = 6,\r\n SortOrderNotSupported = 7\r\n}\r\n\r\n/**\r\n * Snapshot of the last completed search, stashed when the user leaves search\r\n * mode so re-entering can restore it instead of showing an empty box.\r\n *\r\n * Deliberately kept OUT of the live `query`/`state`/`results` fields: those\r\n * drive `selectIsSearchActive`, which in turn gates `selectDisplayItems` and\r\n * the error/message/co-auth blocks. Parking a closed-bar search in the live\r\n * fields would make the *default* Activity Center view render search results\r\n * instead of the history list.\r\n */\r\nexport interface IPreviousSearchSession {\r\n query: string;\r\n state: SearchState;\r\n selectedFilter: SearchFilterType;\r\n results: ISearchResultItem[];\r\n}\r\n\r\n/**\r\n * Search context state for Redux store.\r\n */\r\nexport interface ISearchContext {\r\n query: string;\r\n state: SearchState;\r\n selectedFilter: SearchFilterType;\r\n results: ISearchResultItem[];\r\n errorMessage?: string;\r\n isSearchBarVisible: boolean;\r\n /** Tracks the latest search request ID to ignore stale responses */\r\n latestRequestId?: string;\r\n /**\r\n * In-memory list of recent search queries. Capped at MAX_RECENT_SEARCHES,\r\n * deduped case-insensitively, most-recent-first. Cleared when the AC closes\r\n * (we intentionally do not persist across launches; see plan.md).\r\n */\r\n recentSearches: string[];\r\n /**\r\n * Last completed search, restored when the user re-opens the search bar.\r\n * Undefined when there is nothing to restore, or after the user explicitly\r\n * clears the search.\r\n */\r\n previousSession?: IPreviousSearchSession;\r\n}\r\n\r\n/** Maximum number of recent searches kept in `ISearchContext.recentSearches`. */\r\nexport const MAX_RECENT_SEARCHES = 5;\r\n\r\n/**\r\n * Default upper bound on the number of results requested per search query.\r\n * Shared by every code path that fires a search so behavior stays consistent\r\n * between submit-from-input, recent-search row press, and future entry points.\r\n */\r\nexport const SEARCH_DEFAULT_MAX_RESULTS = 25;\r\n\r\n/**\r\n * Payload for performing a search request.\r\n */\r\nexport interface IPerformSearchPayload {\r\n query: string;\r\n maxResults?: number;\r\n}\r\n\r\n/**\r\n * Response from search API.\r\n */\r\nexport interface ISearchResponse {\r\n results: ISearchResultItem[];\r\n status: SearchQueryStatus;\r\n error?: string;\r\n}\r\n\r\n/**\r\n * Response from the persisted search-tooltip-seen flag fetched on AC mount.\r\n * The flag lives in the per-instance registry (see PRODUCT_REGISTRY_AC_SEARCH_TOOLTIP_SEEN)\r\n * so the onboarding tooltip is shown at most once per user instead of every\r\n * time OneDrive (re)launches.\r\n */\r\nexport interface ISearchTooltipSeenResponse {\r\n seen: boolean;\r\n}\r\n\r\n/**\r\n * Stages of an AC search interaction used by ACSearchFunnelTelemetry.\r\n */\r\nexport enum SearchActivityStage {\r\n SearchOpened = 'SearchOpened',\r\n SearchClosed = 'SearchClosed',\r\n SearchBoxFocus = 'SearchBoxFocus',\r\n QueryExecuted = 'QueryExecuted',\r\n EntityAction = 'EntityAction',\r\n DirectSuccess = 'DirectSuccess'\r\n}\r\n\r\n/**\r\n * Sentiment for an AC search-results feedback click.\r\n */\r\nexport enum SearchFeedbackSentiment {\r\n ThumbsUp = 'ThumbsUp',\r\n ThumbsDown = 'ThumbsDown'\r\n}\r\n\r\n/**\r\n * Payload for the recordSearchActivity route. The FunnelEvent uses\r\n * stage/entity/action only.\r\n */\r\nexport interface IRecordSearchActivityPayload {\r\n stage: SearchActivityStage;\r\n entityType?: SearchResultFileType;\r\n actionType?: string;\r\n}\r\n\r\n/**\r\n * Payload for the recordSearchFeedback route. Carries sentiment only —\r\n * intentionally no query text or per-query correlation, per the funnel\r\n * telemetry model where feedback is a pure opinion signal.\r\n */\r\nexport interface IRecordSearchFeedbackPayload {\r\n sentiment: SearchFeedbackSentiment;\r\n}\r\n","import React from 'react';\r\nimport { ICommonModalProps } from '../components/CommonModal';\r\nimport { IUpdateRingSettings } from './updateRingSettingsTypes';\r\nimport { Platform } from 'react-native';\r\n\r\nexport const defaultFontFamily: string | undefined = Platform.OS === 'macos' ? undefined : 'Segoe UI';\r\n\r\nexport * from './updateRingSettingsTypes';\r\n\r\nexport * from './globalTypes';\r\n\r\nexport enum DataFetchState {\r\n Pending = 'pending',\r\n Fulfilled = 'fulfilled',\r\n Rejected = 'rejected'\r\n}\r\nexport interface IDebugRealizer {\r\n lastLCType: string;\r\n lastLCResult: boolean;\r\n lastLCProcessingDurationsMS: number;\r\n lastPostponeReason: string;\r\n}\r\n\r\nexport interface IDebugScanner {\r\n fullScanCount: number;\r\n lastFullScanReason: string;\r\n lastScanDurationMS: number;\r\n lastScanCpuTime: number;\r\n lastScanMemSizeKB: number;\r\n}\r\n\r\nexport interface IDebugServiceIntegration {\r\n serviceRequestsCount: number;\r\n bytesUploaded: number;\r\n bytesDownloaded: number;\r\n}\r\n\r\nexport interface IDebugStartup {\r\n initialSyncDurationMs: number;\r\n clientStartTime: number;\r\n}\r\n\r\nexport interface IDebugUpdateRingSettings {\r\n rampOverrides: string;\r\n killswitchOverrides: string;\r\n settingsOverrides: string;\r\n}\r\n\r\nexport interface IDebugInfo {\r\n Realizer: IDebugRealizer;\r\n Scanner: IDebugScanner;\r\n ServiceIntegration: IDebugServiceIntegration;\r\n Startup: IDebugStartup;\r\n UpdateRingSettings: IDebugUpdateRingSettings;\r\n}\r\n\r\nexport interface IBvtPressRequest {\r\n testId: string;\r\n viewName: string;\r\n text?: string;\r\n count?: number;\r\n}\r\n\r\n/**\r\n * Test-only request to set the value of a CommonTextInput. Issued by the BVT\r\n * harness via the `bvtSetText` RN message; consumed by every CommonTextInput's\r\n * dev-only useEffect, which matches on viewName + testId.\r\n */\r\nexport interface IBvtSetTextRequest {\r\n viewName: string;\r\n testId: string;\r\n text: string;\r\n}\r\n\r\n/**\r\n * Test-only request fired by the BVT harness via the `bvtRerender` RN message.\r\n * viewName and testId are optional: an empty/missing field matches every component on\r\n * that axis. count is bumped for every request so matching components can re-log\r\n * render info even when the filter does not change.\r\n */\r\nexport interface IBvtRenderRequest {\r\n viewName?: string;\r\n testId?: string;\r\n count?: number;\r\n}\r\n\r\nexport interface ICommonState {\r\n metadata: Metadata;\r\n updateRingSettings: IUpdateRingSettings | null;\r\n failedFetch: boolean;\r\n viewActivated?: string;\r\n debugInfo?: IDebugInfo;\r\n bvtPressRequest?: IBvtPressRequest;\r\n bvtSetTextRequest?: IBvtSetTextRequest;\r\n bvtRenderRequest?: IBvtRenderRequest;\r\n}\r\n\r\nexport type Metadata = IMetadata | null;\r\n\r\nexport enum QoSTelemetryResultType {\r\n Success = 'Success',\r\n Failure = 'Failure',\r\n UnexpectedFailure = 'UnexpectedFailure'\r\n}\r\n\r\nexport interface IQoSTelemetryData {\r\n apiName: string;\r\n resultType: QoSTelemetryResultType;\r\n resultCode?: number;\r\n httpCode?: number;\r\n duration?: number;\r\n error?: string;\r\n validationError?: string;\r\n correlationVector?: string;\r\n value?: string;\r\n}\r\n\r\n/**\r\n * Enum of style types for buttons\r\n */\r\nexport enum Variants {\r\n Primary = 'primary',\r\n Default = 'default',\r\n Transparent = 'transparent',\r\n Success = 'success',\r\n Danger = 'danger',\r\n Footer = 'footer' // Used for footer buttons in Activity Center\r\n}\r\n\r\n/**\r\n * Enum to decide which button to style as the primary button on a dialog\r\n */\r\nexport enum DialogButtons {\r\n None = 'none',\r\n First = 'first',\r\n Second = 'second'\r\n}\r\n\r\n/**\r\n * Default values for the singleton modal\r\n */\r\nexport const defaultCommonModalProps: ICommonModalProps = {\r\n title: '',\r\n body: '',\r\n buttonOneText: '',\r\n buttonTwoText: '',\r\n buttonOneClick: (): void => {},\r\n buttonTwoClick: (): void => {},\r\n primary: DialogButtons.First\r\n};\r\n\r\n/**\r\n * CommonContext stores data relevant to all apps\r\n */\r\nexport interface ICommonContextData {\r\n metadata: Metadata;\r\n\r\n /**\r\n * Flag indicating that the common context's and the child app's data have been loaded\r\n */\r\n isAppFullyLoaded: boolean;\r\n\r\n /**\r\n * Whether we failed to fetch data for the child components\r\n */\r\n failedFetch: boolean;\r\n\r\n /**\r\n * The scale to be used in the app text, given user's settings\r\n */\r\n textScale: number;\r\n\r\n /**\r\n * The current props for the singleton modal\r\n */\r\n commonModalProps: ICommonModalProps;\r\n\r\n /**\r\n * Function to set new props for the singleton modal\r\n */\r\n setCommonModalProps: (props: ICommonModalProps) => void;\r\n\r\n /**\r\n * The current visibility state of the singleton modal\r\n */\r\n isCommonModalVisible: boolean;\r\n\r\n /**\r\n * Function to change the visibility of the singleton modal\r\n */\r\n setCommonModalVisible: (isVisible: boolean) => void;\r\n\r\n /**\r\n * Callback for the child app to indicate that its data has been loaded or fetch failed.\r\n */\r\n onChildDataLoaded: (failedFetch: boolean) => void;\r\n\r\n /**\r\n * Allows caller to invoke the native action handler (ActionManager).\r\n */\r\n onAction: (action: string) => void;\r\n}\r\n\r\nexport const defaultCommonContextData: ICommonContextData = {\r\n metadata: null,\r\n isAppFullyLoaded: false,\r\n failedFetch: false,\r\n textScale: 1,\r\n commonModalProps: defaultCommonModalProps,\r\n setCommonModalProps: (): void => {},\r\n isCommonModalVisible: false,\r\n setCommonModalVisible: (): void => {},\r\n onChildDataLoaded: (): void => {},\r\n onAction: (): void => {}\r\n};\r\n\r\nexport const AppKeyContext: React.Context = React.createContext('');\r\n\r\nexport interface IDpiScaleContext {\r\n dpiScale: number;\r\n setDpiScale: (scale: number) => void;\r\n}\r\n\r\nexport const defaultDpiScaleContext: IDpiScaleContext = {\r\n dpiScale: 1.0,\r\n setDpiScale: (scale: number) => {}\r\n};\r\n\r\nexport const DpiScaleContext: React.Context =\r\n React.createContext(defaultDpiScaleContext);\r\n\r\nexport const CommonContext: React.Context =\r\n React.createContext(defaultCommonContextData);\r\n\r\n/**\r\n * MetadataContext stores user and app metadata\r\n * so that RN views can render based on its contents\r\n */\r\n\r\ninterface IAccountMetadata {\r\n forceGB18030Compliance: boolean;\r\n isRTL: boolean;\r\n isODB: boolean;\r\n isOnPrem: boolean;\r\n isSignedIn: boolean;\r\n displayName: string;\r\n email: string;\r\n profilePictureLink: string;\r\n isDebugBuild: boolean;\r\n isBVTRunning: boolean;\r\n isUpgradeAvailable: boolean;\r\n productInstanceName: string;\r\n isUpsellEnabledByDefault: boolean;\r\n}\r\n\r\n/**\r\n * Enum matching the QuotaStateUX C++ enum found in QuotaInformation.h\r\n */\r\nexport enum QuotaState {\r\n Unknown = 0,\r\n Normal = 1,\r\n Nearing = 2,\r\n Critical = 3,\r\n Full = 4,\r\n OverLimit = 5\r\n}\r\n\r\ninterface IQuotaMetadata {\r\n quotaState: QuotaState;\r\n storageUsedInBytes: number;\r\n storageTotalInBytes: number;\r\n}\r\n\r\nexport interface IWindowsMetadata {\r\n textScaleFactor: number;\r\n}\r\n\r\ninterface ILocalizationMetadata {\r\n locale: string;\r\n activeLanguage: string;\r\n}\r\n\r\ninterface IFeedbackMetadata {\r\n isSendFeedbackEnabled: boolean;\r\n isGetHelpEnabled: boolean;\r\n isReportABugEnabled: boolean;\r\n}\r\n\r\nexport interface IMetadata {\r\n account: IAccountMetadata;\r\n quota: IQuotaMetadata;\r\n windows: IWindowsMetadata;\r\n feedback: IFeedbackMetadata;\r\n localization: ILocalizationMetadata;\r\n}\r\n\r\nexport interface IActionProps {\r\n action: string;\r\n view: string;\r\n}\r\n\r\nexport interface ILogProps {\r\n message: string;\r\n view: string;\r\n}\r\n\r\n/**\r\n * Information about a rendered element to log for BVT testing.\r\n */\r\nexport interface IBvtRenderingInfo {\r\n // TestId of the rendered element to log.\r\n testId: string;\r\n // Optional - text/label/etc to log for the rendered element, in case the test ID is not enough for validation.\r\n text?: string;\r\n // Optional - whether the element is currently disabled.\r\n disabled?: boolean;\r\n // Optional - whether the element is visible.\r\n visible?: boolean;\r\n}\r\n\r\n/**\r\n * Props used to log rendering information for BVT testing.\r\n * Used by the BVT test framework to verify when a specific element has been rendered.\r\n */\r\nexport interface ILogBvtRenderingInfo {\r\n // Corresponding view associated with the rendered element to log.\r\n view: string;\r\n // Whether the element is currently rendering or has stopped rendering.\r\n isRendering: boolean;\r\n // Information about the rendered element to log.\r\n info: IBvtRenderingInfo;\r\n}\r\n\r\nexport interface IQoSTelemetryProps {\r\n data: IQoSTelemetryData;\r\n view: string;\r\n}\r\n\r\nexport interface IFunnelTelemetryProps {\r\n view: string;\r\n funnelStage: string;\r\n}\r\n\r\nexport interface ICopilotFunnelTelemetryProps {\r\n launchSource: number;\r\n action: number;\r\n stage: string;\r\n}\r\n\r\nexport interface INezhaProps {\r\n action: string;\r\n viewName: string;\r\n}\r\n\r\nexport interface IViewSizeChangedProps {\r\n viewName: string;\r\n width?: number;\r\n height?: number;\r\n}\r\n\r\nexport enum VisualStates {\r\n Exiting = 0,\r\n Offline = 1,\r\n Updating = 2,\r\n SigningOut = 3,\r\n SigningIn = 4,\r\n Paused = 5,\r\n NoNetwork = 6,\r\n Online = 7,\r\n Error = 8,\r\n Blocked = 9,\r\n Critical = 10,\r\n Warning = 11,\r\n Informational = 12,\r\n Syncing = 13,\r\n Last = 14\r\n}\r\n","/**\r\n * Define UpdateRingRamp ID type as a simple number.\r\n */\r\nexport type UpdateRingRamp = number;\r\n\r\n/**\r\n * Map of each UpdateRingRamp to its corresponding enablement value.\r\n */\r\nexport type UpdateRingRampsTable = {\r\n [key in UpdateRingRamp]?: boolean;\r\n};\r\n\r\n/**\r\n * Define UpdateRingSetting ID type as a simple number.\r\n */\r\nexport type UpdateRingSetting = number;\r\n\r\n/**\r\n * Map of each UpdateRingSetting to its corresponding number or string value.\r\n */\r\nexport type UpdateRingSettingsTable = {\r\n [key in UpdateRingSetting]?: number | string;\r\n};\r\n\r\n/**\r\n * Define UpdateRingKillSwitch ID type as a simple number.\r\n */\r\nexport type UpdateRingKillSwitch = number;\r\n\r\n/**\r\n * Map of each UpdateRingKillSwitch to its corresponding safety value.\r\n */\r\nexport type UpdateRingKillSwitchesTable = {\r\n [key in UpdateRingKillSwitch]?: boolean;\r\n};\r\n\r\n/**\r\n * Define EcsRamp ID type as a simple number.\r\n */\r\nexport type EcsRamp = number;\r\n\r\n/**\r\n * Map of each ECS Ramp to its corresponding enablement value.\r\n */\r\nexport type EcsRampsTable = {\r\n [key in EcsRamp]?: boolean;\r\n};\r\n\r\n/**\r\n * IUpdateRingSettings interface for storing ramps, kill switches, settings values, and ecs ramps in Redux.\r\n */\r\nexport interface IUpdateRingSettings {\r\n updateRingRampsTable: UpdateRingRampsTable;\r\n updateRingKillSwitchesTable: UpdateRingKillSwitchesTable;\r\n updateRingSettingsTable: UpdateRingSettingsTable;\r\n ecsRampsTable: EcsRampsTable;\r\n}\r\n\r\n/**\r\n * Types used for requesting/loading various UpdateRingSettings values from the RNCommonRouteHandler.\r\n */\r\nexport enum UpdateRingSettingType {\r\n INT = 'int',\r\n DOUBLE = 'double',\r\n STRING = 'string'\r\n}\r\n\r\n/**\r\n * Interface type that specifies a UpdateRingSetting ID and its corresponding C++ type to load from RNCommonRouteHandler.\r\n */\r\nexport interface IUpdateRingSettingRequest {\r\n id: UpdateRingSetting;\r\n settingType: UpdateRingSettingType;\r\n}\r\n","export interface IActivityCenterMessageData {\r\n theme: MessageColorTheme;\r\n accessibleText: IAccessibleText;\r\n dismissOnButtonClick: boolean;\r\n useMegaMode: boolean;\r\n useStickyMode: boolean;\r\n rePingOneRMOnDismiss: boolean;\r\n shouldHideDismissButton: boolean;\r\n shouldHideMessage: boolean;\r\n useSvg: boolean;\r\n svgSourceWidth: number;\r\n svgSourceHeight: number;\r\n megaImageVerticalOverlap: number;\r\n primaryText: string;\r\n secondaryText: string;\r\n source: NotificationSource;\r\n notificationIDs: INotificationIDs;\r\n imageFileName: string;\r\n buttonOne: IActivityCenterMessageButton;\r\n buttonTwo: IActivityCenterMessageButton;\r\n}\r\n\r\nexport enum SurfaceClicked {\r\n // Not clicked\r\n None = 0,\r\n\r\n // Body / background of the message\r\n // Exists for Toasts but not ACM\r\n Body = 1,\r\n\r\n // First button\r\n Button1 = 2,\r\n\r\n // Second button\r\n Button2 = 3,\r\n\r\n // [X] action (Dismiss on ACM or close for Toast)\r\n Dismiss = 4,\r\n\r\n // Explicit link in errors view, default is \"Learn more\"\r\n Link = 5,\r\n\r\n // Customized link in errors view\r\n SecondLink = 6\r\n}\r\n\r\nexport interface IActivityCenterMessageClickedData {\r\n actionParameter: string;\r\n surfaceClicked: SurfaceClicked;\r\n dismissOnClicked: boolean;\r\n}\r\n\r\nexport interface IAccessibleText {\r\n primaryAccessibleText: string;\r\n secondaryAccessibleText: string;\r\n}\r\n\r\nexport interface IActivityCenterMessageButton {\r\n buttonText: string;\r\n buttonActionParameter: string;\r\n buttonImageUrl: string;\r\n dismissOnClicked: boolean;\r\n}\r\n\r\nexport interface INotificationIDs {\r\n groupId: string;\r\n\r\n messageId: string;\r\n /**\r\n * Transaction ID for this message (if applicable) \r\n */\r\n transactionId: string;\r\n /**\r\n * Campaign ID for this message (if applicable); also used as a unique identifier for error toasts \r\n */\r\n campaignId: string;\r\n\r\n /**\r\n * OneRM source ID for this message, used for OneRM telemetry reqeusts (if applicable) \r\n */\r\n oneRmSourceId: string;\r\n\r\n /**\r\n * OneRM context from polls triggered by special events (i.e. FREComplete scenario), used for telemetry.\r\n */\r\n oneRmContext: string;\r\n}\r\n\r\nexport enum MessageColorTheme {\r\n Default = 0,\r\n Error = 1,\r\n Offline = 2,\r\n ErrorWithConfirm = 3,\r\n Warning = 4,\r\n PremiumUpsell = 5,\r\n DefaultWithTwoButtons = 6\r\n}\r\n\r\nexport enum NotificationSource {\r\n // Do not use. This indicates a configuration error or default value\r\n // If seen in telemetry, the cause should be found and fixed\r\n Default = 0,\r\n\r\n // OneRm notification generated message\r\n OneRM = 1,\r\n\r\n // Activity Subscription generated message\r\n ActivitySubscription = 2,\r\n\r\n // Quota related messaging\r\n CloudQuota = 3,\r\n\r\n // Notifications generated by balloon tips. Do not use for toasts or ACM\r\n App = 4,\r\n\r\n // Placeholders source currently takes second proprity in Activity Center to ActivityCenterSignInRequest.\r\n Placeholders = 5,\r\n // This messaging recurs more often, so we don't want it to have control of Activity Center\r\n PlaceholdersRecurring = 6,\r\n\r\n // This messaging prompts users to sign in. This source takes top priority in Activity Center and needs to stay top priority\r\n ActivityCenterSignInRequest = 7,\r\n\r\n // Messaging for Teamsite Permissions for the initial sync and permissions changes during sync.\r\n TeamsitePermissions = 8,\r\n\r\n // Messaging for restoration of infected files, etc\r\n RansomwareProtection = 9,\r\n\r\n // Messaging for KFM Admin prompt\r\n KfmAdminPrompt = 10,\r\n\r\n // Messaging for local mass delete prompt.\r\n LocalMassDelete = 11,\r\n\r\n // Messaging for KFM locked file errors\r\n KfmLockedFileError = 12,\r\n\r\n // Messaging for KFM Scan Exclusion errors\r\n KfmScanExclusionError = 13,\r\n\r\n // Messaging for Finder Sync Extension prompt and FonD information on Mac.\r\n FinderSyncPrompt = 14,\r\n\r\n // Generic catch-all for errors. Error view, item errors, library errors,\r\n // If a feature has many errors as a sub-category, consider using that as the source.\r\n // e.g. CloudQuota\r\n // Use MessageId to differentiate between errors\r\n Errors = 15,\r\n\r\n // Generic catch-all for warnings\r\n // Use MessageId to differentiate between warning types\r\n Warning = 16,\r\n\r\n // Messaging for Auto Fix prompt\r\n AutoFix = 17,\r\n\r\n // Vault related messaging\r\n Vault = 18,\r\n\r\n // Triggered by sync event, e.g. sent by sync engine but no other UI is impacted\r\n SyncEvent = 19,\r\n\r\n // Related to KFM\r\n KFM = 20,\r\n\r\n // Notification generated by test code, used to filter out test data\r\n Test = 21,\r\n\r\n // Pause and PauseReason sources\r\n PauseRelated = 22,\r\n\r\n // Notification to launch Floodgate surveys\r\n FloodgateProvider = 23,\r\n\r\n // Messaging for Reset occurred\r\n ResetOccurred = 24,\r\n\r\n // Office privacy disclosure related notifications\r\n PrivacyUIManager = 25,\r\n\r\n // Messaging for KFM Selective Sync Prompt\r\n KfmFolderNotSyncingPrompt = 26,\r\n\r\n // Messaging for Add to OneDrive prompt\r\n AddToOneDrive = 27,\r\n\r\n // Toasts for survey campaigns\r\n SurveyManager = 28,\r\n\r\n // FileProvider/Macbox consent ACM\r\n MacboxConsent = 29,\r\n\r\n // FileProvider/Macbox education ACM\r\n MacboxEducationACM = 30,\r\n\r\n // Activity Center Awareness Experiment ACM\r\n AwarenessExperiment = 31,\r\n\r\n // FileProvider/Macbox disabled ACM\r\n MacboxDisabledACM = 32,\r\n\r\n // Notification comes from the educational experiment toast\r\n EducationUpsell = 33,\r\n\r\n // Camera Roll Backup Upsell Experiment\r\n CameraRollExperiment = 34,\r\n\r\n // Quota Consumption Rate Upsell Experiment\r\n QuotaConsumptionRateToast = 35,\r\n\r\n // Toasts sent as Daily Follow Ups for Full/Overlimit Quota\r\n DailyFollowUpQuotaToast = 36,\r\n\r\n // First file upload toast messaging\r\n FirstFileUploadToast = 37,\r\n\r\n // Toasts sent as Daily Follow Ups for Full/Overlimit Quota\r\n WeeklyFollowUpQuotaToast = 38,\r\n\r\n // To notify messages related with Auth\r\n Auth = 39,\r\n\r\n // Toasts sent as part of growth experimentation\r\n GrowthExperiment = 40,\r\n\r\n // Notification sent as upsell experience\r\n UpsellExperience = 41,\r\n\r\n // Invalid placeholder tag ACM\r\n InvalidReparsePoint = 42,\r\n\r\n // Please only add new enum above this comment.\r\n // One feature should only have one enum here. Use messageID to differentiate the notifications\r\n // from same feature.\r\n\r\n // Unknown must be last item in this list, and the list should be continuous\r\n // Please do not remove items, only add them. Removing items will interfere with telemetry.\r\n UnknownSource\r\n}\r\n","// Reference: https://dev.azure.com/onedrive/ODSP-Web/_wiki/wikis/ODSP-Web.wiki/127590/OneDrive-Web-Sync-Copilot-auto-action-web-hooks?anchor=in-folder-view\r\n\r\nimport { HistoryItemMenuAction } from '../types';\r\n\r\n// Utility function to check if a file path has a known extension\r\nconst DefaultFilesExtensions = [\r\n 'pdf',\r\n 'docx',\r\n 'xlsx',\r\n 'doc',\r\n 'odt',\r\n 'ppt',\r\n 'pptx',\r\n 'odp',\r\n 'rtf',\r\n 'txt',\r\n 'htm',\r\n 'html',\r\n 'aspx',\r\n 'loop',\r\n 'fluid',\r\n 'page',\r\n 'md'\r\n];\r\nconst ExcelExtensionsVariants = [\r\n 'xls',\r\n 'xlsx',\r\n 'xlb',\r\n 'xlc',\r\n 'xlsb',\r\n 'xlsm',\r\n 'xlt',\r\n 'xltx',\r\n 'xltm',\r\n 'xlm',\r\n 'xla',\r\n 'xll',\r\n 'xlam',\r\n 'xlw',\r\n 'excel',\r\n 'csv',\r\n 'odc',\r\n 'ods'\r\n];\r\nconst DocExtensionsVariants = [\r\n 'doc',\r\n 'docx',\r\n 'docm',\r\n 'dot',\r\n 'dotx',\r\n 'dotm',\r\n 'odt',\r\n 'docb',\r\n 'wbk',\r\n 'rtf',\r\n 'word'\r\n];\r\nconst PptExtensionsVariants = [\r\n 'pptx',\r\n 'ppt',\r\n 'pot',\r\n 'potx',\r\n 'potm',\r\n 'ppam',\r\n 'ppsx',\r\n 'ppsm',\r\n 'sldx',\r\n 'sldm',\r\n 'ppa',\r\n 'pps',\r\n 'pptm',\r\n 'odp',\r\n 'powerpoint'\r\n];\r\nconst ImageExtensions = [\r\n 'bmp',\r\n 'dib',\r\n 'gif',\r\n 'ico',\r\n 'jfif',\r\n 'jpe',\r\n 'jpeg',\r\n 'jpg',\r\n 'png',\r\n 'svg',\r\n 'tif',\r\n 'tiff',\r\n 'xbm',\r\n 'xpm'\r\n];\r\n\r\n// There might be some duplicate entries, use Set to ensure uniqueness\r\nconst odcExtensions = new Set([\r\n ...DefaultFilesExtensions,\r\n ...ExcelExtensionsVariants,\r\n ...DocExtensionsVariants,\r\n ...PptExtensionsVariants\r\n]);\r\n\r\nconst allExtensions = new Set([\r\n ...DefaultFilesExtensions,\r\n ...ExcelExtensionsVariants,\r\n ...DocExtensionsVariants,\r\n ...PptExtensionsVariants,\r\n ...ImageExtensions\r\n]);\r\n\r\nexport const isCopilotActionEnabledForFileExtension = (\r\n filePath: string,\r\n action: HistoryItemMenuAction,\r\n isBusiness: boolean,\r\n isCopilotImageActionEnabled: boolean = false // temporary parameter to control image action eligibility\r\n): boolean => {\r\n // Extract extension from file path (case-insensitive)\r\n const match = filePath.match(/\\.([^.\\\\\\/]+)$/);\r\n if (!match) return false;\r\n const ext = match[1].toLowerCase();\r\n if (isBusiness && action === HistoryItemMenuAction.AskAQuestion) {\r\n return allExtensions.has(ext);\r\n } else if (\r\n isBusiness &&\r\n isCopilotImageActionEnabled &&\r\n (action === HistoryItemMenuAction.ExplainImage || action === HistoryItemMenuAction.ExtractText)\r\n ) {\r\n return ImageExtensions.includes(ext);\r\n } else if (\r\n action === HistoryItemMenuAction.CreateAnFAQ ||\r\n action === HistoryItemMenuAction.Summarize ||\r\n action === HistoryItemMenuAction.AskAQuestion\r\n ) {\r\n return odcExtensions.has(ext);\r\n } else {\r\n return false;\r\n }\r\n};\r\n\r\nexport const isCopilotAction = (actionId: HistoryItemMenuAction): boolean => {\r\n switch (actionId) {\r\n case HistoryItemMenuAction.Summarize:\r\n case HistoryItemMenuAction.CreateAnFAQ:\r\n case HistoryItemMenuAction.AskAQuestion:\r\n case HistoryItemMenuAction.ExplainImage:\r\n case HistoryItemMenuAction.ExtractText:\r\n return true;\r\n default:\r\n return false;\r\n }\r\n};\r\n\r\n// Used to map Copilot-related HistoryItemMenuAction enum to CopilotAction enum.\r\n/*\r\nenum class CopilotAction\r\n{\r\n Unknown = 0,\r\n SummarizeAction = 1,\r\n CreateFAQAction = 2,\r\n UserInputPrompt = 3, // Ask a question\r\n CompareFilesAction = 4,\r\n ExplainImageAction = 5,\r\n ExplainImagesAction = 6,\r\n CompareImagesAction = 7, \r\n ExtractTextAction = 8,\r\n\r\n // This is the last value for CopilotAction by design.\r\n // All new enums must be added above this one.\r\n Last\r\n};\r\n*/\r\nexport const computeCopilotAction = (actionId: HistoryItemMenuAction): number => {\r\n switch (actionId) {\r\n case HistoryItemMenuAction.Summarize:\r\n return 1;\r\n case HistoryItemMenuAction.CreateAnFAQ:\r\n return 2;\r\n case HistoryItemMenuAction.AskAQuestion:\r\n return 3;\r\n case HistoryItemMenuAction.ExplainImage:\r\n return 5;\r\n case HistoryItemMenuAction.ExtractText:\r\n return 8;\r\n default:\r\n return 0;\r\n }\r\n};\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { ChinaTypeApprovalPageModel } from '../dataHandler/ChinaTypeApprovalPageModel';\r\n\r\nexport const dataModel: ChinaTypeApprovalPageModel = new ChinaTypeApprovalPageModel();\r\n\r\nconst acceptAsync = createAsyncThunk('china_type_Approval_page/accept', (): Promise => {\r\n return dataModel.accept();\r\n});\r\n\r\nexport const chinaTypeApprovalPageSlice = createSlice({\r\n name: 'china_type_approval_page',\r\n initialState: {},\r\n reducers: {\r\n // No specific reducer functions defined\r\n }\r\n});\r\n\r\nexport const chinaTypeApprovalPageActions = {\r\n ...chinaTypeApprovalPageSlice.actions,\r\n accept: acceptAsync\r\n};\r\n\r\nexport default chinaTypeApprovalPageSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\n\r\nexport class ChinaTypeApprovalPageModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async accept(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/chinaTypeApprovalPage/acceptClicked',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n}\r\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { ChooseRootFolderPageModel } from '../dataHandler/ChooseRootFolderPageModel';\r\nimport {\r\n IChooseRootFolderPageState,\r\n IDefaultLocationPayload,\r\n IChosenPathPayload\r\n} from '../types/chooseRootFolderTypes';\r\n\r\nexport const initialChooseRootFolderPageState: IChooseRootFolderPageState = {\r\n fullPath: '',\r\n didAdminLockLocation: false,\r\n descriptionFolderName: '',\r\n pathChanged: false\r\n};\r\n\r\nexport const dataModel: ChooseRootFolderPageModel = new ChooseRootFolderPageModel();\r\n\r\nconst onNextAsync = createAsyncThunk('choose_root_folder_page/onNextClicked', (): Promise => {\r\n return dataModel.onNextClick();\r\n});\r\n\r\nconst changeRootLocationClickedAsync = createAsyncThunk(\r\n 'choose_root_folder_page/change_root_folder',\r\n (): Promise => {\r\n return dataModel.changeRootLocationClicked();\r\n }\r\n);\r\n\r\nexport const chooseRootFolderSlice = createSlice({\r\n name: 'choose_root_folder_page',\r\n initialState: initialChooseRootFolderPageState,\r\n reducers: {\r\n resetState: (state: IChooseRootFolderPageState) => {\r\n state.fullPath = '';\r\n state.didAdminLockLocation = false;\r\n state.descriptionFolderName = '';\r\n },\r\n setDefaultLocation: (\r\n state: IChooseRootFolderPageState,\r\n action: PayloadAction\r\n ) => {\r\n state.fullPath = action.payload.fullPath;\r\n state.didAdminLockLocation = action.payload.didAdminLockLocation;\r\n state.descriptionFolderName = action.payload.descriptionFolderName;\r\n },\r\n setChosenPath: (state: IChooseRootFolderPageState, action: PayloadAction) => {\r\n state.pathChanged = action.payload.setPath;\r\n if (state.pathChanged) {\r\n state.fullPath = action.payload.fullPath;\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport const chooseRootFolderActions = {\r\n ...chooseRootFolderSlice.actions,\r\n onNextClicked: onNextAsync,\r\n changeRootLocationClicked: changeRootLocationClickedAsync\r\n};\r\n\r\nexport default chooseRootFolderSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\n\r\nexport class ChooseRootFolderPageModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async onNextClick(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/chooseRootFolder/nextClicked',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async changeRootLocationClicked(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/chooseRootFolder/changeRootLocationClicked',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n}\r\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { ExitDialogModel } from '../dataHandler/ExitDialogDataModel';\r\nimport { IExitDialogState } from '../types/ExitDialogTypes';\r\nimport { RootState } from '../../store';\r\nimport { DataFetchState } from '../../common/types';\r\n\r\nexport const dataModel: ExitDialogModel = new ExitDialogModel();\r\n\r\nconst initialState: IExitDialogState = {\r\n initialDataFetchState: DataFetchState.Pending,\r\n surveySelection: '0',\r\n initialAutoStartEnabledState: false,\r\n autoStartEnabledState: false\r\n};\r\n\r\nconst getInitialAutoStartStateAsync = createAsyncThunk(\r\n 'RNExitDialog/getInitialAutoStartState',\r\n (): Promise => {\r\n return dataModel.getInitialAutoStartState();\r\n }\r\n);\r\n\r\nconst submitSurveyandExitAsync = createAsyncThunk(\r\n 'RNExitDialog/handleSubmitSurveyAndExit',\r\n (arg, { getState }): Promise => {\r\n const state = getState() as RootState;\r\n return dataModel.handleSubmitSurveyAndExit(state.exitDialog.surveySelection);\r\n }\r\n);\r\n\r\nconst exitDialogAsync = createAsyncThunk('RNExitDialog/handleExit', (): Promise => {\r\n return dataModel.handleExit();\r\n});\r\n\r\nconst closeDialogAsync = createAsyncThunk('RNExitDialog/handleClose', (): Promise => {\r\n return dataModel.handleClose();\r\n});\r\n\r\nconst handleChangeAutoStartSettingAsync = createAsyncThunk(\r\n 'RNExitDailog/handleChangeAutoStart',\r\n (arg, { getState }): Promise => {\r\n const state = getState() as RootState;\r\n return dataModel.handleChangeAutoStart(state.exitDialog.autoStartEnabledState);\r\n }\r\n);\r\n\r\nexport const ExitDialogSlice = createSlice({\r\n name: 'exit_dialog',\r\n initialState,\r\n reducers: {\r\n setSurveySelection: (state: IExitDialogState, action: PayloadAction) => {\r\n state.surveySelection = action.payload;\r\n },\r\n setAutoStartToggleSelection: (state: IExitDialogState, action: PayloadAction) => {\r\n state.autoStartEnabledState = action.payload;\r\n }\r\n },\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(getInitialAutoStartStateAsync.fulfilled, (state, action: PayloadAction) => {\r\n state.initialDataFetchState = DataFetchState.Fulfilled;\r\n state.initialAutoStartEnabledState = action.payload;\r\n })\r\n .addCase(getInitialAutoStartStateAsync.rejected, (state, payload) => {\r\n state.initialDataFetchState = DataFetchState.Rejected;\r\n state.initialAutoStartEnabledState = true;\r\n });\r\n }\r\n});\r\n\r\nexport const ExitDialogActions = {\r\n ...ExitDialogSlice.actions, // Action creators are generated for each case reducer function\r\n submitSurveyandExit: submitSurveyandExitAsync,\r\n exitDialog: exitDialogAsync,\r\n closeDialog: closeDialogAsync,\r\n handleChangeAutoStartSetting: handleChangeAutoStartSettingAsync,\r\n getInitialAutoStartState: getInitialAutoStartStateAsync\r\n};\r\n\r\nexport default ExitDialogSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\n\r\nexport class ExitDialogModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n public async handleSubmitSurveyAndExit(selection: string): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNExitDialog/handleSurveySubmitAndExit',\r\n requestType: 'POST',\r\n postData: {\r\n id: selection\r\n }\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n public async handleExit(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNExitDialog/handleExit',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n public async handleClose(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNExitDialog/handleClose',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async handleChangeAutoStart(autoStartSelection: boolean): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNExitDialog/handleAutoStartSettingChange',\r\n requestType: 'POST',\r\n postData: {\r\n enabled: autoStartSelection\r\n }\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getInitialAutoStartState(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNExitDialog/getInitialAutoStartState',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n}\r\n","import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';\r\nimport { FloodgateSurveyDataModel } from '../dataHandler/FloodgateSurveyDataModel';\r\nimport {\r\n IFloodgateSurveyPayload,\r\n IFloodgateSurveyStrings,\r\n IFloodgateSurveyViewState,\r\n ISelectedReasonPayload,\r\n SurveyReasonValue\r\n} from '../types/floodgateSurveyTypes';\r\n\r\nexport const dataModel: FloodgateSurveyDataModel = new FloodgateSurveyDataModel();\r\n\r\nconst initialState: IFloodgateSurveyViewState = {\r\n failedFetch: false,\r\n comment: '',\r\n reason: SurveyReasonValue.NotSet,\r\n expanded_toast: false,\r\n surveyData: {\r\n primaryText: '',\r\n question: '',\r\n feedbackBox: '',\r\n privacy: '',\r\n submit: '',\r\n cancel: '',\r\n submitNote: '',\r\n responses: [],\r\n isVertical: true,\r\n isOptionOrderDescending: true,\r\n maxTextWithNoRating: '',\r\n minTextWithNoRating: '',\r\n isToast: false,\r\n comment: ''\r\n }\r\n};\r\n\r\nconst getFloodgateSurveyStringsAsync = createAsyncThunk(\r\n 'floodgate_survey/get_survey_strings',\r\n (): Promise => {\r\n return dataModel.getSurveyStrings();\r\n }\r\n);\r\n\r\nconst handleSurveySubmitAsync = createAsyncThunk(\r\n 'floodgateSurvey/submit_feedback',\r\n async (state: IFloodgateSurveyPayload): Promise => {\r\n return dataModel.handleSurveySubmit({\r\n comment: state.comment,\r\n reason: state.reason,\r\n surveyResponses: state.surveyResponses\r\n });\r\n }\r\n);\r\n\r\nconst closeSurveyDialog = createAsyncThunk('floodgateSurvey/close_dialog', async (): Promise => {\r\n return dataModel.handleClose();\r\n});\r\n\r\nconst closeNotificationToast = createAsyncThunk('floodgateSurvey/close_toast', async (): Promise => {\r\n return dataModel.closeNotificationToast();\r\n});\r\n\r\nconst expandNotificationToast = createAsyncThunk('floodgateSurvey/expand_toast', async (): Promise => {\r\n return dataModel.expandNotificationToast();\r\n});\r\n\r\nconst setSelectedReason = createAsyncThunk(\r\n 'floodgateSurvey/set_selected_reason',\r\n async (payload: ISelectedReasonPayload): Promise => {\r\n return dataModel.setSelectedReason(payload);\r\n }\r\n);\r\n\r\nconst getSelectedReason = createAsyncThunk(\r\n 'floodgateSurvey/get_selected_reason',\r\n async (): Promise => {\r\n return dataModel.getSelectedReason();\r\n }\r\n);\r\n\r\nexport const floodgateSurveySlice = createSlice({\r\n name: 'floodgateSurvey',\r\n initialState,\r\n reducers: {\r\n updateComment: (state: IFloodgateSurveyViewState, action: PayloadAction) => {\r\n state.comment = action.payload;\r\n },\r\n updateReason: (state: IFloodgateSurveyViewState, action: PayloadAction) => {\r\n state.reason = action.payload;\r\n },\r\n resetToast: (state: IFloodgateSurveyViewState) => {\r\n state.expanded_toast = false;\r\n state.reason = SurveyReasonValue.NotSet;\r\n state.comment = '';\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(\r\n getFloodgateSurveyStringsAsync.fulfilled,\r\n (state: IFloodgateSurveyViewState, action: PayloadAction) => {\r\n state.surveyData = action.payload;\r\n }\r\n )\r\n .addCase(\r\n getSelectedReason.fulfilled,\r\n (state: IFloodgateSurveyViewState, action: PayloadAction) => {\r\n state.reason = action.payload.response;\r\n }\r\n )\r\n .addCase(getFloodgateSurveyStringsAsync.rejected, (state: IFloodgateSurveyViewState) => {\r\n state.failedFetch = true;\r\n })\r\n .addCase(expandNotificationToast.fulfilled, (state: IFloodgateSurveyViewState) => {\r\n state.expanded_toast = true;\r\n });\r\n }\r\n});\r\n\r\nexport const floodgateSurveyActions = {\r\n ...floodgateSurveySlice.actions, // Action creators are generated for each case reducer function\r\n getFloodgateSurveyStrings: getFloodgateSurveyStringsAsync,\r\n closeSurveyDialog: closeSurveyDialog,\r\n handleSurveySubmit: handleSurveySubmitAsync,\r\n setSelectedReason,\r\n getSelectedReason,\r\n closeNotificationToast,\r\n expandNotificationToast\r\n};\r\n\r\nexport default floodgateSurveySlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\nimport {\r\n IFloodgateSurveyPayload,\r\n IFloodgateSurveyStrings,\r\n ISelectedReasonPayload\r\n} from '../types/floodgateSurveyTypes';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\n\r\nexport class FloodgateSurveyDataModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async handleSurveySubmit(payload: IFloodgateSurveyPayload): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/FloodgateSurvey/handleFloodgateSurveySubmit',\r\n requestType: 'POST',\r\n postData: payload\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async handleClose(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/FloodgateSurvey/handleClose',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getSurveyStrings(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/FloodgateSurvey/getSurveyStrings',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async setSelectedReason(payload: ISelectedReasonPayload): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', 'FloodgateSurvey', 'setSelectedResponse', payload)\r\n );\r\n }\r\n\r\n public async getSelectedReason(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('GET', 'FloodgateSurvey', 'getSelectedResponse'));\r\n }\r\n\r\n public async closeNotificationToast(): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', 'FloodgateSurvey', 'closeNotificationToast')\r\n );\r\n }\r\n\r\n public async expandNotificationToast(): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', 'FloodgateSurvey', 'expandNotificationToast')\r\n );\r\n }\r\n}\r\n","export interface IFloodgateSurveyViewState {\r\n failedFetch: boolean;\r\n surveyData: IFloodgateSurveyStrings;\r\n reason: number;\r\n comment: string;\r\n expanded_toast: boolean;\r\n}\r\n\r\nexport interface IFloodgateSurveyPayload {\r\n reason: number;\r\n comment: string;\r\n surveyResponses: number;\r\n}\r\n\r\nexport interface IFloodgateSurveyStrings {\r\n primaryText: string;\r\n question: string;\r\n feedbackBox: string;\r\n privacy: string;\r\n submit: string;\r\n cancel: string;\r\n submitNote: string;\r\n responses: Array;\r\n isVertical: boolean;\r\n isToast: boolean;\r\n isOptionOrderDescending: boolean;\r\n maxTextWithNoRating: string;\r\n minTextWithNoRating: string;\r\n comment: string;\r\n}\r\n\r\nexport enum SurveyReasonValue {\r\n NotSet = 0,\r\n NotAtAllLikely = 1,\r\n SomewhatUnlikely = 2,\r\n Neutral = 3,\r\n SomewhatLikely = 4,\r\n ExtremelyLikely = 5\r\n}\r\n\r\nexport interface ISelectedReasonPayload {\r\n response: SurveyReasonValue;\r\n surveyResponses: number;\r\n shouldShowSurvey: boolean;\r\n}\r\n","import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';\r\nimport { FolderColorDataModel } from '../dataHandler/FolderColorDataModel';\r\nimport { FolderStatus, IFolderColorViewState, IVisualStatePayload } from '../types/folderColorTypes';\r\nimport { VisualStates } from '../../common/types';\r\n\r\nexport const dataModel: FolderColorDataModel = new FolderColorDataModel();\r\n\r\nconst initialState: IFolderColorViewState = {\r\n failedFetch: false,\r\n color: -1,\r\n previouslyAppliedColor: -1,\r\n folder: null,\r\n status: FolderStatus.Idle,\r\n visualState: VisualStates.Last,\r\n isReadOnlyError: false\r\n};\r\n\r\nconst handleSubmitFolderColorAsync = createAsyncThunk(\r\n 'folderColor/submit_color',\r\n async (color: number): Promise => {\r\n return dataModel.handleSubmit({\r\n color\r\n });\r\n }\r\n);\r\n\r\nconst getVisualStateAsync = createAsyncThunk(\r\n 'folderColor/get_visual_state',\r\n async (): Promise => {\r\n return dataModel.getVisualState();\r\n }\r\n);\r\n\r\nconst closeFolderColorDialog = createAsyncThunk('folderColor/close_dialog', async (): Promise => {\r\n return dataModel.handleClose();\r\n});\r\n\r\nexport const folderColorSlice = createSlice({\r\n name: 'folderColor',\r\n initialState,\r\n reducers: {\r\n setFolderColor: (state: IFolderColorViewState, action: PayloadAction) => {\r\n state.color = action.payload;\r\n // If there was an error saving the folder color, reset the status to idle\r\n if (state.status === FolderStatus.FailedSave) {\r\n state.status = FolderStatus.Idle;\r\n }\r\n },\r\n // Called when the folder color dialog is opened\r\n setPreviouslyAppliedFolderColor: (state: IFolderColorViewState, action: PayloadAction) => {\r\n state.previouslyAppliedColor = action.payload;\r\n state.color = action.payload;\r\n },\r\n setStatus: (state: IFolderColorViewState, action: PayloadAction) => {\r\n state.status = action.payload;\r\n },\r\n setFailedToSave: (state: IFolderColorViewState, action: PayloadAction<{ readOnly: boolean }>) => {\r\n state.status = FolderStatus.FailedSave;\r\n state.isReadOnlyError = action.payload.readOnly;\r\n },\r\n resetState: (state: IFolderColorViewState) => {\r\n state.status = FolderStatus.Loading;\r\n state.failedFetch = false;\r\n state.folder = null;\r\n state.color = -1;\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(handleSubmitFolderColorAsync.fulfilled, (state: IFolderColorViewState) => {\r\n // No op, maintain loading state till the dialog is closed or an error occurs\r\n })\r\n .addCase(handleSubmitFolderColorAsync.rejected, (state: IFolderColorViewState) => {\r\n state.failedFetch = true;\r\n })\r\n .addCase(handleSubmitFolderColorAsync.pending, (state: IFolderColorViewState) => {\r\n state.status = FolderStatus.Saving;\r\n })\r\n .addCase(getVisualStateAsync.fulfilled, (state, action: PayloadAction) => {\r\n state.visualState = action.payload.visualState;\r\n });\r\n }\r\n});\r\n\r\nexport const folderColorActions = {\r\n ...folderColorSlice.actions, // Action creators are generated for each case reducer function\r\n closeFolderDialog: closeFolderColorDialog,\r\n handleSubmitFolderColor: handleSubmitFolderColorAsync,\r\n getVisualState: getVisualStateAsync\r\n};\r\n\r\nexport default folderColorSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\nimport { IFolderColorPayload, IVisualStatePayload } from '../types/folderColorTypes';\r\n\r\nexport class FolderColorDataModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async handleSubmit(payload: IFolderColorPayload): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/FolderColor/handleFolderColorSubmit',\r\n requestType: 'POST',\r\n postData: payload\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async handleClose(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/FolderColor/handleClose',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getVisualState(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/FolderColor/getVisualState',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n}\r\n","import { VisualStates } from '../../common/types';\r\n\r\nexport interface IFolderColorViewState {\r\n failedFetch: boolean;\r\n folder: IFolderDetails | null;\r\n color: number;\r\n status: FolderStatus;\r\n visualState: VisualStates;\r\n previouslyAppliedColor: number;\r\n isReadOnlyError: boolean;\r\n}\r\n\r\nexport interface IVisualStatePayload {\r\n visualState: VisualStates;\r\n}\r\n\r\nexport interface IFolderColorPayload {\r\n color: number;\r\n}\r\n\r\nexport interface IFolderDetails {\r\n name: string;\r\n color: number;\r\n}\r\n\r\nexport enum FolderStatus {\r\n Idle = 'idle',\r\n Loading = 'loading',\r\n Saving = 'saving',\r\n Failed = 'failed', // Error reading folder color (blocks apply button)\r\n FailedSave = 'failedSave' // Error saving folder color (does not blocks apply button)\r\n}\r\n","import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';\r\nimport { FREModel } from '../dataHandler/FREModel';\r\nimport { IFREState, FREPage, IInitialState } from '../types/freTypes';\r\n\r\nexport const freDataModel: FREModel = new FREModel();\r\n\r\nconst initialState: IFREState = {\r\n currentPage: FREPage.LoadingPage,\r\n failedFetch: false,\r\n initialState: null,\r\n welcomeState: {\r\n didUndoOperation: false\r\n }\r\n};\r\n\r\n// Create a thunk for the async function to platform.\r\nconst getInitialStateAsync = createAsyncThunk('fre/get_initial_state', () => {\r\n return freDataModel.getInitialState();\r\n});\r\n\r\nexport const freSlice = createSlice({\r\n name: 'fre',\r\n initialState,\r\n reducers: {\r\n setCurrentPage: (state: IFREState, action: PayloadAction) => {\r\n state.currentPage = action.payload;\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(getInitialStateAsync.fulfilled, (state, action: PayloadAction) => {\r\n state.failedFetch = false;\r\n state.initialState = action.payload;\r\n })\r\n .addCase(getInitialStateAsync.rejected, (state, payload) => {\r\n state.failedFetch = true;\r\n console.error(payload);\r\n });\r\n }\r\n});\r\n\r\nexport const freActions = {\r\n ...freSlice.actions, // Action creators are generated for each case reducer function\r\n getInitialStateAsync\r\n};\r\n\r\nexport default freSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IInitialState } from '../types/freTypes';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\nimport { IAnimationState, WizardConfirmDialogResult } from '../types/wizardWindowTypes';\r\n\r\nconst FRE_ROUTE = 'FirstRunExperience';\r\n\r\nexport class FREModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async getInitialState(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('GET', FRE_ROUTE, 'getInitialState'));\r\n }\r\n\r\n public async getAnimationState(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('GET', FRE_ROUTE, 'getAnimationState'));\r\n }\r\n\r\n public async toggleAnimationPlaying(isPlaying: boolean): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', FRE_ROUTE, 'toggleAnimationPlaying', { isPlaying })\r\n );\r\n }\r\n\r\n public async toggleAnimationVisible(isVisible: boolean): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', FRE_ROUTE, 'toggleAnimationVisible', { isVisible })\r\n );\r\n }\r\n\r\n public async onConfirmDialogClosed(dialogResult: WizardConfirmDialogResult): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', FRE_ROUTE, 'onConfirmDialogClosed', { dialogResult })\r\n );\r\n }\r\n}\r\n","export enum FREPage {\r\n LoadingPage,\r\n WelcomePage,\r\n CTAPage,\r\n DonePage\r\n}\r\n\r\nexport interface IInitialState {\r\n launchInput: {\r\n isConvergenceSwitch: boolean;\r\n };\r\n modelValues: {\r\n isSilent: boolean;\r\n shouldUseCachedEmailHrdResult: boolean;\r\n };\r\n}\r\n\r\nexport interface IWelcomeState {\r\n didUndoOperation: boolean;\r\n}\r\n\r\nexport interface IFREState {\r\n currentPage: FREPage;\r\n failedFetch: boolean;\r\n initialState: IInitialState | null;\r\n welcomeState: IWelcomeState;\r\n}\r\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { IKFMDoneState } from '../types';\r\nimport { KFMDonePageModel } from '../dataHandler/kfmDoneDataModel';\r\nimport { IDataHandlerSendOptions } from '../../../common/dataHandler/IDataHandler';\r\n\r\nexport const initialKFMDoneState: IKFMDoneState = {\r\n infoAreaText: ''\r\n};\r\n\r\nexport const kfmDonePageModel: KFMDonePageModel = new KFMDonePageModel();\r\n\r\nconst viewProgressInfoAsync = createAsyncThunk(\r\n 'kfm_done/view_progress',\r\n (): Promise => {\r\n return kfmDonePageModel.viewProgress();\r\n }\r\n);\r\n\r\nexport const kfmDoneSlice = createSlice({\r\n name: 'kfm_done',\r\n initialState: initialKFMDoneState,\r\n reducers: {\r\n setInfoAreaText: (state: IKFMDoneState, action: PayloadAction) => {\r\n state.infoAreaText = action.payload.infoAreaText;\r\n }\r\n }\r\n});\r\n\r\nexport const kfmDoneActions = {\r\n ...kfmDoneSlice.actions, // Action creators are generated for each case reducer function\r\n viewProgressInfo: viewProgressInfoAsync\r\n};\r\n\r\nexport default kfmDoneSlice.reducer;\r\n","import { IDataHandlerSendOptions } from '../../../common/dataHandler/IDataHandler';\r\nimport { NativeDataHandler } from '../../../common/dataHandler/NativeDataHandler';\r\nimport { getDataHandlerSendOptions } from '../../../common/helpers/helpers';\r\n\r\nconst KFM_DONE_ROUTE = 'KFMDone';\r\n\r\nexport class KFMDonePageModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async viewProgress(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', KFM_DONE_ROUTE, 'viewProgress'));\r\n }\r\n}\r\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { IKFMErrorState } from '../types';\r\nimport { KFMErrorPageModel } from '../dataHandler/KFMErrorPageDataModel';\r\nimport { IDataHandlerSendOptions } from '../../../common/dataHandler/IDataHandler';\r\n\r\nexport const initialKFMErrorState: IKFMErrorState = {\r\n infoAreaText: '',\r\n hasMultipleFolders: false,\r\n showNextButton: false\r\n};\r\n\r\nexport const kfmErrorPageModel: KFMErrorPageModel = new KFMErrorPageModel();\r\n\r\nconst openFoldersAsync = createAsyncThunk(\r\n 'kfm_move/open_folders',\r\n (): Promise => {\r\n return kfmErrorPageModel.openFolders();\r\n }\r\n);\r\n\r\nconst skipErrorsAsync = createAsyncThunk(\r\n 'kfm_move/skip_errors',\r\n (): Promise => {\r\n return kfmErrorPageModel.skipErrors();\r\n }\r\n);\r\n\r\nconst errorsLearnMoreAsync = createAsyncThunk(\r\n 'kfm_move/errors_learn_more',\r\n (): Promise => {\r\n return kfmErrorPageModel.errorsLearnMore();\r\n }\r\n);\r\n\r\nexport const kfmErrorSlice = createSlice({\r\n name: 'kfm_done',\r\n initialState: initialKFMErrorState,\r\n reducers: {\r\n setInfoAreaText: (state: IKFMErrorState, action: PayloadAction) => {\r\n state.infoAreaText = action.payload.infoAreaText;\r\n state.hasMultipleFolders = action.payload.hasMultipleFolders;\r\n },\r\n setShowNextButton: (state: IKFMErrorState, action: PayloadAction) => {\r\n state.showNextButton = action.payload;\r\n }\r\n }\r\n});\r\n\r\nexport const kfmErrorActions = {\r\n ...kfmErrorSlice.actions, // Action creators are generated for each case reducer function\r\n openFolders: openFoldersAsync,\r\n skipErrors: skipErrorsAsync,\r\n errorsLearnMore: errorsLearnMoreAsync\r\n};\r\n\r\nexport default kfmErrorSlice.reducer;\r\n","import { IDataHandlerSendOptions } from '../../../common/dataHandler/IDataHandler';\r\nimport { NativeDataHandler } from '../../../common/dataHandler/NativeDataHandler';\r\nimport { getDataHandlerSendOptions } from '../../../common/helpers/helpers';\r\n\r\nconst KFM_ROUTE = 'kfmmove';\r\n\r\nexport class KFMErrorPageModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async openFolders(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', KFM_ROUTE, 'openErrorsFolders'));\r\n }\r\n\r\n public async skipErrors(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', KFM_ROUTE, 'skipErrors'));\r\n }\r\n\r\n public async errorsLearnMore(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', KFM_ROUTE, 'openErrorsLearnMore'));\r\n }\r\n}\r\n","import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';\r\nimport { KFMOptOutSurveyDataModel } from '../dataHandler/KFMOptOutSurveyDataModel';\r\nimport { IKFMOptOutSurveyState } from '../types';\r\n\r\nexport const dataModel: KFMOptOutSurveyDataModel = new KFMOptOutSurveyDataModel();\r\n\r\nconst initialState: IKFMOptOutSurveyState = {\r\n isOpen: false,\r\n isKFMOptOutSurveyEnabled: false\r\n};\r\n\r\n// create a thunk for the async function to fetch the resource strings\r\nconst displaySurveyAsync = createAsyncThunk('kfmOptOutSurvey/display_survey', async () => {\r\n return dataModel.displayKFMOptOutSurvey();\r\n});\r\n\r\nconst isKFMOptOutSurveyEnabled = createAsyncThunk('kfmOptOutSurvey/isEnabled', async () => {\r\n return dataModel.isKFMOptOutSurveyEnabled();\r\n});\r\n\r\nexport const kfmOptOutSlice = createSlice({\r\n name: 'kfmOptOutSurvey',\r\n initialState,\r\n reducers: {},\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(displaySurveyAsync.fulfilled, (state) => {\r\n state.isOpen = true;\r\n })\r\n .addCase(displaySurveyAsync.rejected, (state, payload) => {\r\n state.isOpen = false;\r\n console.error(`Failed to open dialog`);\r\n console.error(payload);\r\n })\r\n .addCase(isKFMOptOutSurveyEnabled.fulfilled, (state, action: PayloadAction) => {\r\n state.isKFMOptOutSurveyEnabled = action.payload;\r\n });\r\n }\r\n});\r\n\r\nexport const kfmOptOutSurveyActions = {\r\n ...kfmOptOutSlice.actions, // Action creators are generated for each case reducer function\r\n displaySurvey: displaySurveyAsync,\r\n isKFMOptOutSurveyEnabled\r\n};\r\n\r\nexport default kfmOptOutSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\nimport { ISurveyPayload } from '../types';\r\n\r\nexport class KFMOptOutSurveyDataModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async handleSurveySubmit(payload: ISurveyPayload): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/KFMOptOutSurvey/handleKFMOptOutSubmit',\r\n requestType: 'POST',\r\n postData: payload\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async handleClose(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/KFMOptOutSurvey/handleClose',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async displayKFMOptOutSurvey(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/KFMOptOutSurvey/displayHandleKFMOptOutSurvey',\r\n requestType: 'POST',\r\n postData: {}\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async isKFMOptOutSurveyEnabled(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/KFMOptOutSurvey/isKFMOptOutSurveyEnabled',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n}\r\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { IMacboxConsentState } from '../types/macboxConsentTypes';\r\nimport { MacboxConsentModel } from '../dataHandler/MacboxConsentModel';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\n\r\nexport const dataModel: MacboxConsentModel = new MacboxConsentModel();\r\n\r\nconst enableDomainAsync = createAsyncThunk(\r\n 'macbox_consent_page/enableDomain',\r\n (): Promise => {\r\n return dataModel.enableDomain();\r\n }\r\n);\r\n\r\nexport const initialMacboxConsentState: IMacboxConsentState = {\r\n isFirstRun: false\r\n};\r\n\r\nexport const macboxConsentSlice = createSlice({\r\n name: 'macbox_consent_page',\r\n initialState: initialMacboxConsentState,\r\n reducers: {\r\n setIsFirstRun: (state: IMacboxConsentState, action: PayloadAction) => {\r\n state.isFirstRun = action.payload.isFirstRun;\r\n }\r\n }\r\n});\r\n\r\nexport const macboxConsentPageActions = {\r\n ...macboxConsentSlice.actions,\r\n enableDomain: enableDomainAsync\r\n};\r\n\r\nexport default macboxConsentSlice.reducer;\r\n","import { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\nimport { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\n\r\nconst MACBOX_CONSENT_ROUTE = 'macboxConsent';\r\n\r\nexport class MacboxConsentModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async enableDomain(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', MACBOX_CONSENT_ROUTE, 'enableDomain'));\r\n }\r\n}\r\n","import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';\r\nimport { RootState } from '../../store';\r\nimport { NativeSettingsDataModel } from '../dataHandler/NativeSettingsDataModel';\r\nimport { IIgnoreEntry, IODIgnoreState, RuleType, IODIgnoreResponse } from '../types/odignoreTypes';\r\n\r\nexport const odIgnoreDataModel: NativeSettingsDataModel = new NativeSettingsDataModel();\r\n\r\nexport const odIgnoreInitialState: IODIgnoreState = {\r\n odIgnoreEntry: '',\r\n saving: false,\r\n gpoEntries: [],\r\n userEntries: [],\r\n indexToDelete: -1,\r\n hasError: false,\r\n isEditableExtensionsEnabled: false,\r\n isChangesDisabledByGPO: false,\r\n isDefaultListDisabledByGPO: false\r\n};\r\n\r\nexport const joinEntries = (entries: IIgnoreEntry[]): string => {\r\n const sep = '\\n';\r\n return entries\r\n .map(function (item: IIgnoreEntry) {\r\n return item.entry;\r\n })\r\n .join(sep);\r\n};\r\n\r\nconst updateODIgnoreRules = (entries: IIgnoreEntry[]): Promise => {\r\n /*\r\n * system defaults are read only but are shown as part of the user entries\r\n * get user entries without system defaults to ensure that rescan is triggered appropriately\r\n * Update ODIgnoreHelper::ShouldRequestRescan() if this logic changes\r\n */\r\n const userEntriesWithoutSystemDefaults = entries.filter((entry) => entry.ruleType === RuleType.User);\r\n const str = joinEntries(userEntriesWithoutSystemDefaults);\r\n return odIgnoreDataModel.updateODIgnoreRules(str);\r\n};\r\n\r\nexport const addPrefix = (entry: string): string => {\r\n let prefix = '';\r\n // if doesn't start with an asterisk, add an asterisk to its prefix\r\n if (entry[0] !== '*') {\r\n prefix += '*';\r\n }\r\n // if it doesn't start with an asterisk and doesn't start with a dot, add a dot to its prefix\r\n if (entry[0] !== '.' && entry[0] !== '*') {\r\n prefix += '.';\r\n }\r\n // if it starts with an asterisk but not followed by a dot, add a dot to its prefix\r\n if (entry[0] === '*' && entry[1] !== '.') {\r\n prefix += '*.';\r\n entry = entry.slice(1, entry.length);\r\n }\r\n return prefix + entry;\r\n};\r\n\r\nconst addNewEntryThunk = (state: IODIgnoreState): Promise => {\r\n const { userEntries } = state;\r\n let { odIgnoreEntry } = state;\r\n if (odIgnoreEntry.length < 3) {\r\n return Promise.reject('Invalid entry');\r\n }\r\n // Add the entry to the list\r\n odIgnoreEntry = addPrefix(odIgnoreEntry);\r\n const entry: IIgnoreEntry = {\r\n entry: odIgnoreEntry,\r\n ruleType: RuleType.User,\r\n deleteText: odIgnoreEntry, // set the delete text to the entry as default\r\n id: userEntries.length\r\n };\r\n const entries = [...userEntries, entry];\r\n return updateODIgnoreRules(entries);\r\n};\r\n\r\nconst removeEntryThunk = (state: IODIgnoreState): Promise => {\r\n const { userEntries, indexToDelete } = state;\r\n const entryToDelete = userEntries[indexToDelete];\r\n\r\n // If removing a default extension, persist the removal via the removeDefault route\r\n if (entryToDelete && entryToDelete.ruleType === RuleType.Defaults) {\r\n return odIgnoreDataModel.removeDefaultExtension(entryToDelete.entry);\r\n }\r\n\r\n // For user entries, remove from list and update odignore.txt\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n const filteredEntries = userEntries.filter((_, i) => i !== indexToDelete);\r\n return updateODIgnoreRules(filteredEntries);\r\n};\r\n\r\n// create a thunk for the async function to create a rule\r\nconst addNewEntryAsync = createAsyncThunk(\r\n 'odignore/create_ignore_rule',\r\n async (arg, { getState }): Promise => {\r\n const state = getState() as RootState;\r\n return addNewEntryThunk(state.odignore);\r\n }\r\n);\r\n\r\nconst removeEntryAsync = createAsyncThunk(\r\n 'odignore/remove_ignore_rule',\r\n async (arg, { getState }): Promise => {\r\n const state = getState() as RootState;\r\n return removeEntryThunk(state.odignore);\r\n }\r\n);\r\n\r\nconst getOdIgnoreRulesAsync = createAsyncThunk('odignore/get_rules', () => {\r\n return odIgnoreDataModel.getODIgnoreRules();\r\n});\r\n\r\nexport const odignoreSlice = createSlice({\r\n name: 'odignore',\r\n initialState: odIgnoreInitialState,\r\n reducers: {\r\n setNewEntry: (state, action: PayloadAction) => {\r\n state.odIgnoreEntry = action.payload;\r\n },\r\n resetState: (state) => {\r\n state.odIgnoreEntry = '';\r\n state.saving = false;\r\n state.hasError = false;\r\n state.indexToDelete = -1;\r\n },\r\n setIndexToDelete: (state, action: PayloadAction) => {\r\n // Set the index to delete\r\n // This is used to remove the entry from the list after user confirms\r\n state.indexToDelete = action.payload;\r\n },\r\n updateODIgnoreRulesState: (state, action: PayloadAction) => {\r\n // Update the state with the new rules\r\n // Get entries from GPO, user, and defaults\r\n // GPO entries are read only\r\n // User and defaults entries can be added or removed (when editable extensions is enabled)\r\n const gpoEntries: IIgnoreEntry[] = [];\r\n const userEntries: IIgnoreEntry[] = [];\r\n state.isEditableExtensionsEnabled = action.payload.isEditableExtensionsEnabled ?? false;\r\n state.isChangesDisabledByGPO = action.payload.isChangesDisabledByGPO ?? false;\r\n state.isDefaultListDisabledByGPO = action.payload.isDefaultListDisabledByGPO ?? false;\r\n action.payload.rules.forEach((entry: IIgnoreEntry, index: number) => {\r\n if (entry.ruleType === RuleType.GPO) {\r\n gpoEntries.push({ ...entry });\r\n } else if (entry.ruleType === RuleType.User) {\r\n userEntries.push({ ...entry });\r\n } else if (entry.ruleType === RuleType.Defaults && state.isEditableExtensionsEnabled) {\r\n // When editable extensions is enabled, show defaults as editable entries\r\n userEntries.push({ ...entry });\r\n }\r\n });\r\n state.gpoEntries = gpoEntries;\r\n state.userEntries = userEntries;\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(addNewEntryAsync.pending, (state) => {\r\n state.saving = true;\r\n state.hasError = false;\r\n })\r\n .addCase(addNewEntryAsync.fulfilled, (state, action: PayloadAction) => {\r\n odignoreSlice.caseReducers.updateODIgnoreRulesState(state, action);\r\n state.odIgnoreEntry = '';\r\n state.saving = false;\r\n state.hasError = false;\r\n })\r\n .addCase(addNewEntryAsync.rejected, (state) => {\r\n state.saving = false;\r\n state.hasError = true;\r\n })\r\n .addCase(removeEntryAsync.pending, (state) => {\r\n state.saving = true;\r\n })\r\n .addCase(removeEntryAsync.rejected, (state) => {\r\n state.saving = false;\r\n })\r\n .addCase(removeEntryAsync.fulfilled, (state, action: PayloadAction) => {\r\n odignoreSlice.caseReducers.updateODIgnoreRulesState(state, action);\r\n })\r\n .addCase(getOdIgnoreRulesAsync.fulfilled, (state, action: PayloadAction) => {\r\n // use updateODIgnoreRulesState to update state\r\n odignoreSlice.caseReducers.updateODIgnoreRulesState(state, action);\r\n })\r\n .addCase(getOdIgnoreRulesAsync.rejected, (state) => {\r\n state.userEntries = [];\r\n state.gpoEntries = [];\r\n });\r\n }\r\n});\r\n\r\nexport const odignoreActions = {\r\n ...odignoreSlice.actions, // Action creators are generated for each case reducer function\r\n addNewRule: addNewEntryAsync,\r\n removeRule: removeEntryAsync,\r\n getOdIgnoreRules: getOdIgnoreRulesAsync\r\n};\r\n\r\nexport default odignoreSlice.reducer;\r\n","import {\r\n IDropDownState,\r\n INetworkState,\r\n IResourceStrings,\r\n ISettings,\r\n isIDropDownState,\r\n isINetworkState,\r\n isIToggleState,\r\n IToggleState,\r\n Auth\r\n} from '../models/AppContext';\r\nimport { IErrorResponse, NativeDataHandler, PatchResponse } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\nimport { Buffer } from 'buffer';\r\nimport { IODIgnoreResponse } from '../types/odignoreTypes';\r\nimport { IInitialTab } from '../types/settingsTypes';\r\n\r\nexport class NativeSettingsDataModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n /**\r\n * Get all resource string values for settings.\r\n * Resource strings cannot be modified.\r\n * They are localized strings to be displayed in the UI, and they are all expected to be pre-formatted by design.\r\n */\r\n public async fetchAllResourceStrings(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNSettings/resources',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n /**\r\n * Get all setting values.\r\n *\r\n * If keys are included they will be added to the url as params, like so:\r\n * ...settings?select=key1&key2&key3\r\n * In this case, only the setting values for those keys will be returned.\r\n */\r\n public async fetchAllSettings(jsonNL: boolean, keys?: string[]): Promise {\r\n let url = 'http://localhost:9001/sync/RNSettings/settings';\r\n if (jsonNL) {\r\n url = 'http://localhost:9001/sync/RNSettings/settingsJsonNL';\r\n }\r\n if (keys !== undefined && keys.length >= 1) {\r\n url = url + '?select=';\r\n for (let i = 0; i < keys.length; i++) {\r\n if (i === 0) {\r\n url += keys[i];\r\n } else {\r\n url += '&' + keys[i];\r\n }\r\n }\r\n }\r\n const options: IDataHandlerSendOptions = {\r\n url: url,\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n /**\r\n * Get authentication token for fetching profile picture, and set auth profilePicture data bytes.\r\n */\r\n public async fetchProfilePicture(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/auth/graphAuthToken',\r\n requestType: 'GET'\r\n };\r\n\r\n let auth: Auth = null;\r\n\r\n auth = await this._dataHandler.send(options);\r\n if (auth === null || auth.authToken === '' || auth.authToken === null) {\r\n throw new Error('Failed to get auth token');\r\n }\r\n\r\n auth.profilePicture = '';\r\n const headers = new Map();\r\n headers.set('Authorization', 'Bearer ' + auth.authToken);\r\n const uri = auth.uri + '/v1.0/users/' + encodeURIComponent(auth.cid) + '/photo/$value';\r\n const resp = await getArrayBuffer(uri, headers);\r\n const base64 = arrayBufferToBase64(resp);\r\n const str = 'data:image/jpeg;base64,' + base64;\r\n auth.profilePicture = str;\r\n return auth;\r\n }\r\n\r\n public async patchSetting(\r\n key: string,\r\n value: boolean | string | INetworkState,\r\n settings: ISettings\r\n ): Promise {\r\n const currentValue = settings[key];\r\n let postData: { [key: string]: IToggleState | IDropDownState | INetworkState } | null = null;\r\n let finalPromise: Promise;\r\n\r\n // Update the mock representation of the setting state\r\n if (typeof value === 'boolean') {\r\n if (isIToggleState(currentValue)) {\r\n postData = { [key]: { ...settings[key], checked: value } as IToggleState };\r\n }\r\n } else if (typeof value === 'string') {\r\n if (isIDropDownState(currentValue)) {\r\n postData = { [key]: { ...settings[key], selection: value } as IDropDownState };\r\n }\r\n } else if (isINetworkState(value)) {\r\n // Only send the settings the user can edit\r\n const { limitDownload, limitUpload, uploadRateAuto, uploadLimit, downloadLimit } = value;\r\n postData = {\r\n [key]: {\r\n ...settings[key],\r\n limitDownload,\r\n limitUpload,\r\n uploadRateAuto,\r\n uploadLimit,\r\n downloadLimit\r\n } as INetworkState\r\n };\r\n }\r\n\r\n if (postData) {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNSettings/settings',\r\n requestType: 'PATCH',\r\n postData: postData\r\n };\r\n finalPromise = this._dataHandler.send(options);\r\n } else {\r\n finalPromise = Promise.reject({ error: 'Malformed input' });\r\n }\r\n return finalPromise;\r\n }\r\n\r\n public async patchCatfood(value: string): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNSettings/catfood',\r\n requestType: 'PATCH',\r\n postData: value\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n /**\r\n * Initiate sync engine call to start getting all mounted folder information.\r\n */\r\n public async beginGetMountedFolders(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/mountedFolders/beginGetMountedFolders',\r\n requestType: 'GET'\r\n };\r\n const errorRespone: IErrorResponse = await this._dataHandler.send(options);\r\n if (errorRespone && errorRespone.error) {\r\n throw new Error(JSON.stringify(errorRespone.error));\r\n }\r\n }\r\n\r\n public async stopSyncingMountedFolder(scopeId: string): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/mountedFolders/stopSync',\r\n requestType: 'POST',\r\n postData: { scopeId: scopeId }\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async startSyncingDefaultMountedFolder(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/mountedFolders/startDefaultSync',\r\n requestType: 'POST',\r\n postData: {}\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async chooseFolders(scopeId: string, libraryType: number): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/mountedFolders/chooseFolders',\r\n requestType: 'POST',\r\n postData: {\r\n scopeId: scopeId,\r\n libraryType: libraryType\r\n }\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getIsAutoStartHidden(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/AutoStart/isHidden',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async sendGetMobileAppTelemetry(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNSettings/sendGetMobileApp',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async isGetMobileAppEnabled(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNSettings/isGetMobileAppEnabled',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async areOSNotificationsEnabled(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNSettings/areOSNotificationsEnabled',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getInitialTab(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNSettings/getInitialTab',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async isDiamondIconInGMSButtonEnabled(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/RNSettings/isDiamondIconInGMSButtonEnabled',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getODIgnoreRules(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/odignore/get',\r\n requestType: 'GET',\r\n postData: {}\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async updateODIgnoreRules(rules: string): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/odignore/update',\r\n requestType: 'POST',\r\n postData: {\r\n rules\r\n }\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async removeDefaultExtension(extension: string): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/odignore/removeDefault',\r\n requestType: 'POST',\r\n postData: {\r\n extension\r\n }\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n}\r\nexport function getArrayBuffer(url: string, headers: Map): Promise {\r\n return new Promise((resolve, reject) => {\r\n const req = new XMLHttpRequest();\r\n req.open('GET', url, true);\r\n headers.forEach((value: string, key: string) => {\r\n req.setRequestHeader(key, value);\r\n });\r\n req.responseType = 'arraybuffer';\r\n\r\n req.onload = function () {\r\n const resp = req.response;\r\n if (req.status >= 200 && req.status < 300) {\r\n resolve(resp);\r\n } else {\r\n reject({\r\n status: req.status,\r\n statusText: req.statusText\r\n });\r\n }\r\n };\r\n req.onerror = function () {\r\n reject({\r\n status: req.status,\r\n statusText: req.statusText\r\n });\r\n };\r\n req.send();\r\n });\r\n}\r\n\r\nfunction arrayBufferToBase64(raw: string): string {\r\n const buffer = Buffer.from(raw, 'base64');\r\n return buffer.toString('base64');\r\n}\r\n","import React from 'react';\r\n\r\n/**\r\n * Declare type for appContextData properties\r\n */\r\nexport type Settings = ISettings | null;\r\nexport type ResourceStrings = IResourceStrings | null;\r\nexport type MountedFolderState = IMountedFolderState | null;\r\nexport type Auth = IAuth | null;\r\n\r\n/**\r\n * IAppContextData is used to store resourceString, settings ,metadata, and auth value.\r\n * IAppContextData combines all hooks from Setting Context, Metadata Context, and Auth Context to update data model and components\r\n * As a result, SettingsView only needs AppContext Provider for components to consume and update.\r\n *\r\n * undefined means data are fetching/loading, null means the fetch functions failed.\r\n * the implementation is shown inside the SettingsView component's conditional statements\r\n */\r\n\r\nexport interface IAppContextData {\r\n resourceStrings: ResourceStrings;\r\n settings: Settings;\r\n mountedFolderState: MountedFolderState;\r\n auth: Auth;\r\n failedFetch: boolean;\r\n initialAutoStartState: boolean | null;\r\n isGetMobileAppEnabled: boolean | null;\r\n isDiamondIconInGMSButtonEnabled: boolean;\r\n areOSNotificationsEnabled: boolean;\r\n refreshOSNotificationStatus: () => void;\r\n onToggleChange: (key: string, value: boolean) => void;\r\n onNetworkChange: (value: INetworkState) => void;\r\n onDropdownChange: (key: string, value: string) => void;\r\n onCatfoodChange: (value: string) => void;\r\n onStopSyncingMountedFolder: (scopeId: string) => void;\r\n onStartSyncingDefaultMountedFolder: () => void;\r\n onChooseFolders: (scopeId: string, libraryType: number) => void;\r\n onUpdateMountedFolderState: (updatedMountedFolderState: IMountedFolderState) => void;\r\n beginGetMountedFolders: () => void;\r\n sendGetMobileAppTelemetry: () => void;\r\n}\r\n\r\n/**\r\n * Every callback function can be the same, simple, empty function to initialize the AppContext.\r\n * This is possible because none of the parameters for these callbacks are actually used in the stub implementation.\r\n */\r\nconst defaultContextCallback = (): void => {};\r\n\r\nexport const defaultAppContextData: IAppContextData = {\r\n resourceStrings: null,\r\n settings: null,\r\n mountedFolderState: null,\r\n auth: null,\r\n failedFetch: false,\r\n initialAutoStartState: null,\r\n isGetMobileAppEnabled: null,\r\n isDiamondIconInGMSButtonEnabled: false,\r\n areOSNotificationsEnabled: true,\r\n refreshOSNotificationStatus: defaultContextCallback,\r\n onToggleChange: defaultContextCallback,\r\n onNetworkChange: defaultContextCallback,\r\n onDropdownChange: defaultContextCallback,\r\n onCatfoodChange: defaultContextCallback,\r\n onStopSyncingMountedFolder: defaultContextCallback,\r\n onStartSyncingDefaultMountedFolder: defaultContextCallback,\r\n onChooseFolders: defaultContextCallback,\r\n onUpdateMountedFolderState: defaultContextCallback,\r\n beginGetMountedFolders: defaultContextCallback,\r\n sendGetMobileAppTelemetry: defaultContextCallback\r\n};\r\n\r\nexport const AppContext: React.Context =\r\n React.createContext(defaultAppContextData);\r\n\r\nexport interface IResourceStrings {\r\n [key: string]: string;\r\n}\r\n\r\n/** SettingContext data returned from data model FetchAllSettings()\r\n * The way interfaces are declared below is to ensure the contexts have the same data format as data model's.\r\n */\r\n\r\nexport interface IToggleState {\r\n checked: boolean;\r\n disabled: boolean;\r\n}\r\n\r\nexport interface IFasterRingState extends IToggleState {\r\n showRingName: boolean;\r\n ringName: string;\r\n isPolicySet: boolean;\r\n}\r\n\r\nexport interface INetworkState {\r\n limitDownload: boolean;\r\n limitDownloadDisabled: boolean;\r\n limitUpload: boolean;\r\n limitUploadDisabled: boolean;\r\n uploadRateAuto: boolean;\r\n uploadRateAutoDisabled: boolean;\r\n uploadLimit: number;\r\n downloadLimit: number;\r\n}\r\n\r\nexport enum VaultLockTimeout {\r\n TwentyMinutes = 'TwentyMinutes',\r\n OneHour = 'OneHour',\r\n TwoHours = 'TwoHours',\r\n FourHours = 'FourHours'\r\n}\r\n\r\nexport interface IButtonState {\r\n disabled: boolean;\r\n actionParameter: string;\r\n}\r\n\r\nexport interface ILinkState {\r\n actionParameter: string;\r\n}\r\n\r\nexport interface IDropDownState {\r\n selection: string;\r\n}\r\n\r\nexport interface IMountedFolderState {\r\n /**\r\n * Denotes the primary mounted folder's scope ID.\r\n * i.e. the user's ODB folder\r\n */\r\n primaryScopeId: string;\r\n\r\n /**\r\n * Contains a special action parameter string used to unlink the user's account.\r\n */\r\n unlinkFolderActionParameter: string;\r\n\r\n /**\r\n * Contains a list of all mounted folder information needed to render the list of\r\n * Mounted Folder UI elements.\r\n */\r\n mountedFolderList: IMountedFolder[];\r\n}\r\n\r\n/**\r\n * Strings associated with each mounted folder UI item are stored in Settings instead of ResourceStrings,\r\n * since they each rely on information specific to their respective mounted folder.\r\n */\r\nexport interface IMountedFolder {\r\n scopeId: string;\r\n libraryType: number;\r\n folderName: string;\r\n folderDescription: string;\r\n stopSyncConfirmHeader: string;\r\n stopSyncConfirmBody: string;\r\n unlinkConfirmBody: string;\r\n}\r\n\r\nexport type ISettingState =\r\n | IToggleState\r\n | INetworkState\r\n | IButtonState\r\n | ILinkState\r\n | IDropDownState\r\n | IFasterRingState;\r\n\r\nexport interface ISettings {\r\n [key: string]: ISettingState;\r\n}\r\n\r\n// Type guards for ISettingState's inner types\r\nexport function isIToggleState(value: ISettingState): value is IToggleState {\r\n return value ? 'checked' in value : false;\r\n}\r\n\r\nexport function isINetworkState(value: ISettingState): value is INetworkState {\r\n return value ? 'uploadLimit' in value : false;\r\n}\r\n\r\nexport function isIDropDownState(value: ISettingState): value is IDropDownState {\r\n return value ? 'selection' in value : false;\r\n}\r\n\r\nexport interface IAuth {\r\n authToken: string;\r\n profilePicture: string;\r\n cid: string;\r\n uri: string;\r\n}\r\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","export interface IODIgnoreState {\r\n odIgnoreEntry: string;\r\n saving: boolean;\r\n hasError: boolean;\r\n gpoEntries: IIgnoreEntry[];\r\n userEntries: IIgnoreEntry[];\r\n indexToDelete: number;\r\n isEditableExtensionsEnabled: boolean;\r\n isChangesDisabledByGPO: boolean;\r\n isDefaultListDisabledByGPO: boolean;\r\n}\r\n\r\nexport interface IIgnoreEntry {\r\n entry: string;\r\n id: number;\r\n ruleText?: string;\r\n ruleType?: RuleType;\r\n subText?: string;\r\n deleteText: string;\r\n}\r\n\r\nexport enum RuleType {\r\n Unknown,\r\n GPO,\r\n User,\r\n Defaults\r\n}\r\n\r\nexport interface IODIgnoreResponse {\r\n rules: IIgnoreEntry[];\r\n isEditableExtensionsEnabled: boolean;\r\n isChangesDisabledByGPO: boolean;\r\n isDefaultListDisabledByGPO: boolean;\r\n}\r\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { OptionalDiagnosticDataPageModel } from '../dataHandler/OptionalDiagnosticDataPageModel';\r\nimport {\r\n IOptionalDiagnosticDataInfoPayLoad,\r\n IOptionalDiagnosticDataState,\r\n OptionalDiagnosticDataSelection\r\n} from '../types/optionalDiagnosticDataTypes';\r\n\r\nexport const dataModel: OptionalDiagnosticDataPageModel = new OptionalDiagnosticDataPageModel();\r\n\r\nexport const initialOptionalDiagnosticDataPageState: IOptionalDiagnosticDataState = {\r\n selection: OptionalDiagnosticDataSelection.OptOut,\r\n isOptInAllowed: true\r\n};\r\n\r\nconst acceptAsync = createAsyncThunk(\r\n 'optional_diagnostic_data/accept',\r\n async (state: IOptionalDiagnosticDataState): Promise => {\r\n return dataModel.accept({\r\n isOptIn: state.selection === OptionalDiagnosticDataSelection.OptIn\r\n });\r\n }\r\n);\r\n\r\nconst getInfoAsync = createAsyncThunk(\r\n 'optional_diagnostic_data/get_info',\r\n (): Promise => {\r\n return dataModel.getInfo();\r\n }\r\n);\r\n\r\nexport const optionalDiagnosticDataPageSlice = createSlice({\r\n name: 'optional_diagnostic_data_page',\r\n initialState: initialOptionalDiagnosticDataPageState,\r\n reducers: {\r\n updateSelection: (state: IOptionalDiagnosticDataState, action: PayloadAction) => {\r\n state.selection = action.payload;\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(\r\n getInfoAsync.fulfilled,\r\n (state: IOptionalDiagnosticDataState, action: PayloadAction) => {\r\n state.selection = action.payload.initialSelection;\r\n state.isOptInAllowed = action.payload.isOptInAllowed;\r\n }\r\n )\r\n .addCase(getInfoAsync.rejected, (state, payload) => {\r\n console.error(`Failed to fetch tutorial info`);\r\n console.error(payload);\r\n });\r\n }\r\n});\r\n\r\nexport const optionalDiagnosticDataPageActions = {\r\n ...optionalDiagnosticDataPageSlice.actions,\r\n accept: acceptAsync,\r\n getInfo: getInfoAsync\r\n};\r\n\r\nexport default optionalDiagnosticDataPageSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\nimport {\r\n IOptionalDiagnosticDataInfoPayLoad,\r\n IOptionalDiagnosticDataAcceptPayload\r\n} from '../types/optionalDiagnosticDataTypes';\r\n\r\nexport class OptionalDiagnosticDataPageModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async accept(payload: IOptionalDiagnosticDataAcceptPayload): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/optionalDiagnosticData/accept',\r\n requestType: 'POST',\r\n postData: payload\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getInfo(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/optionalDiagnosticData/getInfo',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n}\r\n","// Represents the diagnostic data selection values used by the route handler.\r\nexport enum OptionalDiagnosticDataSelection {\r\n NotSet = 0,\r\n OptOut = 1,\r\n OptIn = 2\r\n}\r\n\r\nexport interface IOptionalDiagnosticDataInfoPayLoad {\r\n initialSelection: OptionalDiagnosticDataSelection;\r\n isOptInAllowed: boolean;\r\n}\r\n\r\nexport interface IOptionalDiagnosticDataAcceptPayload {\r\n isOptIn: boolean;\r\n}\r\n\r\nexport interface IOptionalDiagnosticDataState {\r\n selection: OptionalDiagnosticDataSelection;\r\n isOptInAllowed: boolean;\r\n}\r\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { PremiumPageModel } from '../dataHandler/PremiumPageModel';\r\nimport { IPremiumPageState } from '../types/premiumTypes';\r\n\r\nexport const dataModel: PremiumPageModel = new PremiumPageModel();\r\n\r\nconst onDismissAsync = createAsyncThunk('premium_page/onDismiss', (): Promise => {\r\n return dataModel.dismiss();\r\n});\r\n\r\nconst upgradeAsync = createAsyncThunk('premium_page/upgrade', (): Promise => {\r\n return dataModel.upgrade();\r\n});\r\n\r\nexport const initialPremiumPageState: IPremiumPageState = {\r\n price: '',\r\n storagePlanPrice: ''\r\n};\r\n\r\nexport const premiumSlice = createSlice({\r\n name: 'premium_page',\r\n initialState: initialPremiumPageState,\r\n reducers: {\r\n setPricePlanInfo: (state: IPremiumPageState, action: PayloadAction) => {\r\n state.price = action.payload.price;\r\n state.storagePlanPrice = action.payload.storagePlanPrice;\r\n }\r\n }\r\n});\r\n\r\nexport const premiumPageActions = {\r\n ...premiumSlice.actions,\r\n dismiss: onDismissAsync,\r\n upgrade: upgradeAsync\r\n};\r\n\r\nexport default premiumSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\n\r\nexport class PremiumPageModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async dismiss(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/premium/dismiss',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async upgrade(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/premium/upgrade',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n}\r\n","import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';\r\nimport { PurchaseDataModel } from '../dataHandler/PurchaseDataModel';\r\nimport {\r\n IProductCardPayload,\r\n IPurchaseViewState,\r\n IProductPayload,\r\n IShowProductCardPayload,\r\n PurchaseViewState,\r\n IPurchaseViewStateChangePayload,\r\n IPurchaseViewTelemetry\r\n} from '../types/purchaseViewTypes';\r\n\r\nexport const dataModel: PurchaseDataModel = new PurchaseDataModel();\r\nconst initialState: IPurchaseViewState = {\r\n cardOne: null,\r\n cardTwo: null,\r\n cardSuccess: null,\r\n showProductCardOne: false,\r\n showProductCardTwo: false,\r\n showProductCardSuccess: false,\r\n purchaseViewState: PurchaseViewState.Initial,\r\n titleText: '',\r\n bodyText: ''\r\n};\r\n\r\n// createAsyncThunk for handleSubmit\r\nexport const handleSubmitAsync = createAsyncThunk(\r\n 'purchase/handleSubmit',\r\n async (payload: IProductPayload) => {\r\n await dataModel.handleSubmit(payload);\r\n }\r\n);\r\n\r\n// createAsyncThunk for handleRestorePurchase\r\nexport const handleRestorePurchaseAsync = createAsyncThunk('purchase/handleRestorePurchase', async () => {\r\n await dataModel.handleRestorePurchase();\r\n});\r\n\r\nexport const handlePurchaseViewCloseAsync = createAsyncThunk('purchase/handlePurchaseViewClose', async () => {\r\n await dataModel.closePurchaseView();\r\n});\r\n\r\nexport const handleRecordTelemetryAsync = createAsyncThunk(\r\n 'purchase/handleRecordTelemetry',\r\n async (payload: IPurchaseViewTelemetry) => {\r\n await dataModel.recordTelemetry(payload);\r\n }\r\n);\r\n\r\nexport const purchaseSlice = createSlice({\r\n name: 'inApppurchase',\r\n initialState,\r\n reducers: {\r\n setProductCard: (state: IPurchaseViewState, action: PayloadAction) => {\r\n const { product, cardType } = action.payload;\r\n state[cardType] = product;\r\n },\r\n setShowProductCard: (state: IPurchaseViewState, action: PayloadAction) => {\r\n const { cardType, visible } = action.payload;\r\n state[cardType] = visible;\r\n },\r\n setStateChange: (state: IPurchaseViewState, action: PayloadAction) => {\r\n const { title, body, purchaseViewState } = action.payload;\r\n state.titleText = title;\r\n state.bodyText = body;\r\n state.purchaseViewState = purchaseViewState;\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(handleSubmitAsync.pending, (state) => {\r\n // handle pending state if needed\r\n })\r\n .addCase(handleSubmitAsync.fulfilled, (state) => {\r\n // handle fulfilled state if needed\r\n })\r\n .addCase(handleSubmitAsync.rejected, (state, action) => {\r\n console.error('Failed to handle submit:', action.error);\r\n })\r\n .addCase(handleRestorePurchaseAsync.pending, (state) => {\r\n // handle pending state if needed\r\n })\r\n .addCase(handleRestorePurchaseAsync.fulfilled, (state, action) => {\r\n // handle fulfilled state if needed\r\n })\r\n .addCase(handleRestorePurchaseAsync.rejected, (state, action) => {\r\n console.error('Failed to handle restore purchase:', action.error);\r\n });\r\n }\r\n});\r\nexport const purchaseActions = {\r\n ...purchaseSlice.actions, // Action creators are generated for each case reducer function\r\n handleSubmitAsync,\r\n handleRestorePurchaseAsync,\r\n handlePurchaseViewCloseAsync,\r\n handleRecordTelemetryAsync\r\n};\r\nexport default purchaseSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IProductPayload, IPurchaseViewTelemetry } from '../types/purchaseViewTypes';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\n\r\nconst IN_APP_PURCHASE_ROUTE = 'inAppPurchase';\r\n\r\nexport class PurchaseDataModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async handleSubmit(payload: IProductPayload): Promise {\r\n try {\r\n await this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', IN_APP_PURCHASE_ROUTE, 'handlePurchase', payload)\r\n );\r\n } catch (error) {\r\n console.error('Error handling purchase submission:', error);\r\n }\r\n }\r\n\r\n public async handleRestorePurchase(): Promise {\r\n try {\r\n await this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', IN_APP_PURCHASE_ROUTE, 'restorePurchase')\r\n );\r\n } catch (error) {\r\n console.error('Error restoring purchase:', error);\r\n }\r\n }\r\n\r\n public async closePurchaseView(): Promise {\r\n try {\r\n await this._dataHandler.send(getDataHandlerSendOptions('POST', IN_APP_PURCHASE_ROUTE, 'closeWindow'));\r\n } catch (error) {\r\n console.error('Error closing purchase view', error);\r\n }\r\n }\r\n\r\n public async recordTelemetry(payload: IPurchaseViewTelemetry): Promise {\r\n try {\r\n await this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', IN_APP_PURCHASE_ROUTE, 'telemetry', payload)\r\n );\r\n } catch (error) {\r\n console.error('Error recording telemetry:', error);\r\n }\r\n }\r\n}\r\n","// interface of PurchaseView state\r\nexport interface IPurchaseViewState {\r\n cardOne: IProductCardUI | null;\r\n cardTwo: IProductCardUI | null;\r\n cardSuccess: IProductCardUI | null;\r\n showProductCardOne: boolean;\r\n showProductCardTwo: boolean;\r\n showProductCardSuccess: boolean;\r\n purchaseViewState: PurchaseViewState;\r\n titleText: string;\r\n bodyText: string;\r\n}\r\n\r\n// interface of payload received from the platform\r\nexport interface IProductCardUI {\r\n productTitle: string;\r\n productPrice: string;\r\n productId: string;\r\n listElements: string[];\r\n}\r\n\r\n// interface of state change payload sent from the platform\r\nexport interface IPurchaseViewStateChangePayload {\r\n title: string;\r\n body: string;\r\n purchaseViewState: PurchaseViewState;\r\n}\r\n\r\nexport interface IShowProductCardPayload {\r\n cardType: 'showProductCardOne' | 'showProductCardTwo' | 'showProductCardSuccess';\r\n visible: boolean;\r\n}\r\n// Interface of payload sent to the platform\r\nexport interface IProductPayload {\r\n productId: string;\r\n}\r\n// interface of payload sent to redux\r\nexport interface IProductCardPayload {\r\n product: IProductCardUI;\r\n cardType: ProductCard;\r\n}\r\n// enum for different product cards\r\nexport enum ProductCard {\r\n One = 'cardOne',\r\n Two = 'cardTwo',\r\n Success = 'cardSuccess'\r\n}\r\n\r\n//enum for purhcase view state\r\nexport enum PurchaseViewState {\r\n Initial,\r\n ReadyForPurchase,\r\n Purchasing,\r\n Success,\r\n Failure\r\n}\r\n\r\n// interface of a Product Card displayed in the UI\r\nexport interface IProductCard {\r\n cardDetails: IProductCardUI;\r\n onButtonPress: () => void;\r\n canPurchase: boolean;\r\n isProdigiEnabled?: boolean;\r\n}\r\n\r\n// interface for ui action sent to platform to record telemetry\r\nexport interface IPurchaseViewTelemetry {\r\n action: PurchaseViewAction;\r\n}\r\n\r\n// PurchaseViewAction is used to track the action that the user took on the purchase view\r\n// must match the enum in IPurchaseView.h\r\nexport enum PurchaseViewAction {\r\n None = 0,\r\n RestorePurchaseButtonClicked = 1,\r\n PurchaseButtonClicked = 2,\r\n PrivacyPolicyClicked = 3,\r\n TermsOfServiceClicked = 4,\r\n CloseButtonClicked = 5,\r\n MoreInfoButtonClicked = 6\r\n}\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { RequiredDiagnosticPageModel } from '../dataHandler/RequiredDiagnosticPageModel';\r\n\r\nexport const dataModel: RequiredDiagnosticPageModel = new RequiredDiagnosticPageModel();\r\n\r\nconst onCompleteAsync = createAsyncThunk('required_diagnostic_data_page/onComplete', (): Promise => {\r\n return dataModel.onComplete();\r\n});\r\n\r\nexport const requiredDiagnosticDataSlice = createSlice({\r\n name: 'required_diagnostic_data_page',\r\n initialState: {},\r\n reducers: {\r\n // No specific reducer functions defined\r\n }\r\n});\r\n\r\nexport const requiredDiagnosticDataPageActions = {\r\n ...requiredDiagnosticDataSlice.actions,\r\n onComplete: onCompleteAsync\r\n};\r\n\r\nexport default requiredDiagnosticDataSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\n\r\nexport class RequiredDiagnosticPageModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async onComplete(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/requiredDiagnosticData/onComplete',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n}\r\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport {\r\n IFolderInfoPayload,\r\n IItemInfo,\r\n ILocationOnDiskPayload,\r\n InfoBarType,\r\n ISelectedItemsSizeInfo,\r\n ISelectiveSyncInfoPayload,\r\n ISelectiveSyncState,\r\n ISingleItemStateInfo,\r\n ItemState,\r\n SelectiveSyncPageType,\r\n SelectiveSyncUncheckWarningType\r\n} from '../types/selectiveSyncTypes';\r\nimport { SelectiveSyncPageModel } from '../dataHandler/SelectiveSyncPageModel';\r\nimport { getConfirmDialogStrings, getRelativePathFromNode } from '../helpers/helpers';\r\nimport { WizardConfirmDialogResult } from '../types/wizardWindowTypes';\r\nimport { dataModel as commonDataModel } from '../../common/redux/commonSlice';\r\nimport { QoSTelemetryResultType } from '../../common/types';\r\n\r\n// View name used when reporting Selective Sync QoS telemetry from this slice.\r\nconst SELECTIVE_SYNC_VIEW_NAME = 'selectiveSync';\r\n\r\n// QoS API name reported when the native service hands us a folder whose\r\n// reported size is negative (or otherwise outside a plausible range).\r\nconst QOS_API_INVALID_FOLDER_SIZE = 'SelectiveSyncInvalidFolderSize';\r\n\r\n// Enum tracking the type of invalid size error detected for telemetry.\r\nexport enum SizeValidationResult {\r\n Success = 0,\r\n NonFinite = -1,\r\n Negative = -2\r\n}\r\n\r\nexport interface ICreateFilesItemInfoResult {\r\n sizeValidationResult: SizeValidationResult;\r\n filesNodeInfo: IItemInfo;\r\n}\r\n\r\nexport interface ICreateFilesNodeResult {\r\n sizeValidationResult: SizeValidationResult;\r\n filesNode: ISelectiveSyncState;\r\n}\r\n\r\nconst reportInvalidFolderSize = (sizeError: SizeValidationResult): void => {\r\n try {\r\n commonDataModel.recordQoSTelemetry(\r\n {\r\n apiName: QOS_API_INVALID_FOLDER_SIZE,\r\n resultType:\r\n sizeError === SizeValidationResult.Success\r\n ? QoSTelemetryResultType.Success\r\n : QoSTelemetryResultType.UnexpectedFailure,\r\n resultCode: sizeError as number\r\n },\r\n SELECTIVE_SYNC_VIEW_NAME\r\n );\r\n } catch {\r\n // Telemetry should never break the UI.\r\n }\r\n};\r\n\r\n// Returns the appropriate SizeValidationResult enum value for a given byte count.\r\n// Returns Success if the byte count is a finite, non-negative number.\r\nexport const getSizeValidationResult = (bytes: number): SizeValidationResult => {\r\n if (!Number.isFinite(bytes)) {\r\n return SizeValidationResult.NonFinite;\r\n } else if (bytes < 0) {\r\n return SizeValidationResult.Negative;\r\n } else {\r\n return SizeValidationResult.Success;\r\n }\r\n};\r\n\r\nexport const createInitialSelectiveSyncState = (): ISelectiveSyncState => ({\r\n items: [],\r\n folderName: '',\r\n driveName: '',\r\n isTeamSiteSync: false,\r\n arePlaceholdersOn: false,\r\n pageType: SelectiveSyncPageType.Unknown,\r\n locationOnDiskText: '',\r\n locationOnDiskPathLink: '',\r\n diskSpaceExcludingOneDrive: 0,\r\n itemIdToDetailsMap: {},\r\n infoBarText: '',\r\n infoBarType: InfoBarType.None,\r\n selectedItem: null,\r\n rootNode: null,\r\n isRootFolderEmpty: false,\r\n showConfirmDialog: false,\r\n confirmDialogStrings: {\r\n primaryText: '',\r\n accessiblePrimaryText: '',\r\n secondaryText: '',\r\n buttonOneText: '',\r\n buttonTwoText: '',\r\n linkButtonText: '',\r\n viewName: '',\r\n folderName: '',\r\n warningType: SelectiveSyncUncheckWarningType.None\r\n },\r\n updatedItems: {},\r\n lastUpdatedItemId: null,\r\n totalSelectedItemsSize: 0,\r\n totalSelectedFolderBytesSize: '',\r\n totalSelectedFolderSizeUnits: '',\r\n parentToItemsMap: {}\r\n});\r\n\r\nexport const initialSelectiveSyncState: ISelectiveSyncState = createInitialSelectiveSyncState();\r\n\r\nexport const dataModel: SelectiveSyncPageModel = new SelectiveSyncPageModel();\r\n\r\nconst getSelectiveSyncItemsForSubmit = (state: ISelectiveSyncState): IItemInfo[] => {\r\n const items: IItemInfo[] = [];\r\n const addedItemIds = new Set();\r\n\r\n const addUpdatedItem = (item: IItemInfo | null): void => {\r\n if (item && !item.isFilesNode && !addedItemIds.has(item.itemID)) {\r\n items.push(item);\r\n addedItemIds.add(item.itemID);\r\n }\r\n };\r\n\r\n if (state.rootNode) {\r\n addUpdatedItem(state.itemIdToDetailsMap[state.rootNode.itemID] || state.rootNode);\r\n\r\n const nodesToVisit = [...(state.itemIdToDetailsMap[state.rootNode.itemID]?.children || [])];\r\n while (nodesToVisit.length > 0) {\r\n const node = nodesToVisit.shift();\r\n if (!node) {\r\n continue;\r\n }\r\n\r\n const item = state.itemIdToDetailsMap[node.itemID];\r\n if (state.updatedItems[node.itemID]) {\r\n addUpdatedItem(item);\r\n }\r\n\r\n nodesToVisit.push(...(item?.children || []));\r\n }\r\n }\r\n\r\n Object.keys(state.updatedItems).forEach((itemId) => {\r\n addUpdatedItem(state.itemIdToDetailsMap[itemId]);\r\n });\r\n\r\n return items;\r\n};\r\n\r\nconst expandNodeAsync = createAsyncThunk(\r\n 'selective_sync/expand_node',\r\n async ({ state, item }: { state: ISelectiveSyncState; item: IItemInfo }, thunkAPI): Promise => {\r\n const relativePath = getRelativePathFromNode(item, state.itemIdToDetailsMap);\r\n return dataModel.expandNode(item, relativePath);\r\n }\r\n);\r\n\r\nconst onSubmitAsync = createAsyncThunk(\r\n 'selective_sync/on_submit',\r\n async ({ state }: { state: ISelectiveSyncState }, thunkAPI): Promise => {\r\n const changedItems = getSelectiveSyncItemsForSubmit(state);\r\n return dataModel.submitSelectiveSyncInfo(changedItems);\r\n }\r\n);\r\n\r\nconst OnConfirmDialogClosedAsync = createAsyncThunk(\r\n 'selective_sync/on_confirm_dialog_submit',\r\n async ({ state }: { state: ISelectiveSyncState }, thunkAPI): Promise => {\r\n return dataModel.onConfirmDialogClosed({\r\n confirmDialogResult: WizardConfirmDialogResult.PrimaryButton,\r\n isUnSyncDialog: true,\r\n warningType: state.confirmDialogStrings.warningType\r\n });\r\n }\r\n);\r\n\r\nconst updateTotalSelectedItemsSizeAsync = createAsyncThunk(\r\n 'selective_sync/total_selected_size',\r\n async (\r\n { totalSelectedItemsSize, items }: { totalSelectedItemsSize: number; items: ISingleItemStateInfo[] },\r\n thunkAPI\r\n ): Promise => {\r\n return dataModel.updateTotalSelectedItemsSize({\r\n currentTotalSize: totalSelectedItemsSize,\r\n items: items\r\n });\r\n }\r\n);\r\n\r\nconst changeRootLocationClickedAsync = createAsyncThunk(\r\n 'selective_sync/change_root_folder',\r\n (): Promise => {\r\n return dataModel.changeRootLocationClicked();\r\n }\r\n);\r\n\r\nconst onCancelAsync = createAsyncThunk('selective_sync/on_cancel', (): Promise => {\r\n return dataModel.onCancel();\r\n});\r\n\r\nconst getInfoBarText = (\r\n infoBarType: InfoBarType,\r\n arePlaceholdersOn: boolean,\r\n isTeamSiteLibrary: boolean\r\n): string => {\r\n let infoBarTextResourceId = '';\r\n\r\n switch (infoBarType) {\r\n case InfoBarType.DisabledOptOut:\r\n infoBarTextResourceId = 'selectiveSyncInfoBarCannotUnsync';\r\n break;\r\n\r\n case InfoBarType.ReadOnly:\r\n infoBarTextResourceId = 'selectiveSyncInfoBarReadOnlyText';\r\n break;\r\n\r\n case InfoBarType.AlreadySyncing:\r\n infoBarTextResourceId = 'selectiveSyncInfoBarAlreadySyncingError';\r\n break;\r\n\r\n case InfoBarType.UnselectedFolder:\r\n if (arePlaceholdersOn) {\r\n if (isTeamSiteLibrary) {\r\n infoBarTextResourceId = 'selectiveSyncInfoBarPlaceholderUncheckWarningTeamsite';\r\n } else {\r\n infoBarTextResourceId = 'selectiveSyncInfoBarPlaceholderUncheckWarningSecondary';\r\n }\r\n } else {\r\n if (isTeamSiteLibrary) {\r\n infoBarTextResourceId = 'selectiveSyncInfoBarUncheckWarningTeamsite';\r\n } else {\r\n infoBarTextResourceId = 'selectiveSyncInfoBarUncheckWarningSecondary';\r\n }\r\n }\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n return infoBarTextResourceId;\r\n};\r\n\r\nconst checkIfDisabledNodeExists = (items: IItemInfo[], isRootFolderRequest: boolean): boolean => {\r\n let hasUnsyncDisabledNode = false;\r\n\r\n // Determine the starting index based on isRootFolderRequest\r\n const startIndex = isRootFolderRequest ? 1 : 0;\r\n\r\n for (let i = startIndex; i < items.length; i++) {\r\n if (!items[i].canUnSync) {\r\n hasUnsyncDisabledNode = true;\r\n break; // Exit the loop early if a disabled node is found\r\n }\r\n }\r\n\r\n return hasUnsyncDisabledNode;\r\n};\r\n\r\nconst updateAllChildrenNodes = (item: IItemInfo, state: ISelectiveSyncState): ISelectiveSyncState => {\r\n if (item.children) {\r\n item.children.forEach((child) => {\r\n const childItem = state.itemIdToDetailsMap[child.itemID];\r\n // If a child item can be unsynced, update the state to match the parent\r\n if (childItem && childItem.canUnSync) {\r\n childItem.itemState = item.itemState;\r\n childItem.syncFiles = childItem.itemState === ItemState.FullySyncing;\r\n // Add the item to the updatedItems map so that when we submit the changes\r\n // we can get the list of items that have changed\r\n state.updatedItems[childItem.itemID] = true;\r\n // Recursively update all children nodes\r\n return updateAllChildrenNodes(childItem, state);\r\n }\r\n });\r\n }\r\n return state;\r\n};\r\n\r\nconst markKnownChildNodesUpdated = (item: IItemInfo, state: ISelectiveSyncState): ISelectiveSyncState => {\r\n if (item.children) {\r\n item.children.forEach((child) => {\r\n const childItem = state.itemIdToDetailsMap[child.itemID];\r\n if (childItem) {\r\n state.updatedItems[childItem.itemID] = true;\r\n }\r\n });\r\n }\r\n\r\n return state;\r\n};\r\n\r\nexport const updateAllParentNodes = (item: IItemInfo, state: ISelectiveSyncState): ISelectiveSyncState => {\r\n let allSynced = true;\r\n let allNotSynced = true;\r\n if (item.parentID) {\r\n const parent = state.itemIdToDetailsMap[item.parentID];\r\n // Update the parent to the same selected state\r\n if (parent) {\r\n // Set the parent to the accurate state based on the children\r\n // If some children are syncing, the parent is partially syncing\r\n // If all children are syncing, the parent is syncing\r\n // If all children are not syncing, the parent is not syncing\r\n const children = parent.children || [];\r\n if (children.length > 0) {\r\n for (const child of children) {\r\n const { itemState } = state.itemIdToDetailsMap[child.itemID];\r\n if (itemState !== ItemState.FullySyncing) {\r\n allSynced = false;\r\n }\r\n if (itemState !== ItemState.NotSyncing) {\r\n allNotSynced = false;\r\n }\r\n if (!allSynced && !allNotSynced) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (allSynced) {\r\n parent.itemState = ItemState.FullySyncing;\r\n } else if (allNotSynced) {\r\n parent.itemState = ItemState.NotSyncing;\r\n } else {\r\n parent.itemState = ItemState.PartiallySyncing;\r\n }\r\n // Add the item to the updatedItems map so that when we submit the changes\r\n // we can get the list of items that have changed\r\n state.updatedItems[parent.itemID] = true;\r\n if (parent.itemState === ItemState.PartiallySyncing) {\r\n state = markKnownChildNodesUpdated(parent, state);\r\n }\r\n // Recursively update all parent nodes\r\n return updateAllParentNodes(parent, state);\r\n }\r\n }\r\n return state;\r\n};\r\n\r\nexport const sortItemsAlphabetically = (items: IItemInfo[]): IItemInfo[] => {\r\n if (items.length === 0) {\r\n return [];\r\n }\r\n\r\n //Sort the items alphabetically except for the first item which is the file node\r\n const sortedItems = items.slice(1).sort((a, b) => a.name.localeCompare(b.name));\r\n return [items[0], ...sortedItems];\r\n};\r\n\r\nexport const createFilesItemInfo = (\r\n parentItem: IItemInfo,\r\n totalSizeOfSiblings: number\r\n): ICreateFilesItemInfoResult => {\r\n const isRootFolder = parentItem.itemID === parentItem.rootFolderID;\r\n let bytes = parentItem.totalSubItemsSize - totalSizeOfSiblings;\r\n const sizeValidationResult = getSizeValidationResult(bytes);\r\n\r\n // Children sizes occasionally sum to more than the parent's reported size\r\n // (typically because the service returned stale or inconsistent sizes).\r\n // Clamp to zero so we never render a negative \"Files not in a folder\" size\r\n // and report telemetry so the bad data can be tracked.\r\n if (sizeValidationResult !== SizeValidationResult.Success) {\r\n bytes = 0;\r\n }\r\n const filesNodeInfo: IItemInfo = {\r\n itemID: parentItem.itemID + '_files',\r\n name: parentItem.name,\r\n itemState: parentItem.syncFiles ? ItemState.FullySyncing : ItemState.NotSyncing,\r\n itemLoaded: true,\r\n isExpanded: false,\r\n totalSubItemsSize: bytes,\r\n canUnSync: isRootFolder ? true : parentItem.canUnSync,\r\n isFilesNode: true,\r\n syncFiles: parentItem.syncFiles,\r\n parentID: parentItem.itemID,\r\n jumpLinkType: 0,\r\n warningType: parentItem.warningType,\r\n rootFolderID: parentItem.rootFolderID,\r\n sourceID: parentItem.sourceID,\r\n sharedStatus: parentItem.sharedStatus,\r\n itemPermission: parentItem.itemPermission,\r\n bytesTotalSize: parentItem.bytesTotalSize, // will be recalculated later when rendering due to dependency on useTranslation hook\r\n bytesTotalUnits: parentItem.bytesTotalUnits, // same as above\r\n vaultItemType: parentItem.vaultItemType,\r\n isAddedFolder: false,\r\n children: []\r\n };\r\n return { filesNodeInfo, sizeValidationResult };\r\n};\r\n\r\nexport const createFilesNode = (\r\n parentToItemsMap: Record,\r\n requestedFolderId: string,\r\n state: ISelectiveSyncState\r\n): ICreateFilesNodeResult => {\r\n let finalSizeValidationResult = SizeValidationResult.Success;\r\n\r\n // For each parent ID in the parentToItemsMap, calculate the total size of the children folders\r\n // and create a files node for the parent folder\r\n Object.keys(parentToItemsMap).forEach((parentId) => {\r\n let totalSize = 0;\r\n const items = parentToItemsMap[parentId];\r\n if (items && items.length > 0) {\r\n items.forEach((item) => {\r\n totalSize += item.totalSubItemsSize;\r\n });\r\n }\r\n const parentItem = state.itemIdToDetailsMap[parentId];\r\n if (parentItem) {\r\n const { filesNodeInfo, sizeValidationResult } = createFilesItemInfo(parentItem, totalSize);\r\n state.itemIdToDetailsMap[filesNodeInfo.itemID] = filesNodeInfo;\r\n state.parentToItemsMap[parentId].unshift(filesNodeInfo);\r\n\r\n // Record the last-known, non-success size error.\r\n if (sizeValidationResult !== SizeValidationResult.Success) {\r\n finalSizeValidationResult = sizeValidationResult;\r\n }\r\n }\r\n });\r\n\r\n // If the keys length is 0, it means there are only files in the requested folder\r\n // And parentToItemsMap will be empty but we still need to create a files node which\r\n // will be equal to the size of the parent folder\r\n if (Object.keys(parentToItemsMap).length === 0) {\r\n const parentItem = state.itemIdToDetailsMap[requestedFolderId];\r\n if (parentItem && parentItem.totalSubItemsSize > 0) {\r\n const { filesNodeInfo, sizeValidationResult } = createFilesItemInfo(parentItem, 0);\r\n state.itemIdToDetailsMap[filesNodeInfo.itemID] = filesNodeInfo;\r\n state.parentToItemsMap[requestedFolderId] = [filesNodeInfo];\r\n parentToItemsMap[requestedFolderId] = [filesNodeInfo];\r\n\r\n // Record the last-known, non-success size error.\r\n if (sizeValidationResult !== SizeValidationResult.Success) {\r\n finalSizeValidationResult = sizeValidationResult;\r\n }\r\n }\r\n }\r\n\r\n return { filesNode: state, sizeValidationResult: finalSizeValidationResult };\r\n};\r\n\r\nexport const selectiveSyncSlice = createSlice({\r\n name: 'selective_sync',\r\n initialState: initialSelectiveSyncState,\r\n reducers: {\r\n setRootFolderInfo: (state: ISelectiveSyncState, action: PayloadAction) => {\r\n state.folderName = action.payload.folderName;\r\n state.driveName = action.payload.driveName;\r\n state.isTeamSiteSync = action.payload.isTeamSiteSync;\r\n state.arePlaceholdersOn = action.payload.arePlaceholdersOn;\r\n state.pageType = action.payload.pageType;\r\n state.uiStrings = {\r\n titleText: action.payload.titleText,\r\n secondaryText: action.payload.secondaryText,\r\n allFilesCheckBoxText: action.payload.allFilesCheckBoxText,\r\n onlyTheseFoldersText: action.payload.onlyTheseFoldersText,\r\n nextButtonText: action.payload.nextButtonText,\r\n shouldShowCancelButton: action.payload.shouldShowCancelButton,\r\n canShowUncheckWarning: action.payload.canShowUncheckWarning\r\n };\r\n },\r\n reset: () => {\r\n return createInitialSelectiveSyncState();\r\n },\r\n setLocationOnDiskText: (state: ISelectiveSyncState, action: PayloadAction) => {\r\n state.locationOnDiskText = action.payload.locationOnDiskText;\r\n state.locationOnDiskPathLink = action.payload.locationOnDiskPathLink;\r\n },\r\n updateSelectiveSyncInfo: (\r\n state: ISelectiveSyncState,\r\n action: PayloadAction\r\n ) => {\r\n let finalSizeValidationResult = SizeValidationResult.Success;\r\n\r\n // Add custom UX fields to the item\r\n const newItemsToAdd = action.payload.items.map((item) => {\r\n // Detect garbage size data from the service. Byte counts cannot be\r\n // negative; if we see one, sanitize it for display and report\r\n // telemetry so the bad service response is visible to our pipeline.\r\n let sizeValidationResult = getSizeValidationResult(item.totalSubItemsSize);\r\n if (sizeValidationResult !== SizeValidationResult.Success) {\r\n finalSizeValidationResult = sizeValidationResult;\r\n item.totalSubItemsSize = 0;\r\n }\r\n\r\n sizeValidationResult = getSizeValidationResult(parseFloat(item.bytesTotalSize));\r\n if (sizeValidationResult !== SizeValidationResult.Success) {\r\n finalSizeValidationResult = sizeValidationResult;\r\n item.bytesTotalSize = '0';\r\n item.bytesTotalUnits = '';\r\n }\r\n\r\n const parentItem = state.itemIdToDetailsMap[item.parentID];\r\n // If we are in a subfolder, the selected state is the same as the parent\r\n // folder if the parent folder is not partially syncing\r\n if (!action.payload.isRootFolderRequest) {\r\n if (parentItem.itemState !== ItemState.PartiallySyncing) {\r\n item.itemState = parentItem.itemState;\r\n }\r\n } else {\r\n const rootNode = action.payload.items[0];\r\n // If we are in the root folder, apply the root node state to the items\r\n if (rootNode.itemState !== ItemState.PartiallySyncing) {\r\n item.itemState = rootNode.itemState;\r\n }\r\n }\r\n\r\n return {\r\n ...item,\r\n itemLoaded: false,\r\n isExpanded: false,\r\n children: []\r\n };\r\n });\r\n\r\n const updatedItemIdToDetailsMap = {\r\n ...state.itemIdToDetailsMap\r\n };\r\n // Add the new items to the map\r\n newItemsToAdd.forEach((item) => {\r\n updatedItemIdToDetailsMap[item.itemID] = item;\r\n });\r\n state.itemIdToDetailsMap = updatedItemIdToDetailsMap;\r\n\r\n // Create a map of parentID to children items\r\n // This will help us to create the Files node later\r\n // and to set the children of the parent folder\r\n const parentToItemsMap: Record = {};\r\n\r\n newItemsToAdd.reduce((acc, item) => {\r\n if (!acc[item.parentID]) {\r\n acc[item.parentID] = [];\r\n }\r\n acc[item.parentID].push(item);\r\n return acc;\r\n }, parentToItemsMap);\r\n\r\n state.parentToItemsMap = {\r\n ...state.parentToItemsMap,\r\n ...parentToItemsMap\r\n };\r\n // Set the root node if it is a root folder request\r\n if (action.payload.isRootFolderRequest) {\r\n if (newItemsToAdd.length > 0) {\r\n const rootNode = newItemsToAdd.splice(0, 1);\r\n state.rootNode = rootNode[0];\r\n state.rootNode.itemLoaded = true;\r\n state.isRootFolderEmpty = false;\r\n } else {\r\n // The root folder request completed with no items (e.g. an empty\r\n // OneDrive or library). There is no root node to peel off, so flag the\r\n // empty state and let the page render an empty folder list rather than\r\n // dereferencing an undefined root node and stalling on the spinner.\r\n state.isRootFolderEmpty = true;\r\n }\r\n }\r\n // When this is a root folder request, the actual children are grouped\r\n // under the root node's itemID in parentToItemsMap (since their parentID\r\n // is the root's itemID). The requestedFolderId from native can be empty\r\n // for personal accounts, which would incorrectly look up items grouped\r\n // under \"\" (the root node's own parentID) instead of its actual children.\r\n const childrenLookupId =\r\n action.payload.isRootFolderRequest && state.rootNode\r\n ? state.rootNode.itemID\r\n : action.payload.requestedFolderId;\r\n\r\n // Create the Files node based on the parent folder and siblings\r\n const { filesNode, sizeValidationResult } = createFilesNode(parentToItemsMap, childrenLookupId, state);\r\n state = filesNode;\r\n\r\n // Record the last-known, non-success size error.\r\n if (sizeValidationResult !== SizeValidationResult.Success) {\r\n finalSizeValidationResult = sizeValidationResult;\r\n }\r\n\r\n state.infoBarType = action.payload.infoBarType;\r\n let hasUnsyncDisabledNode = false;\r\n const childrenToAdd: IItemInfo[] = parentToItemsMap[childrenLookupId] || [];\r\n if (!action.payload.isRootFolderRequest) {\r\n state.itemIdToDetailsMap[action.payload.requestedFolderId].itemLoaded = true;\r\n state.itemIdToDetailsMap[action.payload.requestedFolderId].children =\r\n sortItemsAlphabetically(childrenToAdd);\r\n } else {\r\n // If the request is for the root folder, remove the root node from the list of items\r\n state.items = sortItemsAlphabetically(childrenToAdd);\r\n if (state.rootNode && childrenToAdd.length === 0 && state.rootNode.totalSubItemsSize === 0) {\r\n state.isRootFolderEmpty = true;\r\n }\r\n if (state.rootNode) {\r\n state.itemIdToDetailsMap[state.rootNode.itemID].children = childrenToAdd;\r\n }\r\n }\r\n\r\n hasUnsyncDisabledNode = checkIfDisabledNodeExists(\r\n action.payload.items,\r\n action.payload.isRootFolderRequest\r\n );\r\n\r\n // If the user has folders that cannot be unsynced with selective sync, and\r\n // no other warnings/errors are active, we show the DisabledOptOut info text\r\n // to inform the user about why some folders are disabled.\r\n if (action.payload.infoBarType === InfoBarType.None && hasUnsyncDisabledNode) {\r\n state.infoBarType = InfoBarType.DisabledOptOut;\r\n }\r\n\r\n state.infoBarText = getInfoBarText(state.infoBarType, state.arePlaceholdersOn, state.isTeamSiteSync);\r\n\r\n // Report the last-known, invalid size error encountered while processing the latest selective sync info update.\r\n reportInvalidFolderSize(finalSizeValidationResult);\r\n\r\n // Report the Selective Sync Expand Folder scenario as complete to track the performance of folder expansion.\r\n dataModel.reportExpandNodeComplete();\r\n },\r\n setFolderExpanded: (\r\n state: ISelectiveSyncState,\r\n action: PayloadAction<{ itemId: string; isExpanded: boolean }>\r\n ) => {\r\n const item = state.itemIdToDetailsMap[action.payload.itemId];\r\n if (item) {\r\n item.isExpanded = action.payload.isExpanded;\r\n }\r\n },\r\n setFolderSelected: (state: ISelectiveSyncState, action: PayloadAction<{ itemId: string }>) => {\r\n const item = state.itemIdToDetailsMap[action.payload.itemId];\r\n const isRootNode = state.rootNode && state.rootNode.itemID === action.payload.itemId;\r\n if (isRootNode || (item && item.canUnSync)) {\r\n if (item.itemState === ItemState.PartiallySyncing || item.itemState === ItemState.FullySyncing) {\r\n item.itemState = ItemState.NotSyncing;\r\n } else {\r\n item.itemState = ItemState.FullySyncing;\r\n }\r\n // Add the item to the updatedItems map so that when we submit the changes\r\n // if it is a files node, we need to update the parent node\r\n if (!item.isFilesNode) {\r\n state.updatedItems[item.itemID] = true;\r\n // mark syncFiles as true if the item is syncing\r\n state.itemIdToDetailsMap[item.itemID].syncFiles = item.itemState === ItemState.FullySyncing;\r\n } else {\r\n state.updatedItems[item.parentID] = true;\r\n state.itemIdToDetailsMap[item.parentID].syncFiles =\r\n !state.itemIdToDetailsMap[item.parentID].syncFiles;\r\n }\r\n\r\n // Set all children to the same selected state\r\n state = updateAllChildrenNodes(item, state);\r\n // Update parent nodes to reflect the selected state\r\n state = updateAllParentNodes(item, state);\r\n // Set updatedItem to the item that was changed\r\n // so that we can recalculate the total size of the selected items\r\n state.lastUpdatedItemId = item.itemID;\r\n\r\n state.infoBarType = InfoBarType.UnselectedFolder;\r\n state.infoBarText = getInfoBarText(state.infoBarType, state.arePlaceholdersOn, state.isTeamSiteSync);\r\n }\r\n\r\n if (action.payload.itemId === state.selectedItem) {\r\n state.selectedItem = null;\r\n } else {\r\n state.selectedItem = action.payload.itemId;\r\n }\r\n },\r\n setConfirmDialogClosed: (state: ISelectiveSyncState) => {\r\n state.showConfirmDialog = false;\r\n },\r\n openConfirmDialog: (state: ISelectiveSyncState, action: PayloadAction) => {\r\n state.confirmDialogStrings = getConfirmDialogStrings(\r\n action.payload.warningType,\r\n action.payload.jumpLinkType\r\n );\r\n state.showConfirmDialog = true;\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: () => {}\r\n});\r\n\r\nexport const selectiveSyncActions = {\r\n ...selectiveSyncSlice.actions,\r\n expandNode: expandNodeAsync,\r\n onSubmit: onSubmitAsync,\r\n onConfirmDialogClosed: OnConfirmDialogClosedAsync,\r\n updateTotalSelectedItemsSize: updateTotalSelectedItemsSizeAsync,\r\n changeRootLocationClicked: changeRootLocationClickedAsync,\r\n onCancel: onCancelAsync\r\n};\r\n\r\nexport default selectiveSyncSlice.reducer;\r\n","import { WizardConfirmDialogResult, IWizardConfirmDialogStrings } from './wizardWindowTypes';\r\n\r\nexport enum SelectiveSyncPageType {\r\n Unknown = 0,\r\n FRE = 1,\r\n MountFolder = 2,\r\n Settings = 3,\r\n DiskQuotaExceeded = 4\r\n}\r\n\r\nexport enum InfoBarType {\r\n None = 0,\r\n ReadOnly,\r\n AlreadySyncing,\r\n UnselectedFolder,\r\n DisabledOptOut\r\n}\r\n\r\nexport enum ItemState {\r\n Unknown = 0,\r\n NotSyncing = 1,\r\n FullySyncing = 2,\r\n PartiallySyncing = 3\r\n}\r\n\r\nexport enum ItemSharedStatus {\r\n ItemSharedStatusNone = 0,\r\n ItemSharedStatusGroupOwned = 1,\r\n ItemSharedStatusGroupCoOwned = 2\r\n}\r\n\r\nexport enum ItemPermission {\r\n PermissionUnknown = 0,\r\n ReadOnly = 1,\r\n ReadWrite = 2\r\n}\r\n\r\nexport enum VaultItemType {\r\n None = 0,\r\n Root = 1,\r\n Item = 2\r\n}\r\n\r\nexport enum SelectiveSyncUncheckWarningType {\r\n None = 0,\r\n KnownFolder = 1,\r\n ContainsKnownFolder = 2,\r\n Vault = 3\r\n}\r\n\r\nexport interface IItemInfo {\r\n rootFolderID: string;\r\n itemID: string;\r\n parentID: string;\r\n sourceID: string;\r\n name: string;\r\n jumpLinkType: number;\r\n syncFiles: boolean;\r\n itemState: ItemState;\r\n sharedStatus: ItemSharedStatus;\r\n totalSubItemsSize: number;\r\n itemPermission: ItemPermission;\r\n vaultItemType: VaultItemType;\r\n itemLoaded: boolean;\r\n bytesTotalSize: string;\r\n bytesTotalUnits: string;\r\n isFilesNode: boolean;\r\n canUnSync: boolean;\r\n children?: IItemInfo[];\r\n isExpanded?: boolean;\r\n warningType: SelectiveSyncUncheckWarningType;\r\n isAddedFolder: boolean;\r\n}\r\n\r\nexport interface ISelectiveSyncStrings {\r\n titleText: string;\r\n secondaryText: string;\r\n allFilesCheckBoxText: string;\r\n onlyTheseFoldersText: string;\r\n nextButtonText: string;\r\n shouldShowCancelButton: boolean;\r\n canShowUncheckWarning: boolean;\r\n}\r\n\r\nexport interface IConfirmDialogStrings extends IWizardConfirmDialogStrings {\r\n folderName: string;\r\n warningType: SelectiveSyncUncheckWarningType;\r\n}\r\n\r\nexport const defaultSelectiveSyncConfirmDialogStrings: IConfirmDialogStrings = {\r\n primaryText: '',\r\n accessiblePrimaryText: '',\r\n secondaryText: '',\r\n buttonOneText: '',\r\n buttonTwoText: '',\r\n linkButtonText: '',\r\n viewName: '',\r\n folderName: '',\r\n warningType: SelectiveSyncUncheckWarningType.None\r\n};\r\n\r\nexport interface ISelectiveSyncState {\r\n items: IItemInfo[];\r\n folderName: string;\r\n driveName: string;\r\n isTeamSiteSync: boolean;\r\n arePlaceholdersOn: boolean;\r\n pageType: SelectiveSyncPageType;\r\n locationOnDiskText: string;\r\n locationOnDiskPathLink: string;\r\n diskSpaceExcludingOneDrive: number;\r\n uiStrings?: ISelectiveSyncStrings;\r\n itemIdToDetailsMap: { [itemId: string]: IItemInfo };\r\n selectedItem: string | null;\r\n rootNode: IItemInfo | null;\r\n // True when a root-folder request completes with no items (e.g. an empty\r\n // OneDrive or library), so the page renders an empty folder list instead of\r\n // staying stuck behind the missing-root-node spinner guard.\r\n isRootFolderEmpty: boolean;\r\n showConfirmDialog: boolean;\r\n confirmDialogStrings: IConfirmDialogStrings;\r\n infoBarText: string;\r\n infoBarType: InfoBarType;\r\n updatedItems: { [itemId: string]: boolean };\r\n lastUpdatedItemId: string | null; // used to recalculate the total size of selected items\r\n totalSelectedItemsSize: number;\r\n totalSelectedFolderBytesSize: string;\r\n totalSelectedFolderSizeUnits: string;\r\n parentToItemsMap: { [parentId: string]: IItemInfo[] };\r\n}\r\n\r\nexport interface IFolderInfoPayload {\r\n pageType: SelectiveSyncPageType;\r\n arePlaceholdersOn: boolean;\r\n isTeamSiteSync: boolean;\r\n folderName: string;\r\n driveName: string;\r\n titleText: string;\r\n secondaryText: string;\r\n allFilesCheckBoxText: string;\r\n onlyTheseFoldersText: string;\r\n nextButtonText: string;\r\n shouldShowCancelButton: boolean;\r\n canShowUncheckWarning: boolean;\r\n}\r\n\r\nexport interface ISelectiveSyncInfoPayload {\r\n infoBarType: InfoBarType;\r\n requestedFolderId: string;\r\n isRootFolderRequest: boolean;\r\n items: IItemInfo[];\r\n infoBarText: string;\r\n}\r\n\r\nexport enum JumpLinkType {\r\n Unknown = 0,\r\n Documents = 1,\r\n Photos = 2,\r\n CameraRoll = 3,\r\n Music = 4,\r\n Screenshots = 5,\r\n CameraImports = 6,\r\n Regular = 7, // JumpLinkType \"Regular\" is used for folders that are not considered 'special' by the service (i.e. most folders)\r\n Desktop = 8,\r\n Playlists = 9,\r\n Videos = 10,\r\n Downloads = 11,\r\n Max = Downloads\r\n}\r\n\r\nexport interface ILocationOnDiskPayload {\r\n locationOnDiskText: string;\r\n locationOnDiskPathLink: string;\r\n}\r\n\r\nexport interface IConfirmDialogPayload {\r\n confirmDialogResult: WizardConfirmDialogResult;\r\n warningType: SelectiveSyncUncheckWarningType;\r\n isUnSyncDialog: boolean;\r\n}\r\n\r\nexport interface ISingleItemStateInfo {\r\n itemState: ItemState;\r\n itemSize: number;\r\n}\r\n\r\nexport interface ITotalSelectedItemsSizePayload {\r\n currentTotalSize: number;\r\n items: ISingleItemStateInfo[];\r\n}\r\n\r\nexport interface ISelectedItemsSizeInfo {\r\n bytesTotalSize: string;\r\n bytesTotalUnits: string;\r\n adjustedTotalSize: number;\r\n}\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport {\r\n IConfirmDialogPayload,\r\n IItemInfo,\r\n ISelectedItemsSizeInfo,\r\n ITotalSelectedItemsSizePayload\r\n} from '../types/selectiveSyncTypes';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\n\r\nexport class SelectiveSyncPageModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async expandNode(item: IItemInfo, relativePath: string): Promise {\r\n const postData = {\r\n item: item,\r\n relativePath: relativePath\r\n };\r\n\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', 'selectiveSync', 'expandNode', postData));\r\n }\r\n\r\n public async submitSelectiveSyncInfo(items: IItemInfo[]): Promise {\r\n const postData = {\r\n items: items\r\n };\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', 'selectiveSync', 'onSubmit', postData));\r\n }\r\n\r\n public async onConfirmDialogClosed(payload: IConfirmDialogPayload): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', 'selectiveSync', 'confirmDialogClosed', payload)\r\n );\r\n }\r\n\r\n public async updateTotalSelectedItemsSize(\r\n payload: ITotalSelectedItemsSizePayload\r\n ): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', 'selectiveSync', 'updateTotalSelectedItemsSize', payload)\r\n );\r\n }\r\n\r\n public async changeRootLocationClicked(): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', 'selectiveSync', 'changeRootLocationClicked')\r\n );\r\n }\r\n\r\n public async onCancel(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', 'selectiveSync', 'OnCancel'));\r\n }\r\n\r\n public async reportExpandNodeComplete(): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', 'selectiveSync', 'reportExpandNodeComplete')\r\n );\r\n }\r\n}\r\n","import { t } from 'i18next';\r\nimport { FolderType } from '../../kfmMoveView/models/AppContext';\r\nimport { defaultSelectiveSyncConfirmDialogStrings, IConfirmDialogStrings } from '../types/selectiveSyncTypes';\r\nimport {\r\n IItemInfo,\r\n JumpLinkType,\r\n SelectiveSyncUncheckWarningType,\r\n VaultItemType\r\n} from '../types/selectiveSyncTypes';\r\n\r\nexport const getNodeFromCache = (uid: string, cache: { [itemId: string]: IItemInfo }): IItemInfo => {\r\n return cache[uid];\r\n};\r\n\r\nexport const getJumpLinkType = (item: IItemInfo, cache: { [itemId: string]: IItemInfo }): JumpLinkType => {\r\n let jumpLinkType = JumpLinkType.Unknown;\r\n\r\n if (item.isFilesNode) {\r\n item = getNodeFromCache(item.parentID, cache);\r\n }\r\n jumpLinkType = item?.jumpLinkType;\r\n\r\n return jumpLinkType;\r\n};\r\n\r\nexport const checkIfVaultRoot = (item: IItemInfo, cache: { [itemId: string]: IItemInfo }): boolean => {\r\n let isVaultRoot = false;\r\n\r\n if (item.isFilesNode) {\r\n item = getNodeFromCache(item.parentID, cache);\r\n }\r\n isVaultRoot = item?.vaultItemType !== VaultItemType.None;\r\n\r\n return isVaultRoot;\r\n};\r\n\r\nexport const getRelativePathFromNode = (node: IItemInfo, cache: { [itemId: string]: IItemInfo }): string => {\r\n let builtPath = '';\r\n\r\n // Handle files node\r\n if (node.isFilesNode) {\r\n node = getNodeFromCache(node.parentID, cache) as IItemInfo;\r\n }\r\n\r\n while (node && node.itemID !== node.rootFolderID) {\r\n builtPath = `\\\\${node.name}${builtPath}`;\r\n node = getNodeFromCache(node.parentID, cache) as IItemInfo;\r\n }\r\n\r\n return builtPath;\r\n};\r\n\r\nexport const getFolderNameFromJumpLinkType = (jumpLinkType: JumpLinkType): string => {\r\n let folderNameResourceId = '';\r\n\r\n switch (jumpLinkType) {\r\n case JumpLinkType.Documents:\r\n folderNameResourceId = 'selectiveSyncDocumentsFolderName';\r\n break;\r\n case JumpLinkType.Desktop:\r\n folderNameResourceId = 'selectiveSyncDesktopFolderName';\r\n break;\r\n case JumpLinkType.Photos:\r\n folderNameResourceId = 'selectiveSyncPicturesFolderName';\r\n break;\r\n case JumpLinkType.CameraRoll:\r\n folderNameResourceId = 'selectiveSyncCameraRollFolderName';\r\n break;\r\n case JumpLinkType.Screenshots:\r\n folderNameResourceId = 'selectiveSyncScreenshotsFolderName';\r\n break;\r\n case JumpLinkType.Music:\r\n folderNameResourceId = 'selectiveSyncMusicFolderName';\r\n break;\r\n case JumpLinkType.Playlists:\r\n folderNameResourceId = 'selectiveSyncPlaylistsFolderName';\r\n break;\r\n case JumpLinkType.Videos:\r\n folderNameResourceId = 'selectiveSyncVideosFolderName';\r\n break;\r\n case JumpLinkType.Downloads:\r\n folderNameResourceId = 'selectiveSyncDownloadsFolderName';\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n return folderNameResourceId;\r\n};\r\n\r\nexport const getFolderNameFromFolderType = (folderType: FolderType): string => {\r\n let folderName = '';\r\n\r\n switch (folderType) {\r\n case FolderType.Documents:\r\n folderName = t('selectiveSyncDocumentsFolderName');\r\n break;\r\n case FolderType.Desktop:\r\n folderName = t('selectiveSyncDesktopFolderName');\r\n break;\r\n case FolderType.Pictures:\r\n folderName = t('selectiveSyncPicturesFolderName');\r\n break;\r\n case FolderType.CameraRoll:\r\n folderName = t('selectiveSyncCameraRollFolderName');\r\n break;\r\n case FolderType.Screenshots:\r\n folderName = t('selectiveSyncScreenshotsFolderName');\r\n break;\r\n case FolderType.Music:\r\n folderName = t('selectiveSyncMusicFolderName');\r\n break;\r\n case FolderType.Playlists:\r\n folderName = t('selectiveSyncPlaylistsFolderName');\r\n break;\r\n case FolderType.Videos:\r\n folderName = t('selectiveSyncVideosFolderName');\r\n break;\r\n case FolderType.Downloads:\r\n folderName = t('selectiveSyncDownloadsFolderName');\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n return folderName;\r\n};\r\n\r\nexport const getConfirmDialogStrings = (\r\n warningType: SelectiveSyncUncheckWarningType,\r\n jumpLinkType: JumpLinkType\r\n): IConfirmDialogStrings => {\r\n let primaryTextId = '';\r\n let secondaryTextId = '';\r\n let folderName = '';\r\n\r\n switch (warningType) {\r\n case SelectiveSyncUncheckWarningType.Vault:\r\n primaryTextId = 'selectiveSyncConfirmDialogVaultBlockPrimaryText';\r\n secondaryTextId = 'selectiveSyncConfirmDialogVaultBlockSecondaryText';\r\n break;\r\n\r\n case SelectiveSyncUncheckWarningType.KnownFolder:\r\n folderName = getFolderNameFromJumpLinkType(jumpLinkType);\r\n primaryTextId = 'selectiveSyncConfirmDialogKnownFolderWarningPrimaryText';\r\n secondaryTextId = 'selectiveSyncConfirmDialogKnownFolderWarningSecondaryTextV2';\r\n break;\r\n\r\n case SelectiveSyncUncheckWarningType.ContainsKnownFolder:\r\n folderName = getFolderNameFromJumpLinkType(jumpLinkType);\r\n primaryTextId = 'selectiveSyncConfirmDialogKnownFolderWarningPrimaryText';\r\n secondaryTextId = 'selectiveSyncConfirmDialogContainsKnownFolderWarningSecondaryText';\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n const confirmDialogStrings: IConfirmDialogStrings = {\r\n ...defaultSelectiveSyncConfirmDialogStrings,\r\n primaryText: primaryTextId as string,\r\n secondaryText: secondaryTextId as string,\r\n folderName: folderName as string,\r\n warningType: warningType\r\n };\r\n\r\n return confirmDialogStrings;\r\n};\r\n","import React from 'react';\r\nimport { WizardConfirmDialogResult } from '../../freView/types/wizardWindowTypes';\r\n\r\n/**\r\n * Declare type for appContextData properties\r\n */\r\n\r\nexport type KFMFolder = IFolder | null;\r\nexport type KFMFolders = IKFMFolders | null;\r\nexport type UpdatedDialogState = IKFMUpdatedDialogState | null;\r\nexport type DialogState = IKFMDialogState | null;\r\nexport type SpaceUsedInfo = ISpaceUsedInfo | null;\r\nexport type DialogInfoState = IDialogInfoState | null;\r\nexport type UserInputDialog = IUserInputDialog | null;\r\nexport type StorageLinkInfo = IStorageLinkInfo | null;\r\nexport type OptOutDialogState = IOptOutDialogState | null;\r\nexport type OptOutResultDialogState = IOptOutResultDialogState | null;\r\nexport type PendingBannerState = IKFMSilentPendingBannerState | null;\r\nexport interface IAppContextData {\r\n folders: KFMFolders;\r\n dialogState: DialogState;\r\n failedToSendOnReady: boolean;\r\n failedFetch: boolean;\r\n isNewFolderSelected: boolean;\r\n hasFolderLevelError: boolean;\r\n spaceUsedInfo: SpaceUsedInfo;\r\n storageLinkInfo: StorageLinkInfo;\r\n dialogInfoState: DialogInfoState;\r\n userInputDialogState: UserInputDialog;\r\n optOutDialogState: OptOutDialogState;\r\n optOutResultDialogState: OptOutResultDialogState;\r\n kfmPendingBannerState: PendingBannerState;\r\n onScanInitialized: (dialogState: IKFMInitialDialogState) => void;\r\n onStateUpdate: (updatedDialogState: IKFMUpdatedDialogState) => void;\r\n onSetSpaceUsedInfo: (spaceInfo: ISpaceUsedInfo) => void;\r\n onSetStorageLinkInfo: (storageLinkInfo: IStorageLinkInfo) => void;\r\n onToggleFolder: (folderType: FolderType) => void;\r\n onStartMove: () => void;\r\n onSkipBackup: () => void;\r\n onTryAgain: () => void;\r\n onCancelPendingBackup: (cancelButtonClicked: boolean) => void;\r\n sendReady: () => void;\r\n onStopFolderBackup: (folderType: FolderType) => void;\r\n confirmDialogClosed: (result: WizardConfirmDialogResult, selection: number) => void;\r\n onDialogStateInfoReceived: (dialogInfoState: IDialogInfoState) => void;\r\n onUserInputDialogStateReceived: (userInputDialogState: IUserInputDialog) => void;\r\n onOptOutDialogStateReceived: (optOutDialogState: IOptOutDialogState) => void;\r\n onOptOutResultDialogStateReceived: (optOutResultDialogState: IOptOutResultDialogState) => void;\r\n onPendingBannerStateReceived: (kfmPendingBannerState: IKFMSilentPendingBannerState) => void;\r\n}\r\n\r\nconst defaultContextCallback = (): void => {};\r\n\r\nexport const defaultAppContextData: IAppContextData = {\r\n folders: {},\r\n dialogState: null,\r\n failedToSendOnReady: false,\r\n spaceUsedInfo: null,\r\n storageLinkInfo: null,\r\n failedFetch: false,\r\n isNewFolderSelected: false,\r\n hasFolderLevelError: false,\r\n dialogInfoState: null,\r\n userInputDialogState: null,\r\n optOutDialogState: null,\r\n optOutResultDialogState: null,\r\n kfmPendingBannerState: null,\r\n sendReady: defaultContextCallback,\r\n onScanInitialized: defaultContextCallback,\r\n onStateUpdate: defaultContextCallback,\r\n onSetSpaceUsedInfo: defaultContextCallback,\r\n onSetStorageLinkInfo: defaultContextCallback,\r\n onSkipBackup: defaultContextCallback,\r\n onTryAgain: defaultContextCallback,\r\n onCancelPendingBackup: defaultContextCallback,\r\n onStartMove: defaultContextCallback,\r\n onToggleFolder: defaultContextCallback,\r\n onStopFolderBackup: defaultContextCallback,\r\n confirmDialogClosed: defaultContextCallback,\r\n onDialogStateInfoReceived: defaultContextCallback,\r\n onUserInputDialogStateReceived: defaultContextCallback,\r\n onOptOutDialogStateReceived: defaultContextCallback,\r\n onOptOutResultDialogStateReceived: defaultContextCallback,\r\n onPendingBannerStateReceived: defaultContextCallback\r\n};\r\n\r\nexport const AppContext: React.Context =\r\n React.createContext(defaultAppContextData);\r\n\r\nexport interface IKFMFolders {\r\n [key: string]: IFolder;\r\n}\r\n\r\nexport interface IStorageLinkInfo {\r\n quotaLinkText: string;\r\n quotaLink: string;\r\n}\r\n\r\nexport interface IKFMDialogState {\r\n isKFMFirstPageRun: boolean;\r\n isOpenedThroughSettings: boolean;\r\n isKFMSizeIneligible: boolean;\r\n kfmCurrentDialogState: number;\r\n kfmPageTitle: string;\r\n kfmPageSubtext: string;\r\n learnMore: string;\r\n learnMoreLink: string;\r\n isHideSaveChangesExperimentEnabled: boolean;\r\n isSwapKFMButtonsPositionExperimentEnabled: boolean;\r\n}\r\n\r\nexport interface IFileAndIcon {\r\n FileName: string;\r\n Icon: string;\r\n}\r\n\r\nexport interface IKFMInitialDialogState extends IKFMDialogState {\r\n folders: IFolder[];\r\n}\r\n\r\nexport interface IKFMUpdatedDialogState {\r\n /**\r\n * dialog state\r\n */\r\n kfmCurrentDialogState: number;\r\n\r\n /**\r\n * Contains a list of all kfm folders and their sizes\r\n */\r\n folders: IFolder[];\r\n}\r\n\r\nexport interface IFolder {\r\n isStopBackupBlocked: boolean;\r\n folderMigrationError: number;\r\n folderSize: string;\r\n folderState: number;\r\n folderName: string;\r\n folderType: FolderType;\r\n}\r\n\r\nexport interface ISpaceUsedInfo {\r\n remainingSpaceText: string;\r\n isSpaceBlocking: boolean;\r\n remainingSpaceDescriptiveText: string;\r\n}\r\n\r\n/**\r\n * Dialog info state monitors if any errors occur\r\n * If isSevereInfo is true, then an error has occured\r\n * and we show the error message contained in infoAreaText\r\n */\r\nexport interface IDialogInfoState {\r\n isSevereInfo: boolean;\r\n infoAreaText: string;\r\n linkOne: string;\r\n linkOneText: string;\r\n linkTwo: string;\r\n linkTwoText: string;\r\n}\r\n\r\n/** User Input Dialog Strings and Button Text\r\n *\r\n * UserInputDialog not to be confused with the overall KFM dialog is\r\n * a second dialog (an Alert) shown to the user to enable them\r\n * to make a skip or continue decision.\r\n */\r\nexport interface IUserInputDialog {\r\n userDialogAccessiblePrimaryText: string;\r\n userDialogPrimaryText: string;\r\n userInputDialogButtonOneText: string;\r\n userInputDialogButtonTwoText: string;\r\n userInputDialogLinkButtonText: string;\r\n userInputDialogSecondaryText: string;\r\n userInputDialogIsRestoring: boolean;\r\n userInputDialogFileAndIconMap: IFileAndIcon[];\r\n userInputDialogIsOneNoteMap: boolean;\r\n}\r\n\r\n/** State necessary to craft the opt out dialog\r\n *\r\n * The opt out dialog is different depending on if the folder is empty,\r\n * if it has dehydrated files and if the extended opt out experience is enabled.\r\n */\r\nexport interface IOptOutDialogState {\r\n optOutDialogExtendedOptOutEnabled: boolean;\r\n optOutDialogInfoMessage: string;\r\n optOutDialogKeepFilesInOneDriveSub: string;\r\n optOutDialogLearnMoreLink: string;\r\n}\r\n\r\n/** State necessary to craft the error result dialog for the opt out flow\r\n *\r\n * Depending on the result of the move, we show a result dialog.\r\n */\r\nexport interface IOptOutResultDialogState {\r\n optOutResultDialogTitle: string;\r\n optOutResultDialogBodyMessage: string;\r\n optOutResultDialogLink: string;\r\n optOutResultDialogLinkText: string;\r\n optOutResultDialogType: number;\r\n}\r\n\r\n/** State necessary to craft the KFM pending banner\r\n *\r\n * If we are pending silent KFM, we will show the banner.\r\n */\r\nexport interface IKFMSilentPendingBannerState {\r\n kfmSilentPendingBannerIsVisible: boolean;\r\n kfmSilentPendingBannerCancelButtonIsVisible: boolean;\r\n}\r\n\r\n/**\r\n * Enum matching the QuotaStateUX C++ enum found in QuotaInformation.h\r\n */\r\nexport enum FolderState {\r\n Unknown = 0,\r\n Scanning = 1,\r\n Unselected = 2,\r\n Selected = 3,\r\n InProgress = 4,\r\n Done = 5,\r\n DoneWithStop = 6,\r\n Error = 7,\r\n Blocked = 8,\r\n Restoring = 9\r\n}\r\n\r\nexport enum DialogStateEnum {\r\n Unknown = 0,\r\n Scanning = 1,\r\n UserInput = 2,\r\n UserInputDialog = 3,\r\n Migrating = 4,\r\n Finished = 5,\r\n Blocked = 6,\r\n Restoring = 10\r\n}\r\n\r\nexport enum FolderType {\r\n NotSet = 0,\r\n Documents = 1,\r\n Pictures = 2,\r\n Desktop = 3,\r\n Screenshots = 4,\r\n CameraRoll = 5,\r\n Music = 6,\r\n Playlists = 7,\r\n Videos = 8,\r\n Downloads = 9\r\n}\r\n\r\nexport enum Variants {\r\n Primary = 'primary',\r\n Default = 'default'\r\n}\r\n\r\n/**\r\n * Enum to decide which button to style\r\n * as the primary button on a confirmation dialog\r\n */\r\nexport enum DialogButtons {\r\n None = 'none',\r\n First = 'first',\r\n Second = 'second'\r\n}\r\n\r\n/**\r\n * Enum identifying the type of opt out result dialog.\r\n * Must match OptOutResultDialogType in IKFMMigrationPage.h\r\n */\r\nexport enum OptOutResultDialogType {\r\n Unknown = 0,\r\n SuccessMovedFiles = 1,\r\n SuccessNotMovedFiles = 2,\r\n GeneralError = 3\r\n}\r\n","export interface IAnimationState {\r\n animationEnabled: boolean;\r\n animationComplete: boolean;\r\n}\r\n\r\nexport const defaultAnimationState: IAnimationState = {\r\n animationEnabled: false,\r\n animationComplete: false\r\n};\r\n\r\nexport interface IWizardWindowState {\r\n spinningText: string;\r\n spinningSubText: string;\r\n animationState: IAnimationState;\r\n showConfirmDialog: boolean;\r\n confirmDialogStrings: IWizardConfirmDialogStrings;\r\n currentWizardPage: string;\r\n}\r\n\r\nexport enum WizardConfirmDialogResult {\r\n Dismissed = 0,\r\n PrimaryButton = 1,\r\n SecondaryButton = 2,\r\n LinkButton = 3\r\n}\r\n\r\nexport interface IWizardConfirmDialogStrings {\r\n primaryText: string;\r\n accessiblePrimaryText: string;\r\n secondaryText: string;\r\n buttonOneText: string;\r\n buttonTwoText: string;\r\n linkButtonText: string;\r\n viewName: string;\r\n imageSource?: string;\r\n imageLabel?: string;\r\n dialogState?: string;\r\n}\r\n\r\nexport const defaultWizardConfirmDialogStrings: IWizardConfirmDialogStrings = {\r\n primaryText: '',\r\n accessiblePrimaryText: '',\r\n secondaryText: '',\r\n buttonOneText: '',\r\n buttonTwoText: '',\r\n linkButtonText: '',\r\n viewName: ''\r\n};\r\n","import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';\r\nimport { SendFeedbackDataModel } from '../dataHandler/SendFeedbackDataModel';\r\nimport {\r\n ISendFeedbackViewState,\r\n ISendFeedbackSubmitResponse,\r\n Status,\r\n SendFeedbackUIAction,\r\n ISendFeedbackUIAction,\r\n IFeatureEnabledPayload,\r\n ICopilotFeedbackPayload,\r\n SendFeedbackInitialView\r\n} from '../types/sendFeedbackViewTypes';\r\n\r\nexport const dataModel: SendFeedbackDataModel = new SendFeedbackDataModel();\r\n\r\nconst initialState: ISendFeedbackViewState = {\r\n isRequestSuccessful: false,\r\n description: '',\r\n currentView: 'sendFeedbackOptions',\r\n isSmile: false,\r\n status: Status.Default,\r\n isReportABugEnabled: false\r\n};\r\n\r\nconst isReportABugEnabledAsync = createAsyncThunk(\r\n 'sendFeedback/is_ReportABug_Enabled',\r\n (): Promise => {\r\n return dataModel.isReportABugEnabled();\r\n }\r\n);\r\n\r\nconst getMetadataFromCopilotFeedback = createAsyncThunk(\r\n 'sendFeedback/get_metadata_from_Copilot_feedback',\r\n (): Promise => {\r\n return dataModel.getMetadataFromCopilotFeedback();\r\n }\r\n);\r\n\r\nconst submitFeedbackAsync = createAsyncThunk(\r\n 'sendFeedback/submit_feedback',\r\n async (state: ISendFeedbackViewState): Promise => {\r\n return dataModel.handleSubmit({ description: state.description, isSmile: state.isSmile });\r\n }\r\n);\r\n\r\nconst launchReportABugDialog = createAsyncThunk(\r\n 'sendFeedback/launch_report_a_bug_dialog',\r\n async (): Promise => {\r\n return dataModel.launchReportABugDialog();\r\n }\r\n);\r\n\r\nconst launchSendFeedbackDialog = createAsyncThunk(\r\n 'sendFeedback/launch_send_feedback_dialog',\r\n async (initialView?: SendFeedbackInitialView): Promise => {\r\n return dataModel.launchSendFeedbackDialog(initialView);\r\n }\r\n);\r\n\r\nconst closeSendFeedbackDialog = createAsyncThunk('sendFeedback/close_dialog', async (): Promise => {\r\n return dataModel.handleClose();\r\n});\r\n\r\nconst cancelRequest = createAsyncThunk(\r\n 'sendFeedback/cancel_request',\r\n async (state: ISendFeedbackViewState): Promise => {\r\n return dataModel.cancelRequest({ description: state.description, isSmile: state.isSmile });\r\n }\r\n);\r\n\r\nconst sendUIActionForTelemetry = createAsyncThunk(\r\n 'sendFeedback/send_ui_action_telemetry',\r\n async (uiAction: SendFeedbackUIAction): Promise => {\r\n // set the uiAction and send telemetry\r\n const telemetryData: ISendFeedbackUIAction = {\r\n uiAction\r\n };\r\n return dataModel.sendUIActionForTelemetry(telemetryData);\r\n }\r\n);\r\n\r\nexport const sendFeedbackSlice = createSlice({\r\n name: 'send_feedback',\r\n initialState,\r\n reducers: {\r\n showSmile: (state: ISendFeedbackViewState) => {\r\n state.isSmile = true;\r\n state.currentView = 'smile';\r\n },\r\n updateDescription: (state: ISendFeedbackViewState, action: PayloadAction) => {\r\n state.description = action.payload;\r\n },\r\n showFrown: (state: ISendFeedbackViewState) => {\r\n state.isSmile = false;\r\n state.currentView = 'frown';\r\n },\r\n onFeedbackSubmitClicked: (state: ISendFeedbackViewState) => {\r\n state.status = Status.InProgress;\r\n },\r\n setFeedbackSubmissionResponse: (\r\n state: ISendFeedbackViewState,\r\n action: PayloadAction\r\n ) => {\r\n state.isRequestSuccessful = action.payload.requestSuccessful;\r\n state.status = Status.Submitted;\r\n },\r\n onTryAgain: (state: ISendFeedbackViewState) => {\r\n state.status = Status.InProgress;\r\n },\r\n resetState: (state: ISendFeedbackViewState) => {\r\n Object.assign(state, initialState);\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(submitFeedbackAsync.fulfilled, (state, action) => {\r\n state.status = Status.InProgress;\r\n })\r\n .addCase(submitFeedbackAsync.pending, (state) => {\r\n state.status = Status.InProgress;\r\n })\r\n .addCase(submitFeedbackAsync.rejected, (state) => {\r\n state.status = Status.Submitted;\r\n state.isRequestSuccessful = false;\r\n })\r\n .addCase(\r\n isReportABugEnabledAsync.fulfilled,\r\n (state: ISendFeedbackViewState, action: PayloadAction) => {\r\n state.isReportABugEnabled = action.payload.isReportABugEnabled;\r\n }\r\n )\r\n .addCase(\r\n getMetadataFromCopilotFeedback.fulfilled,\r\n (state: ISendFeedbackViewState, action: PayloadAction) => {\r\n state.currentView = action.payload.isCopilotFeedback\r\n ? action.payload.isSmile\r\n ? 'smile'\r\n : 'frown'\r\n : state.currentView;\r\n state.isSmile = action.payload.isCopilotFeedback ? action.payload.isSmile : state.isSmile;\r\n }\r\n );\r\n }\r\n});\r\n\r\nexport const sendFeedbackActions = {\r\n ...sendFeedbackSlice.actions, // Action creators are generated for each case reducer function\r\n submitFeedback: submitFeedbackAsync,\r\n launchReportABug: launchReportABugDialog,\r\n launchSendFeedback: launchSendFeedbackDialog,\r\n closeSendFeedbackDialog: closeSendFeedbackDialog,\r\n cancelRequest: cancelRequest,\r\n sendUIActionForTelemetry: sendUIActionForTelemetry,\r\n isReportABugEnabled: isReportABugEnabledAsync,\r\n getMetadataFromCopilotFeedback: getMetadataFromCopilotFeedback\r\n};\r\n\r\nexport default sendFeedbackSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\nimport {\r\n ISendFeedbackPayload,\r\n ISendFeedbackUIAction,\r\n IFeatureEnabledPayload,\r\n ICopilotFeedbackPayload,\r\n SendFeedbackInitialView\r\n} from '../types/sendFeedbackViewTypes';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\n\r\nexport class SendFeedbackDataModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async handleClose(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/SendFeedback/handleClose',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async handleSubmit(payload: ISendFeedbackPayload): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/SendFeedback/handleSubmit',\r\n requestType: 'POST',\r\n postData: payload\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async launchReportABugDialog(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/SendFeedback/launchReportABugDialog',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async launchSendFeedbackDialog(initialView?: SendFeedbackInitialView): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/SendFeedback/launchSendFeedbackDialog',\r\n requestType: 'POST'\r\n };\r\n if (initialView !== undefined) {\r\n options.postData = { initialView };\r\n }\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async cancelRequest(payload: ISendFeedbackPayload): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/SendFeedback/cancelRequest',\r\n requestType: 'POST',\r\n postData: payload\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async sendUIActionForTelemetry(payload: ISendFeedbackUIAction): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/SendFeedback/sendUIActionTelemetry',\r\n requestType: 'POST',\r\n postData: payload\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async isReportABugEnabled(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/SendFeedback/isReportABugEnabled',\r\n requestType: 'GET'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async getMetadataFromCopilotFeedback(): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('GET', 'SendFeedback', 'getMetadataFromCopilotFeedback')\r\n );\r\n }\r\n}\r\n","export enum Status {\r\n Default = 0,\r\n InProgress = 1,\r\n Submitted = 2\r\n}\r\n\r\nexport interface ISendFeedbackViewState {\r\n isRequestSuccessful: boolean;\r\n description: string;\r\n currentView: string;\r\n isSmile: boolean;\r\n status: Status;\r\n isReportABugEnabled: boolean;\r\n}\r\n\r\nexport interface ISendFeedbackPayload {\r\n description: string;\r\n isSmile: boolean;\r\n}\r\n\r\nexport interface ISendFeedbackSubmitResponse {\r\n requestSuccessful: boolean;\r\n}\r\n\r\n/// \r\n/// Possible UI actions the user could perform in the Send Feedack dialog.\r\n/// \r\nexport enum SendFeedbackUIAction {\r\n SmileClicked = 'SmileClicked',\r\n FrownClicked = 'FrownClicked',\r\n SuggestionClicked = 'SuggestionClicked',\r\n CancelClicked = 'CancelClicked',\r\n PrivacyStatementLinkClicked = 'PrivacyStatementLinkClicked',\r\n SmileSent = 'SmileSent',\r\n FrownSent = 'FrownSent',\r\n SuggestionSent = 'SuggestionSent',\r\n RetryClicked = 'RetryClicked',\r\n FinishClicked = 'FinishClicked',\r\n CloseClicked = 'CloseClicked',\r\n ReportABug = 'ReportABug'\r\n}\r\n\r\nexport interface ISendFeedbackUIAction {\r\n uiAction: SendFeedbackUIAction;\r\n}\r\n\r\nexport type SendFeedbackInitialView = 'smile' | 'frown';\r\n\r\nexport interface ISendFeedbackInitialViewPayload {\r\n initialView: SendFeedbackInitialView;\r\n}\r\n\r\nexport interface IFeatureEnabledPayload {\r\n isReportABugEnabled: boolean;\r\n}\r\n\r\nexport interface ICopilotFeedbackPayload {\r\n isSmile: boolean;\r\n isCopilotFeedback: boolean;\r\n}\r\n","import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';\r\nimport { NativeSettingsDataModel } from '../dataHandler/NativeSettingsDataModel';\r\nimport { IInitialTab, ISettingsState, TabLabel } from '../types/settingsTypes';\r\nimport { IResourceStrings, ISettings } from '../models/AppContext';\r\n\r\nexport const dataModel: NativeSettingsDataModel = new NativeSettingsDataModel();\r\n\r\nconst initialState: ISettingsState = {\r\n resourceStrings: null,\r\n settings: null,\r\n initialTab: TabLabel.NotSet,\r\n selectedTab: TabLabel.NotSet\r\n};\r\n\r\nconst getResourceStringsAsync = createAsyncThunk('settings/get_resource_strings', () => {\r\n return dataModel.fetchAllResourceStrings();\r\n});\r\n\r\nconst getSettingsAsync = createAsyncThunk('settings/get_settings', (arg: boolean) => {\r\n return dataModel.fetchAllSettings(arg);\r\n});\r\n\r\nconst getInitialTabAsync = createAsyncThunk('settings/get_initial_tab', () => {\r\n return dataModel.getInitialTab();\r\n});\r\n\r\nexport const settingsSlice = createSlice({\r\n name: 'settings',\r\n initialState,\r\n reducers: {\r\n setSelectedTab: (state: ISettingsState, action: PayloadAction) => {\r\n state.selectedTab = action.payload;\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(getInitialTabAsync.fulfilled, (state: ISettingsState, action: PayloadAction) => {\r\n state.initialTab = action.payload.initialTab;\r\n })\r\n .addCase(\r\n getResourceStringsAsync.fulfilled,\r\n (state: ISettingsState, action: PayloadAction) => {\r\n state.resourceStrings = action.payload;\r\n }\r\n )\r\n .addCase(getResourceStringsAsync.rejected, (state: ISettingsState) => {\r\n state.resourceStrings = null;\r\n })\r\n .addCase(getSettingsAsync.fulfilled, (state: ISettingsState, action: PayloadAction) => {\r\n state.settings = action.payload;\r\n })\r\n .addCase(getSettingsAsync.rejected, (state: ISettingsState) => {\r\n state.settings = null;\r\n });\r\n }\r\n});\r\n\r\nexport const settingsActions = {\r\n ...settingsSlice.actions, // Action creators are generated for each case reducer function\r\n getResourceStrings: getResourceStringsAsync,\r\n getAllSettings: getSettingsAsync,\r\n getInitialTab: getInitialTabAsync\r\n};\r\n\r\nexport default settingsSlice.reducer;\r\n","import { ResourceStrings, Settings } from '../models/AppContext';\r\n\r\n// Tab label names\r\n// We have defined same enum in IRNSettingsManager.h for C++ code\r\n// Please update it if any change in this enum.\r\nexport enum TabLabel {\r\n NotSet = 'NotSet',\r\n Sync = 'Sync',\r\n Account = 'Account',\r\n Notifications = 'Notifications',\r\n About = 'About',\r\n Debug = 'Debug'\r\n}\r\n\r\nexport interface IInitialTab {\r\n initialTab: TabLabel;\r\n}\r\n\r\nexport interface ISettingsState {\r\n resourceStrings: ResourceStrings;\r\n settings: Settings;\r\n initialTab: TabLabel;\r\n selectedTab: TabLabel;\r\n}\r\n","import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';\r\nimport { TaskDialogDataModel } from '../dataHandler/TaskDialogDataModel';\r\nimport {\r\n ITaskDialogButtonClickData,\r\n ITaskDialogData,\r\n ITaskDialogState,\r\n TaskDialogIcon\r\n} from '../types/TaskDialogTypes';\r\n\r\nexport const dataModel: TaskDialogDataModel = new TaskDialogDataModel();\r\n\r\nconst dialogState: ITaskDialogData = {\r\n primaryText: '',\r\n secondaryText: '',\r\n buttonCount: -1,\r\n firstButtonText: '',\r\n secondaryButtonText: '',\r\n secondaryTextLink: '',\r\n additionalBodyText: '',\r\n checkBoxText: '',\r\n itemName: '',\r\n siteName: '',\r\n fileIcon: '',\r\n firstButtonId: -1,\r\n secondButtonId: -1,\r\n defaultCheckBoxValue: false,\r\n icon: TaskDialogIcon.None\r\n};\r\n\r\nconst initialState: ITaskDialogState = {\r\n dialogData: dialogState,\r\n isLoading: true,\r\n failedToFetch: false\r\n};\r\n\r\n// create a thunk for the async function to create a rule\r\nconst getContentAsync = createAsyncThunk('task_dialog/get_content', () => {\r\n return dataModel.getContent();\r\n});\r\n\r\nconst handleTaskDialogButtonClickAsync = createAsyncThunk(\r\n 'task_dialog/close',\r\n async (data: ITaskDialogButtonClickData, thunkAPI): Promise => {\r\n return dataModel.buttonClicked(data);\r\n }\r\n);\r\n\r\nexport const taskDialogSlice = createSlice({\r\n name: 'task_dialog',\r\n initialState,\r\n reducers: {},\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(getContentAsync.rejected, (state) => {\r\n state.isLoading = false;\r\n state.failedToFetch = true;\r\n })\r\n .addCase(getContentAsync.fulfilled, (state, action: PayloadAction) => {\r\n state.dialogData = action.payload;\r\n state.isLoading = false;\r\n })\r\n .addCase(getContentAsync.pending, (state) => {})\r\n .addCase(handleTaskDialogButtonClickAsync.rejected, (state) => {})\r\n .addCase(handleTaskDialogButtonClickAsync.fulfilled, (state) => {});\r\n }\r\n});\r\nexport const taskDialogActions = {\r\n ...taskDialogSlice.actions, // Action creators are generated for each case reducer function\r\n getContentAsync,\r\n handleTaskDialogButtonClickAsync\r\n};\r\nexport default taskDialogSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { ITaskDialogButtonClickData, ITaskDialogData } from '../types/TaskDialogTypes';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\n\r\nconst TASK_DIALOG_ROUTE = 'rntaskdialogmanager';\r\n\r\nexport class TaskDialogDataModel {\r\n private _dataHandler: NativeDataHandler;\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n /**\r\n * Gets the content for the current task dialog.\r\n */\r\n public async getContent(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('GET', TASK_DIALOG_ROUTE, 'get'));\r\n }\r\n\r\n /**\r\n * Signals that a button was clicked for the current task dialog.\r\n */\r\n public async buttonClicked(data: ITaskDialogButtonClickData): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', TASK_DIALOG_ROUTE, 'buttonClicked', data)\r\n );\r\n }\r\n}\r\n","export enum TaskDialogAction {\r\n Dismiss,\r\n PrimaryButton,\r\n SecondaryButton,\r\n BodyLink,\r\n AdditionalBodyLink\r\n}\r\n\r\nexport interface ITaskDialogData {\r\n primaryText: string;\r\n secondaryText: string;\r\n buttonCount: number;\r\n firstButtonText: string;\r\n secondaryButtonText: string;\r\n secondaryTextLink: string;\r\n additionalBodyText: string;\r\n checkBoxText: string;\r\n firstButtonId: number;\r\n secondButtonId: number;\r\n defaultCheckBoxValue: boolean;\r\n icon: TaskDialogIcon;\r\n itemName?: string;\r\n siteName?: string;\r\n fileIcon?: string;\r\n}\r\n\r\nexport enum TaskDialogIcon {\r\n None = 0,\r\n Error = 1,\r\n Warning = 2,\r\n Info = 3\r\n}\r\nexport interface ITaskDialogState {\r\n isLoading: boolean;\r\n failedToFetch: boolean;\r\n dialogData: ITaskDialogData;\r\n}\r\n\r\nexport interface ITaskDialogButtonClickData {\r\n actionId: TaskDialogAction;\r\n buttonId: number;\r\n checkBoxValue: boolean;\r\n}\r\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { ITutorialInfoPayLoad, ITutorialViewState, TutorialPageID } from '../types/tutorialTypes';\r\nimport { TutorialPageModel } from '../dataHandler/TutorialPagesModel';\r\n\r\nexport const initialTutorialPageState: ITutorialViewState = {\r\n tutorialPagesList: [],\r\n currentPageIndex: 0,\r\n shouldShowOpenAtLoginCheckbox: false,\r\n startOnLogin: false\r\n};\r\n\r\nexport const tutorialPageModel: TutorialPageModel = new TutorialPageModel();\r\n\r\nconst getTutorialPagesInfoAsync = createAsyncThunk(\r\n 'tutorial_page/get_tutorial_pages_info',\r\n (): Promise => {\r\n return tutorialPageModel.getTutorialPagesInfo();\r\n }\r\n);\r\n\r\nconst openOneDriveFolderAsync = createAsyncThunk(\r\n 'tutorial_page/on_open_one_drive_and_complete',\r\n async (): Promise => {\r\n return tutorialPageModel.openOneDriveFolder();\r\n }\r\n);\r\n\r\nconst refreshPageAsync = createAsyncThunk(\r\n 'tutorial_page/refresh_page',\r\n (pageId: TutorialPageID): Promise => {\r\n return tutorialPageModel.refreshPage(pageId);\r\n }\r\n);\r\n\r\nconst recordNextBtnClickAsync = createAsyncThunk(\r\n 'tutorial_page/next_clicked',\r\n (pageId: TutorialPageID): Promise => {\r\n return tutorialPageModel.recordNextBtnClick(pageId);\r\n }\r\n);\r\n\r\nconst completeTutorialAsync = createAsyncThunk(\r\n 'tutorial_page/on_tutorial_complete',\r\n (): Promise => {\r\n return tutorialPageModel.completeTutorial();\r\n }\r\n);\r\n\r\nconst enableOpenAtLoginAsync = createAsyncThunk(\r\n 'tutorial_page/enable_open_at_login',\r\n (startOnLogin: boolean): Promise => {\r\n return tutorialPageModel.enableStartSyncAtLogin(startOnLogin);\r\n }\r\n);\r\n\r\nconst getMobileAppAsync = createAsyncThunk('tutorial_page/get_mobile_app', (): Promise => {\r\n return tutorialPageModel.getMobileApp();\r\n});\r\n\r\nexport const tutorialPageSlice = createSlice({\r\n name: 'tutorial_page',\r\n initialState: initialTutorialPageState,\r\n reducers: {\r\n resetState: (state: ITutorialViewState) => {\r\n state.currentPageIndex = 0;\r\n state.tutorialPagesList = [];\r\n state.shouldShowOpenAtLoginCheckbox = false;\r\n },\r\n goToNextPage: (state: ITutorialViewState) => {\r\n state.currentPageIndex = state.currentPageIndex + 1;\r\n },\r\n goToPreviousPage: (state: ITutorialViewState) => {\r\n state.currentPageIndex = state.currentPageIndex - 1;\r\n },\r\n setStartOnLogin: (state: ITutorialViewState, action: PayloadAction) => {\r\n state.startOnLogin = action.payload;\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(\r\n getTutorialPagesInfoAsync.fulfilled,\r\n (state: ITutorialViewState, action: PayloadAction) => {\r\n state.tutorialPagesList = action.payload.tutorialPagesList;\r\n state.currentPageIndex = 0;\r\n state.shouldShowOpenAtLoginCheckbox = action.payload.shouldShowOpenAtLoginCheckbox;\r\n if (!state.shouldShowOpenAtLoginCheckbox) {\r\n // if checkbox is hidden, we have implicit consent\r\n state.startOnLogin = true;\r\n }\r\n }\r\n )\r\n .addCase(getTutorialPagesInfoAsync.rejected, (state, payload) => {\r\n console.error(`Failed to fetch tutorial info`);\r\n console.error(payload);\r\n });\r\n }\r\n});\r\n\r\nexport const tutorialPageActions = {\r\n ...tutorialPageSlice.actions, // Action creators are generated for each case reducer function\r\n getTutorialPagesInfo: getTutorialPagesInfoAsync,\r\n openOneDriveFolder: openOneDriveFolderAsync,\r\n refreshPage: refreshPageAsync,\r\n completeTutorial: completeTutorialAsync,\r\n getMobileApp: getMobileAppAsync,\r\n enableOpenAtLogin: enableOpenAtLoginAsync,\r\n recordNextBtnClick: recordNextBtnClickAsync\r\n};\r\n\r\nexport default tutorialPageSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { ITutorialInfoPayLoad, TutorialPageID } from '../types/tutorialTypes';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\n\r\nconst TUTORIAL_ROUTE = 'tutorial';\r\n\r\nexport class TutorialPageModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async getTutorialPagesInfo(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('GET', TUTORIAL_ROUTE, 'getTutorialPagesInfo'));\r\n }\r\n\r\n public async openOneDriveFolder(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', TUTORIAL_ROUTE, 'openOneDriveFolder'));\r\n }\r\n\r\n public async refreshPage(pageId: TutorialPageID): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', TUTORIAL_ROUTE, 'refreshPage', { pageId })\r\n );\r\n }\r\n\r\n public async completeTutorial(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', TUTORIAL_ROUTE, 'complete'));\r\n }\r\n\r\n public async getMobileApp(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', TUTORIAL_ROUTE, 'getMobileApp'));\r\n }\r\n\r\n public async enableStartSyncAtLogin(startOnLogin: boolean): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', TUTORIAL_ROUTE, 'enableStartSyncAtLogin', { startOnLogin })\r\n );\r\n }\r\n\r\n public async recordNextBtnClick(pageId: TutorialPageID): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', TUTORIAL_ROUTE, 'recordNextBtnClick', { pageId })\r\n );\r\n }\r\n}\r\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport {\r\n EmailHrdDialogState,\r\n EmailHrdResult,\r\n IWelcomePageErrorPayload,\r\n IWelcomePageState\r\n} from '../types/welcomeTypes';\r\nimport { WelcomePageModel } from '../dataHandler/WelcomePageModel';\r\n\r\nexport const initialWelcomePageState: IWelcomePageState = {\r\n emailHrdResult: EmailHrdResult.Unknown,\r\n dialogState: EmailHrdDialogState.EmailInput,\r\n selectedEmail: '',\r\n emailList: [],\r\n disableEmailInput: false,\r\n hideEmailInput: false,\r\n disablePersonalAccountButton: false,\r\n showCreateAccountButton: true,\r\n isError: false,\r\n isDropdownVisible: false\r\n};\r\n\r\nexport const welcomePageModel: WelcomePageModel = new WelcomePageModel();\r\n\r\nconst signInAsync = createAsyncThunk('welcome_page/sign_in', (email: string): Promise => {\r\n return welcomePageModel.signIn(email);\r\n});\r\n\r\nconst createAccountAsync = createAsyncThunk('welcome_page/create_account', (): Promise => {\r\n return welcomePageModel.createAccount();\r\n});\r\n\r\nconst personalClickedAsync = createAsyncThunk('welcome_page/personal_clicked', (): Promise => {\r\n return welcomePageModel.personalClicked();\r\n});\r\n\r\nconst businessClickedAsync = createAsyncThunk('welcome_page/business_clicked', (): Promise => {\r\n return welcomePageModel.businessClicked();\r\n});\r\n\r\nconst exitAsync = createAsyncThunk('welcome_page/exit', (): Promise => {\r\n return welcomePageModel.exit();\r\n});\r\n\r\nexport const welcomePageSlice = createSlice({\r\n name: 'welcome_page',\r\n initialState: initialWelcomePageState,\r\n reducers: {\r\n resetState: (state: IWelcomePageState) => {\r\n state.emailHrdResult = EmailHrdResult.Unknown;\r\n state.dialogState = EmailHrdDialogState.EmailInput;\r\n state.selectedEmail = '';\r\n state.emailList = [];\r\n state.disableEmailInput = false;\r\n state.hideEmailInput = false;\r\n state.disablePersonalAccountButton = false;\r\n state.showCreateAccountButton = false;\r\n state.isError = false;\r\n },\r\n setEmailHrdResult: (state: IWelcomePageState, action: PayloadAction) => {\r\n state.emailHrdResult = action.payload;\r\n },\r\n setHideEmailInput: (state: IWelcomePageState, action: PayloadAction) => {\r\n state.hideEmailInput = action.payload;\r\n },\r\n setDisableEmailInput: (state: IWelcomePageState, action: PayloadAction) => {\r\n state.disableEmailInput = action.payload;\r\n },\r\n setEmail: (state: IWelcomePageState, action: PayloadAction) => {\r\n state.selectedEmail = action.payload;\r\n },\r\n setPersonalButtonDisabled(state: IWelcomePageState, action: PayloadAction) {\r\n state.disablePersonalAccountButton = action.payload;\r\n },\r\n setShowCreateAccountButton(state: IWelcomePageState, action: PayloadAction) {\r\n state.showCreateAccountButton = action.payload;\r\n },\r\n setDialogState(state: IWelcomePageState, action: PayloadAction) {\r\n state.dialogState = action.payload;\r\n },\r\n setEmailList(state: IWelcomePageState, action: PayloadAction) {\r\n state.emailList = action.payload;\r\n },\r\n setError(state: IWelcomePageState, action: PayloadAction) {\r\n state.isError = true;\r\n state.emailHrdResult = action.payload.emailHrdResult;\r\n\r\n // This mimics Qt behavior from EmailHRDPage.cpp by setting the disabled state of the email input.\r\n // Instead of hiding it directly, the email input is hidden in the WelcomePage rendering as an effect.\r\n state.disableEmailInput = action.payload.hideEmailInput;\r\n },\r\n setDropdownVisible(state: IWelcomePageState, action: PayloadAction) {\r\n state.isDropdownVisible = action.payload;\r\n }\r\n }\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n // extraReducers: (builder: ActionReducerMapBuilder) => {\r\n // builder;\r\n // }\r\n});\r\n\r\nexport const welcomePageActions = {\r\n ...welcomePageSlice.actions, // Action creators are generated for each case reducer function\r\n createAccount: createAccountAsync,\r\n signIn: signInAsync,\r\n personalClicked: personalClickedAsync,\r\n businessClicked: businessClickedAsync,\r\n exit: exitAsync\r\n};\r\n\r\nexport default welcomePageSlice.reducer;\r\n","export enum EmailHrdResult {\r\n Unknown = 'Unknown',\r\n Personal = 'Personal', // Account is an MSA\r\n Business = 'Business', // Account is an AAD\r\n OnPrem = 'OnPrem', // Account is not known but onPrem should be attempted\r\n GenericError = 'GenericError', // EmailHRD RequestFailed\r\n //RequestFailed = 6, // not used\r\n IsBoth = 'IsBoth', // Account is both an MSA and an AAD\r\n DoesNotExist = 'DoesNotExist', // Account is neither an MSA nor an AAD\r\n // PersonalNotAllowed = 9, // Deprecated- NGSC does not support personal sync on Windows 8.1\r\n AdminDisabledPersonal = 'AdminDisabledPersonal', // Admin has blocked syncing from personal / consumer cloud via policy setting\r\n AnotherPersonalAlreadyConfigured = 'AnotherPersonalAlreadyConfigured', // A different MSA is already syncing (only one personal instance allowed)\r\n CorrectPersonalAlreadyConfigured = 'CorrectPersonalAlreadyConfigured', // This MSA is already syncing\r\n Business2Consumer = 'Business2Consumer' // Business content shared to an MSA so we're creating a Business instance\r\n}\r\n\r\nexport enum EmailHrdDialogState {\r\n EmailInput = 'EmailInput',\r\n EmailDropdown = 'EmailDropdown',\r\n IsBoth = 'IsBoth'\r\n}\r\n\r\nexport interface IWelcomePageState {\r\n emailHrdResult: EmailHrdResult;\r\n dialogState: EmailHrdDialogState;\r\n selectedEmail: string;\r\n emailList: string[];\r\n disableEmailInput: boolean;\r\n hideEmailInput: boolean;\r\n disablePersonalAccountButton: boolean;\r\n showCreateAccountButton: boolean;\r\n isError: boolean;\r\n isDropdownVisible: boolean;\r\n}\r\n\r\nexport interface IWelcomePageErrorPayload {\r\n emailHrdResult: EmailHrdResult;\r\n hideEmailInput: boolean;\r\n}\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\n\r\nexport class WelcomePageModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async signIn(email: string): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/emailPage/signIn',\r\n requestType: 'POST',\r\n postData: {\r\n email\r\n }\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async createAccount(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/emailPage/createAccount',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async personalClicked(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/emailPage/personalClicked',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async businessClicked(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/emailPage/businessClicked',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n\r\n public async exit(): Promise {\r\n const options: IDataHandlerSendOptions = {\r\n url: 'http://localhost:9001/sync/emailPage/exit',\r\n requestType: 'POST'\r\n };\r\n return this._dataHandler.send(options);\r\n }\r\n}\r\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport {\r\n defaultAnimationState,\r\n defaultWizardConfirmDialogStrings,\r\n IAnimationState,\r\n IWizardConfirmDialogStrings,\r\n IWizardWindowState,\r\n WizardConfirmDialogResult\r\n} from '../types/wizardWindowTypes';\r\nimport { freDataModel } from './freSlice';\r\nimport { WIZARD_WINDOW_VIEW_NAME } from '../pages/WizardWindow';\r\n\r\nexport const initialWizardWindowState: IWizardWindowState = {\r\n animationState: defaultAnimationState,\r\n spinningText: '',\r\n spinningSubText: '',\r\n showConfirmDialog: false,\r\n confirmDialogStrings: defaultWizardConfirmDialogStrings,\r\n currentWizardPage: WIZARD_WINDOW_VIEW_NAME // default page for the wizard window\r\n};\r\n\r\nconst getAnimationStateAsync = createAsyncThunk('fre/get_animation_state', () => {\r\n return freDataModel.getAnimationState();\r\n});\r\n\r\nconst toggleAnimationPlayingAsync = createAsyncThunk('fre/toggle_animation_playing', (isPlaying: boolean) => {\r\n return freDataModel.toggleAnimationPlaying(isPlaying);\r\n});\r\n\r\nconst toggleAnimationVisibleAsync = createAsyncThunk('fre/toggle_animation_visible', (isVisible: boolean) => {\r\n return freDataModel.toggleAnimationVisible(isVisible);\r\n});\r\n\r\nconst onConfirmDialogClosedAsync = createAsyncThunk(\r\n 'fre/on_confirm_dialog_closed',\r\n (result: WizardConfirmDialogResult) => {\r\n return freDataModel.onConfirmDialogClosed(result);\r\n }\r\n);\r\n\r\nexport const wizardWindowSlice = createSlice({\r\n name: 'wizard_window',\r\n initialState: initialWizardWindowState,\r\n reducers: {\r\n setSpinningText: (state: IWizardWindowState, action: PayloadAction) => {\r\n state.spinningText = action.payload;\r\n },\r\n setSpinningSubText: (state: IWizardWindowState, action: PayloadAction) => {\r\n state.spinningSubText = action.payload;\r\n },\r\n setAnimationEnabled: (state: IWizardWindowState, action: PayloadAction) => {\r\n state.animationState.animationEnabled = action.payload;\r\n },\r\n setAnimationComplete: (state: IWizardWindowState, action: PayloadAction) => {\r\n state.animationState.animationComplete = action.payload;\r\n },\r\n setCurrentWizardPage: (state: IWizardWindowState, action: PayloadAction) => {\r\n state.currentWizardPage = action.payload;\r\n },\r\n setConfirmDialogStrings: (\r\n state: IWizardWindowState,\r\n action: PayloadAction\r\n ) => {\r\n state.confirmDialogStrings = action.payload;\r\n state.showConfirmDialog = true;\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(getAnimationStateAsync.fulfilled, (state, action: PayloadAction) => {\r\n state.animationState = action.payload;\r\n })\r\n .addCase(getAnimationStateAsync.rejected, (state, payload) => {\r\n console.error(payload);\r\n state.animationState = {\r\n animationEnabled: false,\r\n animationComplete: false\r\n };\r\n })\r\n .addCase(onConfirmDialogClosedAsync.pending, (state) => {\r\n state.showConfirmDialog = false;\r\n })\r\n .addCase(onConfirmDialogClosedAsync.fulfilled, (state) => {\r\n state.showConfirmDialog = false;\r\n })\r\n .addCase(onConfirmDialogClosedAsync.rejected, (state, payload) => {\r\n console.error(payload);\r\n })\r\n .addCase(toggleAnimationVisibleAsync.pending, (state, action) => {\r\n state.animationState.animationEnabled = action.meta.arg;\r\n });\r\n }\r\n});\r\n\r\nexport const wizardWindowActions = {\r\n ...wizardWindowSlice.actions,\r\n getAnimationState: getAnimationStateAsync,\r\n toggleAnimationPlaying: toggleAnimationPlayingAsync,\r\n toggleAnimationVisible: toggleAnimationVisibleAsync,\r\n onConfirmDialogClosed: onConfirmDialogClosedAsync\r\n};\r\n\r\nexport default wizardWindowSlice.reducer;\r\n","import React from 'react';\r\nimport Spinner from '../../common/components/Spinner';\r\nimport { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport {\r\n selectCurrentWizardPage,\r\n selectSpinningSubText,\r\n selectSpinningText\r\n} from '../redux/wizardWindowSelectors';\r\nimport { useAccessibleAnnouncement, useAppSelector, useBasicOnChildDataLoaded } from '../../hooks';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useWizardConfirmDialog } from '../components/useWizardConfirmDialog';\r\n\r\nexport const dataHandler = new NativeDataHandler();\r\n\r\nexport const WIZARD_WINDOW_VIEW_NAME = 'wizardWindow';\r\n\r\nexport const WizardWindow = (): JSX.Element | null => {\r\n const text = useAppSelector(selectSpinningText);\r\n const subText = useAppSelector(selectSpinningSubText);\r\n const currentWizardPage = useAppSelector(selectCurrentWizardPage);\r\n const isActive = currentWizardPage === WIZARD_WINDOW_VIEW_NAME;\r\n const { t: translate } = useTranslation();\r\n const defaultLoadingText = translate('signInLoading');\r\n const finalText = text.length > 0 ? text : defaultLoadingText;\r\n\r\n useAccessibleAnnouncement([finalText, subText ? subText : ''], [isActive, finalText, subText]);\r\n useBasicOnChildDataLoaded();\r\n\r\n // Enable usage of the confirmation dialog only while the loading spinner is active in the main window.\r\n useWizardConfirmDialog(isActive);\r\n\r\n return isActive ? (\r\n <>\r\n \r\n \r\n ) : null;\r\n};\r\n","import * as React from 'react';\r\nimport { View, ViewStyle, ActivityIndicator, TextStyle, StyleProp } from 'react-native';\r\nimport { commonThemeManager, ICommonTheme } from '../themes/ICommonTheme';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../themes/themes';\r\nimport { CommonText } from './CommonText';\r\n\r\ninterface ISpinnerStyles {\r\n loadingView: ViewStyle;\r\n loadingText: TextStyle;\r\n}\r\n\r\nconst useSpinnerStyles: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n ISpinnerStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n return {\r\n loadingView: {\r\n backgroundColor: theme.dialog.backgroundColor,\r\n justifyContent: 'center',\r\n display: 'flex',\r\n alignItems: 'center',\r\n height: '80%'\r\n },\r\n loadingText: {\r\n color: theme.link.linkTextColor,\r\n marginTop: 10,\r\n fontSize: 12,\r\n textAlign: 'center'\r\n }\r\n };\r\n});\r\n\r\ninterface ISpinnerProps {\r\n fullSpinner?: boolean;\r\n text?: string;\r\n subText?: string;\r\n subText2?: string;\r\n customStyle?: StyleProp;\r\n textStyle?: StyleProp;\r\n subTextStyle?: StyleProp;\r\n subText2Style?: StyleProp;\r\n}\r\n\r\nexport const Spinner = (props: ISpinnerProps): JSX.Element => {\r\n const { fullSpinner, text, subText, subText2, customStyle, textStyle, subTextStyle, subText2Style } = props;\r\n const styles = useSpinnerStyles();\r\n const textElement = text ? (\r\n \r\n {text}\r\n \r\n ) : null;\r\n const subTextElement = subText ? (\r\n \r\n {subText}\r\n \r\n ) : null;\r\n const subText2Element = subText2 ? (\r\n \r\n {subText2}\r\n \r\n ) : null;\r\n\r\n return (\r\n \r\n \r\n {textElement}\r\n {subTextElement}\r\n {subText2Element}\r\n \r\n );\r\n};\r\n\r\nexport default Spinner;\r\n","/**\r\n * This file contains the code necessary to create themed stylesheets for your individual React\r\n * Native app. See below for a full example.\r\n *\r\n * // Example theme code, in a separate file or files:\r\n *\r\n * // Note: the name of this interface can be customized, and should be defined in your own app's\r\n * // code, not in common code. You do not have to extend ICommonTheme unless you intend to\r\n * // directly use some of its colors or modify its colors.\r\n * export interface IMyTheme extends ICommonTheme {\r\n * windowBackgroundColor: string;\r\n * }\r\n *\r\n * // Note: You can overwrite any theme color from CommonLightTheme (and other themes) here if you\r\n * // redefine that color as a new property. If you did not extend ICommonTheme, you don't need to\r\n * // include CommonLightTheme here (and below in similar examples).\r\n * export const LightTheme: IMyTheme {\r\n * ...CommonLightTheme,\r\n * windowBackgroundColor: '#FFFFFF'\r\n * }\r\n *\r\n * export const DarkTheme: IMyTheme {\r\n * ...CommonDarkTheme,\r\n * windowBackgroundColor: '#000000'\r\n * }\r\n *\r\n * export function createHighContrastTheme(systemTheme: ISystemHighContrastTheme, themeName: ThemeName): IMyTheme {\r\n * return {\r\n * ...createCommonHighContrastTheme(systemTheme, themeName),\r\n * windowBackgroundColor: systemTheme.WindowColor\r\n * }\r\n * }\r\n *\r\n * export const themeManager: ThemeManager = new ThemeManager(\r\n * LightTheme,\r\n * DarkTheme,\r\n * createHighContrastTheme\r\n * );\r\n *\r\n *\r\n * // Then, in each separate component file:\r\n *\r\n * interface IMyComponentStyles {\r\n * window: ViewStyle;\r\n * }\r\n *\r\n * const useMyComponentStyles: ThemedStylesHook = createthemedStylesHook<\r\n * IMyTheme,\r\n * IMyComponentStyles\r\n * >(themeManager, (theme: IMyTheme) => {\r\n * return {\r\n * window: {\r\n * backgroundColor: theme.windowBackgroundColor\r\n * }\r\n * }\r\n * });\r\n *\r\n * function MyComponent(): {\r\n * const styles = useMyComponentStyles();\r\n * // Optionally you can also use styles from common themes with this:\r\n * const commonStyles = useCommonStyles();\r\n *\r\n * return (\r\n * \r\n * )\r\n * }\r\n */\r\n\r\nimport React from 'react';\r\nimport { StyleSheet, useColorScheme } from 'react-native';\r\nimport { ISystemHighContrastTheme, ThemeName } from './themeUtils';\r\nimport useHighContrastAppTheme from './HighContrastAppThemeHook';\r\nimport { useAppSelector } from '../../hooks';\r\nimport { selectTextScaleFactor } from '../redux/selectors';\r\n\r\n/**\r\n * Instantiate this class to define colors for each theme, where TTheme is the list of semantic\r\n * colors for this app. The instance should be passed to all calls to createThemedStylesHook.\r\n */\r\nexport class ThemeManager {\r\n public lightTheme: TTheme;\r\n public darkTheme: TTheme;\r\n public createHighContrastTheme: (systemTheme: ISystemHighContrastTheme, themeName: ThemeName) => TTheme;\r\n public textScaleFactor: number = 1.0;\r\n\r\n public constructor(\r\n newLightTheme: TTheme,\r\n newDarkTheme: TTheme,\r\n newCreateHighContrastTheme: (systemTheme: ISystemHighContrastTheme, themeName: ThemeName) => TTheme\r\n ) {\r\n this.lightTheme = newLightTheme;\r\n this.darkTheme = newDarkTheme;\r\n this.createHighContrastTheme = newCreateHighContrastTheme;\r\n }\r\n}\r\n\r\nexport type ThemedStylesHook> =\r\n () => StyleSheet.NamedStyles;\r\n\r\nexport const useCurrentThemeName = (): ThemeName => {\r\n // useColorScheme reads in whether the system is in light or dark mode\r\n // NOTE: it does not account for high contrast\r\n const colorScheme = useColorScheme();\r\n const highContrastColors = useHighContrastAppTheme();\r\n\r\n let currentTheme;\r\n if (highContrastColors) {\r\n // In some cases we need to display different images for a light or dark high contrast theme.\r\n // We don't have a built-in way to tell the difference between light and dark high contrast,\r\n // so our workaround is to look at a specific color in the color scheme. This doesn't work\r\n // well if the user has a custom high contrast theme, so if it's not one of the built-in\r\n // Win 11 themes, we'll assume high contrast dark.\r\n switch (highContrastColors.WindowColor.toUpperCase()) {\r\n case '#FFFAEF': // Desert theme\r\n currentTheme = ThemeName.HighContrastLight;\r\n break;\r\n case '#202020': // Aquatic theme\r\n case '#2D3436': // Dusk theme\r\n case '#000000': // Night sky theme\r\n default:\r\n currentTheme = ThemeName.HighContrastDark;\r\n break;\r\n }\r\n } else {\r\n switch (colorScheme) {\r\n case 'dark':\r\n currentTheme = ThemeName.Dark;\r\n break;\r\n default:\r\n currentTheme = ThemeName.Light;\r\n break;\r\n }\r\n }\r\n\r\n return currentTheme;\r\n};\r\n\r\n/**\r\n * Use this function in each component that needs its own stylesheet.\r\n *\r\n * @param themeManager The ThemeManager instance for this app, which defines the themes to use for\r\n * light/dark/high contrast\r\n * @param themedStyles A function that takes a theme and returns a React Native StyleSheet for the\r\n * given component\r\n * @returns A hook that can be used in the component to reference these styles.\r\n *\r\n * Note that when you create themes, you need to define your own theme interface of your semantic colors.\r\n */\r\nexport const createThemedStylesHook = >(\r\n themeManager: ThemeManager,\r\n themedStyles: (theme: TTheme) => TStyles\r\n): ThemedStylesHook => {\r\n const useThemedStyles: ThemedStylesHook = () => {\r\n const highContrastColors = useHighContrastAppTheme();\r\n const previousThemeName: ThemeName = useCurrentThemeName();\r\n const textScale = useAppSelector(selectTextScaleFactor);\r\n themeManager.textScaleFactor = textScale;\r\n\r\n // Refresh the stylesheet if the theme changes\r\n const styleSheet = React.useMemo(() => {\r\n let currentTheme: TTheme;\r\n\r\n if (\r\n highContrastColors &&\r\n (previousThemeName === ThemeName.HighContrastDark ||\r\n previousThemeName === ThemeName.HighContrastLight)\r\n ) {\r\n currentTheme = themeManager.createHighContrastTheme(highContrastColors, previousThemeName);\r\n } else if (previousThemeName === ThemeName.Dark) {\r\n currentTheme = themeManager.darkTheme;\r\n } else {\r\n currentTheme = themeManager.lightTheme;\r\n }\r\n\r\n return StyleSheet.create(themedStyles(currentTheme));\r\n }, [previousThemeName, highContrastColors, textScale]);\r\n\r\n return styleSheet;\r\n };\r\n\r\n return useThemedStyles;\r\n};\r\n","/**\r\n * When creating the JavaScript bundle file, metro is smart enough to only include files that match the target platform.\r\n * HighContrastAppThemeHook.macos will only be imported when bundling for MacOS and HighContrastAppThemeHook.windows will\r\n * only be imported when bundling for Windows when we import from the generic 'HighContrastAppThemeHook' file alias.\r\n * However, TypeScript is unaware of this distinction and will literally try to import from 'HighContrastAppThemeHook'.\r\n * Therefore, we encapsulate 'HighContrastAppThemeHook' in its own folder and export our hook as the default value so\r\n * that it can be imported elsewhere in the codebase without the need to manually use ts-ignore every time.\r\n */\r\n// @ts-ignore\r\nimport { useHighContrastAppTheme } from './HighContrastAppThemeHook';\r\nexport default useHighContrastAppTheme;\r\n","import React from 'react';\r\nimport { ISystemHighContrastTheme } from '../themeUtils';\r\nimport { AppTheme } from 'react-native-windows';\r\nimport { HighContrastAppThemeHook } from './types';\r\n\r\nexport const useHighContrastAppTheme: HighContrastAppThemeHook = (): ISystemHighContrastTheme | undefined => {\r\n /**\r\n * Set the initial highContrastColors to the current system colors being used if high-contrast is enabled.\r\n * Otherwise, set the initial highContrastColors value to undefined to indicate that high-contrast is disabled.\r\n */\r\n const [highContrastColors, setHighContrastColors] = React.useState(\r\n AppTheme && AppTheme.isHighContrast ? AppTheme.currentHighContrastColors : undefined\r\n );\r\n\r\n // Listen for high contrast state changes (on/off or theme change)\r\n React.useEffect(() => {\r\n const highContrastChangedListener = (): void => {\r\n if (AppTheme.isHighContrast) {\r\n setHighContrastColors(AppTheme.currentHighContrastColors);\r\n } else {\r\n setHighContrastColors(undefined);\r\n }\r\n };\r\n AppTheme.addListener('highContrastChanged', highContrastChangedListener);\r\n return () => {\r\n AppTheme.removeListener('highContrastChanged', highContrastChangedListener);\r\n };\r\n }, [highContrastColors, AppTheme]);\r\n\r\n return highContrastColors;\r\n};\r\n","export enum ThemeName {\r\n HighContrastLight,\r\n HighContrastDark,\r\n Light,\r\n Dark\r\n}\r\n\r\n/**\r\n * Example Windows 11 built-in theme colors:\r\n *\r\n * Aquatic:\r\n * NOTE: ButtonTextColor & WindowTextColor are the same. ButtonFaceColor & WindowColor are the same.\r\n * ButtonFaceColor: \"#202020\"\r\n * ButtonTextColor: \"#ffffff\"\r\n * GrayTextColor: \"#a6a6a6\"\r\n * HighlightColor: \"#8ee3f0\"\r\n * HighlightTextColor: \"#263b50\"\r\n * HotlightColor: \"#75e9fc\"\r\n * WindowColor: \"#202020\"\r\n * WindowTextColor: \"#ffffff\"\r\n *\r\n * Desert:\r\n * NOTE: ButtonFaceColor & WindowColor are the same (for all themes, as far as I can tell).\r\n * ButtonFaceColor: \"#fffaef\"\r\n * ButtonTextColor: \"#202020\"\r\n * GrayTextColor: \"#676767\"\r\n * HighlightColor: \"#903909\"\r\n * HighlightTextColor: \"#fff5e3\"\r\n * HotlightColor: \"#1c5e75\"\r\n * WindowColor: \"#fffaef\"\r\n * WindowTextColor: \"#3d3d3d\"\r\n *\r\n * NOTE: Today, all of the Win 11 built-in high contrast themes have ButtonFaceColor and WindowColor\r\n * as the same color, but technically users can modify these colors, so we're using ButtonFaceColor\r\n * just for buttons (via \"button.buttonColor\"), and WindowColor everywhere else.\r\n *\r\n * Similar case for ButtonTextColor and WindowTextColor - only one of the built-in themes has them\r\n * the exact same, but the rest of the themes have these being very close in color. For now we're using\r\n * ButtonTextColor for the normal state of buttons, button borders, and radio buttons and their borders.\r\n */\r\nexport interface ISystemHighContrastTheme {\r\n ButtonFaceColor: string;\r\n ButtonTextColor: string;\r\n GrayTextColor: string;\r\n HighlightColor: string;\r\n HighlightTextColor: string;\r\n HotlightColor: string;\r\n WindowColor: string;\r\n WindowTextColor: string;\r\n}\r\n","import React from 'react';\r\nimport { AccessibilityInfo } from 'react-native';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport type { TypedUseSelectorHook } from 'react-redux';\r\nimport type { RootState, AppDispatch } from './store';\r\nimport { CommonContext } from './common/types';\r\nimport { formatAccessibilityInfo } from './common/helpers/helpers';\r\n\r\n// While it's possible to import the RootState and AppDispatch types into each component, it's better to create typed versions\r\n// of the useDispatch and useSelector hooks for usage throughout our app. This will ensure that we always use the correct types.\r\n\r\n// Use throughout our app instead of plain `useDispatch` and `useSelector`\r\n//For useSelector, it saves you the need to type (state: RootState) every time\r\n// For useDispatch, the default Dispatch type does not know about thunks (middleware for asynchronous functions).\r\n// For more information, see https://redux.js.org/usage/usage-with-typescript#define-typed-hooks\r\n\r\nexport const useAppDispatch: () => AppDispatch = useDispatch;\r\nexport const useAppSelector: TypedUseSelectorHook = useSelector;\r\n\r\n/**\r\n * Helper hook that notifies the common context when a view has finished loading.\r\n * This ensures that UXRNViewDataLoaded QoS point is fired correctly, and assumes\r\n * that the view does not have any required async operations that need to be awaited\r\n * before notifying the common context.\r\n */\r\nexport const useBasicOnChildDataLoaded: () => void = () => {\r\n const commonContext = React.useContext(CommonContext);\r\n React.useEffect(() => {\r\n commonContext.onChildDataLoaded(false /*failedFetch*/);\r\n }, []);\r\n};\r\n\r\n/**\r\n * Helper hook that announces accessibility information for a page on load.\r\n * @param announcements Array of strings to be announced for accessibility.\r\n */\r\nexport const useAccessibleAnnouncement = (\r\n announcements: string[],\r\n deps?: React.DependencyList,\r\n cond?: boolean\r\n): void => {\r\n const announcePageInfo = (): void => {\r\n const accessibilityInfo = formatAccessibilityInfo(announcements);\r\n\r\n // Announce all relevant info on page load.\r\n if (accessibilityInfo.length > 0) {\r\n AccessibilityInfo.announceForAccessibility(accessibilityInfo);\r\n }\r\n };\r\n\r\n React.useEffect(\r\n () => {\r\n // Announce the page info after a short delay to ensure that the page is fully loaded.\r\n if (cond === undefined || cond) {\r\n const timeoutId = setTimeout(() => {\r\n announcePageInfo();\r\n }, 500);\r\n\r\n return () => {\r\n // Cleanup function to clear the timeout if the component unmounts before the timeout completes.\r\n clearTimeout(timeoutId);\r\n };\r\n }\r\n },\r\n deps ? [...deps, cond] : [cond]\r\n );\r\n};\r\n","import { createThemedStylesHook, ThemedStylesHook, ThemeManager } from './themes';\r\nimport { ThemeName } from './themeUtils';\r\nimport { CommonLightTheme } from './CommonLightTheme';\r\nimport { CommonDarkTheme } from './CommonDarkTheme';\r\nimport { createCommonHighContrastTheme } from './CommonHighContrastTheme';\r\nimport { TextStyle, OpaqueColorValue, ViewStyle } from 'react-native';\r\nimport { defaultFontFamily } from '../types';\r\n\r\nexport interface ICommonTheme {\r\n themeName: ThemeName;\r\n bodyTextColor: string;\r\n headerTextColor: string;\r\n syncStatusTextColor: string;\r\n button: {\r\n buttonColor: string;\r\n buttonColorPress: string;\r\n buttonColorDisabled: string;\r\n buttonColorHover: string;\r\n buttonTextColor: string;\r\n buttonTextHover: string;\r\n buttonTextPressed: string;\r\n buttonTextDisabled: string;\r\n buttonBorderColor: string;\r\n buttonBorderHover: string;\r\n buttonBorderPress: string;\r\n iconTintColor: string;\r\n };\r\n link: {\r\n linkTextColor: OpaqueColorValue | string;\r\n linkHover: OpaqueColorValue | string;\r\n linkPressed: OpaqueColorValue | string;\r\n linkHoverBackgroundColor: string;\r\n };\r\n dropdown: {\r\n dropdownBackgroundColor: string;\r\n dropdownBackgroundColorHover: string;\r\n };\r\n expander: {\r\n expanderBackgroundPressed: string;\r\n expanderBackgroundHover: string;\r\n expanderDisabled: string;\r\n expanderHoveringPressed: string;\r\n };\r\n radioButton: {\r\n radioButtonFill: string;\r\n radioButtonInnerFill: string;\r\n radioButtonHover: string;\r\n radioButtonHoverInnerFill: string;\r\n radioButtonBorder: string;\r\n radioButtonNormal: string;\r\n radioButtonSelected: string;\r\n radioButtonBorderSelected: string;\r\n radioButtonSelectedHover: string;\r\n radioButtonBorderSelectedHover: string;\r\n radioButtonBorderHover: string;\r\n radioButtonPressed: string;\r\n radioButtonInnerPressed: string;\r\n radioButtonInnerSelectedPressed: string;\r\n radioButtonSelectedPressed: string;\r\n radioButtonBorderPressed: string;\r\n radioButtonDisabled: string;\r\n radioButtonInnerDisabled: string;\r\n radioButtonSelectedDisabled: string;\r\n radioButtonBorderSelectedDisabled: string;\r\n radioButtonBorderDisabled: string;\r\n };\r\n textInput: {\r\n textInputErrorBorderColor: string;\r\n textInputBorderColor: string;\r\n textInputBackgroundColor: string;\r\n textInputTextColor: string;\r\n textInputDisabledBackgroundColor: string;\r\n textInputDisabledTextColor: string;\r\n textInputBorderFocusedColor: string;\r\n textInputFocusBackgroundColor: string;\r\n textInputPlaceholderTextColor: string;\r\n textInputPlaceholderFocusedTextColor: string;\r\n };\r\n primaryButton: {\r\n backgroundColor: OpaqueColorValue | string;\r\n textColor: string;\r\n disabledTextColor: string;\r\n disabledBackgroundColor: string;\r\n buttonHoverColor: OpaqueColorValue | string;\r\n buttonHoverBorderColor: string;\r\n buttonTextHoverColor: string;\r\n buttonBorderColor: string;\r\n disabledButtonBorderColor: string;\r\n buttonTextPressedColor: string;\r\n };\r\n successButton: {\r\n backgroundColor: OpaqueColorValue | string;\r\n textColor: string;\r\n disabledTextColor: string;\r\n disabledBackgroundColor: string;\r\n buttonHoverColor: OpaqueColorValue | string;\r\n buttonHoverBorderColor: string;\r\n buttonTextHoverColor: string;\r\n buttonBorderColor: string;\r\n disabledButtonBorderColor: string;\r\n buttonTextPressedColor: string;\r\n };\r\n errorButton: {\r\n backgroundColor: OpaqueColorValue | string;\r\n textColor: string;\r\n disabledTextColor: string;\r\n disabledBackgroundColor: string;\r\n buttonHoverColor: OpaqueColorValue | string;\r\n buttonHoverBorderColor: string;\r\n buttonTextHoverColor: string;\r\n buttonBorderColor: string;\r\n disabledButtonBorderColor: string;\r\n buttonTextPressedColor: string;\r\n };\r\n transparentButton: {\r\n backgroundColor: OpaqueColorValue | string;\r\n textColor: string;\r\n disabledTextColor: string;\r\n disabledBackgroundColor: string;\r\n buttonHoverColor: OpaqueColorValue | string;\r\n buttonHoverBorderColor: string;\r\n buttonTextHoverColor: string;\r\n buttonBorderColor: string;\r\n disabledButtonBorderColor: string;\r\n buttonTextPressedColor: string;\r\n buttonPressedColor: OpaqueColorValue | string;\r\n };\r\n footerButton: {\r\n backgroundColor: OpaqueColorValue | string;\r\n textColor: string;\r\n disabledTextColor: string;\r\n disabledBackgroundColor: string;\r\n buttonHoverColor: OpaqueColorValue | string;\r\n buttonHoverBorderColor: string;\r\n buttonTextHoverColor: string;\r\n buttonBorderColor: string;\r\n disabledButtonBorderColor: string;\r\n buttonTextPressedColor: string;\r\n buttonPressedColor: OpaqueColorValue | string;\r\n };\r\n dialog: {\r\n commonModalBackgroundColor: string;\r\n backgroundColor: string;\r\n dialogBorderColor: string;\r\n dialogButtonContainerBorderColor: string;\r\n buttonBackgroundColor: string;\r\n overlayColor: string;\r\n };\r\n progressBar: {\r\n progressTotalBar: string;\r\n progressNormal: string;\r\n progressBarWarning: string;\r\n progressBarError: string;\r\n };\r\n popover: {\r\n popoverBorderColor: string;\r\n backgroundColor: string;\r\n };\r\n vaultWizard: {\r\n primaryTextColor: string;\r\n secondaryTextColor: string;\r\n bulletTextColor: string;\r\n };\r\n toast: {\r\n backgroundColor: string;\r\n textColor: string;\r\n linkColor: string;\r\n dismissButtonHoverColor: string;\r\n dismissButtonPressedColor: string;\r\n };\r\n errorBar: {\r\n backgroundColor: string;\r\n textColor: string;\r\n };\r\n infoBar: {\r\n backgroundColor: string;\r\n textColor: string;\r\n };\r\n}\r\n\r\nexport const commonThemeManager: ThemeManager = new ThemeManager(\r\n CommonLightTheme,\r\n CommonDarkTheme,\r\n createCommonHighContrastTheme\r\n);\r\n\r\nexport interface ICommonStyles {\r\n bodyText: TextStyle;\r\n boldBodyText: TextStyle;\r\n titleText: TextStyle;\r\n subTitleText: TextStyle;\r\n buttonText: TextStyle;\r\n linkText: TextStyle;\r\n inlineLink: TextStyle;\r\n inlineLinkText: TextStyle;\r\n pickerItem: ViewStyle;\r\n viewOutline: ViewStyle;\r\n}\r\n\r\nexport const useCommonStyles: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n ICommonStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n // Font constants\r\n const largeText = 20;\r\n const bodyText = 14;\r\n const mediumText = 16;\r\n const normal = '400';\r\n const semibold = '600';\r\n\r\n // NOTE: Do NOT customize line height, as this will make the \"Text size\" Windows setting not work\r\n // as well - multiline text may be crammed together.\r\n\r\n return {\r\n bodyText: {\r\n fontWeight: normal,\r\n fontSize: bodyText,\r\n color: theme.bodyTextColor,\r\n fontFamily: defaultFontFamily\r\n },\r\n boldBodyText: {\r\n fontWeight: semibold,\r\n fontSize: bodyText,\r\n color: theme.bodyTextColor,\r\n fontFamily: defaultFontFamily\r\n },\r\n titleText: {\r\n fontWeight: semibold,\r\n fontSize: largeText,\r\n color: theme.bodyTextColor,\r\n fontFamily: defaultFontFamily\r\n },\r\n buttonText: {\r\n fontWeight: normal,\r\n fontSize: bodyText,\r\n alignSelf: 'center',\r\n textAlign: 'center',\r\n paddingTop: 4,\r\n paddingBottom: 4,\r\n marginLeft: 11,\r\n marginRight: 11,\r\n fontFamily: defaultFontFamily\r\n },\r\n linkText: {\r\n fontWeight: normal,\r\n fontSize: bodyText,\r\n fontFamily: defaultFontFamily\r\n },\r\n inlineLink: {\r\n color: theme.link.linkTextColor\r\n },\r\n inlineLinkText: {\r\n fontSize: bodyText\r\n },\r\n pickerItem: {\r\n paddingVertical: 10,\r\n borderColor: theme.bodyTextColor\r\n },\r\n subTitleText: {\r\n fontWeight: semibold,\r\n fontSize: mediumText,\r\n color: theme.bodyTextColor,\r\n fontFamily: defaultFontFamily\r\n },\r\n viewOutline: {\r\n borderColor: theme.bodyTextColor,\r\n borderWidth: 1,\r\n borderRadius: 3,\r\n borderBottomWidth: 1\r\n }\r\n };\r\n});\r\n","import {\r\n Basic,\r\n Comm,\r\n Fabric,\r\n Neutrals,\r\n OneOff,\r\n Shared,\r\n QuotaLight,\r\n ColorsWithTransparency\r\n} from '../assets/colors';\r\nimport { ICommonTheme } from './ICommonTheme';\r\nimport { ThemeName } from './themeUtils';\r\nimport { PlatformColor, Platform } from 'react-native';\r\nimport { macCommonOverrides } from './MacOverrides';\r\n\r\nconst isMacOS = Platform.OS === 'macos';\r\nconst lightBlue = Basic.blueMid3;\r\nconst mediumBlue = Basic.blueMid2;\r\nconst darkBlue = Basic.blueDark2;\r\n\r\nconst baseCommonLightTheme: ICommonTheme = {\r\n themeName: ThemeName.Light,\r\n bodyTextColor: ColorsWithTransparency.black89,\r\n headerTextColor: Fabric.neutralPrimary,\r\n syncStatusTextColor: Neutrals.gray130,\r\n button: {\r\n buttonColor: ColorsWithTransparency.white70,\r\n buttonColorPress: ColorsWithTransparency.lighterGray30,\r\n buttonColorDisabled: ColorsWithTransparency.lighterGray30,\r\n buttonColorHover: ColorsWithTransparency.lighterGray50,\r\n buttonTextColor: ColorsWithTransparency.black90, // Same as body text color\r\n buttonTextHover: ColorsWithTransparency.black90,\r\n buttonTextPressed: ColorsWithTransparency.black61,\r\n buttonTextDisabled: ColorsWithTransparency.black36,\r\n buttonBorderColor: ColorsWithTransparency.black05, // Same as border color\r\n buttonBorderHover: ColorsWithTransparency.black05,\r\n buttonBorderPress: ColorsWithTransparency.black05,\r\n iconTintColor: ColorsWithTransparency.black90\r\n },\r\n link: {\r\n linkTextColor: isMacOS ? lightBlue : PlatformColor('SystemAccentColorDark1'),\r\n linkHover: isMacOS ? darkBlue : PlatformColor('SystemAccentColorDark3'),\r\n linkPressed: isMacOS ? mediumBlue : PlatformColor('SystemAccentColor'),\r\n linkHoverBackgroundColor: ColorsWithTransparency.black03\r\n },\r\n dropdown: {\r\n dropdownBackgroundColor: Neutrals.white,\r\n dropdownBackgroundColorHover: ColorsWithTransparency.lighterGray50\r\n },\r\n expander: {\r\n expanderBackgroundPressed: ColorsWithTransparency.black02,\r\n expanderBackgroundHover: ColorsWithTransparency.black04,\r\n expanderDisabled: ColorsWithTransparency.black36,\r\n expanderHoveringPressed: ColorsWithTransparency.black61\r\n },\r\n radioButton: {\r\n radioButtonFill: ColorsWithTransparency.black44,\r\n radioButtonInnerFill: Neutrals.white,\r\n radioButtonHover: ColorsWithTransparency.black05,\r\n radioButtonHoverInnerFill: Neutrals.white,\r\n radioButtonBorder: ColorsWithTransparency.black44, // Same as radio button fill\r\n radioButtonNormal: ColorsWithTransparency.white70,\r\n radioButtonSelected: Basic.blueMid2,\r\n radioButtonBorderSelected: Basic.blueMid2,\r\n radioButtonSelectedHover: ColorsWithTransparency.blue90,\r\n radioButtonBorderSelectedHover: ColorsWithTransparency.blue90, // Same as radio button selected hover\r\n radioButtonBorderHover: ColorsWithTransparency.black61,\r\n radioButtonPressed: ColorsWithTransparency.black09,\r\n radioButtonInnerPressed: Neutrals.white,\r\n radioButtonInnerSelectedPressed: Neutrals.white,\r\n radioButtonSelectedPressed: ColorsWithTransparency.blue80,\r\n radioButtonBorderPressed: ColorsWithTransparency.black22,\r\n radioButtonDisabled: Neutrals.white,\r\n radioButtonInnerDisabled: Neutrals.white,\r\n radioButtonSelectedDisabled: ColorsWithTransparency.black22,\r\n radioButtonBorderSelectedDisabled: ColorsWithTransparency.black22, // Same as radio button selected disabled\r\n radioButtonBorderDisabled: ColorsWithTransparency.black22\r\n },\r\n textInput: {\r\n textInputErrorBorderColor: Basic.redLight,\r\n textInputBorderColor: ColorsWithTransparency.black05, // Same as border color\r\n textInputBackgroundColor: ColorsWithTransparency.white70,\r\n textInputTextColor: Neutrals.black,\r\n textInputDisabledBackgroundColor: ColorsWithTransparency.lighterGray30,\r\n textInputDisabledTextColor: ColorsWithTransparency.black36,\r\n textInputBorderFocusedColor: ColorsWithTransparency.black05, // Same as border color\r\n textInputFocusBackgroundColor: Neutrals.white,\r\n textInputPlaceholderTextColor: Neutrals.gray160,\r\n textInputPlaceholderFocusedTextColor: Neutrals.gray130\r\n },\r\n primaryButton: {\r\n backgroundColor: isMacOS ? mediumBlue : PlatformColor('SystemAccentColorDark1'),\r\n textColor: Neutrals.white,\r\n disabledBackgroundColor: ColorsWithTransparency.black21,\r\n disabledTextColor: Neutrals.white,\r\n buttonHoverBorderColor: 'transparent',\r\n buttonTextHoverColor: Neutrals.white,\r\n buttonHoverColor: isMacOS ? mediumBlue : PlatformColor('SystemAccentColorDark1'),\r\n buttonBorderColor: 'transparent',\r\n disabledButtonBorderColor: 'transparent',\r\n buttonTextPressedColor: Neutrals.white\r\n },\r\n successButton: {\r\n backgroundColor: Basic.successGreenLight,\r\n textColor: Neutrals.white,\r\n disabledBackgroundColor: ColorsWithTransparency.black21,\r\n disabledTextColor: Neutrals.white,\r\n buttonHoverBorderColor: 'transparent',\r\n buttonTextHoverColor: Neutrals.white,\r\n buttonHoverColor: Basic.successGreenLight,\r\n buttonBorderColor: 'transparent',\r\n disabledButtonBorderColor: 'transparent',\r\n buttonTextPressedColor: Neutrals.white\r\n },\r\n errorButton: {\r\n backgroundColor: Shared.redOrange10,\r\n textColor: Neutrals.white,\r\n disabledBackgroundColor: ColorsWithTransparency.black21,\r\n disabledTextColor: Neutrals.white,\r\n buttonHoverBorderColor: 'transparent',\r\n buttonTextHoverColor: Neutrals.white,\r\n buttonHoverColor: Shared.red20,\r\n buttonBorderColor: 'transparent',\r\n disabledButtonBorderColor: 'transparent',\r\n buttonTextPressedColor: Neutrals.white\r\n },\r\n dialog: {\r\n backgroundColor: Neutrals.white,\r\n dialogBorderColor: ColorsWithTransparency.black04,\r\n dialogButtonContainerBorderColor: ColorsWithTransparency.black04,\r\n buttonBackgroundColor: Neutrals.gray19,\r\n overlayColor: ColorsWithTransparency.black30,\r\n commonModalBackgroundColor: Neutrals.white\r\n },\r\n transparentButton: {\r\n backgroundColor: 'transparent',\r\n textColor: Neutrals.gray160,\r\n disabledBackgroundColor: 'transparent',\r\n disabledTextColor: ColorsWithTransparency.black36,\r\n buttonHoverBorderColor: 'transparent',\r\n buttonTextHoverColor: Neutrals.gray190,\r\n buttonHoverColor: ColorsWithTransparency.gray25,\r\n buttonBorderColor: 'transparent',\r\n disabledButtonBorderColor: 'transparent',\r\n buttonTextPressedColor: Neutrals.gray190,\r\n buttonPressedColor: Neutrals.gray50\r\n },\r\n footerButton: {\r\n backgroundColor: 'transparent',\r\n textColor: Neutrals.gray160,\r\n disabledBackgroundColor: 'transparent',\r\n disabledTextColor: ColorsWithTransparency.black36,\r\n buttonHoverBorderColor: 'transparent',\r\n buttonTextHoverColor: Neutrals.gray190,\r\n buttonHoverColor: Neutrals.gray40,\r\n buttonBorderColor: 'transparent',\r\n disabledButtonBorderColor: 'transparent',\r\n buttonTextPressedColor: Neutrals.gray190,\r\n buttonPressedColor: Neutrals.gray50\r\n },\r\n progressBar: {\r\n progressTotalBar: ColorsWithTransparency.black60,\r\n progressNormal: QuotaLight.normalPrimary,\r\n progressBarWarning: Basic.brown,\r\n progressBarError: QuotaLight.critical\r\n },\r\n popover: {\r\n popoverBorderColor: Neutrals.gray50,\r\n backgroundColor: Neutrals.white\r\n },\r\n vaultWizard: {\r\n primaryTextColor: Comm.Primary,\r\n secondaryTextColor: Fabric.neutralSecondaryAlt,\r\n bulletTextColor: Fabric.neutralPrimary\r\n },\r\n toast: {\r\n backgroundColor: Neutrals.gray160,\r\n textColor: Neutrals.white,\r\n linkColor: Basic.blueLight2,\r\n dismissButtonHoverColor: ColorsWithTransparency.lighterGray30,\r\n dismissButtonPressedColor: ColorsWithTransparency.gray30\r\n },\r\n errorBar: {\r\n backgroundColor: OneOff.errorBackground,\r\n textColor: Basic.redDark\r\n },\r\n infoBar: {\r\n backgroundColor: OneOff.successBackground,\r\n textColor: Basic.green\r\n }\r\n};\r\n\r\n// On Mac, layer system semantic colors (PlatformColor) on top of the base\r\n// theme so every consumer of `ICommonTheme` automatically picks up native\r\n// colors that adapt to light/dark/accent. The override is empty on Windows.\r\nexport const CommonLightTheme: ICommonTheme = {\r\n ...baseCommonLightTheme,\r\n ...macCommonOverrides,\r\n button: { ...baseCommonLightTheme.button, ...(macCommonOverrides.button ?? {}) },\r\n link: { ...baseCommonLightTheme.link, ...(macCommonOverrides.link ?? {}) },\r\n dropdown: { ...baseCommonLightTheme.dropdown, ...(macCommonOverrides.dropdown ?? {}) },\r\n textInput: { ...baseCommonLightTheme.textInput, ...(macCommonOverrides.textInput ?? {}) },\r\n primaryButton: { ...baseCommonLightTheme.primaryButton, ...(macCommonOverrides.primaryButton ?? {}) },\r\n successButton: { ...baseCommonLightTheme.successButton, ...(macCommonOverrides.successButton ?? {}) },\r\n errorButton: { ...baseCommonLightTheme.errorButton, ...(macCommonOverrides.errorButton ?? {}) },\r\n transparentButton: {\r\n ...baseCommonLightTheme.transparentButton,\r\n ...(macCommonOverrides.transparentButton ?? {})\r\n },\r\n footerButton: { ...baseCommonLightTheme.footerButton, ...(macCommonOverrides.footerButton ?? {}) },\r\n dialog: { ...baseCommonLightTheme.dialog, ...(macCommonOverrides.dialog ?? {}) },\r\n popover: { ...baseCommonLightTheme.popover, ...(macCommonOverrides.popover ?? {}) },\r\n toast: { ...baseCommonLightTheme.toast, ...(macCommonOverrides.toast ?? {}) }\r\n};\r\n","/************************************************************ */\r\n/* */\r\n/* Copyright (C) Microsoft Corporation. All rights reserved. */\r\n/* */\r\n/**************************************************************/\r\n// Main Product theme colors for OneDrive\r\n// https://odsp-int.azurewebsites.net/fabric-fluent/#/color/products\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\nexport const Comm = {\r\n Shade30: '#004578',\r\n Shade20: '#005a9e',\r\n Shade10: '#106ebe',\r\n Primary: '#0078d4',\r\n Tint10: '#2b88d8',\r\n Tint30: '#c7e0f4',\r\n Tint40: '#deecf9',\r\n Tint50: '#eff6fc'\r\n};\r\n\r\n// Generic shades of gray\r\n// https://odsp-int.azurewebsites.net/fabric-fluent/#/color/products\r\nexport const Neutrals = {\r\n black: '#000000',\r\n gray200: '#1b1a19',\r\n gray191: '#202020',\r\n gray190: '#201f1e',\r\n gray180: '#252423',\r\n gray171: '#272727',\r\n gray170: '#292827',\r\n gray167: '#2b2b2b',\r\n gray166: '#2d2d2d',\r\n gray165: '#2f2f2f',\r\n gray160: '#323130',\r\n gray155: '#383838',\r\n gray150: '#3b3a39',\r\n gray149: '#3c3c3c',\r\n gray148: '#3b3b3b',\r\n gray141: '#484848',\r\n gray140: '#484644',\r\n gray130: '#605e5c',\r\n gray120: '#797775',\r\n gray110: '#8a8886',\r\n gray100: '#979593',\r\n gray95: '#9c9c9c',\r\n gray90: '#a19f9d',\r\n gray80: '#b3b0ad',\r\n gray70: '#bebbb8',\r\n gray60: '#c8c6c4',\r\n gray50: '#d2d0ce',\r\n gray47: '#dbd9d8',\r\n gray40: '#e1dfdd',\r\n gray32: '#efefef',\r\n gray31: '#ededed',\r\n gray30: '#edebe9',\r\n gray25: '#f0f0f0',\r\n gray20: '#f3f2f1',\r\n gray19: '#f3f3f3',\r\n gray15: '#f9f9f9',\r\n gray10: '#faf9f8',\r\n gray5: '#fdfdfd',\r\n white: '#ffffff'\r\n};\r\n\r\nexport const ColorsWithTransparency = {\r\n // #000000 with transparency\r\n black90: 'rgba(0, 0, 0, 0.9)',\r\n black89: 'rgba(0, 0, 0, 0.8956)',\r\n black61: 'rgba(0, 0, 0, 0.61)',\r\n black606: 'rgba(0, 0, 0, 0.6063)',\r\n black60: 'rgba(0, 0, 0, 0.6)',\r\n black44: 'rgba(0, 0, 0, 0.4458)',\r\n black36: 'rgba(0, 0, 0, 0.36)',\r\n black30: 'rgba(0, 0, 0, 0.3)',\r\n black22: 'rgba(0, 0, 0, 0.22)',\r\n black21: 'rgba(0, 0, 0, 0.2169)',\r\n black20: 'rgba(0, 0, 0, 0.2)',\r\n black10: 'rgba(0, 0, 0, 0.1)',\r\n black09: 'rgba(0, 0, 0, 0.09)',\r\n black06: 'rgba(0, 0, 0, 0.06)',\r\n black05: 'rgba(0, 0, 0, 0.0578)',\r\n black04: 'rgba(0, 0, 0, 0.04)',\r\n black03: 'rgba(0, 0, 0, 0.0373)',\r\n black02: 'rgba(0, 0, 0, 0.02)',\r\n // #1e1e1e with transparency\r\n darkGray70: 'rgba(30, 30, 30, 0.7)',\r\n // #323130 with transparency\r\n gray160: 'rgba(50, 49, 48, 0.16)',\r\n // #3a3a3a with transparency\r\n gray30: 'rgba(58, 58, 58, 0.3)',\r\n // #f0f0f0 with transparency\r\n gray25: 'rgba(240, 240, 240, 0.3)',\r\n // #f3f2f1 with transparency\r\n gray20: 'rgba(243, 242, 241, 0.3)',\r\n // #005fb8 with transparency\r\n blue90: 'rgba(0, 95, 184, 0.9)',\r\n blue80: 'rgba(0, 95, 184, 0.8)',\r\n // #60CDFF with transparency\r\n lightBlue90: 'rgba(96, 205, 255, 0.9)',\r\n lightBlue80: 'rgba(96, 205, 255, 0.8)',\r\n // #f6f6f6 with transparency\r\n lightGray80: 'rgba(246, 246, 246, 0.8)',\r\n lighterGray60: 'rgba(246, 246, 246, 0.5)',\r\n // #f9f9f9 with transparency\r\n lighterGray50: 'rgba(249, 249, 249, 0.5)',\r\n lighterGray30: 'rgba(249, 249, 249, 0.3)',\r\n // #ffffff with transparency\r\n white90: 'rgba(255, 255, 255, 0.9)',\r\n white79: 'rgba(255, 255, 255, 0.79)',\r\n white70: 'rgba(255, 255, 255, 0.7)',\r\n white60: 'rgba(255, 255, 255, 0.6)',\r\n white53: 'rgba(255, 255, 255, 0.53)',\r\n white362: 'rgba(255, 255, 255, 0.3628)',\r\n white36: 'rgba(255, 255, 255, 0.36)',\r\n white20: 'rgba(255, 255, 255, 0.2)',\r\n white16: 'rgba(255, 255, 255, 0.16)',\r\n white08: 'rgba(255, 255, 255, 0.0837)',\r\n white07: 'rgba(255, 255, 255, 0.07)',\r\n white0605: 'rgba(255, 255, 255, 0.0605)',\r\n white06: 'rgba(255, 255, 255, 0.06)',\r\n white05: 'rgba(255, 255, 255, 0.0512)',\r\n white041: 'rgba(255, 255, 255, 0.0419)',\r\n white04: 'rgba(255, 255, 255, 0.04)',\r\n white03: 'rgba(255, 255, 255, 0.0326)',\r\n white00: 'rgba(255, 255, 255, 0)'\r\n};\r\n\r\n// Fluent common shared colors\r\n// https://odsp-int.azurewebsites.net/fabric-fluent/#/color/shared\r\nexport const Shared = {\r\n pinkRed10: '#750b1c',\r\n red20: '#a4262c',\r\n red10: '#d13438',\r\n redOrange10: '#da3b01',\r\n orange30: '#8e562e',\r\n orange20: '#ca5010',\r\n orange10: '#ffaa44',\r\n yellow10: '#fce100',\r\n orangeYellow20: '#986f0b',\r\n orangeYellow10: '#c19c00',\r\n yellowGreen10: '#8cbd18',\r\n green20: '#0b6a0b',\r\n green10: '#498205',\r\n greenCyan10: '#00ad56',\r\n cyan30: '#005b70',\r\n cyan20: '#038387',\r\n cyan10: '#00b7c3',\r\n cyanBlue20: '#004e8c',\r\n cyanBlue10: '#2472EC',\r\n blue10: '#4f6bed',\r\n blueMagenta30: '#5c2e91',\r\n blueMagenta20: '#8764b8',\r\n blueMagenta10: '#8378de',\r\n magenta20: '#881798',\r\n magenta10: '#c239b3',\r\n magentaPink20: '#9b0062',\r\n magentaPink10: '#e3008c',\r\n gray40: '#393939',\r\n gray30: '#7a7574',\r\n gray20: '#69797e',\r\n gray10: '#a0aeb2'\r\n};\r\n\r\n// Theme color blue for use on dark backgrounds\r\nexport const DarkThemeBlue = {\r\n themeDarker: '#6CB8F6',\r\n themeDark: '#a9d3f2',\r\n dtblue65: '#0A84FF',\r\n themeDarkAlt: '#2899F5',\r\n themePrimary: '#3a96dd',\r\n themeSecondary: '#3385c3',\r\n newThemeSecondary: '#004C87',\r\n themeTertiarty: '#005ba1',\r\n themeLight: '#004174',\r\n themeLighter: '#002d4e',\r\n themeLighterAlt: '#0e1e2e'\r\n};\r\n\r\nexport const Fabric = {\r\n themeDarker: '#004578',\r\n themeDark: '#005a9e',\r\n themeDarkAlt: '#106ebe',\r\n themePrimary: '#0078d7',\r\n themeSecondary: '#2b88d8',\r\n themeTertiary: '#71afe5',\r\n themeLight: '#c7e0f4',\r\n themeLighter: '#deecf9',\r\n themeLighterAlt: '#eff6fc',\r\n neutralDark: '#212121',\r\n neutralPrimary: '#333333',\r\n neutralPrimaryAlt: '#3C3C3C',\r\n neutralSecondary: '#666666',\r\n neutralSecondaryAlt: '#767676',\r\n neutralTertiary: '#a6a6a6',\r\n neutralTertiaryAlt: '#c8c8c8',\r\n neutralLight: '#eaeaea',\r\n neutralLightAlt: '#e1dfdd',\r\n neutralLighter: '#f4f4f4',\r\n neutralLighterAlt: '#f8f8f8'\r\n};\r\n\r\nexport const Basic = {\r\n transparentHex: '#00000000',\r\n white: '#ffffff',\r\n black: '#000000',\r\n brown: '#835800',\r\n yellow: '#ffb900',\r\n yellowLight: '#fff100',\r\n yellowPale: '#fff4ce',\r\n yellowDark: '#4d3a00',\r\n orange: '#d83b01',\r\n orangeLight: '#ea4300',\r\n orangeLighter: '#ff8c00',\r\n redDarker: '#7f0000',\r\n redDark: '#a80000',\r\n redLight: '#ff4343',\r\n red: '#e81123',\r\n magentaDark: '#5c005c',\r\n magenta: '#b4009e',\r\n magentaLight: '#e3008c',\r\n purpleDark: '#32145a',\r\n purple: '#5c2d91',\r\n purpleLight: '#b4a0ff',\r\n blueDark: '#002050',\r\n blueDark2: '#001A68',\r\n blueMid: '#00188f',\r\n blueMid2: '#005FB8',\r\n blueMid3: '#003E92',\r\n blue: '#0078d7',\r\n blueLight: '#00bcf2',\r\n blueLight2: '#60CDFF',\r\n blueLight3: '#99EBFF',\r\n tealDark: '#004b50',\r\n teal: '#008272',\r\n tealLight: '#00b294',\r\n greenDark: '#004b1c',\r\n green: '#107c10',\r\n greenLight: '#bad80a',\r\n successGreenLight: '#0F7B0F',\r\n successGreenDark: '#6CCB5F'\r\n};\r\n\r\n// Single-use colors for specific UI surfaces\r\nexport const OneOff = {\r\n successBackground: '#dff6dd',\r\n successBackgroundDark: '#243d25',\r\n alertBackground: '#fed9cc',\r\n errorBackground: '#fde7e9',\r\n errorBackgroundDark: '#442726',\r\n errorBackgroundActiveFocus: '#f2cdd0',\r\n warningBackground: '#fff4cf',\r\n warningBackgroundActiveFocus: '#fff4ad',\r\n warningBackgroundDark: '#433519',\r\n warningBackgroundDarkActiveFocus: '#55492f',\r\n upsellBackground: '#fff1cc',\r\n upsellBackgroundActiveFocus: '#f2ead5',\r\n contrastBlackDisabled: '#00ff00',\r\n contrastWhiteDisabled: '#600000',\r\n contrastBlackSelected: '#1AEBFF',\r\n contrastWhiteSelected: '#37006E',\r\n contrastBlackLink: '#8080ff',\r\n contrastWhiteLink: '#00009F',\r\n premiumGreen: '#107C0F',\r\n mac_border: '#646464',\r\n acm_dismiss_hover: '#cccccc',\r\n acm_dismiss_pressed: '#999999',\r\n acm_dark_background: '#0f3252',\r\n error_history_item_dark: '#F1707B',\r\n errorBadgeBackground: '#D03728',\r\n errorBadgeBackgroundDark: '#FF99A4'\r\n};\r\n\r\n// Windows USQ Quota colors\r\nexport const QuotaLight = {\r\n normalPrimary: '#0f6cbd',\r\n normal: '#ffffff',\r\n normalHover: '#F5F5F5',\r\n normalPressed: '#E0E0E0',\r\n nearing: '#835B00',\r\n nearingHover: '#463100',\r\n nearingPressed: '#251A00',\r\n critical: '#9F282B',\r\n criticalHover: '#751D1F',\r\n criticalPressed: '#3F1011',\r\n link: '#424242'\r\n};\r\n\r\n// Windows USQ Quota colors\r\nexport const QuotaDark = {\r\n normalPrimary: '#479EF5',\r\n normal: '#2D2D2D',\r\n normalHover: '#202020',\r\n normalPressed: '#080808',\r\n nearing: '#F2C661',\r\n nearingHover: '#EFB839',\r\n nearingPressed: '#EDAD1C',\r\n critical: '#E37D80',\r\n criticalHover: '#DC5E62',\r\n criticalPressed: '#D7494C',\r\n link: '#D6D6D6'\r\n};\r\n","/**\r\n * Mac-only overrides for ICommonTheme.\r\n *\r\n * Uses macOS semantic colors via `PlatformColor(...)` so values auto-adapt to\r\n * the user's appearance (light / dark / increased contrast) and chosen accent.\r\n * The result is a partial `ICommonTheme` that callers spread into\r\n * `CommonLightTheme` and `CommonDarkTheme` only when `isMacOS === true`.\r\n *\r\n * Important: every `PlatformColor` invocation here only references NSColor\r\n * named values. On Windows these never execute because consumers gate the\r\n * import on `isMacOS`.\r\n */\r\nimport { PlatformColor } from 'react-native';\r\nimport { ICommonTheme } from './ICommonTheme';\r\nimport { isMacOS } from './macTokens';\r\n\r\ntype CommonOverridePatch = Partial;\r\n\r\nfunction buildCommonMacOverrides(): CommonOverridePatch {\r\n const accent = PlatformColor('controlAccentColor');\r\n const label = PlatformColor('labelColor');\r\n const secondaryLabel = PlatformColor('secondaryLabelColor');\r\n const tertiaryLabel = PlatformColor('tertiaryLabelColor');\r\n const separator = PlatformColor('separatorColor');\r\n const controlBg = PlatformColor('controlBackgroundColor');\r\n // Neutral grey fill for disabled controls; visible against windowBg in\r\n // both modes (controlColor is white in light, blends into the dialog).\r\n const disabledControlFill = PlatformColor('unemphasizedSelectedContentBackgroundColor');\r\n const windowBg = PlatformColor('windowBackgroundColor');\r\n const underPageBg = PlatformColor('underPageBackgroundColor');\r\n const link = PlatformColor('linkColor');\r\n const placeholder = PlatformColor('placeholderTextColor');\r\n const textBackground = PlatformColor('textBackgroundColor');\r\n const systemRed = PlatformColor('systemRedColor');\r\n const systemGreen = PlatformColor('systemGreenColor');\r\n const selectedContentBg = PlatformColor('selectedContentBackgroundColor');\r\n // Adapts to user accent + Increase Contrast; replaces hardcoded white.\r\n const alternateSelectedControlText = PlatformColor('alternateSelectedControlTextColor');\r\n const transparent = 'transparent';\r\n\r\n return {\r\n bodyTextColor: label as unknown as string,\r\n headerTextColor: label as unknown as string,\r\n syncStatusTextColor: secondaryLabel as unknown as string,\r\n button: {\r\n // Secondary button base: keep the dialog-surface fill so light/dark\r\n // adapt automatically. The visible \"gray button\" affordance is added\r\n // by an idle overlay rendered in CommonButton.tsx; pressed darkens it.\r\n buttonColor: controlBg as unknown as string,\r\n buttonColorHover: controlBg as unknown as string,\r\n buttonColorPress: controlBg as unknown as string,\r\n buttonColorDisabled: disabledControlFill as unknown as string,\r\n buttonTextColor: label as unknown as string,\r\n buttonTextHover: label as unknown as string,\r\n buttonTextPressed: label as unknown as string,\r\n buttonTextDisabled: tertiaryLabel as unknown as string,\r\n // Borderless on Mac per Tahoe spec — fill + overlay alone define the button.\r\n buttonBorderColor: transparent,\r\n buttonBorderHover: transparent,\r\n buttonBorderPress: transparent,\r\n iconTintColor: label as unknown as string\r\n },\r\n link: {\r\n linkTextColor: link,\r\n linkHover: link,\r\n linkPressed: link,\r\n linkHoverBackgroundColor: transparent\r\n },\r\n dropdown: {\r\n dropdownBackgroundColor: controlBg as unknown as string,\r\n dropdownBackgroundColorHover: selectedContentBg as unknown as string\r\n },\r\n radioButton: {\r\n // Outer ring + inner dot use AppKit semantics so light/dark adapt\r\n // automatically and match other native controls in the wizard.\r\n radioButtonFill: controlBg as unknown as string,\r\n radioButtonNormal: controlBg as unknown as string,\r\n radioButtonHover: controlBg as unknown as string,\r\n radioButtonPressed: controlBg as unknown as string,\r\n radioButtonBorder: secondaryLabel as unknown as string,\r\n radioButtonBorderHover: label as unknown as string,\r\n radioButtonBorderPressed: label as unknown as string,\r\n radioButtonInnerFill: alternateSelectedControlText as unknown as string,\r\n radioButtonHoverInnerFill: alternateSelectedControlText as unknown as string,\r\n radioButtonInnerPressed: alternateSelectedControlText as unknown as string,\r\n radioButtonInnerSelectedPressed: alternateSelectedControlText as unknown as string,\r\n radioButtonSelected: accent as unknown as string,\r\n radioButtonSelectedHover: accent as unknown as string,\r\n radioButtonSelectedPressed: accent as unknown as string,\r\n radioButtonBorderSelected: accent as unknown as string,\r\n radioButtonBorderSelectedHover: accent as unknown as string,\r\n // Disabled state mirrors disabled buttons: neutral grey ring/fill.\r\n radioButtonDisabled: disabledControlFill as unknown as string,\r\n radioButtonInnerDisabled: tertiaryLabel as unknown as string,\r\n radioButtonSelectedDisabled: disabledControlFill as unknown as string,\r\n radioButtonBorderDisabled: tertiaryLabel as unknown as string,\r\n radioButtonBorderSelectedDisabled: tertiaryLabel as unknown as string\r\n },\r\n textInput: {\r\n textInputErrorBorderColor: systemRed as unknown as string,\r\n textInputBorderColor: separator as unknown as string,\r\n textInputBackgroundColor: textBackground as unknown as string,\r\n textInputTextColor: label as unknown as string,\r\n textInputDisabledBackgroundColor: controlBg as unknown as string,\r\n textInputDisabledTextColor: tertiaryLabel as unknown as string,\r\n textInputBorderFocusedColor: accent as unknown as string,\r\n textInputFocusBackgroundColor: textBackground as unknown as string,\r\n textInputPlaceholderTextColor: placeholder as unknown as string,\r\n textInputPlaceholderFocusedTextColor: placeholder as unknown as string\r\n },\r\n primaryButton: {\r\n backgroundColor: accent,\r\n textColor: alternateSelectedControlText as unknown as string,\r\n disabledBackgroundColor: disabledControlFill as unknown as string,\r\n disabledTextColor: tertiaryLabel as unknown as string,\r\n buttonHoverBorderColor: transparent,\r\n buttonTextHoverColor: alternateSelectedControlText as unknown as string,\r\n buttonHoverColor: accent,\r\n buttonBorderColor: transparent,\r\n disabledButtonBorderColor: transparent,\r\n buttonTextPressedColor: alternateSelectedControlText as unknown as string\r\n },\r\n successButton: {\r\n backgroundColor: systemGreen,\r\n // systemGreen is bright in both light and dark modes; black gives ~9.9:1\r\n // contrast (passes WCAG AAA) where white only manages ~2.1:1.\r\n textColor: '#000000',\r\n disabledBackgroundColor: disabledControlFill as unknown as string,\r\n disabledTextColor: tertiaryLabel as unknown as string,\r\n buttonHoverBorderColor: transparent,\r\n buttonTextHoverColor: '#000000',\r\n buttonHoverColor: systemGreen,\r\n buttonBorderColor: transparent,\r\n disabledButtonBorderColor: transparent,\r\n buttonTextPressedColor: '#000000'\r\n },\r\n errorButton: {\r\n backgroundColor: systemRed,\r\n textColor: alternateSelectedControlText as unknown as string,\r\n disabledBackgroundColor: disabledControlFill as unknown as string,\r\n disabledTextColor: tertiaryLabel as unknown as string,\r\n buttonHoverBorderColor: transparent,\r\n buttonTextHoverColor: alternateSelectedControlText as unknown as string,\r\n buttonHoverColor: systemRed,\r\n buttonBorderColor: transparent,\r\n disabledButtonBorderColor: transparent,\r\n buttonTextPressedColor: alternateSelectedControlText as unknown as string\r\n },\r\n transparentButton: {\r\n backgroundColor: transparent,\r\n textColor: label as unknown as string,\r\n disabledBackgroundColor: transparent,\r\n disabledTextColor: tertiaryLabel as unknown as string,\r\n buttonHoverBorderColor: transparent,\r\n buttonTextHoverColor: label as unknown as string,\r\n buttonHoverColor: selectedContentBg,\r\n buttonBorderColor: transparent,\r\n disabledButtonBorderColor: transparent,\r\n buttonTextPressedColor: label as unknown as string,\r\n buttonPressedColor: underPageBg\r\n },\r\n footerButton: {\r\n backgroundColor: transparent,\r\n textColor: secondaryLabel as unknown as string,\r\n disabledBackgroundColor: transparent,\r\n disabledTextColor: tertiaryLabel as unknown as string,\r\n buttonHoverBorderColor: transparent,\r\n buttonTextHoverColor: label as unknown as string,\r\n buttonHoverColor: selectedContentBg,\r\n buttonBorderColor: transparent,\r\n disabledButtonBorderColor: transparent,\r\n buttonTextPressedColor: label as unknown as string,\r\n buttonPressedColor: underPageBg\r\n },\r\n dialog: {\r\n backgroundColor: windowBg as unknown as string,\r\n dialogBorderColor: separator as unknown as string,\r\n // Action bar uses a transparent strip with a hairline separator on Mac\r\n // (drawn by the CommonModal); keep the legacy \"container background\"\r\n // transparent so it doesn't paint the heavy gray bar Windows uses.\r\n dialogButtonContainerBorderColor: separator as unknown as string,\r\n buttonBackgroundColor: transparent,\r\n overlayColor: 'rgba(0, 0, 0, 0.35)',\r\n commonModalBackgroundColor: windowBg as unknown as string\r\n },\r\n popover: {\r\n popoverBorderColor: separator as unknown as string,\r\n backgroundColor: windowBg as unknown as string\r\n },\r\n toast: {\r\n backgroundColor: windowBg as unknown as string,\r\n textColor: label as unknown as string,\r\n linkColor: link as unknown as string,\r\n dismissButtonHoverColor: selectedContentBg as unknown as string,\r\n dismissButtonPressedColor: underPageBg as unknown as string\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Mac overrides for the common theme. Empty object on non-Mac platforms so\r\n * spreading it is a no-op for Windows.\r\n */\r\nexport const macCommonOverrides: CommonOverridePatch = isMacOS ? buildCommonMacOverrides() : {};\r\n\r\n/**\r\n * Mac-only overrides for the KFM dialog theme. Maps Fluent gray surfaces and\r\n * borders onto AppKit semantic colors so the sheet looks native in light/dark.\r\n * Spread into both LightTheme and DarkTheme of `kfmMoveView`.\r\n */\r\nexport interface IMacKfmOverridePatch {\r\n frameBackgroundColor: string;\r\n innerFrameBackgroundColor: string;\r\n bottomFrameBackgroundColor: string;\r\n borderColor: string;\r\n storageBackgroundColor: string;\r\n storageBorderColor: string;\r\n fileListBackgroundColor: string;\r\n fileListBorderColor: string;\r\n}\r\n\r\nfunction buildKfmMacOverrides(): IMacKfmOverridePatch {\r\n const separator = PlatformColor('separatorColor') as unknown as string;\r\n const controlBg = PlatformColor('controlBackgroundColor') as unknown as string;\r\n const windowBg = PlatformColor('windowBackgroundColor') as unknown as string;\r\n return {\r\n frameBackgroundColor: windowBg,\r\n innerFrameBackgroundColor: windowBg,\r\n bottomFrameBackgroundColor: windowBg,\r\n borderColor: separator,\r\n storageBackgroundColor: controlBg,\r\n storageBorderColor: separator,\r\n fileListBackgroundColor: controlBg,\r\n fileListBorderColor: separator\r\n };\r\n}\r\n\r\nexport const macKfmOverrides: Partial = isMacOS ? buildKfmMacOverrides() : {};\r\n","/**\r\n * Mac-only shape tokens and OS-version helpers.\r\n *\r\n * Centralizes the small set of geometry / typography values that make an RN\r\n * surface feel Mac-native (button radius, sheet radius, action-bar layout,\r\n * default font size, etc.). All consumers should gate usage on `isMacOS` so\r\n * these tokens never leak into Windows code paths.\r\n *\r\n * Version awareness: macOS 26 (\"Tahoe\" / Liquid Glass) introduces a noticeably\r\n * softer, more rounded chrome. We layer those deltas on top of a base mac look\r\n * so older macOS users still get a clean Big Sur-flavored treatment.\r\n */\r\nimport { Platform, ViewStyle, TextStyle, PlatformColor, OpaqueColorValue } from 'react-native';\r\n\r\nexport const isMacOS = Platform.OS === 'macos';\r\n\r\n/**\r\n * Parses the major version out of `Platform.constants.osVersion`. On\r\n * react-native-macos this is a string like \"14.5.0\" or \"26.0\". Returns 0 when\r\n * not on macOS or when the version string is missing / malformed so callers\r\n * can treat 0 as \"no version-specific styling.\"\r\n */\r\nfunction detectMacOSMajorVersion(): number {\r\n if (!isMacOS) {\r\n return 0;\r\n }\r\n const constants = Platform.constants as { osVersion?: string } | undefined;\r\n const raw = constants?.osVersion;\r\n if (typeof raw !== 'string' || raw.length === 0) {\r\n return 0;\r\n }\r\n const parsed = parseInt(raw.split('.')[0], 10);\r\n return Number.isFinite(parsed) ? parsed : 0;\r\n}\r\n\r\nexport const macOSMajorVersion: number = detectMacOSMajorVersion();\r\n\r\n/**\r\n * True when running on macOS 26 (Tahoe / Liquid Glass) or later. Used to bump\r\n * corner radii and spacing toward the more rounded modern look while leaving\r\n * older macOS users with the existing flatter geometry.\r\n */\r\nexport const isMacOSTahoeOrLater: boolean = isMacOS && macOSMajorVersion >= 26;\r\n\r\n/**\r\n * Shape and typography tokens applied across Mac-styled components. Read\r\n * via the helpers below; never read the raw bag from a component.\r\n */\r\nexport interface IMacShapeTokens {\r\n /** Corner radius for control surfaces like buttons. */\r\n buttonRadius: number;\r\n /** Corner radius for modal sheets / dialogs. */\r\n sheetRadius: number;\r\n /** Horizontal padding inside buttons. */\r\n buttonPaddingH: number;\r\n /** Min height of standard buttons. */\r\n buttonMinHeight: number;\r\n /** Min width of standard buttons. */\r\n buttonMinWidth: number;\r\n /** Height of the action bar at the bottom of a dialog / wizard frame. */\r\n actionBarHeight: number;\r\n /** Horizontal gap between buttons in the action bar. */\r\n actionBarButtonGap: number;\r\n /** Hairline thickness for dividers (uses fractional pixel for Mac feel). */\r\n hairlineWidth: number;\r\n /** Default body text size. */\r\n defaultFontSize: number;\r\n /** Default title text size. */\r\n defaultTitleFontSize: number;\r\n /** Corner radius for text inputs. */\r\n textInputRadius: number;\r\n /** Min height of text inputs. */\r\n textInputMinHeight: number;\r\n}\r\n\r\nconst BASE_TOKENS: IMacShapeTokens = {\r\n buttonRadius: 5,\r\n sheetRadius: 10,\r\n buttonPaddingH: 14,\r\n buttonMinHeight: 28,\r\n buttonMinWidth: 80,\r\n actionBarHeight: 56,\r\n actionBarButtonGap: 8,\r\n hairlineWidth: 0.5,\r\n defaultFontSize: 13,\r\n defaultTitleFontSize: 17,\r\n textInputRadius: 5,\r\n textInputMinHeight: 24\r\n};\r\n\r\nconst TAHOE_DELTA: Partial = {\r\n // Tahoe spec: 6pt button radius (per macOS 26 Figma toolkit).\r\n buttonRadius: 6,\r\n sheetRadius: 16,\r\n buttonPaddingH: 16,\r\n // buttonMinHeight stays at 28 (BASE_TOKENS) — matches AppKit \"Regular\".\r\n actionBarHeight: 60,\r\n textInputRadius: 8,\r\n textInputMinHeight: 26\r\n};\r\n\r\nexport const MAC_SHAPE: Readonly = Object.freeze({\r\n ...BASE_TOKENS,\r\n ...(isMacOSTahoeOrLater ? TAHOE_DELTA : {})\r\n});\r\n\r\n/**\r\n * Returns a `ViewStyle` patch when running on Mac, or an empty object on\r\n * Windows. Lets a component spread `{...someStyle, ...macStyle(...)}` without\r\n * branching on `Platform.OS` inline.\r\n */\r\nexport function macStyle(style: ViewStyle): ViewStyle | object {\r\n return isMacOS ? style : {};\r\n}\r\n\r\n/** TextStyle equivalent of `macStyle`. */\r\nexport function macTextStyle(style: TextStyle): TextStyle | object {\r\n return isMacOS ? style : {};\r\n}\r\n\r\n/**\r\n * Convenience constants for the most commonly used Mac semantic colors.\r\n * Wrapped in functions so non-Mac platforms never evaluate `PlatformColor`\r\n * (which would yield a normalized 0 color and clutter snapshots). Callers\r\n * should still gate consumption on `isMacOS`.\r\n */\r\nexport const MacSemanticColors = {\r\n controlAccent: (): OpaqueColorValue => PlatformColor('controlAccentColor'),\r\n windowBackground: (): OpaqueColorValue => PlatformColor('windowBackgroundColor'),\r\n underPageBackground: (): OpaqueColorValue => PlatformColor('underPageBackgroundColor'),\r\n controlBackground: (): OpaqueColorValue => PlatformColor('controlBackgroundColor'),\r\n label: (): OpaqueColorValue => PlatformColor('labelColor'),\r\n secondaryLabel: (): OpaqueColorValue => PlatformColor('secondaryLabelColor'),\r\n tertiaryLabel: (): OpaqueColorValue => PlatformColor('tertiaryLabelColor'),\r\n quaternaryLabel: (): OpaqueColorValue => PlatformColor('quaternaryLabelColor'),\r\n separator: (): OpaqueColorValue => PlatformColor('separatorColor'),\r\n link: (): OpaqueColorValue => PlatformColor('linkColor'),\r\n selectedContentBackground: (): OpaqueColorValue => PlatformColor('selectedContentBackgroundColor'),\r\n systemRed: (): OpaqueColorValue => PlatformColor('systemRedColor'),\r\n systemGreen: (): OpaqueColorValue => PlatformColor('systemGreenColor')\r\n};\r\n","import {\r\n Basic,\r\n ColorsWithTransparency,\r\n DarkThemeBlue,\r\n Neutrals,\r\n OneOff,\r\n Shared,\r\n QuotaDark\r\n} from '../assets/colors';\r\nimport { ICommonTheme } from './ICommonTheme';\r\nimport { ThemeName } from './themeUtils';\r\nimport { PlatformColor, Platform } from 'react-native';\r\nimport { macCommonOverrides } from './MacOverrides';\r\n\r\nconst isMacOS = Platform.OS === 'macos';\r\nconst lightBlue = Basic.blueLight3;\r\nconst mediumBlue = Basic.blueLight2;\r\n\r\nconst baseCommonDarkTheme: ICommonTheme = {\r\n themeName: ThemeName.Dark,\r\n bodyTextColor: Neutrals.white,\r\n headerTextColor: Basic.white,\r\n syncStatusTextColor: Neutrals.gray90,\r\n button: {\r\n buttonColor: ColorsWithTransparency.white0605,\r\n buttonColorPress: ColorsWithTransparency.white03,\r\n buttonColorDisabled: ColorsWithTransparency.white20,\r\n buttonColorHover: ColorsWithTransparency.white08,\r\n buttonTextColor: Neutrals.white, // Same as body text color\r\n buttonTextHover: Neutrals.white, // Same as body text color\r\n buttonTextPressed: ColorsWithTransparency.white79,\r\n buttonTextDisabled: ColorsWithTransparency.white36,\r\n buttonBorderColor: ColorsWithTransparency.black10, // Same as border color\r\n buttonBorderHover: ColorsWithTransparency.black10,\r\n buttonBorderPress: ColorsWithTransparency.black10,\r\n iconTintColor: Neutrals.white\r\n },\r\n link: {\r\n linkTextColor: isMacOS ? lightBlue : PlatformColor('SystemAccentColorLight3'),\r\n linkHover: isMacOS ? lightBlue : PlatformColor('SystemAccentColorLight3'),\r\n linkPressed: isMacOS ? mediumBlue : PlatformColor('SystemAccentColorLight2'),\r\n linkHoverBackgroundColor: ColorsWithTransparency.white0605\r\n },\r\n dropdown: {\r\n dropdownBackgroundColor: ColorsWithTransparency.white0605,\r\n dropdownBackgroundColorHover: ColorsWithTransparency.white08\r\n },\r\n expander: {\r\n expanderBackgroundPressed: ColorsWithTransparency.white04,\r\n expanderBackgroundHover: ColorsWithTransparency.white06,\r\n expanderDisabled: ColorsWithTransparency.white36,\r\n expanderHoveringPressed: ColorsWithTransparency.white79\r\n },\r\n radioButton: {\r\n radioButtonFill: ColorsWithTransparency.black10,\r\n radioButtonInnerFill: Neutrals.black,\r\n radioButtonHover: ColorsWithTransparency.white04,\r\n radioButtonHoverInnerFill: Neutrals.black,\r\n radioButtonBorder: ColorsWithTransparency.white60, // Same as radio button fill\r\n radioButtonNormal: ColorsWithTransparency.white05,\r\n radioButtonSelected: Basic.blueLight2,\r\n radioButtonBorderSelected: Basic.blueLight2,\r\n radioButtonSelectedHover: ColorsWithTransparency.lightBlue90,\r\n radioButtonBorderSelectedHover: ColorsWithTransparency.lightBlue90, // Same as radio button selected hover\r\n radioButtonBorderHover: ColorsWithTransparency.white60,\r\n radioButtonPressed: ColorsWithTransparency.white07,\r\n radioButtonInnerPressed: Neutrals.black,\r\n radioButtonInnerSelectedPressed: Neutrals.black,\r\n radioButtonSelectedPressed: ColorsWithTransparency.lightBlue80,\r\n radioButtonBorderPressed: ColorsWithTransparency.white16,\r\n radioButtonDisabled: ColorsWithTransparency.white00,\r\n radioButtonInnerDisabled: Neutrals.black,\r\n radioButtonSelectedDisabled: ColorsWithTransparency.white16,\r\n radioButtonBorderSelectedDisabled: ColorsWithTransparency.white16, // Same as radio button selected disabled\r\n radioButtonBorderDisabled: ColorsWithTransparency.white16\r\n },\r\n textInput: {\r\n textInputErrorBorderColor: Basic.redDark,\r\n textInputBorderColor: ColorsWithTransparency.black10, // Same as border color\r\n textInputBackgroundColor: ColorsWithTransparency.white0605,\r\n textInputTextColor: ColorsWithTransparency.white90,\r\n textInputDisabledBackgroundColor: ColorsWithTransparency.white041,\r\n textInputDisabledTextColor: ColorsWithTransparency.white362,\r\n textInputBorderFocusedColor: ColorsWithTransparency.black10, // Same as border color\r\n textInputFocusBackgroundColor: ColorsWithTransparency.darkGray70,\r\n textInputPlaceholderTextColor: ColorsWithTransparency.white70,\r\n textInputPlaceholderFocusedTextColor: ColorsWithTransparency.white60\r\n },\r\n primaryButton: {\r\n backgroundColor: isMacOS ? mediumBlue : PlatformColor('SystemAccentColorLight2'),\r\n textColor: Basic.black,\r\n disabledBackgroundColor: ColorsWithTransparency.white20,\r\n disabledTextColor: ColorsWithTransparency.white53,\r\n buttonHoverBorderColor: 'transparent',\r\n buttonTextHoverColor: Basic.black,\r\n buttonHoverColor: isMacOS ? mediumBlue : PlatformColor('SystemAccentColorLight2'),\r\n buttonBorderColor: 'transparent',\r\n disabledButtonBorderColor: 'transparent',\r\n buttonTextPressedColor: Basic.black\r\n },\r\n successButton: {\r\n backgroundColor: Basic.successGreenDark,\r\n textColor: Neutrals.white,\r\n disabledBackgroundColor: ColorsWithTransparency.black21,\r\n disabledTextColor: Neutrals.white,\r\n buttonHoverBorderColor: 'transparent',\r\n buttonTextHoverColor: Neutrals.white,\r\n buttonHoverColor: Basic.successGreenDark,\r\n buttonBorderColor: 'transparent',\r\n disabledButtonBorderColor: 'transparent',\r\n buttonTextPressedColor: Neutrals.white\r\n },\r\n errorButton: {\r\n backgroundColor: Shared.redOrange10,\r\n textColor: Neutrals.white,\r\n disabledBackgroundColor: ColorsWithTransparency.white20,\r\n disabledTextColor: ColorsWithTransparency.white53,\r\n buttonHoverBorderColor: 'transparent',\r\n buttonTextHoverColor: Basic.black,\r\n buttonHoverColor: Shared.red10,\r\n buttonBorderColor: 'transparent',\r\n disabledButtonBorderColor: 'transparent',\r\n buttonTextPressedColor: Basic.black\r\n },\r\n dialog: {\r\n backgroundColor: Neutrals.gray191,\r\n dialogBorderColor: ColorsWithTransparency.white0605,\r\n dialogButtonContainerBorderColor: Neutrals.gray191,\r\n buttonBackgroundColor: Neutrals.gray191,\r\n overlayColor: ColorsWithTransparency.black30,\r\n commonModalBackgroundColor: Neutrals.gray180\r\n },\r\n\r\n transparentButton: {\r\n backgroundColor: 'transparent',\r\n textColor: Neutrals.gray20,\r\n disabledBackgroundColor: 'transparent',\r\n disabledTextColor: ColorsWithTransparency.black36,\r\n buttonHoverBorderColor: 'transparent',\r\n buttonTextHoverColor: Neutrals.gray10,\r\n buttonHoverColor: ColorsWithTransparency.gray160,\r\n buttonBorderColor: 'transparent',\r\n disabledButtonBorderColor: 'transparent',\r\n buttonTextPressedColor: Neutrals.gray20,\r\n buttonPressedColor: Neutrals.gray150\r\n },\r\n footerButton: {\r\n backgroundColor: 'transparent',\r\n textColor: Neutrals.gray20,\r\n disabledBackgroundColor: 'transparent',\r\n disabledTextColor: ColorsWithTransparency.black36,\r\n buttonHoverBorderColor: 'transparent',\r\n buttonTextHoverColor: Neutrals.gray10,\r\n buttonHoverColor: Neutrals.gray160,\r\n buttonBorderColor: 'transparent',\r\n disabledButtonBorderColor: 'transparent',\r\n buttonTextPressedColor: Neutrals.gray20,\r\n buttonPressedColor: Neutrals.gray150\r\n },\r\n progressBar: {\r\n progressTotalBar: ColorsWithTransparency.white60,\r\n progressNormal: QuotaDark.normalPrimary,\r\n progressBarWarning: QuotaDark.nearing,\r\n progressBarError: QuotaDark.critical\r\n },\r\n popover: {\r\n popoverBorderColor: Neutrals.gray50,\r\n backgroundColor: Neutrals.gray171\r\n },\r\n vaultWizard: {\r\n primaryTextColor: DarkThemeBlue.newThemeSecondary,\r\n secondaryTextColor: Neutrals.gray80,\r\n bulletTextColor: Neutrals.white\r\n },\r\n toast: {\r\n backgroundColor: Neutrals.gray20,\r\n textColor: ColorsWithTransparency.black89,\r\n linkColor: Basic.blueMid2,\r\n dismissButtonHoverColor: ColorsWithTransparency.black06,\r\n dismissButtonPressedColor: ColorsWithTransparency.black10\r\n },\r\n errorBar: {\r\n backgroundColor: OneOff.errorBackgroundDark,\r\n textColor: Basic.redLight\r\n },\r\n infoBar: {\r\n backgroundColor: OneOff.successBackgroundDark,\r\n textColor: Basic.successGreenDark\r\n }\r\n};\r\n\r\n// On Mac, layer system semantic colors on top of the base dark theme. Because\r\n// PlatformColor values resolve at draw time, the same override bag works for\r\n// light and dark — the OS picks the appropriate value based on appearance.\r\n// Empty on Windows.\r\nexport const CommonDarkTheme: ICommonTheme = {\r\n ...baseCommonDarkTheme,\r\n ...macCommonOverrides,\r\n button: { ...baseCommonDarkTheme.button, ...(macCommonOverrides.button ?? {}) },\r\n link: { ...baseCommonDarkTheme.link, ...(macCommonOverrides.link ?? {}) },\r\n dropdown: { ...baseCommonDarkTheme.dropdown, ...(macCommonOverrides.dropdown ?? {}) },\r\n textInput: { ...baseCommonDarkTheme.textInput, ...(macCommonOverrides.textInput ?? {}) },\r\n primaryButton: { ...baseCommonDarkTheme.primaryButton, ...(macCommonOverrides.primaryButton ?? {}) },\r\n successButton: { ...baseCommonDarkTheme.successButton, ...(macCommonOverrides.successButton ?? {}) },\r\n errorButton: { ...baseCommonDarkTheme.errorButton, ...(macCommonOverrides.errorButton ?? {}) },\r\n transparentButton: {\r\n ...baseCommonDarkTheme.transparentButton,\r\n ...(macCommonOverrides.transparentButton ?? {})\r\n },\r\n footerButton: { ...baseCommonDarkTheme.footerButton, ...(macCommonOverrides.footerButton ?? {}) },\r\n dialog: { ...baseCommonDarkTheme.dialog, ...(macCommonOverrides.dialog ?? {}) },\r\n popover: { ...baseCommonDarkTheme.popover, ...(macCommonOverrides.popover ?? {}) },\r\n toast: { ...baseCommonDarkTheme.toast, ...(macCommonOverrides.toast ?? {}) }\r\n};\r\n","import { ISystemHighContrastTheme } from '../../common/themes/themeUtils';\r\nimport { ICommonTheme } from './ICommonTheme';\r\nimport { ThemeName } from './themeUtils';\r\n\r\nexport function createCommonHighContrastTheme(\r\n systemTheme: ISystemHighContrastTheme,\r\n themeName: ThemeName\r\n): ICommonTheme {\r\n return {\r\n themeName: themeName,\r\n bodyTextColor: systemTheme.WindowTextColor,\r\n headerTextColor: systemTheme.WindowTextColor,\r\n syncStatusTextColor: systemTheme.HighlightTextColor,\r\n button: {\r\n buttonColor: systemTheme.ButtonFaceColor,\r\n buttonColorPress: systemTheme.HighlightTextColor,\r\n buttonColorDisabled: systemTheme.WindowColor,\r\n buttonColorHover: systemTheme.HighlightTextColor,\r\n buttonTextColor: systemTheme.ButtonTextColor,\r\n buttonTextHover: systemTheme.HighlightColor,\r\n buttonTextPressed: systemTheme.HighlightColor,\r\n buttonTextDisabled: systemTheme.GrayTextColor,\r\n buttonBorderColor: systemTheme.ButtonTextColor,\r\n buttonBorderHover: systemTheme.HighlightColor,\r\n buttonBorderPress: systemTheme.WindowColor,\r\n iconTintColor: systemTheme.WindowTextColor\r\n },\r\n link: {\r\n linkTextColor: systemTheme.HotlightColor,\r\n linkHover: systemTheme.WindowTextColor,\r\n linkPressed: systemTheme.HotlightColor,\r\n linkHoverBackgroundColor: systemTheme.HighlightColor\r\n },\r\n dropdown: {\r\n dropdownBackgroundColor: systemTheme.WindowColor,\r\n dropdownBackgroundColorHover: systemTheme.WindowColor\r\n },\r\n expander: {\r\n expanderBackgroundPressed: systemTheme.HighlightColor,\r\n expanderBackgroundHover: systemTheme.HighlightColor,\r\n expanderDisabled: systemTheme.GrayTextColor,\r\n expanderHoveringPressed: systemTheme.HighlightTextColor\r\n },\r\n radioButton: {\r\n radioButtonFill: systemTheme.ButtonTextColor,\r\n radioButtonInnerFill: systemTheme.HighlightColor,\r\n radioButtonHover: systemTheme.HighlightTextColor,\r\n radioButtonHoverInnerFill: systemTheme.ButtonTextColor,\r\n radioButtonBorder: systemTheme.ButtonTextColor,\r\n radioButtonNormal: systemTheme.WindowColor,\r\n radioButtonSelected: systemTheme.HighlightTextColor,\r\n radioButtonBorderSelected: systemTheme.HighlightColor,\r\n radioButtonSelectedHover: systemTheme.WindowColor,\r\n radioButtonBorderSelectedHover: systemTheme.ButtonTextColor,\r\n radioButtonBorderHover: systemTheme.HighlightColor,\r\n radioButtonPressed: systemTheme.HighlightTextColor,\r\n radioButtonInnerPressed: systemTheme.HighlightColor,\r\n radioButtonInnerSelectedPressed: systemTheme.ButtonTextColor,\r\n radioButtonSelectedPressed: systemTheme.WindowColor,\r\n radioButtonBorderPressed: systemTheme.HighlightTextColor,\r\n radioButtonDisabled: systemTheme.WindowColor,\r\n radioButtonInnerDisabled: systemTheme.GrayTextColor,\r\n radioButtonSelectedDisabled: systemTheme.WindowColor,\r\n radioButtonBorderSelectedDisabled: systemTheme.GrayTextColor,\r\n radioButtonBorderDisabled: systemTheme.GrayTextColor\r\n },\r\n textInput: {\r\n textInputErrorBorderColor: systemTheme.HotlightColor,\r\n textInputBorderColor: systemTheme.WindowTextColor,\r\n textInputBackgroundColor: systemTheme.WindowColor,\r\n textInputTextColor: systemTheme.WindowTextColor,\r\n textInputDisabledBackgroundColor: systemTheme.WindowColor,\r\n textInputDisabledTextColor: systemTheme.GrayTextColor,\r\n textInputBorderFocusedColor: systemTheme.HighlightColor,\r\n textInputFocusBackgroundColor: systemTheme.WindowColor,\r\n textInputPlaceholderTextColor: systemTheme.WindowTextColor,\r\n textInputPlaceholderFocusedTextColor: systemTheme.WindowTextColor\r\n },\r\n primaryButton: {\r\n backgroundColor: systemTheme.ButtonFaceColor,\r\n textColor: systemTheme.ButtonTextColor,\r\n disabledBackgroundColor: systemTheme.WindowColor,\r\n disabledTextColor: systemTheme.GrayTextColor,\r\n buttonHoverBorderColor: systemTheme.HighlightColor,\r\n buttonTextHoverColor: systemTheme.HighlightColor,\r\n buttonHoverColor: systemTheme.HighlightTextColor,\r\n buttonBorderColor: systemTheme.ButtonTextColor,\r\n disabledButtonBorderColor: systemTheme.GrayTextColor,\r\n buttonTextPressedColor: systemTheme.HighlightColor\r\n },\r\n successButton: {\r\n backgroundColor: systemTheme.ButtonFaceColor,\r\n textColor: systemTheme.ButtonTextColor,\r\n disabledBackgroundColor: systemTheme.WindowColor,\r\n disabledTextColor: systemTheme.GrayTextColor,\r\n buttonHoverBorderColor: systemTheme.HighlightColor,\r\n buttonTextHoverColor: systemTheme.HighlightColor,\r\n buttonHoverColor: systemTheme.HighlightTextColor,\r\n buttonBorderColor: systemTheme.ButtonTextColor,\r\n disabledButtonBorderColor: systemTheme.GrayTextColor,\r\n buttonTextPressedColor: systemTheme.HighlightColor\r\n },\r\n errorButton: {\r\n backgroundColor: systemTheme.ButtonFaceColor,\r\n textColor: systemTheme.ButtonTextColor,\r\n disabledBackgroundColor: systemTheme.WindowColor,\r\n disabledTextColor: systemTheme.GrayTextColor,\r\n buttonHoverBorderColor: systemTheme.HighlightColor,\r\n buttonTextHoverColor: systemTheme.HighlightColor,\r\n buttonHoverColor: systemTheme.HighlightTextColor,\r\n buttonBorderColor: systemTheme.ButtonTextColor,\r\n disabledButtonBorderColor: systemTheme.GrayTextColor,\r\n buttonTextPressedColor: systemTheme.HighlightColor\r\n },\r\n dialog: {\r\n backgroundColor: systemTheme.WindowColor,\r\n dialogBorderColor: systemTheme.WindowTextColor,\r\n dialogButtonContainerBorderColor: systemTheme.WindowColor,\r\n buttonBackgroundColor: systemTheme.WindowColor,\r\n overlayColor: systemTheme.GrayTextColor,\r\n commonModalBackgroundColor: systemTheme.WindowColor\r\n },\r\n transparentButton: {\r\n backgroundColor: systemTheme.WindowColor,\r\n textColor: systemTheme.WindowTextColor,\r\n disabledBackgroundColor: 'transparent',\r\n disabledTextColor: 'rgba(0, 0, 0, 0.36)',\r\n buttonHoverBorderColor: 'transparent',\r\n buttonTextHoverColor: '#000000',\r\n buttonHoverColor: systemTheme.HighlightColor,\r\n buttonBorderColor: systemTheme.ButtonTextColor,\r\n disabledButtonBorderColor: 'transparent',\r\n buttonTextPressedColor: systemTheme.WindowTextColor,\r\n buttonPressedColor: systemTheme.HighlightColor\r\n },\r\n footerButton: {\r\n backgroundColor: systemTheme.WindowColor,\r\n textColor: systemTheme.WindowTextColor,\r\n disabledBackgroundColor: 'transparent',\r\n disabledTextColor: 'rgba(0, 0, 0, 0.36)',\r\n buttonHoverBorderColor: 'transparent',\r\n buttonTextHoverColor: '#000000',\r\n buttonHoverColor: systemTheme.HighlightColor,\r\n buttonBorderColor: systemTheme.ButtonTextColor,\r\n disabledButtonBorderColor: 'transparent',\r\n buttonTextPressedColor: '#000000',\r\n buttonPressedColor: systemTheme.HighlightColor\r\n },\r\n progressBar: {\r\n progressTotalBar: systemTheme.WindowTextColor,\r\n progressNormal: systemTheme.HotlightColor,\r\n progressBarWarning: systemTheme.HotlightColor,\r\n progressBarError: systemTheme.HotlightColor\r\n },\r\n popover: {\r\n popoverBorderColor: systemTheme.WindowTextColor,\r\n backgroundColor: systemTheme.WindowColor\r\n },\r\n vaultWizard: {\r\n primaryTextColor: systemTheme.WindowTextColor,\r\n secondaryTextColor: systemTheme.WindowTextColor,\r\n bulletTextColor: systemTheme.WindowTextColor\r\n },\r\n toast: {\r\n backgroundColor: systemTheme.WindowColor,\r\n textColor: systemTheme.WindowTextColor,\r\n linkColor: systemTheme.HotlightColor,\r\n dismissButtonHoverColor: systemTheme.HighlightColor,\r\n dismissButtonPressedColor: systemTheme.HighlightTextColor\r\n },\r\n errorBar: {\r\n backgroundColor: systemTheme.WindowColor,\r\n textColor: systemTheme.WindowTextColor\r\n },\r\n infoBar: {\r\n backgroundColor: systemTheme.WindowColor,\r\n textColor: systemTheme.WindowTextColor\r\n }\r\n };\r\n}\r\n","import * as React from 'react';\r\nimport { Text, TextProps } from 'react-native';\r\nimport { CommonContext, IBvtRenderingInfo } from '../loader/models/CommonContext';\r\nimport { useLogBvtInfoEffect } from '../redux/logHooks';\r\n\r\n/**\r\n * Inherits all props from the core React Native Text component\r\n */\r\nexport interface ITextProps extends TextProps {\r\n /**\r\n * Set this to false if this component is in the CommonModal. Used to determine if this component\r\n * should be made non-accessible when the modal is active. Defaults to true. (Optional)\r\n */\r\n inaccessibleWhenModalActive?: boolean;\r\n}\r\n\r\nexport const CommonText = (props: ITextProps): JSX.Element => {\r\n const { children, inaccessibleWhenModalActive, accessible, ...additionalProps } = props;\r\n const commonContext = React.useContext(CommonContext);\r\n const isModalVisible = commonContext.isCommonModalVisible;\r\n const finalInaccessibleWhenModalActive =\r\n inaccessibleWhenModalActive !== undefined ? inaccessibleWhenModalActive : true;\r\n\r\n const bvtInfo: IBvtRenderingInfo = {\r\n testId: props.testID || 'CommonText',\r\n text: props.children ? props.children.toString() : '',\r\n disabled: additionalProps.disabled\r\n };\r\n useLogBvtInfoEffect(bvtInfo);\r\n\r\n // Should be always accessible unless we need to disable when modal is active and modal is not visible\r\n const [isAccessible, setIsAccessible] = React.useState(\r\n (inaccessibleWhenModalActive && !isModalVisible) || (accessible !== undefined ? accessible : true)\r\n );\r\n\r\n React.useEffect(() => {\r\n let newIsAccessible = isAccessible;\r\n\r\n if (finalInaccessibleWhenModalActive) {\r\n if (isModalVisible) {\r\n newIsAccessible = false;\r\n } else {\r\n newIsAccessible = accessible !== undefined ? accessible : true;\r\n }\r\n } else {\r\n newIsAccessible = accessible !== undefined ? accessible : isAccessible;\r\n }\r\n\r\n if (newIsAccessible !== isAccessible) {\r\n setIsAccessible(newIsAccessible);\r\n }\r\n }, [finalInaccessibleWhenModalActive, isModalVisible, isAccessible, accessible]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n","export * from '../../types';\r\n","import React from 'react';\r\nimport { AppKeyContext, IBvtPressRequest, IBvtRenderingInfo, IQoSTelemetryData } from '../types';\r\nimport { commonActions } from './commonSlice';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { RootState } from '../../store';\r\nimport { selectBvtPressRequest, selectBvtRenderRequest } from './selectors';\r\n\r\ninterface IRouteLogCallback {\r\n (message: string): void;\r\n}\r\n\r\ninterface IRouteLogErrorCallback {\r\n (message: string): void;\r\n}\r\n\r\ninterface IRouteNezhaCallback {\r\n (action: string): void;\r\n}\r\n\r\ninterface IRouteQoSCallback {\r\n (qosData: IQoSTelemetryData): void;\r\n}\r\n\r\ninterface IRouteFunnelCallback {\r\n (funnelStage: string): void;\r\n}\r\n\r\ninterface IRouteCopilotFunnelCallback {\r\n (launchSource: number, action: number, stage: string): void;\r\n}\r\n\r\ninterface IQuotaUpsellClickedCallback {\r\n (): void;\r\n}\r\n\r\nexport const useLogCallback = (): IRouteLogCallback => {\r\n const dispatch = useAppDispatch();\r\n const appKey = React.useContext(AppKeyContext);\r\n\r\n return React.useCallback(\r\n (message: string) => {\r\n dispatch(commonActions.onLog({ message, view: appKey }));\r\n },\r\n [dispatch, appKey]\r\n );\r\n};\r\n\r\nexport const useLogErrorCallback = (): IRouteLogErrorCallback => {\r\n const dispatch = useAppDispatch();\r\n const appKey = React.useContext(AppKeyContext);\r\n\r\n return React.useCallback(\r\n (message: string) => {\r\n dispatch(commonActions.onLogError({ message, view: appKey }));\r\n\r\n try {\r\n // Try to log console error for the message using JSON.parse first.\r\n console.error(JSON.parse(message));\r\n } catch (e) {\r\n // If JSON.parse fails, log the error as is.\r\n console.error(message);\r\n }\r\n },\r\n [dispatch, appKey]\r\n );\r\n};\r\n\r\nexport const useRecordNezhaCallback = (): IRouteNezhaCallback => {\r\n const dispatch = useAppDispatch();\r\n const appKey = React.useContext(AppKeyContext);\r\n\r\n return React.useCallback(\r\n (action: string) => {\r\n dispatch(commonActions.onRecordNezhaTelemetry({ viewName: appKey, action }));\r\n },\r\n [dispatch, appKey]\r\n );\r\n};\r\n\r\nexport const useRecordQoSTelemetryCallback = (appKeyOverride?: string): IRouteQoSCallback => {\r\n const dispatch = useAppDispatch();\r\n const appKey = appKeyOverride || React.useContext(AppKeyContext);\r\n\r\n return React.useCallback(\r\n (qosData: IQoSTelemetryData) => {\r\n dispatch(commonActions.onRecordQosTelemetry({ data: qosData, view: appKey }));\r\n },\r\n [dispatch, appKey]\r\n );\r\n};\r\n\r\nexport const useRecordFunnelTelemetryCallback = (appKeyOverride?: string): IRouteFunnelCallback => {\r\n const dispatch = useAppDispatch();\r\n const appKey = appKeyOverride || React.useContext(AppKeyContext);\r\n\r\n return React.useCallback(\r\n (funnelStage: string) => {\r\n dispatch(commonActions.onRecordFunnelTelemetry({ funnelStage, view: appKey }));\r\n },\r\n [dispatch, appKey]\r\n );\r\n};\r\n\r\nexport const useRecordCopilotFunnelTelemetryCallback = (): IRouteCopilotFunnelCallback => {\r\n const dispatch = useAppDispatch();\r\n\r\n return React.useCallback(\r\n (launchSource: number, action: number, stage: string) => {\r\n dispatch(commonActions.onRecordCopilotFunnelTelemetry({ launchSource, action, stage }));\r\n },\r\n [dispatch]\r\n );\r\n};\r\n\r\n// Re-emits BVT rendering info when a BVT run is active.\r\nexport const useLogBvtInfoEffect = (info: IBvtRenderingInfo): void => {\r\n const dispatch = useAppDispatch();\r\n const appKey = React.useContext(AppKeyContext);\r\n const metadata = useAppSelector((state: RootState) => state.common.metadata);\r\n const isBvt = metadata && metadata.account && metadata.account.isBVTRunning;\r\n // Updated by the `bvtRerender` test message. Including the matched request\r\n // count in this effect's dep list causes BVT-instrumented components to\r\n // re-emit their rendering info so tests can observe renders that already\r\n // happened before the test's log waiter was armed.\r\n //\r\n // The bump can optionally carry a viewName/testId filter; when present, we\r\n // only consume the new count if both axes match this component. The\r\n // matched count is tracked in a ref so non-matching bumps do not perturb\r\n // this component's dep list (and therefore do not trigger spurious\r\n // re-emits).\r\n const bvtRenderRequest = useAppSelector(selectBvtRenderRequest);\r\n const {\r\n count: bvtRenderRequestCount = 0,\r\n viewName: bvtRenderViewName,\r\n testId: bvtRenderTestId\r\n } = bvtRenderRequest || {};\r\n\r\n const matchedRerenderCountRef = React.useRef(0);\r\n const viewMatches = !bvtRenderViewName || bvtRenderViewName === appKey;\r\n const testIdMatches = !bvtRenderTestId || bvtRenderTestId === info.testId;\r\n if (viewMatches && testIdMatches) {\r\n if (bvtRenderRequestCount > matchedRerenderCountRef.current) {\r\n matchedRerenderCountRef.current = bvtRenderRequestCount;\r\n }\r\n }\r\n const matchedRerenderCount = matchedRerenderCountRef.current;\r\n\r\n return React.useEffect(() => {\r\n if (!isBvt) {\r\n return;\r\n }\r\n dispatch(commonActions.onLogBvtInfo({ view: appKey, isRendering: true, info }));\r\n }, [dispatch, isBvt, appKey, info.testId, info.text, info.disabled, info.visible, matchedRerenderCount]);\r\n};\r\n\r\nexport const useQuotaUpsellClickedCallback = (): IQuotaUpsellClickedCallback => {\r\n const dispatch = useAppDispatch();\r\n\r\n return React.useCallback(() => {\r\n dispatch(commonActions.onQuotaUpsellClicked());\r\n }, [dispatch]);\r\n};\r\n\r\n/**\r\n * Subscribes the calling component to BVT press requests targeting its\r\n * (viewName, testID, optionally accessibilityLabel). When a request issued via\r\n * `InvokeReactNativePress` matches, the provided handler is invoked exactly\r\n * once per request. This is the shared mechanism that lets the BVT harness\r\n * drive any element by testID, regardless of which underlying RN primitive\r\n * (Pressable, Switch, ...) the element wraps.\r\n *\r\n * `onPress` is intentionally invoked with no arguments because BVT requests\r\n * carry no gesture event payload. The hook is a no-op outside of BVT runs.\r\n */\r\nexport const useBvtPressEffect = (\r\n testID: string | undefined,\r\n onPress: (() => void) | undefined,\r\n accessibilityLabel?: string\r\n): void => {\r\n const dispatch = useAppDispatch();\r\n const appKey = React.useContext(AppKeyContext);\r\n const bvtPressRequest = useAppSelector(selectBvtPressRequest) as IBvtPressRequest | undefined;\r\n const isBvtPressValid = !!bvtPressRequest;\r\n const { viewName, testId: bvtTestId, text, count } = bvtPressRequest || {};\r\n\r\n const handlePress = React.useCallback(() => {\r\n if (onPress) {\r\n onPress();\r\n }\r\n }, [!!onPress, count]);\r\n\r\n React.useEffect(() => {\r\n if (\r\n handlePress &&\r\n isBvtPressValid &&\r\n viewName &&\r\n viewName.length > 0 &&\r\n appKey &&\r\n appKey.length > 0 &&\r\n viewName === appKey &&\r\n bvtTestId &&\r\n testID &&\r\n bvtTestId.length > 0 &&\r\n testID.length > 0 &&\r\n bvtTestId === testID &&\r\n (text === undefined || accessibilityLabel === text)\r\n ) {\r\n dispatch(commonActions.clearBvtPressRequest());\r\n handlePress();\r\n }\r\n }, [\r\n appKey,\r\n isBvtPressValid,\r\n viewName,\r\n bvtTestId,\r\n testID,\r\n handlePress,\r\n count,\r\n text,\r\n accessibilityLabel,\r\n dispatch\r\n ]);\r\n};\r\n","import { createSelector } from '@reduxjs/toolkit';\r\nimport { RootState } from '../../store';\r\nimport { IAnimationState, IWizardWindowState } from '../types/wizardWindowTypes';\r\n\r\n// select top level state using plain selector function\r\nconst selectWizardWindowState = (state: RootState): IWizardWindowState => state.wizardWindow;\r\n\r\n// memoize selectors using createSelector from redux-toolkit to avoid unnecessary re-renders\r\n// createSelector takes an array of input selectors and a transform function as arguments.\r\n// documentation for createSelector: https://redux-toolkit.js.org/api/createSelector\r\n\r\nexport const selectSpinningText = createSelector(\r\n [selectWizardWindowState],\r\n (state: IWizardWindowState): string => state.spinningText\r\n);\r\n\r\nexport const selectSpinningSubText = createSelector(\r\n [selectWizardWindowState],\r\n (state: IWizardWindowState): string => state.spinningSubText\r\n);\r\n\r\nexport const selectAnimationState = createSelector(\r\n [selectWizardWindowState],\r\n (state: IWizardWindowState): IAnimationState => state.animationState\r\n);\r\n\r\nexport const selectCurrentWizardPage = createSelector(\r\n [selectWizardWindowState],\r\n (state: IWizardWindowState): string | undefined => state.currentWizardPage\r\n);\r\n\r\nexport const selectConfirmDialogStrings = createSelector(\r\n [selectWizardWindowState],\r\n (state: IWizardWindowState) => state.confirmDialogStrings\r\n);\r\n\r\nexport const selectShowConfirmDialog = createSelector(\r\n [selectWizardWindowState],\r\n (state: IWizardWindowState) => state.showConfirmDialog\r\n);\r\n","import React from 'react';\r\nimport { CommonContext } from '../../common/types';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { useCommonStyles } from '../../common/themes/ICommonTheme';\r\nimport {\r\n selectConfirmDialogStrings,\r\n selectCurrentWizardPage,\r\n selectShowConfirmDialog\r\n} from '../redux/wizardWindowSelectors';\r\nimport { wizardWindowActions } from '../redux/wizardWindowSlice';\r\nimport { WizardConfirmDialogResult } from '../types/wizardWindowTypes';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { ICommonModalProps } from '../../common/components/CommonModal';\r\n\r\n/**\r\n * Helper hook that enables usage of the generic wizard window confirmation dialog.\r\n */\r\nexport const useWizardConfirmDialog = (enabled: boolean): void => {\r\n const commonContext = React.useContext(CommonContext);\r\n const currentWizardPage = useAppSelector(selectCurrentWizardPage);\r\n const showConfirmDialog = useAppSelector(selectShowConfirmDialog);\r\n const confirmDialogStrings = useAppSelector(selectConfirmDialogStrings);\r\n const commonStyles = useCommonStyles();\r\n const dispatch = useAppDispatch();\r\n\r\n const handlePrimaryButtonClick = (): void => {\r\n // Automatically close the confirm dialog and signal that the primary button was clicked.\r\n dispatch(wizardWindowActions.onConfirmDialogClosed(WizardConfirmDialogResult.PrimaryButton));\r\n };\r\n\r\n const handleSecondaryButtonClick = (): void => {\r\n // Automatically close the confirm dialog and signal that the secondary button was clicked.\r\n dispatch(wizardWindowActions.onConfirmDialogClosed(WizardConfirmDialogResult.SecondaryButton));\r\n };\r\n\r\n const wizardConfirmDialogProps: ICommonModalProps = {\r\n title: confirmDialogStrings.primaryText,\r\n body: (\r\n \r\n {confirmDialogStrings.secondaryText}\r\n \r\n ),\r\n buttonOneText: confirmDialogStrings.buttonTwoText,\r\n buttonTwoText: confirmDialogStrings.buttonOneText,\r\n buttonOneClick: () => {\r\n handleSecondaryButtonClick();\r\n },\r\n buttonTwoClick: () => {\r\n handlePrimaryButtonClick();\r\n },\r\n onDismissed: () => {\r\n dispatch(wizardWindowActions.onConfirmDialogClosed(WizardConfirmDialogResult.Dismissed));\r\n },\r\n height: 250,\r\n accessibilityAnnouncements: [confirmDialogStrings.primaryText, confirmDialogStrings.secondaryText]\r\n };\r\n\r\n React.useEffect(() => {\r\n if (enabled && showConfirmDialog && confirmDialogStrings.viewName === currentWizardPage) {\r\n // If the current page does not handle its own custom confirm dialog, then we\r\n // can show the generic confirm dialog for any other WizardWindow scenario.\r\n commonContext.setCommonModalProps({ ...wizardConfirmDialogProps });\r\n commonContext.setCommonModalVisible(true);\r\n } else {\r\n commonContext.setCommonModalVisible(false);\r\n }\r\n\r\n return () => {\r\n // Reset the common modal to hidden when the hook is unmounted.\r\n commonContext.setCommonModalVisible(false);\r\n };\r\n }, [showConfirmDialog, currentWizardPage, enabled, confirmDialogStrings.viewName]);\r\n\r\n React.useEffect(() => {\r\n // Ensure that animations are hidden when the common modal is visible, and vice versa.\r\n dispatch(wizardWindowActions.toggleAnimationVisible(!commonContext.isCommonModalVisible /*isVisible*/));\r\n\r\n return () => {\r\n // Reset the animation visibility when the hook is unmounted.\r\n dispatch(wizardWindowActions.toggleAnimationVisible(false /*isVisible*/));\r\n };\r\n }, [commonContext.isCommonModalVisible]);\r\n};\r\n","import { createAsyncThunk, createSlice, PayloadAction } from '@reduxjs/toolkit';\r\nimport { WizardErrorPageModel } from '../dataHandler/WizardErrorPageModel';\r\nimport { IWizardErrorState } from '../types/errorTypes';\r\n\r\nexport const dataModel: WizardErrorPageModel = new WizardErrorPageModel();\r\n\r\nconst onErrorBtnClickAsync = createAsyncThunk('error_page/onDismiss', (): Promise => {\r\n return dataModel.onErrorBtnClick();\r\n});\r\n\r\nexport const initialWizardErrorPageState: IWizardErrorState = {\r\n primaryText: '',\r\n secondaryText: '',\r\n tertiaryText: '',\r\n buttonText: ''\r\n};\r\n\r\nexport const wizardErrorSlice = createSlice({\r\n name: 'error_page',\r\n initialState: initialWizardErrorPageState,\r\n reducers: {\r\n setErrorInfo: (state: IWizardErrorState, action: PayloadAction) => {\r\n state.primaryText = action.payload.primaryText;\r\n state.secondaryText = action.payload.secondaryText;\r\n state.tertiaryText = action.payload.tertiaryText;\r\n state.buttonText = action.payload.buttonText;\r\n }\r\n }\r\n});\r\n\r\nexport const wizardErrorPageActions = {\r\n ...wizardErrorSlice.actions,\r\n onErrorBtnClick: onErrorBtnClickAsync\r\n};\r\n\r\nexport default wizardErrorSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\n\r\nexport class WizardErrorPageModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async onErrorBtnClick(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', 'wizardError', 'onErrorBtnClick'));\r\n }\r\n}\r\n","import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { KFMCheckFullDiskAccessModel } from '../dataHandler/KFMCheckFullDiskAccessModel';\r\nimport { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\n\r\nexport const dataModel: KFMCheckFullDiskAccessModel = new KFMCheckFullDiskAccessModel();\r\n\r\nconst openSystemPreferencesAsync = createAsyncThunk(\r\n 'kfm_check_full_disk_page/open_system_preferences',\r\n (): Promise => {\r\n return dataModel.openSystemPreferences();\r\n }\r\n);\r\n\r\nexport const kfmCheckFullDiskAccessSlice = createSlice({\r\n name: 'kfm_check_full_disk_page',\r\n initialState: {},\r\n reducers: {}\r\n});\r\n\r\nexport const kfmCheckFullDiskAccessActions = {\r\n ...kfmCheckFullDiskAccessSlice.actions,\r\n openSystemPreferences: openSystemPreferencesAsync\r\n};\r\n\r\nexport default kfmCheckFullDiskAccessSlice.reducer;\r\n","import { IDataHandlerSendOptions } from '../../common/dataHandler/IDataHandler';\r\nimport { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\n\r\nconst KFM_CHECK_FULL_DISK_ACCESS = 'kfmCheckFullDiskAccess';\r\n\r\nexport class KFMCheckFullDiskAccessModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async openSystemPreferences(): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', KFM_CHECK_FULL_DISK_ACCESS, 'openSystemPreferences')\r\n );\r\n }\r\n}\r\n","import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';\r\nimport { ShareLoadingModel } from '../dataHandler/ShareLoadingModel';\r\nimport {\r\n ActivityItemType,\r\n IAllItemsSyncedMessage,\r\n IItemSyncedMessage,\r\n IProgressItemsResponse,\r\n IShareLoadingFailedMessage,\r\n IShareLoadingInitMessage,\r\n IShareLoadingState,\r\n ShareLoadingMode\r\n} from '../types';\r\n\r\nexport const dataModel: ShareLoadingModel = new ShareLoadingModel();\r\n\r\nconst initialState: IShareLoadingState = {\r\n failedFetch: false,\r\n filePaths: [],\r\n progressItems: {},\r\n mode: ShareLoadingMode.ShareAfterSync,\r\n itemsSynced: {},\r\n allSynced: false,\r\n failed: false,\r\n failureVariant: null\r\n};\r\n\r\nconst getReadyAsync = createAsyncThunk('shareLoading/send_ready', () => {\r\n return dataModel.getReady();\r\n});\r\n\r\nconst closeShareLoadingDialog = createAsyncThunk('shareLoading/close_dialog', async (): Promise => {\r\n return dataModel.handleClose();\r\n});\r\n\r\nconst getProgressItemInfo = createAsyncThunk(\r\n 'shareLoading/get_progress_item_info',\r\n async (): Promise => {\r\n return dataModel.handleGetProgressItems();\r\n }\r\n);\r\n\r\nexport const shareLoadingSlice = createSlice({\r\n name: 'common',\r\n initialState,\r\n reducers: {\r\n // Reset every per-session field. Called when the view is dismissed so\r\n // a subsequent launch starts from a clean slate (no stale paths /\r\n // progress / sync markers from the previous session).\r\n resetState: (state: IShareLoadingState) => {\r\n state.failedFetch = false;\r\n state.filePaths = [];\r\n state.progressItems = {};\r\n state.mode = ShareLoadingMode.ShareAfterSync;\r\n state.itemsSynced = {};\r\n state.allSynced = false;\r\n state.failed = false;\r\n state.failureVariant = null;\r\n },\r\n // Fired from the native `shareLoadingInit` push when LaunchShareLoadingView\r\n // runs. Establishes the authoritative path list + mode for the session.\r\n // Calls in here are idempotent: a re-fired init for the same launch\r\n // shouldn't blow away progress that has already accumulated.\r\n initFromNative: (state: IShareLoadingState, action: PayloadAction) => {\r\n const payload = action.payload ?? { mode: ShareLoadingMode.ShareAfterSync, filePaths: [] };\r\n state.filePaths = Array.isArray(payload.filePaths) ? payload.filePaths : [];\r\n state.mode = payload.mode ?? ShareLoadingMode.ShareAfterSync;\r\n // Drop completion state from any previous session lingering in this\r\n // store (defensive; the host process resetState's on close already).\r\n state.itemsSynced = {};\r\n state.allSynced = false;\r\n // A new launch supersedes any failure latched from a previous session\r\n // lingering in this store (defensive; resetState on close already clears).\r\n state.failed = false;\r\n state.failureVariant = null;\r\n },\r\n // Fired from the native `itemSynced` push as each tracked file finishes\r\n // syncing (ItemUpToDateNotification fan-out). Idempotent.\r\n markItemSynced: (state: IShareLoadingState, action: PayloadAction) => {\r\n const path = action.payload?.filePath;\r\n if (!path) {\r\n return;\r\n }\r\n state.itemsSynced[path] = true;\r\n },\r\n // Fired from the native `allItemsSynced` push after every tracked path\r\n // is complete. In ShareAfterSync mode this is informational (native\r\n // tears the view down a few ms later); in SyncOnly mode it drives the\r\n // terminal \"Done\" UI.\r\n allItemsSynced: (state: IShareLoadingState, action: PayloadAction) => {\r\n state.allSynced = true;\r\n if (action.payload?.mode) {\r\n state.mode = action.payload.mode;\r\n }\r\n },\r\n // Fired from the native `shareLoadingFailed` push when the failure-detection\r\n // watchdog declares a terminal failure (timeout / stall / item-failure).\r\n // Switches the view to its error state; `ShareLoadingView` stops polling and\r\n // renders the variant-specific copy. Idempotent: native latches the failure\r\n // so this fires at most once, but a re-fire just re-asserts the same state.\r\n shareLoadingFailed: (state: IShareLoadingState, action: PayloadAction) => {\r\n state.failed = true;\r\n state.failureVariant = action.payload?.variant === 'error' ? 'error' : 'slow';\r\n }\r\n },\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(getReadyAsync.fulfilled, (state) => {\r\n state.failedFetch = false;\r\n })\r\n .addCase(getReadyAsync.rejected, (state, payload) => {\r\n state.failedFetch = true;\r\n console.error(payload);\r\n })\r\n .addCase(\r\n getProgressItemInfo.fulfilled,\r\n (state: IShareLoadingState, action: PayloadAction) => {\r\n const items = action.payload?.items ?? [];\r\n for (const item of items) {\r\n const existing = state.progressItems[item.filePath];\r\n // When an item moves out of the in-progress map, native reports\r\n // activityItemType=Unknown with zeroed-out progress values. We\r\n // keep the row visually stable -- a full progress bar shouldn't\r\n // drop back to 0 KB / 0 KB while we wait for the `itemSynced`\r\n // push (which can lag the progress-map removal by tens of ms).\r\n //\r\n // Preservation: keep the previous snapshot but flip type to\r\n // Unknown if existing was a known progress type OR existing was\r\n // already Unknown but carries non-zero sizes (i.e. we already\r\n // preserved them on a prior tick). Without the second clause\r\n // the SECOND consecutive Unknown response would overwrite the\r\n // preserved sizes back to zero (the \"loading bar drops to 0 KB\"\r\n // bug from Phases 5/6).\r\n const isUnknown = item.activityItemType === ActivityItemType.Unknown;\r\n const existingIsKnownType = !!existing && existing.activityItemType !== ActivityItemType.Unknown;\r\n const existingHasSizes =\r\n !!existing && ((existing.completedSizeBytes ?? 0) > 0 || (existing.totalSizeBytes ?? 0) > 0);\r\n if (isUnknown && (existingIsKnownType || existingHasSizes)) {\r\n state.progressItems[item.filePath] = {\r\n ...existing,\r\n activityItemType: ActivityItemType.Unknown\r\n };\r\n } else {\r\n state.progressItems[item.filePath] = item;\r\n }\r\n }\r\n }\r\n );\r\n }\r\n});\r\n\r\nexport const shareLoadingActions = {\r\n ...shareLoadingSlice.actions,\r\n getReadyAsync,\r\n closeShareLoadingDialog: closeShareLoadingDialog,\r\n getProgressItemInfo: getProgressItemInfo\r\n};\r\n\r\nexport default shareLoadingSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { IDataHandlerSendOptions, TDataHandlerRequestType } from '../../common/dataHandler/IDataHandler';\r\nimport { IProgressItemsResponse } from '../types';\r\n\r\nconst c_shareLoadingApiRoot = 'http://localhost:9001/sync/ShareLoading';\r\n\r\n// Builds the native-bridge send options for a ShareLoading endpoint. Every\r\n// ShareLoading call hits the same localhost API root and differs only by path\r\n// and verb, so centralizing construction here keeps the call sites terse and\r\n// defines the URL prefix in exactly one place.\r\nconst getDataHandlerSendOptions = (\r\n path: string,\r\n requestType: TDataHandlerRequestType\r\n): IDataHandlerSendOptions => ({\r\n url: `${c_shareLoadingApiRoot}/${path}`,\r\n requestType\r\n});\r\n\r\nexport class ShareLoadingModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async getReady(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('get', 'GET'));\r\n }\r\n\r\n public async handleClose(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('handleClose', 'POST'));\r\n }\r\n\r\n // Returns one progress snapshot per file the native side is tracking. The\r\n // RN view uses these for the per-file progress bar visuals only -- the\r\n // launch decision (and completion signals) are pushed from native via\r\n // IShareCompletionObserver, no longer derived from poll responses.\r\n public async handleGetProgressItems(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('handleGetProgressItem', 'GET'));\r\n }\r\n}\r\n","// Terminal action the share-loading view performs once every tracked file\r\n// finishes syncing. Pushed from native; never computed on the RN side.\r\n// ShareAfterSync: native auto-launches the existing share dialog and tears\r\n// down the view. RN just renders progress + a \"Try later\" exit button.\r\n// SyncOnly: native fires an `allItemsSynced` push instead of launching the\r\n// share dialog (used for Business + multi-file because SharePoint only\r\n// returns a degraded one-link result). RN renders a terminal \"Done\"\r\n// state and the user closes the view manually.\r\nexport enum ShareLoadingMode {\r\n ShareAfterSync = 'shareAfterSync',\r\n SyncOnly = 'syncOnly'\r\n}\r\n\r\n// Coarse user-facing failure variant pushed by native in the\r\n// `shareLoadingFailed` message. Native keeps the fine-grained failure reason\r\n// (timeout / stall / item-failed) for the ASHA veto + telemetry and only sends\r\n// RN the variant needed to pick the right copy:\r\n// slow - the upload is just taking too long / has stalled, but the sync\r\n// engine keeps working in the background (timeout or stall).\r\n// error - an explicit upload failure; retry is required.\r\nexport type ShareLoadingFailureVariant = 'slow' | 'error';\r\n\r\nexport interface IShareLoadingState {\r\n failedFetch: boolean;\r\n // Ordered list of file paths the share loading view is tracking. Pushed\r\n // by native in the `shareLoadingInit` message; never inferred from\r\n // progress poll responses (Phase 8: native owns the path list).\r\n filePaths: string[];\r\n // Map keyed by filePath. Each entry is the latest progress snapshot for\r\n // that file (or null if the backend hasn't surfaced one yet). Still\r\n // driven by the `getProgressItemInfo` poll because we want the bytes /\r\n // percentage to animate smoothly while syncing.\r\n progressItems: { [filePath: string]: IProgressItem };\r\n // Terminal action mode pushed by native in `shareLoadingInit`.\r\n mode: ShareLoadingMode;\r\n // Map keyed by filePath. True when native has notified us (via the\r\n // `itemSynced` push) that the file finished syncing. Used to render the\r\n // per-row \"synced\" state and to compute `allSynced`.\r\n itemsSynced: { [filePath: string]: boolean };\r\n // True after native fires `allItemsSynced` (every tracked path is in\r\n // `itemsSynced`). In ShareAfterSync mode native tears the view down\r\n // milliseconds later; in SyncOnly mode this drives the \"Done\" button.\r\n allSynced: boolean;\r\n // True after native fires `shareLoadingFailed` (the failure-detection\r\n // watchdog declared a timeout/stall/item-failure). The view switches to a\r\n // terminal error state, stops polling, and never auto-shares. Mutually\r\n // exclusive with the success path: native latches success XOR failure.\r\n failed: boolean;\r\n // Coarse variant for the failed state ('slow' | 'error'), or null while the\r\n // session has not failed. Picks which localized title/body the view renders.\r\n failureVariant: ShareLoadingFailureVariant | null;\r\n}\r\n\r\nexport interface IProgressItemsResponse {\r\n items: IProgressItem[];\r\n}\r\n\r\n// Native -> RN push payload for `shareLoadingInit`. Fired once when\r\n// LaunchShareLoadingView runs.\r\nexport interface IShareLoadingInitMessage {\r\n mode: ShareLoadingMode;\r\n filePaths: string[];\r\n}\r\n\r\n// Native -> RN push payload for `itemSynced`. Fired once per file as the\r\n// IShareCompletionObserver receives its ItemUpToDateNotification.\r\nexport interface IItemSyncedMessage {\r\n filePath: string;\r\n}\r\n\r\n// Native -> RN push payload for `allItemsSynced`. Fired exactly once after\r\n// every tracked path is complete. In ShareAfterSync mode native immediately\r\n// follows with view destruction; in SyncOnly mode the view remains and the\r\n// user clicks Done.\r\nexport interface IAllItemsSyncedMessage {\r\n mode: ShareLoadingMode;\r\n}\r\n\r\n// Native -> RN push payload for `shareLoadingFailed`. Fired at most once, when\r\n// the failure-detection watchdog declares a terminal failure. `variant` is the\r\n// coarse user-facing bucket; the fine reason stays native-side for veto +\r\n// telemetry.\r\nexport interface IShareLoadingFailedMessage {\r\n variant: ShareLoadingFailureVariant;\r\n}\r\n\r\n// Computed (selector-only) summary of progress across every tracked path.\r\n// Drives the SyncOnly aggregate row. Not stored in state; recomputed from\r\n// `filePaths`, `progressItems`, `itemsSynced`, `allSynced`.\r\nexport interface IAggregateProgress {\r\n syncedCount: number;\r\n totalCount: number;\r\n completedBytes: number;\r\n totalBytes: number;\r\n // Hybrid file-count + byte fraction in [0, 1]. See selector for math.\r\n barFraction: number;\r\n}\r\n\r\nexport interface IProgressItem {\r\n fileName: string;\r\n icon: string;\r\n filePath: string;\r\n resourceId: string;\r\n processExeName: string;\r\n activityItemType: ActivityItemType;\r\n processName: string;\r\n isWaitingForDiffSync: boolean;\r\n completedSizeBytes: number;\r\n totalSizeBytes: number;\r\n completedSize: string;\r\n completedSizeUnit: string;\r\n totalSize: string;\r\n totalSizeUnit: string;\r\n diffGramSize: number;\r\n deleted: boolean;\r\n detectedInProgressBytesOverflow: boolean;\r\n isActiveHydration: boolean;\r\n folderName: string;\r\n}\r\n\r\nexport enum ActivityItemType {\r\n Unknown = 0, // When the item is first added to sync progress map, its status is syncing. We do not yet know whether it is upload or download\r\n Downloading = 1, // Items is in the \"In Progress\" section, Downloading\r\n Uploading = 2, // Item is in the \"In Progress\" section, Uploading\r\n UpToDate = 3, // Item moved from \"In Progress\" to History section of Activity Center\r\n Downloaded = 4,\r\n Uploaded = 5,\r\n Deleted = 6, // Deleted item will appear in History section but with status as Deleted\r\n Moved = 10,\r\n Renamed = 11,\r\n PlaceholderCreated = 12,\r\n LocalDeletePending = 13,\r\n AutoRename = 14,\r\n ResetSuccessful = 15,\r\n ResetFailed = 16,\r\n VaultMove = 17,\r\n AddedFolderUnmounted = 18, // Added folder removed by user\r\n CoAuthLockedItem = 19\r\n}\r\n","import { createSlice, createAsyncThunk } from '@reduxjs/toolkit';\r\nimport { CopilotDialogDataModel } from '../dataHandler/CopilotDialogDataModel';\r\nimport { ICopilotDialogViewState } from '../types/copilotDialogTypes';\r\n\r\nexport const dataModel: CopilotDialogDataModel = new CopilotDialogDataModel();\r\n\r\nconst initialState: ICopilotDialogViewState = {\r\n text: ''\r\n};\r\n\r\nconst openSubmitFeedbackDialog = createAsyncThunk(\r\n 'copilotDialog/thumb_clicked',\r\n async (thumb: number): Promise => {\r\n return dataModel.handleSubmit({\r\n feedbackType: thumb ? thumb : 2,\r\n promptType: 'summary'\r\n });\r\n }\r\n);\r\n\r\nexport const copilotDialogSlice = createSlice({\r\n name: 'copilotDialog',\r\n initialState,\r\n reducers: {\r\n setCopilotDialog: (state: ICopilotDialogViewState) => {\r\n state.text = '';\r\n },\r\n resetState: (state: ICopilotDialogViewState) => {\r\n state.text = '';\r\n }\r\n },\r\n // use extraReducers to handle the async thunk states - pending, fulfilled, rejected\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(openSubmitFeedbackDialog.fulfilled, (state: ICopilotDialogViewState) => {\r\n // No op, maintain loading state till the dialog is closed or an error occurs\r\n })\r\n .addCase(openSubmitFeedbackDialog.rejected, (state: ICopilotDialogViewState) => {\r\n // No op\r\n });\r\n }\r\n});\r\n\r\nexport const copilotDialogActions = {\r\n ...copilotDialogSlice.actions, // Action creators are generated for each case reducer function\r\n closeFolderDialog: openSubmitFeedbackDialog,\r\n openSubmitFeedbackDialog: openSubmitFeedbackDialog\r\n};\r\n\r\nexport default copilotDialogSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { ICopilotDialogPayload } from '../types/copilotDialogTypes';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\n\r\nconst COPILOT_DIALOG_ROUTE = 'CopilotDialog';\r\n\r\nexport class CopilotDialogDataModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async handleSubmit(payload: ICopilotDialogPayload): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', COPILOT_DIALOG_ROUTE, 'openSubmitFeedbackDialog', payload)\r\n );\r\n }\r\n\r\n public async handleClose(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', COPILOT_DIALOG_ROUTE, 'handleClose'));\r\n }\r\n}\r\n","import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';\r\nimport { KFMOnboardingModel } from '../dataHandler/KFMOnboardingModel';\r\nimport {\r\n IEnrolledFoldersPayload,\r\n IKFMOnboardingEnabledPayload,\r\n IKFMOnboardingViewState\r\n} from '../types/kfmOnboardingViewTypes';\r\n\r\nexport const dataModel: KFMOnboardingModel = new KFMOnboardingModel();\r\n\r\nconst initialState: IKFMOnboardingViewState = {\r\n failedFetch: false,\r\n isKFMOnboardingEnabled: false,\r\n isKFMEnabled: false,\r\n isKFMStarted: false,\r\n enrolledFolders: []\r\n};\r\n\r\nconst getIsKFMOnboardingEnabledAsync = createAsyncThunk('kfmOnboarding/isEnabled', () => {\r\n return dataModel.getIsKFMOnboardingEnabled();\r\n});\r\n\r\nconst launchKFMOnboardingAsync = createAsyncThunk('kfmOnboarding/launch', () => {\r\n return dataModel.launchKFMOnboarding();\r\n});\r\n\r\nconst completeKFMOnboardingAsync = createAsyncThunk('kfmOnboarding/complete', () => {\r\n return dataModel.completeKFMOnboarding();\r\n});\r\n\r\nconst isKFMEnabledAsync = createAsyncThunk('kfmOnboarding/isKFMEnabled', () => {\r\n return dataModel.isKFMEnabled();\r\n});\r\n\r\nconst launchDimeAsync = createAsyncThunk('kfmOnboarding/launchDime', () => {\r\n return dataModel.launchDime();\r\n});\r\n\r\nconst getEnrolledFoldersAsync = createAsyncThunk('kfmOnboarding/getEnrolledFolders', () => {\r\n return dataModel.getEnrolledFolders();\r\n});\r\n\r\nexport const kfmOnboardingViewSlice = createSlice({\r\n name: 'kfmOnboarding',\r\n initialState,\r\n reducers: {\r\n // add reducers here\r\n setIsKFMStarted: (state, action: PayloadAction) => {\r\n state.isKFMStarted = action.payload;\r\n }\r\n },\r\n extraReducers: (builder) => {\r\n builder\r\n .addCase(\r\n getIsKFMOnboardingEnabledAsync.fulfilled,\r\n (state, action: PayloadAction) => {\r\n state.failedFetch = false;\r\n state.isKFMOnboardingEnabled = action.payload.isEnabled;\r\n }\r\n )\r\n .addCase(getIsKFMOnboardingEnabledAsync.rejected, (state, payload) => {\r\n state.failedFetch = true;\r\n console.error(payload);\r\n })\r\n .addCase(isKFMEnabledAsync.fulfilled, (state, action: PayloadAction) => {\r\n state.isKFMEnabled = action.payload.isEnabled;\r\n })\r\n .addCase(getEnrolledFoldersAsync.fulfilled, (state, action: PayloadAction) => {\r\n state.enrolledFolders = action.payload.folders;\r\n })\r\n .addCase(getEnrolledFoldersAsync.rejected, (state, payload) => {\r\n state.enrolledFolders = [];\r\n console.error(payload);\r\n });\r\n }\r\n});\r\n\r\nexport const kfmOnboardingActions = {\r\n ...kfmOnboardingViewSlice.actions, // Action creators are generated for each case reducer function\r\n getIsKFMOnboardingEnabledAsync,\r\n launchKFMOnboardingAsync,\r\n completeKFMOnboardingAsync,\r\n isKFMEnabledAsync,\r\n launchDimeAsync,\r\n getEnrolledFoldersAsync\r\n};\r\n\r\nexport default kfmOnboardingViewSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\nimport { IKFMOnboardingEnabledPayload, IEnrolledFoldersPayload } from '../types/kfmOnboardingViewTypes';\r\n\r\nconst KFM_ROUTE = 'KFMOnboarding';\r\n\r\nexport class KFMOnboardingModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async getIsKFMOnboardingEnabled(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('GET', KFM_ROUTE, 'isEnabled', {}));\r\n }\r\n\r\n public async launchKFMOnboarding(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('GET', KFM_ROUTE, 'handleOpen', {}));\r\n }\r\n\r\n public async completeKFMOnboarding(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', KFM_ROUTE, 'handleClose', {}));\r\n }\r\n\r\n public async isKFMEnabled(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('GET', KFM_ROUTE, 'isKFMEnabled', {}));\r\n }\r\n\r\n public async launchDime(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', KFM_ROUTE, 'launchDime', {}));\r\n }\r\n\r\n public async getEnrolledFolders(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('GET', KFM_ROUTE, 'getEnrolledFolders', {}));\r\n }\r\n}\r\n","import { createSlice, createAsyncThunk, PayloadAction } from '@reduxjs/toolkit';\r\n\r\nimport { VersionHistoryDataModel } from '../dataHandler/VersionHistoryDataModel';\r\nimport {\r\n IVersionHistoryItem,\r\n IVersionHistoryReduxState,\r\n IVersionHistoryInitialState,\r\n IOpenFileParams,\r\n VersionHistoryState,\r\n ViewState,\r\n ErrorState\r\n} from '../types/versionHistoryTypes';\r\n\r\nconst dataModel: VersionHistoryDataModel = new VersionHistoryDataModel();\r\n\r\nconst initialState: IVersionHistoryReduxState = {\r\n viewState: ViewState.Processing,\r\n items: [],\r\n fileName: '',\r\n isDeleteVersionVisible: false,\r\n fileBlocked: false,\r\n isRestoreInfoVisible: false,\r\n errorHeaderState: ErrorState.None,\r\n useDefaultTryAgainString: true,\r\n pendingDeleteVersionId: null,\r\n isErrorBarVisible: false,\r\n isInitialized: false,\r\n isContextMenuOpen: false\r\n};\r\n\r\n// Async thunks\r\nconst getInitialStateAsync = createAsyncThunk(\r\n 'versionHistory/getInitialState',\r\n (): Promise => {\r\n return dataModel.getInitialState();\r\n }\r\n);\r\n\r\nconst restoreAsync = createAsyncThunk('versionHistory/restore', (versionId: string): Promise => {\r\n return dataModel.restore(versionId);\r\n});\r\n\r\nconst openFileAsync = createAsyncThunk(\r\n 'versionHistory/openFile',\r\n (params: IOpenFileParams): Promise => {\r\n return dataModel.openFile(params);\r\n }\r\n);\r\n\r\nconst viewOnlineAsync = createAsyncThunk('versionHistory/viewOnline', (): Promise => {\r\n return dataModel.viewOnline();\r\n});\r\n\r\nconst deleteVersionAsync = createAsyncThunk(\r\n 'versionHistory/deleteVersion',\r\n (versionId: string): Promise => {\r\n return dataModel.deleteVersion(versionId);\r\n }\r\n);\r\n\r\nconst tryAgainAsync = createAsyncThunk('versionHistory/tryAgain', (): Promise => {\r\n return dataModel.tryAgain();\r\n});\r\n\r\nconst closeAsync = createAsyncThunk('versionHistory/close', (): Promise => {\r\n return dataModel.close();\r\n});\r\n\r\n// Map VersionHistoryState (from C++) to ViewState (for TS rendering)\r\nconst mapStateToViewState = (state: string): ViewState => {\r\n switch (state) {\r\n case VersionHistoryState.None:\r\n return ViewState.Ready;\r\n case VersionHistoryState.ListVersionHistory:\r\n case VersionHistoryState.Restore:\r\n case VersionHistoryState.OpenFile:\r\n case VersionHistoryState.DeleteVersion:\r\n case VersionHistoryState.GetResourceId:\r\n return ViewState.Processing;\r\n case VersionHistoryState.ListVersionHistoryError:\r\n return ViewState.ListVersionHistoryError;\r\n case VersionHistoryState.ItemMenuRequestsError:\r\n return ViewState.ItemMenuRequestsError;\r\n default:\r\n return ViewState.Ready;\r\n }\r\n};\r\n\r\nexport const versionHistorySlice = createSlice({\r\n name: 'versionHistory',\r\n initialState,\r\n reducers: {\r\n setItems: (state, action: PayloadAction) => {\r\n state.items = action.payload;\r\n },\r\n setState: (state, action: PayloadAction) => {\r\n state.viewState = mapStateToViewState(action.payload);\r\n // Reset error bar dismissed state when transitioning to a new error\r\n if (action.payload === VersionHistoryState.ItemMenuRequestsError) {\r\n state.isErrorBarVisible = false;\r\n }\r\n },\r\n setErrorHeaderState: (state, action: PayloadAction) => {\r\n state.errorHeaderState = action.payload;\r\n },\r\n setTryAgainState: (state, action: PayloadAction) => {\r\n state.useDefaultTryAgainString = action.payload;\r\n },\r\n setRestoreInfoVisible: (state, action: PayloadAction) => {\r\n state.isRestoreInfoVisible = action.payload;\r\n },\r\n setFileBlocked: (state, action: PayloadAction) => {\r\n state.fileBlocked = action.payload;\r\n },\r\n dismissErrorBar: (state) => {\r\n state.isErrorBarVisible = false;\r\n },\r\n dismissRestoreInfo: (state) => {\r\n state.isRestoreInfoVisible = false;\r\n },\r\n setPendingDeleteVersionId: (state, action: PayloadAction) => {\r\n state.pendingDeleteVersionId = action.payload;\r\n },\r\n dismissDeleteConfirmDialog: (state) => {\r\n state.pendingDeleteVersionId = null;\r\n },\r\n setContextMenuOpen: (state, action: PayloadAction) => {\r\n state.isContextMenuOpen = action.payload;\r\n }\r\n },\r\n extraReducers: (builder) => {\r\n builder.addCase(getInitialStateAsync.fulfilled, (state, action) => {\r\n state.fileName = action.payload.fileName;\r\n state.isDeleteVersionVisible = action.payload.isDeleteVersionVisible;\r\n state.isInitialized = true;\r\n });\r\n }\r\n});\r\n\r\n// Export combined actions (sync reducers + async thunks)\r\nexport const versionHistoryActions = {\r\n ...versionHistorySlice.actions,\r\n getInitialState: getInitialStateAsync,\r\n restore: restoreAsync,\r\n openFile: openFileAsync,\r\n viewOnline: viewOnlineAsync,\r\n deleteVersion: deleteVersionAsync,\r\n tryAgain: tryAgainAsync,\r\n close: closeAsync\r\n};\r\n\r\nexport default versionHistorySlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\nimport { IVersionHistoryInitialState, IOpenFileParams } from '../types/versionHistoryTypes';\r\n\r\nconst VERSION_HISTORY_ROUTE = 'versionHistory';\r\n\r\nexport class VersionHistoryDataModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async getInitialState(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('GET', VERSION_HISTORY_ROUTE, 'getInitialState'));\r\n }\r\n\r\n public async restore(versionId: string): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', VERSION_HISTORY_ROUTE, 'restore', { versionId })\r\n );\r\n }\r\n\r\n public async openFile(params: IOpenFileParams): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', VERSION_HISTORY_ROUTE, 'openFile', params)\r\n );\r\n }\r\n\r\n public async viewOnline(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', VERSION_HISTORY_ROUTE, 'viewOnline'));\r\n }\r\n\r\n public async deleteVersion(versionId: string): Promise {\r\n return this._dataHandler.send(\r\n getDataHandlerSendOptions('POST', VERSION_HISTORY_ROUTE, 'deleteVersion', { versionId })\r\n );\r\n }\r\n\r\n public async tryAgain(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', VERSION_HISTORY_ROUTE, 'tryAgain'));\r\n }\r\n\r\n public async close(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', VERSION_HISTORY_ROUTE, 'close'));\r\n }\r\n}\r\n","export enum VersionHistoryState {\r\n None = 'None',\r\n Restore = 'Restore',\r\n OpenFile = 'OpenFile',\r\n DeleteVersion = 'DeleteVersion',\r\n ListVersionHistory = 'ListVersionHistory',\r\n GetResourceId = 'GetResourceId',\r\n ListVersionHistoryError = 'ListVersionHistoryError',\r\n ItemMenuRequestsError = 'ItemMenuRequestsError',\r\n DeleteConfirmDialogUp = 'DeleteConfirmDialogUp'\r\n}\r\n\r\nexport enum ErrorState {\r\n None = 'None',\r\n Restore = 'Restore',\r\n OpenFile = 'OpenFile',\r\n DeleteVersion = 'DeleteVersion'\r\n}\r\n\r\nexport enum ViewState {\r\n Processing = 'Processing',\r\n Ready = 'Ready',\r\n ListVersionHistoryError = 'ListVersionHistoryError',\r\n ItemMenuRequestsError = 'ItemMenuRequestsError'\r\n}\r\n\r\nexport interface IVersionHistoryItem {\r\n totalSizeBytes: number;\r\n fileAuthor: string;\r\n fileVersionId: string;\r\n lastUpdatedTimeUTC: string;\r\n downloadUrl: string;\r\n}\r\n\r\nexport interface IVersionHistoryReduxState {\r\n viewState: ViewState;\r\n items: IVersionHistoryItem[];\r\n fileName: string;\r\n isDeleteVersionVisible: boolean;\r\n fileBlocked: boolean;\r\n isRestoreInfoVisible: boolean;\r\n errorHeaderState: ErrorState;\r\n useDefaultTryAgainString: boolean;\r\n pendingDeleteVersionId: string | null;\r\n isErrorBarVisible: boolean;\r\n isInitialized: boolean;\r\n isContextMenuOpen: boolean;\r\n}\r\n\r\nexport interface IVersionHistoryInitialState {\r\n fileName: string;\r\n isDeleteVersionVisible: boolean;\r\n}\r\n\r\nexport interface IOpenFileParams {\r\n downloadUrl: string;\r\n versionId: string;\r\n shouldDownload: boolean;\r\n}\r\n","import { PayloadAction, createAsyncThunk, createSlice } from '@reduxjs/toolkit';\r\nimport { VaultDataModel } from '../dataHandler/VaultDataModel';\r\n\r\nexport interface IVaultState {\r\n shouldDisableButton: boolean;\r\n}\r\n\r\nexport const vaultDataModel: VaultDataModel = new VaultDataModel();\r\n\r\nexport const initialVaultState: IVaultState = {\r\n shouldDisableButton: false\r\n};\r\n\r\n// Create a thunk for the async function to platform.\r\nconst onNextButtonClickedAsync = createAsyncThunk('vault/on_next_button_clicked', () => {\r\n return vaultDataModel.onNextButtonClicked();\r\n});\r\n\r\nconst onAllowButtonClickedAsync = createAsyncThunk('vault/on_allow_button_clicked', () => {\r\n return vaultDataModel.onAllowButtonClicked();\r\n});\r\n\r\nexport const vaultSlice = createSlice({\r\n name: 'vault',\r\n initialState: initialVaultState,\r\n reducers: {\r\n setShouldDisableButton: (state: IVaultState, action: PayloadAction) => {\r\n state.shouldDisableButton = action.payload;\r\n }\r\n }\r\n});\r\n\r\nexport const vaultActions = {\r\n ...vaultSlice.actions,\r\n onNextButtonClicked: onNextButtonClickedAsync,\r\n onAllowButtonClicked: onAllowButtonClickedAsync\r\n};\r\n\r\nexport const vaultReducer = vaultSlice.reducer;\r\n","import { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { getDataHandlerSendOptions } from '../../common/helpers/helpers';\r\n\r\nexport class VaultDataModel {\r\n private _dataHandler: NativeDataHandler;\r\n\r\n public constructor() {\r\n this._dataHandler = new NativeDataHandler();\r\n }\r\n\r\n public async onNextButtonClicked(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', 'vault', 'nextButtonClicked'));\r\n }\r\n\r\n public async onAllowButtonClicked(): Promise {\r\n return this._dataHandler.send(getDataHandlerSendOptions('POST', 'vault', 'allowButtonClicked'));\r\n }\r\n}\r\n","import React, { Suspense } from 'react';\r\n\r\nimport { I18nManager, View, ViewStyle } from 'react-native';\r\nimport { AppKeyContext, CommonContext, DpiScaleContext, UpdateRingKillSwitch } from './models/CommonContext';\r\nimport { useCommonContextData } from './models/useCommonContextData';\r\nimport { CommonContextDataModel } from './dataHandler/CommonContextDataModel';\r\nimport { ITheme, themeManager } from './themes/LoadingTheme';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { CommonMessageHandler } from './dataHandler/CommonMessageHandler';\r\nimport { IMessageHandlerProps, NativeDataHandler } from '../dataHandler/NativeDataHandler';\r\nimport { CommonModal } from '../components/CommonModal';\r\nimport { Metadata } from '../types';\r\nimport Spinner from '../components/Spinner';\r\nimport Error from '../components/Error';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { useRecordFunnelTelemetryCallback } from '../redux/logHooks';\r\nimport { selectViewActivated } from '../redux/selectors';\r\nimport { commonActions } from '../redux/commonSlice';\r\nimport { useKillSwitchSafe } from '../redux/updateRingSettingsHooks';\r\n\r\nexport interface ICommonLoader {\r\n appKey: string;\r\n viewType: React.ComponentType;\r\n messageHandlerType?: React.ComponentType;\r\n}\r\n\r\ninterface ILoaderStyle {\r\n containerView: ViewStyle;\r\n}\r\n\r\nexport const useLoadingStyles: ThemedStylesHook = createThemedStylesHook(\r\n themeManager,\r\n (theme: ITheme) => {\r\n return {\r\n containerView: {\r\n flex: 1\r\n }\r\n };\r\n }\r\n);\r\n\r\nexport const commonContextDataModel: CommonContextDataModel = new CommonContextDataModel();\r\n\r\n/**\r\n * Adds a 'singleton' sibling component, CommonModal, to any children passed in.\r\n */\r\nconst CommonModalWrapper = (props: { children: React.ReactNode }): JSX.Element => {\r\n return (\r\n <>\r\n {props.children}\r\n \r\n \r\n );\r\n};\r\n\r\n// decide if a component uses redux or commonContext as state management\r\nconst isReduxBasedComponent = (appKey: string): boolean => {\r\n switch (appKey) {\r\n case 'kfmMove':\r\n case 'kfmExpressOptIn':\r\n case 'settings':\r\n case 'debug':\r\n case 'reportABug':\r\n case 'unlinkSurvey':\r\n case 'kfmOptOutSurvey':\r\n case 'hiddenRoot':\r\n return false;\r\n default:\r\n return true;\r\n }\r\n};\r\n\r\nconst DetectSpinnerRemoved = (): null => {\r\n const recordFunnelTelemetry = useRecordFunnelTelemetryCallback();\r\n React.useEffect(() => {\r\n recordFunnelTelemetry('CommonSpinnerRemoved');\r\n }, []);\r\n\r\n return null;\r\n};\r\n\r\nconst RenderSpinnerWithDetection = (): JSX.Element => {\r\n const recordFunnelTelemetry = useRecordFunnelTelemetryCallback();\r\n React.useEffect(() => {\r\n recordFunnelTelemetry('CommonSpinnerRendered');\r\n }, []);\r\n return ;\r\n};\r\n\r\n// @owner=taenri Kill Switch to guard behavior which forces RNViewWin to always send two \"viewActivated\" messages\r\n// when reactivating a view:\r\n// 1. The first message will contain an empty view name to reset any active React.useEffect hooks.\r\n// 2. The second message will contain the actual view name to trigger activation effects for the specified view.\r\nconst ForceRNViewReactivation: UpdateRingKillSwitch = 4885;\r\n\r\nexport const CommonLoader = (props: ICommonLoader): JSX.Element => {\r\n const [dpiScale, setDpiScale] = React.useState(1.0);\r\n const dispatch = useAppDispatch();\r\n const viewActivated = useAppSelector(selectViewActivated);\r\n const commonMessageDataHandler = React.useMemo(() => new NativeDataHandler(), []);\r\n const viewMessageDataHandler = React.useMemo(\r\n () => new NativeDataHandler(dispatch, props.appKey),\r\n [dispatch, props.appKey]\r\n );\r\n const styles = useLoadingStyles();\r\n const commonContext = useCommonContextData(props.appKey);\r\n // redux is still accessible in all components, but we are not replacing commonContext with redux yet\r\n // isReduxEnabled is used to determine if its a new component that uses redux exclusively or not\r\n const isReduxEnabled = isReduxBasedComponent(props.appKey);\r\n const isForceRNViewReactivationSafe = useKillSwitchSafe(ForceRNViewReactivation);\r\n\r\n // commonContext.metadata is now gotten from the redux store\r\n // this is to avoid duplicate fetches of metadata and strings\r\n const metadata: Metadata = commonContext.metadata;\r\n const isRTL = metadata?.account?.isRTL || false;\r\n\r\n React.useEffect(() => {\r\n I18nManager.allowRTL(true);\r\n I18nManager.forceRTL(isRTL);\r\n }, [isRTL]);\r\n\r\n // Render the explicitly registered message handler, if applicable.\r\n //\r\n // Note that this message handler MUST rely exclusively on Redux instead of Context in order to work properly.\r\n // This is because context is only managed by the registered view type, which has not been rendered yet at this point.\r\n // Conversely, the Redux store is globally managed so we can rely on it to be set up before CommonLoader has rendered.\r\n const registeredMessageHandler = props.messageHandlerType && (\r\n \r\n );\r\n\r\n // If a view is activated, immediately set the viewActivated state to an empty string to reset other\r\n // activation effects for next time the view is activated.\r\n React.useEffect(() => {\r\n // This is now legacy behavior that should only apply when the ForceRNViewReactivation kill switch is unsafe.\r\n if (!isForceRNViewReactivationSafe && viewActivated !== '') {\r\n dispatch(commonActions.setViewActivated(''));\r\n }\r\n }, [isForceRNViewReactivationSafe, viewActivated, dispatch]);\r\n\r\n if (commonContext.failedFetch && !isReduxEnabled) {\r\n return ;\r\n } else {\r\n return (\r\n \r\n \r\n }>\r\n \r\n \r\n {registeredMessageHandler}\r\n {!isReduxEnabled && !commonContext.isAppFullyLoaded ? : null}\r\n {/* Always ender the child app to allow it to load its data. */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport { View, ViewStyle, Text } from 'react-native';\r\nimport { commonThemeManager, ICommonTheme } from '../themes/ICommonTheme';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../themes/themes';\r\ninterface IErrorStyles {\r\n loadingView: ViewStyle;\r\n}\r\nconst useErrorStyles: ThemedStylesHook = createThemedStylesHook(\r\n commonThemeManager,\r\n (theme: ICommonTheme) => {\r\n return {\r\n loadingView: {\r\n backgroundColor: theme.dialog.backgroundColor,\r\n justifyContent: 'center',\r\n display: 'flex',\r\n alignItems: 'center',\r\n height: '100%'\r\n }\r\n };\r\n }\r\n);\r\n\r\nexport const Error = (): JSX.Element => {\r\n const styles = useErrorStyles();\r\n return (\r\n \r\n ERROR\r\n \r\n );\r\n};\r\n\r\nexport default Error;\r\n","import { ThemeManager } from '../../../common/themes/themes';\r\nimport { ThemeName } from '../../../common/themes/themeUtils';\r\nimport { ISystemHighContrastTheme } from '../../../common/themes/themeUtils';\r\n\r\n/**\r\n * Simplified theming for the common loading spinner\r\n */\r\n\r\nexport interface ITheme {\r\n themeName: ThemeName;\r\n innerFrameBackgroundColor: string;\r\n}\r\n\r\n// Dark theme color palette\r\nexport const DarkTheme: ITheme = {\r\n themeName: ThemeName.Dark,\r\n innerFrameBackgroundColor: '#202020'\r\n};\r\n\r\n// light theme color palette\r\nexport const LightTheme: ITheme = {\r\n themeName: ThemeName.Light,\r\n innerFrameBackgroundColor: '#F3F3F3'\r\n};\r\n\r\nexport function createHighContrastTheme(systemTheme: ISystemHighContrastTheme, themeName: ThemeName): ITheme {\r\n return {\r\n themeName: themeName,\r\n innerFrameBackgroundColor: systemTheme.WindowColor\r\n };\r\n}\r\n\r\n// Define themes for this app\r\nexport const themeManager: ThemeManager = new ThemeManager(\r\n LightTheme,\r\n DarkTheme,\r\n createHighContrastTheme\r\n);\r\n","import * as React from 'react';\r\nimport { View, ViewStyle, ScrollView, ImageStyle } from 'react-native';\r\nimport { CommonContext, DialogButtons, Variants } from '../loader/models/CommonContext';\r\nimport { commonThemeManager, ICommonTheme, useCommonStyles } from '../themes/ICommonTheme';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../themes/themes';\r\nimport { CommonButton } from './CommonButton';\r\nimport { CommonText } from './CommonText';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useAccessibleAnnouncement } from '../../hooks';\r\nimport { isMacOS, MAC_SHAPE } from '../themes/macTokens';\r\nimport { useLogBvtInfoEffect } from '../redux/logHooks';\r\n\r\nexport interface IModalStyles {\r\n overlay: ViewStyle;\r\n window: ViewStyle;\r\n modalContent: ViewStyle;\r\n titleTextSpacing: ViewStyle;\r\n CommonButtonsContainer: ViewStyle;\r\n OneButtonContainer: ViewStyle;\r\n TwoButtonsContainer: ViewStyle;\r\n scrollView: ViewStyle;\r\n dismissButtonIconStyle: ImageStyle;\r\n dismissButtonContainer: ViewStyle;\r\n}\r\n\r\nconst useModalStyles: ThemedStylesHook = createThemedStylesHook(\r\n commonThemeManager,\r\n (theme: ICommonTheme) => {\r\n const sheetRadius = isMacOS ? MAC_SHAPE.sheetRadius : 7;\r\n return {\r\n overlay: {\r\n zIndex: 2,\r\n position: 'absolute',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n backgroundColor: 'rgba(10, 10, 10, .5)',\r\n width: '100%',\r\n height: '100%'\r\n },\r\n window: {\r\n width: 500,\r\n backgroundColor: theme.dialog.commonModalBackgroundColor,\r\n borderColor: theme.dialog.dialogBorderColor,\r\n borderRadius: sheetRadius,\r\n alignSelf: 'center',\r\n borderWidth: isMacOS ? 0 : 1\r\n },\r\n modalContent: {\r\n flex: 1,\r\n padding: 24\r\n },\r\n titleTextSpacing: {\r\n marginBottom: 12\r\n },\r\n CommonButtonsContainer: {\r\n // On Mac, render a transparent right-aligned action bar with a hairline\r\n // separator on top — matches the standard AppKit sheet footer instead of\r\n // Windows' filled gray button strip. Button order is handled below in\r\n // JSX so the primary always lands on the right regardless of `primary`.\r\n flexDirection: 'row',\r\n backgroundColor: theme.dialog.buttonBackgroundColor,\r\n borderBottomRightRadius: sheetRadius,\r\n borderBottomLeftRadius: sheetRadius,\r\n borderColor: theme.dialog.dialogButtonContainerBorderColor,\r\n height: isMacOS ? MAC_SHAPE.actionBarHeight : 70,\r\n alignItems: 'center',\r\n paddingVertical: isMacOS ? 12 : 40,\r\n ...(isMacOS\r\n ? {\r\n borderWidth: 0,\r\n borderTopWidth: 0.5,\r\n borderTopColor: theme.dialog.dialogButtonContainerBorderColor,\r\n paddingHorizontal: 16\r\n }\r\n : { borderWidth: 1 })\r\n },\r\n OneButtonContainer: {\r\n justifyContent: 'flex-end',\r\n paddingHorizontal: 24,\r\n paddingVertical: isMacOS ? 12 : 40\r\n },\r\n TwoButtonsContainer: {\r\n // Mac: right-aligned action bar. Windows: keep the existing centered\r\n // spacing so we don't perturb Windows snapshots / layout.\r\n justifyContent: isMacOS ? 'flex-end' : 'space-evenly',\r\n ...(isMacOS ? { gap: MAC_SHAPE.actionBarButtonGap } : {})\r\n },\r\n scrollView: {\r\n flex: 1,\r\n overflow: 'scroll'\r\n },\r\n dismissButtonIconStyle: {\r\n width: 18,\r\n height: 18\r\n },\r\n dismissButtonContainer: {\r\n zIndex: 100,\r\n position: 'absolute',\r\n top: 2,\r\n right: 2,\r\n padding: 3\r\n }\r\n };\r\n }\r\n);\r\n\r\nexport interface ICommonModalProps {\r\n /**\r\n * Dialog title as a string\r\n */\r\n title: string;\r\n\r\n /**\r\n * React Node content for the body of the dialog\r\n */\r\n body: React.ReactNode;\r\n\r\n /**\r\n * Button texts\r\n */\r\n buttonOneText?: string;\r\n buttonTwoText?: string;\r\n\r\n /**\r\n * Callback method for button clicks. Both buttons will close the modal, whether or not these\r\n * props are included. (Optional)\r\n */\r\n buttonOneClick?: () => void;\r\n buttonTwoClick?: () => void;\r\n\r\n /**\r\n * Callback method for when the modal is dismissed/closed without a button being pressed. (Optional)\r\n */\r\n onDismissed?: () => void;\r\n\r\n /**\r\n * Button with primary styles applied. Defaults to the first button. (optional)\r\n */\r\n primary?: DialogButtons;\r\n\r\n /**\r\n * Horizontal and vertical offset values for the dialog (optional)\r\n */\r\n verticalOffset?: number;\r\n horizontalOffset?: number;\r\n\r\n /**\r\n * Width for the common modal (optional)\r\n */\r\n width?: number;\r\n\r\n /**\r\n * Height for the common modal (optional)\r\n */\r\n height?: number;\r\n\r\n /**\r\n * Height for the buttons (optional)\r\n */\r\n buttonHeight?: number;\r\n\r\n /**\r\n * Width for the buttons (optional)\r\n */\r\n buttonWidth?: number;\r\n\r\n /**\r\n * Accessibility hint for the primary button. If not provided, the title of the modal is used as the accessibility hint (Optional)\r\n */\r\n accessibilityHint?: string;\r\n\r\n /**\r\n * Flag to indicate that the modal is an error modal. (Optional)\r\n */\r\n isErrorModal?: boolean;\r\n /**\r\n * Flag to indicate that the modal has a form so it does not autofocus on the primary button. (Optional)\r\n */\r\n isFormModal?: boolean;\r\n\r\n /**\r\n * Custom style for the button one container. (Optional)\r\n */\r\n customButtonOneStyle?: ViewStyle;\r\n\r\n /**\r\n * Custom style for the button two container. (Optional)\r\n */\r\n customButtonTwoStyle?: ViewStyle;\r\n\r\n /**\r\n * Custom list of strings to be announced when the modal is opened. (Optional)\r\n */\r\n accessibilityAnnouncements?: string[];\r\n\r\n /**\r\n * Name of the view that the CommonModal belongs to. This is primarily used by the useWizardConfirmDialog hook to\r\n * determine whether to show the generic confirm dialog based on the current wizard page. (Optional)\r\n */\r\n viewName?: string;\r\n}\r\n\r\n/**\r\n * Modal window that prevents interaction with the underlying view until the user interacts with\r\n * the modal. Meant to be used as a singleton and interacted with via functions that control the\r\n * modal in CommonContext.\r\n *\r\n * How to use:\r\n * 1. Place one as a sibling to your root View\r\n * 2. When you want the modal to show, call commonContext.setCommonModalProps with the props you\r\n * want to pass to the modal\r\n * 3. Call commonContext.setCommonModalVisible(true)\r\n * 4. Use commonContext.setCommonModalVisible(false) in one or both of the button click callbacks\r\n * in the props in step 2 to close the modal\r\n */\r\nexport const CommonModal = (): JSX.Element | null => {\r\n const modalStyles = useModalStyles();\r\n const commonStyles = useCommonStyles();\r\n const commonContext = React.useContext(CommonContext);\r\n const {\r\n title,\r\n body,\r\n buttonOneText,\r\n buttonTwoText,\r\n buttonOneClick,\r\n buttonTwoClick,\r\n onDismissed,\r\n primary,\r\n verticalOffset,\r\n horizontalOffset,\r\n height,\r\n width,\r\n buttonHeight,\r\n buttonWidth,\r\n accessibilityHint,\r\n isErrorModal,\r\n isFormModal,\r\n customButtonOneStyle,\r\n customButtonTwoStyle,\r\n accessibilityAnnouncements\r\n } = commonContext.commonModalProps;\r\n const primaryButtonRef = React.useRef(null);\r\n const isVisible = commonContext.isCommonModalVisible;\r\n const finalPrimary = primary || DialogButtons.First;\r\n const { t: translate } = useTranslation();\r\n const [closeCalled, setCloseCalled] = React.useState(false);\r\n\r\n useLogBvtInfoEffect({ testId: 'commonModal', visible: isVisible });\r\n\r\n // Determine the button text and variant based on the primary prop\r\n // Take care of case where we don't want any primary style on both buttons.\r\n let buttonOneTestID = 'dialogPrimaryButton';\r\n let buttonTwoTestID = 'dialogSecondaryButton';\r\n let buttonOneVariant = Variants.Primary;\r\n let buttonTwoVariant = Variants.Default;\r\n if (finalPrimary === DialogButtons.Second) {\r\n buttonOneTestID = 'dialogSecondaryButton';\r\n buttonTwoTestID = 'dialogPrimaryButton';\r\n buttonOneVariant = Variants.Default;\r\n buttonTwoVariant = Variants.Primary;\r\n } else if (finalPrimary === DialogButtons.None) {\r\n // Only applies for button style.\r\n // button test ids remain the same as DialogButtons.First\r\n buttonOneVariant = Variants.Default;\r\n }\r\n\r\n const closeModal = (buttonPressed: DialogButtons): void => {\r\n setCloseCalled(true);\r\n\r\n commonContext.setCommonModalVisible(false);\r\n\r\n if (onDismissed && buttonPressed === DialogButtons.None) {\r\n onDismissed();\r\n }\r\n };\r\n\r\n const windowStyles = [modalStyles.window];\r\n if (horizontalOffset) {\r\n windowStyles.push({ top: horizontalOffset });\r\n }\r\n if (verticalOffset) {\r\n windowStyles.push({ left: verticalOffset });\r\n }\r\n if (horizontalOffset) {\r\n windowStyles.push({ top: horizontalOffset });\r\n }\r\n if (height) {\r\n windowStyles.push({ minHeight: height });\r\n } else {\r\n windowStyles.push({ minHeight: 250 });\r\n }\r\n\r\n if (width) {\r\n windowStyles.push({ width: width });\r\n }\r\n\r\n const handleButtonOneClick = (): void => {\r\n if (buttonOneClick) {\r\n buttonOneClick();\r\n }\r\n if (!isErrorModal) {\r\n closeModal(DialogButtons.First);\r\n }\r\n };\r\n\r\n const handleButtonTwoClick = (): void => {\r\n if (buttonTwoClick) {\r\n buttonTwoClick();\r\n }\r\n closeModal(DialogButtons.Second);\r\n };\r\n\r\n const handleDismissed = (): void => {\r\n closeModal(DialogButtons.None);\r\n };\r\n\r\n // Set the focus on the primary button of the modal for improved accessibility\r\n React.useEffect(() => {\r\n // Workaround: Focusing the primary button doesn't work without this 1ms timeout.\r\n setTimeout(function () {\r\n if (primaryButtonRef.current && !isFormModal) {\r\n primaryButtonRef.current!.focus();\r\n }\r\n }, 1);\r\n }, [isVisible, primaryButtonRef.current]);\r\n\r\n React.useEffect(() => {\r\n if (isVisible && closeCalled) {\r\n setCloseCalled(false);\r\n } else if (!isVisible && !closeCalled) {\r\n // If the modal was made invisible without close being called, assume that the modal\r\n // was closed by the user pressing the escape key. Ensure that we properly close.\r\n handleDismissed();\r\n }\r\n }, [isVisible, closeCalled]);\r\n\r\n useAccessibleAnnouncement(accessibilityAnnouncements || [], [accessibilityAnnouncements], isVisible);\r\n\r\n return isVisible ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n {body}\r\n \r\n \r\n \r\n {(() => {\r\n const buttonOneNode = buttonOneText ? (\r\n \r\n ) : null;\r\n const buttonTwoNode = buttonTwoText ? (\r\n \r\n ) : null;\r\n // Mac convention: secondary (Cancel) on the left, primary (default\r\n // action) on the right. When `finalPrimary === First` the primary\r\n // is buttonOne, so swap render order; otherwise the natural order\r\n // already lands primary on the right. Windows is unchanged.\r\n if (isMacOS && buttonOneNode && buttonTwoNode && finalPrimary === DialogButtons.First) {\r\n return (\r\n <>\r\n {buttonTwoNode}\r\n {buttonOneNode}\r\n \r\n );\r\n }\r\n return (\r\n <>\r\n {buttonOneNode}\r\n {buttonTwoNode}\r\n \r\n );\r\n })()}\r\n \r\n \r\n \r\n ) : null;\r\n};\r\n","import * as React from 'react';\r\nimport {\r\n ViewStyle,\r\n View,\r\n TextStyle,\r\n ImageStyle,\r\n AccessibilityState,\r\n Animated,\r\n DimensionValue,\r\n Easing,\r\n GestureResponderEvent,\r\n AccessibilityRole\r\n} from 'react-native';\r\nimport { CommonPressable } from './CommonPressable';\r\nimport { commonThemeManager, ICommonTheme, useCommonStyles } from '../themes/ICommonTheme';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../themes/themes';\r\nimport { ThemeName } from '../themes/themeUtils';\r\nimport { Variants } from '../loader/models/CommonContext';\r\nimport { CommonText } from './CommonText';\r\nimport { SVGIcon } from './SvgIcon';\r\nimport CPKeyboardEvent from '../../activityCenterView/utils/CPKeyboardEvent';\r\nimport { useRecordNezhaCallback } from '../redux/logHooks';\r\nimport { isMacOS, MAC_SHAPE } from '../themes/macTokens';\r\n\r\nconst MIN_BUTTON_WIDTH = isMacOS ? MAC_SHAPE.buttonMinWidth : 118;\r\n\r\n// Mac state feedback layered as a translucent overlay over the base fill so\r\n// the underlying surface (controlBackgroundColor for secondary, accent for\r\n// filled) shows through and adapts to light/dark/HC automatically. No hover\r\n// dim — AppKit filled buttons don't dim on hover.\r\n// Light mode uses black (darken); dark mode uses white (lighten) so the\r\n// secondary button reads against the dark dialog surface.\r\nconst MAC_FILLED_PRESS_OVERLAY_LIGHT = 'rgba(0, 0, 0, 0.15)';\r\nconst MAC_FILLED_PRESS_OVERLAY_DARK = 'rgba(255, 255, 255, 0.15)';\r\nconst MAC_SECONDARY_IDLE_OVERLAY_LIGHT = 'rgba(0, 0, 0, 0.08)';\r\nconst MAC_SECONDARY_IDLE_OVERLAY_DARK = 'rgba(255, 255, 255, 0.10)';\r\nconst MAC_SECONDARY_PRESS_OVERLAY_LIGHT = 'rgba(0, 0, 0, 0.20)';\r\nconst MAC_SECONDARY_PRESS_OVERLAY_DARK = 'rgba(255, 255, 255, 0.22)';\r\nconst macStateOverlayBase: ViewStyle = isMacOS\r\n ? {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0,\r\n borderRadius: MAC_SHAPE.buttonRadius\r\n }\r\n : {};\r\n// Mac control text size matches AppKit \"Regular\" (13pt) instead of the\r\n// 14pt Fluent body text used elsewhere.\r\nconst MAC_BUTTON_TEXT_STYLE: TextStyle = isMacOS ? { fontSize: 13 } : {};\r\n\r\nexport interface IButtonVariantStyles {\r\n normalButton: ViewStyle;\r\n normalText: TextStyle;\r\n hoverButton: ViewStyle;\r\n hoverText: TextStyle;\r\n pressedButton: ViewStyle;\r\n pressedText: TextStyle;\r\n disabledButton: ViewStyle;\r\n disabledText: TextStyle;\r\n}\r\n/**\r\n * Defines types for Button styles.\r\n */\r\ninterface IButtonStyles {\r\n buttonStyle: ViewStyle;\r\n buttonHover: ViewStyle;\r\n buttonPress: ViewStyle;\r\n buttonDisabled: ViewStyle;\r\n buttonTextColorDefault: TextStyle;\r\n buttonTextColorPressed: TextStyle;\r\n buttonTextColorDisabled: TextStyle;\r\n buttonTextColorHovering: TextStyle;\r\n manageButtonContainer: ViewStyle;\r\n iconBase: ImageStyle;\r\n iconTintColor: ImageStyle;\r\n iconTintColorPressed: ImageStyle;\r\n iconTintColorDisabled: ImageStyle;\r\n iconTintColorHovering: ImageStyle;\r\n buttonDropshadowNormal: ViewStyle;\r\n buttonDropshadowPressed: ViewStyle;\r\n}\r\n\r\n/**\r\n * Creates Button styles.\r\n */\r\n\r\nconst usePrimaryButtonStyles: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n IButtonVariantStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n const isHighContrast =\r\n theme.themeName === ThemeName.HighContrastDark || theme.themeName === ThemeName.HighContrastLight;\r\n return {\r\n normalButton: {\r\n backgroundColor: theme.primaryButton.backgroundColor,\r\n borderColor: theme.primaryButton.buttonBorderColor,\r\n borderWidth: 1\r\n },\r\n normalText: {\r\n color: theme.primaryButton.textColor\r\n },\r\n hoverButton: {\r\n backgroundColor: theme.primaryButton.buttonHoverColor,\r\n borderColor: theme.primaryButton.buttonHoverBorderColor,\r\n opacity: isHighContrast ? 1 : 0.9\r\n },\r\n hoverText: {\r\n color: theme.primaryButton.buttonTextHoverColor\r\n },\r\n pressedButton: {\r\n backgroundColor: theme.primaryButton.backgroundColor,\r\n borderColor: theme.primaryButton.buttonHoverBorderColor,\r\n opacity: isHighContrast ? 1 : 0.8,\r\n borderBottomWidth: 1\r\n },\r\n pressedText: {\r\n color: theme.primaryButton.buttonTextPressedColor\r\n },\r\n disabledButton: {\r\n backgroundColor: theme.primaryButton.disabledBackgroundColor,\r\n borderColor: theme.primaryButton.disabledButtonBorderColor\r\n },\r\n disabledText: {\r\n color: theme.primaryButton.disabledTextColor\r\n }\r\n };\r\n});\r\n\r\nconst useSuccessButtonStyles: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n IButtonVariantStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n const isHighContrast =\r\n theme.themeName === ThemeName.HighContrastDark || theme.themeName === ThemeName.HighContrastLight;\r\n return {\r\n normalButton: {\r\n backgroundColor: theme.successButton.backgroundColor,\r\n borderColor: theme.successButton.buttonBorderColor,\r\n borderWidth: 1\r\n },\r\n normalText: {\r\n color: theme.successButton.textColor\r\n },\r\n hoverButton: {\r\n backgroundColor: theme.successButton.buttonHoverColor,\r\n borderColor: theme.successButton.buttonHoverBorderColor,\r\n opacity: isHighContrast ? 1 : 0.9\r\n },\r\n hoverText: {\r\n color: theme.successButton.buttonTextHoverColor\r\n },\r\n pressedButton: {\r\n backgroundColor: theme.successButton.backgroundColor,\r\n borderColor: theme.successButton.buttonHoverBorderColor,\r\n opacity: isHighContrast ? 1 : 0.8,\r\n borderBottomWidth: 1\r\n },\r\n pressedText: {\r\n color: theme.successButton.buttonTextPressedColor\r\n },\r\n disabledButton: {\r\n backgroundColor: theme.successButton.disabledBackgroundColor,\r\n borderColor: theme.successButton.disabledButtonBorderColor\r\n },\r\n disabledText: {\r\n color: theme.successButton.disabledTextColor\r\n }\r\n };\r\n});\r\n\r\nconst useErrorButtonStyles: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n IButtonVariantStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n const isHighContrast =\r\n theme.themeName === ThemeName.HighContrastDark || theme.themeName === ThemeName.HighContrastLight;\r\n return {\r\n normalButton: {\r\n backgroundColor: theme.errorButton.backgroundColor,\r\n borderColor: theme.errorButton.buttonBorderColor,\r\n borderWidth: 1\r\n },\r\n normalText: {\r\n color: theme.errorButton.textColor\r\n },\r\n hoverButton: {\r\n backgroundColor: theme.errorButton.buttonHoverColor,\r\n borderColor: theme.errorButton.buttonHoverBorderColor,\r\n opacity: isHighContrast ? 1 : 0.9\r\n },\r\n hoverText: {\r\n color: theme.errorButton.buttonTextHoverColor\r\n },\r\n pressedButton: {\r\n backgroundColor: theme.errorButton.backgroundColor,\r\n borderColor: theme.errorButton.buttonHoverBorderColor,\r\n opacity: isHighContrast ? 1 : 0.8,\r\n borderBottomWidth: 1\r\n },\r\n pressedText: {\r\n color: theme.errorButton.buttonTextPressedColor\r\n },\r\n disabledButton: {\r\n backgroundColor: theme.errorButton.disabledBackgroundColor,\r\n borderColor: theme.errorButton.disabledButtonBorderColor\r\n },\r\n disabledText: {\r\n color: theme.errorButton.disabledTextColor\r\n }\r\n };\r\n});\r\n\r\nconst useTransparentButtonStyles: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n IButtonVariantStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n return {\r\n normalButton: {\r\n backgroundColor: 'transparent',\r\n borderColor: theme.transparentButton.buttonBorderColor\r\n },\r\n hoverButton: {\r\n backgroundColor: theme.transparentButton.buttonHoverColor\r\n },\r\n pressedButton: {\r\n backgroundColor: theme.transparentButton.buttonPressedColor\r\n },\r\n disabledButton: {\r\n backgroundColor: theme.transparentButton.disabledBackgroundColor,\r\n borderColor: 'transparent',\r\n opacity: 0.3\r\n },\r\n normalText: {\r\n color: theme.transparentButton.textColor\r\n },\r\n hoverText: {\r\n color: theme.transparentButton.buttonTextHoverColor\r\n },\r\n pressedText: {\r\n color: theme.transparentButton.buttonTextPressedColor\r\n },\r\n disabledText: {\r\n color: theme.button.buttonTextDisabled\r\n }\r\n };\r\n});\r\n\r\nconst useFooterButtonStyles: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n IButtonVariantStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n return {\r\n normalButton: {\r\n backgroundColor: 'transparent',\r\n borderColor: theme.footerButton.buttonBorderColor\r\n },\r\n hoverButton: {\r\n backgroundColor: theme.footerButton.buttonHoverColor\r\n },\r\n pressedButton: {\r\n backgroundColor: theme.footerButton.buttonPressedColor\r\n },\r\n disabledButton: {\r\n backgroundColor: theme.footerButton.disabledBackgroundColor,\r\n borderColor: 'transparent',\r\n optacity: 0.3\r\n },\r\n normalText: {\r\n color: theme.footerButton.textColor\r\n },\r\n hoverText: {\r\n color: theme.footerButton.buttonTextHoverColor\r\n },\r\n pressedText: {\r\n color: theme.footerButton.buttonTextPressedColor\r\n },\r\n disabledText: {\r\n color: theme.button.buttonTextDisabled\r\n }\r\n };\r\n});\r\n\r\nexport const useDefaultStyles: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n IButtonVariantStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n return {\r\n normalButton: {\r\n backgroundColor: theme.button.buttonColor,\r\n borderColor: theme.button.buttonBorderColor\r\n },\r\n hoverButton: {\r\n backgroundColor: theme.button.buttonColorHover\r\n },\r\n pressedButton: {\r\n backgroundColor: theme.button.buttonColorPress\r\n },\r\n disabledButton: {\r\n backgroundColor: theme.button.buttonColorDisabled\r\n },\r\n normalText: {\r\n color: theme.button.buttonTextColor\r\n },\r\n hoverText: {\r\n color: theme.button.buttonTextHover\r\n },\r\n pressedText: {\r\n color: theme.button.buttonTextPressed\r\n },\r\n disabledText: {\r\n color: theme.button.buttonTextDisabled\r\n }\r\n };\r\n});\r\n\r\nconst useButtonStyles: ThemedStylesHook = createThemedStylesHook(\r\n commonThemeManager,\r\n (theme: ICommonTheme) => {\r\n return {\r\n buttonStyle: {\r\n backgroundColor: theme.button.buttonColor,\r\n borderColor: theme.button.buttonBorderColor,\r\n borderRadius: isMacOS ? MAC_SHAPE.buttonRadius : 3,\r\n // No border on Mac — fill alone defines the button. The 1pt border\r\n // on Windows is a Fluent affordance and adds an inconsistent extra\r\n // pixel between primary (border-colored) and secondary (transparent)\r\n // buttons on Mac, making them appear off by 1–2pt.\r\n borderWidth: isMacOS ? 0 : 1,\r\n alignSelf: 'center',\r\n alignItems: 'center',\r\n flexDirection: 'row',\r\n justifyContent: 'center',\r\n ...(isMacOS\r\n ? { paddingHorizontal: MAC_SHAPE.buttonPaddingH, minHeight: MAC_SHAPE.buttonMinHeight }\r\n : {})\r\n },\r\n buttonHover: {\r\n backgroundColor: theme.button.buttonColorHover,\r\n borderColor: theme.button.buttonBorderHover\r\n },\r\n buttonPress: {\r\n backgroundColor: theme.button.buttonColorPress,\r\n borderColor: theme.button.buttonBorderPress\r\n },\r\n buttonDisabled: {\r\n backgroundColor: theme.button.buttonColorDisabled\r\n },\r\n iconBase: {\r\n width: 16,\r\n height: 16\r\n },\r\n buttonTextColorDefault: {\r\n color: theme.button.buttonTextColor\r\n },\r\n iconTintColor: {\r\n tintColor: theme.button.iconTintColor\r\n },\r\n buttonTextColorPressed: {\r\n color: theme.button.buttonTextPressed\r\n },\r\n iconTintColorPressed: {\r\n tintColor: theme.button.buttonTextPressed\r\n },\r\n buttonTextColorDisabled: {\r\n color: theme.button.buttonTextDisabled\r\n },\r\n iconTintColorDisabled: {\r\n tintColor: theme.button.buttonTextDisabled\r\n },\r\n buttonTextColorHovering: {\r\n color: theme.button.buttonTextHover\r\n },\r\n iconTintColorHovering: {\r\n tintColor: theme.button.iconTintColor\r\n },\r\n manageButtonContainer: {\r\n marginRight: 10\r\n },\r\n // The faux drop shadow (a thicker bottom border) is a Fluent affordance\r\n // that reads as out of place on Mac. Mac buttons rely on system fill\r\n // alone — drop the bottom-border entirely so primary and secondary\r\n // measure the same.\r\n buttonDropshadowNormal: {\r\n borderBottomWidth: isMacOS ? 0 : 2\r\n },\r\n buttonDropshadowPressed: {\r\n borderBottomWidth: isMacOS ? 0 : 1\r\n }\r\n };\r\n }\r\n);\r\n\r\n// Mac overlay colors flip polarity by theme so the secondary button stays\r\n// visible against both light and dark dialog surfaces. Filled (accent)\r\n// variants always darken on press — a white tint on accent blue washes it\r\n// out. Each entry is a ViewStyle so it satisfies the themed-styles hook\r\n// constraint; only the `backgroundColor` field is consumed.\r\ninterface IMacOverlayStyles {\r\n filledPress: ViewStyle;\r\n secondaryIdle: ViewStyle;\r\n secondaryPress: ViewStyle;\r\n}\r\nconst useMacOverlayColors: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n IMacOverlayStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n const isDark = theme.themeName === ThemeName.Dark || theme.themeName === ThemeName.HighContrastDark;\r\n return {\r\n filledPress: {\r\n backgroundColor: isDark ? MAC_FILLED_PRESS_OVERLAY_DARK : MAC_FILLED_PRESS_OVERLAY_LIGHT\r\n },\r\n secondaryIdle: {\r\n backgroundColor: isDark ? MAC_SECONDARY_IDLE_OVERLAY_DARK : MAC_SECONDARY_IDLE_OVERLAY_LIGHT\r\n },\r\n secondaryPress: {\r\n backgroundColor: isDark ? MAC_SECONDARY_PRESS_OVERLAY_DARK : MAC_SECONDARY_PRESS_OVERLAY_LIGHT\r\n }\r\n };\r\n});\r\n\r\n/**\r\n * Defines props of CommonButton component.\r\n */\r\nexport interface IButtonProps {\r\n /**\r\n * Text to be displayed on button\r\n */\r\n buttonName: string;\r\n /**\r\n * Callback function passed to the onPress handler\r\n */\r\n onPress: (e?: GestureResponderEvent) => void;\r\n /**\r\n * Custom flex direction for the button (Optional)\r\n */\r\n flexDirection?: 'row' | 'column';\r\n /**\r\n * Name of icon to be used as an icon to the left of the text.\r\n * See available icon names in common/components/Icon.tsx\r\n */\r\n icon?: string;\r\n\r\n /* Toggle theme for the icon to use the opposite of the current theme (Optional) */\r\n toggleIconTheme?: boolean;\r\n\r\n /* Custom hover style for the icon (Optional) */\r\n customHoverStyle?: ViewStyle;\r\n\r\n /**\r\n * Name of icon to be used as an icon to the right of the text.\r\n * See available icon names in common/components/Icon.tsx\r\n */\r\n rightIcon?: string;\r\n /**\r\n * If true, the button will be tabbed with same space as a left icon (Optional)\r\n */\r\n tabbed?: boolean;\r\n /**\r\n * Custom image styling for the icon (Optional)\r\n */\r\n customIconStyle?: ImageStyle;\r\n /**\r\n * Custom styling for the CommonText within the button (Optional)\r\n */\r\n customCommonTextButtonStyle?: TextStyle;\r\n /**\r\n * Whether or not the button should be disabled (Optional)\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Custom width (Optional)\r\n */\r\n width?: DimensionValue;\r\n /**\r\n * Custom height (Optional)\r\n */\r\n height?: number;\r\n /**\r\n * Button variant \"primary\" or \"default\"\r\n * If no variant is provided, default button styles are applied\r\n * Primary variant is the button with an accent color background\r\n * Default is a button with plain background\r\n */\r\n variant?: Variants;\r\n /**\r\n * Set this to false if this component is in the CommonModal. Used to determine if this component\r\n * should be made un-focusable when the modal is active. Defaults to true. (Optional)\r\n */\r\n unfocusableWhenModalActive?: boolean;\r\n /**\r\n * Whether or not the button is focusable. Defaults to true. (Optional)\r\n */\r\n focusable?: boolean;\r\n /**\r\n * Standard children prop: accepts any valid React Node (Optional)\r\n * Contents appear in front of the built-in Text component\r\n */\r\n children?: React.ReactNode;\r\n /**\r\n * Custom accessibiility label for this button (Optional)\r\n */\r\n accessibilityLabel?: string;\r\n /**\r\n * Custom accessibiility hint for this button (Optional)\r\n */\r\n accessibilityHint?: string;\r\n /**\r\n * Accessibility state for the button (optional)\r\n */\r\n accessibilityState?: AccessibilityState;\r\n /**\r\n * Enable the accessibilityLiveRegion prop on the button's text. This will have the screen reader\r\n * announce any text changes on the button. Value should be either \"assertive\", \"polite\", or\r\n * \"none\". Assertive will interrupt anything being read when the button changes. Polite will wait\r\n * till the screen reader finishes whatever it's currently saying first. Defaults to \"none\".\r\n * (Optional)\r\n */\r\n accessibilityLiveRegion?: 'none' | 'polite' | 'assertive';\r\n /**\r\n * Accessibility role for this component and all children. (Optional)\r\n */\r\n accessibilityRole?: AccessibilityRole;\r\n /**\r\n * Custon tab index for this button (Optional)\r\n */\r\n tabIndex?: number;\r\n /**\r\n * Custom test ID string for this button to aid with automation (Optional)\r\n */\r\n testID: string;\r\n /**\r\n * Custom test ID string for the icon on this button to aid with automation (Optional)\r\n */\r\n iconTestID?: string;\r\n /**\r\n * Ref to use for the top-level View (Optional)\r\n */\r\n innerRef?: React.RefObject;\r\n /**\r\n * Custom styling for the button (Optional)\r\n */\r\n customButtonStyle?: ViewStyle;\r\n\r\n /**\r\n * Duration of rotation animation in ms (Optional)\r\n */\r\n rotationDuration?: number;\r\n\r\n /**\r\n *Optional method for when hover state is changed\r\n */\r\n onHover?: (isHovering: boolean) => void;\r\n /**\r\n * Custom handler for key presses on this component (Optional)\r\n */\r\n onKeyDown?: (event: CPKeyboardEvent) => void;\r\n}\r\n\r\n/**\r\n * Creates custom styled CommonPressable component.\r\n * @param {Interface} IButtonProps - The button name and onPress props of a button.\r\n */\r\nexport const CommonButton = (props: IButtonProps): JSX.Element => {\r\n const styles = useButtonStyles();\r\n const commonStyles = useCommonStyles();\r\n const defaultStyles = useDefaultStyles();\r\n const primaryStyles = usePrimaryButtonStyles();\r\n const transparentStyles = useTransparentButtonStyles();\r\n const successStyles = useSuccessButtonStyles();\r\n const errorStyles = useErrorButtonStyles();\r\n const footerButtonStyles = useFooterButtonStyles();\r\n const macOverlayColors = useMacOverlayColors();\r\n const recordNezhaCallback = useRecordNezhaCallback();\r\n\r\n const {\r\n variant,\r\n disabled,\r\n height,\r\n width,\r\n icon,\r\n buttonName,\r\n customIconStyle,\r\n customCommonTextButtonStyle,\r\n accessibilityHint,\r\n accessibilityLabel,\r\n accessibilityState,\r\n tabIndex,\r\n accessibilityLiveRegion,\r\n testID,\r\n iconTestID,\r\n innerRef,\r\n onPress,\r\n onHover,\r\n flexDirection,\r\n unfocusableWhenModalActive,\r\n focusable = true,\r\n customButtonStyle,\r\n rotationDuration,\r\n rightIcon,\r\n tabbed,\r\n accessibilityRole,\r\n onKeyDown,\r\n toggleIconTheme\r\n } = props;\r\n\r\n const customCommonTextButtonStyles = customCommonTextButtonStyle ? customCommonTextButtonStyle : {};\r\n\r\n const rotateValue = React.useRef(new Animated.Value(0)).current;\r\n const rotateInterpolation = rotateValue.interpolate({\r\n inputRange: [0, 1],\r\n outputRange: ['0deg', '360deg']\r\n });\r\n\r\n const rotationStyle = {\r\n transform: [{ rotate: rotateInterpolation }]\r\n };\r\n\r\n const handleButtonPress = (e?: GestureResponderEvent): void => {\r\n onPress(e);\r\n if (rotationDuration) {\r\n rotateValue.setValue(0);\r\n Animated.timing(rotateValue, {\r\n toValue: 1,\r\n duration: rotationDuration,\r\n easing: Easing.out(Easing.cubic),\r\n useNativeDriver: true\r\n }).start();\r\n }\r\n // Record Nezha callback for button press\r\n // Replace any space with an underscore\r\n recordNezhaCallback(`Clicked_${testID.replace(/\\s+/g, '_')}`);\r\n };\r\n\r\n const handleKeyDown = (e: CPKeyboardEvent): void => {\r\n if (onKeyDown) {\r\n onKeyDown(e);\r\n }\r\n };\r\n\r\n let variantStyles: IButtonVariantStyles;\r\n switch (variant) {\r\n case Variants.Primary:\r\n variantStyles = primaryStyles;\r\n break;\r\n case Variants.Transparent:\r\n variantStyles = transparentStyles;\r\n break;\r\n case Variants.Success:\r\n variantStyles = successStyles;\r\n break;\r\n case Variants.Danger:\r\n variantStyles = errorStyles;\r\n break;\r\n case Variants.Footer:\r\n variantStyles = footerButtonStyles;\r\n break;\r\n default:\r\n variantStyles = defaultStyles;\r\n break;\r\n }\r\n\r\n const isIconOnly = !buttonName;\r\n // On Mac, text buttons hug their content and ignore the caller's `width`\r\n // prop entirely. The wizard pages pass legacy Windows widths (e.g. 165)\r\n // that either look heavy or actively clip long localized text. Use a\r\n // generous max so even long strings (\"Get the mobile app\", \"Use these\r\n // settings\") fit; minWidth keeps small buttons from looking tiny.\r\n const macAutoSizeText = isMacOS && !isIconOnly;\r\n const widthSizing: ViewStyle = macAutoSizeText\r\n ? {\r\n minWidth: MIN_BUTTON_WIDTH,\r\n maxWidth: 360\r\n }\r\n : {\r\n minWidth: width || MIN_BUTTON_WIDTH,\r\n width: width ? width : undefined,\r\n maxWidth: width || 240\r\n };\r\n const buttonStyle: ViewStyle = {\r\n ...styles.buttonStyle,\r\n ...primaryStyles,\r\n flexDirection: flexDirection || 'row',\r\n ...widthSizing,\r\n minHeight: height || 30,\r\n height: height ? height : undefined,\r\n maxHeight: height || 60,\r\n // Icon-only buttons can't absorb the Mac text-button padding (it eats the\r\n // ~32px icon area). Zero it out for those.\r\n ...(isMacOS && isIconOnly ? { paddingHorizontal: 0 } : {})\r\n };\r\n return (\r\n \r\n {(isPressed, isHovering) => {\r\n let buttonColorModifier;\r\n let buttonShadowModifier = styles.buttonDropshadowNormal;\r\n let buttonTextColor;\r\n let iconTintColor = styles.iconTintColor;\r\n // Mac state feedback layered as an overlay over the base fill.\r\n let macOverlayColor: string | undefined;\r\n\r\n const isFilledVariant =\r\n variant === Variants.Primary || variant === Variants.Success || variant === Variants.Danger;\r\n const isSecondaryVariant = !variant || variant === Variants.Default;\r\n\r\n if (disabled) {\r\n buttonColorModifier = variantStyles.disabledButton;\r\n buttonTextColor = variantStyles.disabledText;\r\n iconTintColor = styles.iconTintColorDisabled;\r\n } else if (isMacOS) {\r\n // Keep normal bg + text always; the overlay alone signals state.\r\n // No hover dim — AppKit filled buttons don't dim on hover.\r\n buttonColorModifier = variantStyles.normalButton;\r\n buttonTextColor = variantStyles.normalText;\r\n if (isPressed) {\r\n buttonShadowModifier = styles.buttonDropshadowPressed;\r\n iconTintColor = styles.iconTintColorPressed;\r\n if (isFilledVariant) {\r\n macOverlayColor = macOverlayColors.filledPress.backgroundColor as string;\r\n } else if (isSecondaryVariant) {\r\n macOverlayColor = macOverlayColors.secondaryPress.backgroundColor as string;\r\n }\r\n } else if (isSecondaryVariant) {\r\n // Calibrated tint at idle so secondary reads as a button, not as\r\n // bare dialog surface. Light mode darkens; dark mode lightens.\r\n macOverlayColor = macOverlayColors.secondaryIdle.backgroundColor as string;\r\n }\r\n } else if (isPressed) {\r\n buttonColorModifier = variantStyles.pressedButton;\r\n buttonTextColor = variantStyles.pressedText;\r\n buttonShadowModifier = styles.buttonDropshadowPressed;\r\n iconTintColor = styles.iconTintColorPressed;\r\n } else if (isHovering) {\r\n buttonColorModifier = variantStyles.hoverButton;\r\n if (props.customHoverStyle) {\r\n buttonColorModifier = { ...buttonColorModifier, ...props.customHoverStyle };\r\n }\r\n buttonTextColor = variantStyles.hoverText;\r\n iconTintColor = styles.iconTintColorHovering;\r\n } else {\r\n buttonColorModifier = variantStyles.normalButton;\r\n buttonTextColor = variantStyles.normalText;\r\n }\r\n\r\n return (\r\n \r\n {macOverlayColor ? (\r\n \r\n ) : null}\r\n <>\r\n {icon ? (\r\n \r\n \r\n \r\n ) : null}\r\n {tabbed ? : null}\r\n {buttonName !== '' ? (\r\n \r\n {buttonName}\r\n \r\n ) : null}\r\n \r\n\r\n {rightIcon ? (\r\n \r\n ) : null}\r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n","import * as React from 'react';\r\nimport {\r\n AccessibilityRole,\r\n AccessibilityState,\r\n GestureResponderEvent,\r\n NativeMouseEvent,\r\n NativeSyntheticEvent,\r\n Pressable,\r\n StyleProp,\r\n View\r\n} from 'react-native';\r\nimport { CommonContext, IBvtRenderingInfo } from '../loader/models/CommonContext';\r\nimport { ViewStyle } from 'react-native';\r\nimport { useAppSelector } from '../../hooks';\r\nimport { selectIsAnyContextMenuOpen } from '../../activityCenterView/redux/activityCenterSelectors';\r\nimport CPKeyboardEvent from '../../activityCenterView/utils/CPKeyboardEvent';\r\nimport { useBvtPressEffect, useLogBvtInfoEffect } from '../redux/logHooks';\r\n\r\ninterface IPressableProps {\r\n /**\r\n * The following props are passed to the children of this component\r\n */\r\n children: (\r\n /**\r\n * Whether the React node is being pressed\r\n */\r\n isPressed: boolean,\r\n /**\r\n * Whether the React node is being hovered over\r\n */\r\n isHovering: boolean\r\n ) => React.ReactNode;\r\n /**\r\n * Callback function passed to the onPress handler in this component\r\n */\r\n onPress: (e?: GestureResponderEvent) => void;\r\n /**\r\n * Whether this component is disabled. Defaults to false. (Optional)\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Set this to false if this component shouldn't be focusable or tabbable.\r\n * Defaults to true. (Optional)\r\n */\r\n isFocusable?: boolean;\r\n /**\r\n * Set this to false if this component is in the CommonModal. Used to determine if this component\r\n * should be made un-focusable when the modal is active. Defaults to true. (Optional)\r\n */\r\n unfocusableWhenModalActive?: boolean;\r\n /**\r\n * Accessibility label for this component and all children. (Optional)\r\n */\r\n accessibilityLabel?: string;\r\n /**\r\n * Accessibility role for this component and all children. (Optional)\r\n */\r\n accessibilityRole?: AccessibilityRole;\r\n /**\r\n * Accessibility hint for this component and all children. (Optional)\r\n */\r\n accessibilityHint?: string;\r\n /**\r\n * Accessibility state for this component and all children. (Optional)\r\n */\r\n accessibilityState?: AccessibilityState;\r\n /**\r\n * Custon tab index for this button (Optional)\r\n */\r\n tabIndex?: number;\r\n /**\r\n * Test ID for this component (Optional)\r\n */\r\n testID?: string;\r\n /**\r\n * Ref to use for the top-level View (Optional)\r\n */\r\n innerRef?: React.RefObject;\r\n /**\r\n * Custom handler for key presses on this component (Optional)\r\n */\r\n onKeyDown?: (event: CPKeyboardEvent) => void;\r\n /**\r\n * Custom style for this component (Optional)\r\n */\r\n customStyle?: StyleProp;\r\n\r\n /**\r\n * Callback function to be called when the component is hovered. (Optional)\r\n * This is used for the ActivityCenterHeader component to show the popover when the user hovers over the settings cog.\r\n * Can be used for other components that need to show a popover on hover.\r\n */\r\n onHover?: (isHovering: boolean, event?: NativeSyntheticEvent) => void;\r\n}\r\n\r\nexport const calculateIsFocusable = (\r\n disabled: boolean,\r\n isModalVisible: boolean,\r\n unfocusableWhenModalActive: boolean,\r\n isFocusable: boolean\r\n): boolean => {\r\n let value;\r\n if (disabled) {\r\n // If component is disabled, should not be focusable for any other reason\r\n value = false;\r\n } else if (isModalVisible && unfocusableWhenModalActive) {\r\n // If a modal is visible and unfocusableWhenModalIsActive is true, should not be focusable\r\n value = false;\r\n } else {\r\n // Otherwise fall back to isFocusable\r\n value = isFocusable;\r\n }\r\n return value;\r\n};\r\n\r\nexport function CommonPressable(props: IPressableProps): JSX.Element {\r\n const {\r\n onPress: propsOnPress,\r\n accessibilityLabel,\r\n accessibilityRole,\r\n accessibilityHint,\r\n accessibilityState,\r\n tabIndex,\r\n testID,\r\n children,\r\n innerRef,\r\n onKeyDown,\r\n customStyle,\r\n disabled = false,\r\n isFocusable = true,\r\n unfocusableWhenModalActive = true,\r\n onHover\r\n } = props;\r\n\r\n const [isPressed, setIsPressed] = React.useState(false);\r\n const [isHovering, setIsHovering] = React.useState(false);\r\n const commonContext = React.useContext(CommonContext);\r\n const isAnyContextMenuVisible = useAppSelector(selectIsAnyContextMenuOpen);\r\n const isModalVisible = commonContext.isCommonModalVisible || isAnyContextMenuVisible;\r\n\r\n /**\r\n * Should be focusable if it's not disabled and, if we need to disable when modal is active, if\r\n * modal is not visible\r\n */\r\n const [finalIsFocusable, setFinalIsFocusable] = React.useState(\r\n calculateIsFocusable(disabled, isModalVisible, unfocusableWhenModalActive, isFocusable)\r\n );\r\n\r\n const bvtInfo: IBvtRenderingInfo = {\r\n testId: testID || 'CommonPressable',\r\n text: accessibilityLabel,\r\n disabled: disabled\r\n };\r\n useLogBvtInfoEffect(bvtInfo);\r\n\r\n /**\r\n * Note: There was a bug introduced when upgrading from RNW 0.68.9 to 0.70.3 where the 'Pressable' component\r\n * would render as a plain Text control instead of a Button. This occurs when the 'Pressable' component is\r\n * rendered with its 'focusable' property set to 'false' on its very first render. This causes BVT failures and\r\n * impacts accessibility. To mitigate this bug, we hard-code the 'focusable' property as 'true' for the first\r\n * render before setting it to its intended state (as dictated by either the focusable or disabled property\r\n * value passed into this CommonPressable wrapper component) on follow-up renders.\r\n */\r\n\r\n const onPressIn = React.useCallback(() => {\r\n setIsPressed(true);\r\n }, []);\r\n\r\n const onPress = React.useCallback(\r\n (e: GestureResponderEvent) => {\r\n propsOnPress(e);\r\n setIsPressed(false);\r\n },\r\n [propsOnPress]\r\n );\r\n\r\n const onPressOut = React.useCallback(() => {\r\n setIsPressed(false);\r\n }, []);\r\n\r\n const onHoverIn = React.useCallback(\r\n (event: NativeSyntheticEvent) => {\r\n if (onHover) {\r\n onHover(true, event);\r\n }\r\n setIsHovering(true);\r\n },\r\n [onHover]\r\n );\r\n\r\n const onHoverOut = React.useCallback(() => {\r\n if (onHover) {\r\n onHover(false);\r\n }\r\n setIsHovering(false);\r\n }, [onHover]);\r\n\r\n const handleFocus = React.useCallback(() => {\r\n if (onHover) {\r\n onHover(true);\r\n }\r\n setIsHovering(true);\r\n }, [onHover]);\r\n\r\n const handleBlur = React.useCallback(() => {\r\n if (onHover) {\r\n onHover(false);\r\n }\r\n setIsHovering(false);\r\n }, [onHover]);\r\n\r\n React.useEffect(() => {\r\n const newIsFocusable = calculateIsFocusable(\r\n disabled,\r\n isModalVisible,\r\n unfocusableWhenModalActive,\r\n isFocusable\r\n );\r\n\r\n if (newIsFocusable !== finalIsFocusable) {\r\n setFinalIsFocusable(newIsFocusable);\r\n }\r\n }, [disabled, isModalVisible, unfocusableWhenModalActive, isFocusable, finalIsFocusable]);\r\n\r\n // Allow BVT tests to drive this component via InvokeReactNativePress.\r\n useBvtPressEffect(testID, propsOnPress, accessibilityLabel);\r\n\r\n return (\r\n {} : onPressIn}\r\n onPress={disabled ? () => {} : onPress}\r\n onPressOut={disabled ? () => {} : onPressOut}\r\n accessible={finalIsFocusable}\r\n focusable={finalIsFocusable}\r\n onFocus={handleFocus}\r\n onBlur={handleBlur}\r\n accessibilityLabel={accessibilityLabel}\r\n accessibilityRole={accessibilityRole}\r\n accessibilityHint={accessibilityHint}\r\n accessibilityState={accessibilityState}\r\n testID={testID}\r\n ref={innerRef}\r\n style={customStyle}\r\n {...{\r\n // Using this syntax since these props are not yet in the type def for View\r\n onKeyDown: (event: CPKeyboardEvent) => {\r\n if (onKeyDown) {\r\n onKeyDown(event);\r\n }\r\n },\r\n tabIndex: tabIndex as 0 | -1 | undefined,\r\n onHoverIn: onHoverIn,\r\n onHoverOut: onHoverOut\r\n }}\r\n >\r\n {children(isPressed, isHovering)}\r\n \r\n );\r\n}\r\n","import { createSelector } from '@reduxjs/toolkit';\r\nimport { RootState } from '../../store';\r\nimport {\r\n IActivityCenterState,\r\n GlobalSyncStatus,\r\n VisualState,\r\n VisibleErrorState,\r\n ActivityCenterMessageData,\r\n IActivityCenterErrorState,\r\n IProgressItem,\r\n ICoAuthLockedItem,\r\n PauseInvoker,\r\n ISelectedItem,\r\n IShowMoreOptionsTooltipProps,\r\n IItemHistory,\r\n ISearchContext,\r\n ISearchResultItem,\r\n SearchResultFileType,\r\n SearchFilterType,\r\n SearchState,\r\n isGalleryFileType\r\n} from '../types';\r\nimport { DataFetchState, VisualStates } from '../../common/types';\r\n\r\n// select top level state using plain selector function\r\nconst selectActivityCenter = (state: RootState): IActivityCenterState => state.activityCenter;\r\n// memoize selectors using createSelector from redux-toolkit to avoid unnecessary re-renders\r\n// createSelector takes an array of input selectors and a transform function as arguments.\r\n// documentation for createSelector: https://redux-toolkit.js.org/api/createSelector\r\n// use to select the strings table as an object from the state\r\nexport const selectActivityCenterErrors = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState) => activityCenter.errors\r\n);\r\n\r\nexport const selectFailedFetch = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState) => activityCenter.failedFetch\r\n);\r\n\r\nexport const selectSyncStatus = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): GlobalSyncStatus => activityCenter.globalSyncStatus\r\n);\r\n\r\nexport const selectVisualState = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): VisualState => activityCenter.visualState\r\n);\r\n\r\nexport const selectIsOffline = createSelector([selectVisualState], (visualState: VisualState): boolean => {\r\n return (\r\n visualState?.VisualState === VisualStates.Offline || visualState?.VisualState === VisualStates.NoNetwork\r\n );\r\n});\r\n\r\nexport const selectIsVisualStatePaused = createSelector(\r\n [selectVisualState],\r\n (visualState: VisualState): boolean => {\r\n return visualState?.VisualState === VisualStates.Paused;\r\n }\r\n);\r\n\r\nexport const selectACPage = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState) => activityCenter.page\r\n);\r\n\r\nexport const selectIsSyncingBlocked = createSelector(\r\n [selectVisualState],\r\n (visualState: VisualState): boolean => {\r\n return visualState?.VisibleErrorState === VisibleErrorState.Blocked;\r\n }\r\n);\r\n\r\nexport const selectItemsHistory = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState) => {\r\n if (activityCenter.itemsHistory && activityCenter.itemsHistory.items) {\r\n return activityCenter.itemsHistory.items;\r\n }\r\n return [];\r\n }\r\n);\r\n\r\nexport const selectActivityCenterMessageData = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): ActivityCenterMessageData =>\r\n activityCenter.activityCenterMessageData\r\n);\r\n\r\nexport const selectShouldShowContextMenu = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => activityCenter.isContextMenuOpen\r\n);\r\n\r\nexport const selectShouldShowItemMenu = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => activityCenter.isItemMenuOpen\r\n);\r\n\r\nexport const selectIsAnyContextMenuOpen = createSelector(\r\n [selectShouldShowContextMenu, selectShouldShowItemMenu],\r\n (isContextMenuOpen: boolean, isItemMenuOpen: boolean): boolean => isContextMenuOpen || isItemMenuOpen\r\n);\r\n\r\nexport const selectCurrentItem = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): ISelectedItem | null => activityCenter.selectedItem\r\n);\r\n\r\n// confirm if there is only one error and the error has isSingleErrorReady set to true\r\nexport const selectIsSingleErrorReady = createSelector(\r\n [selectActivityCenterErrors],\r\n (errors: IActivityCenterErrorState): boolean => {\r\n if (errors.totalErrors === 1 && errors?.messages?.length === 1) {\r\n return errors.messages[0].isSingleErrorReady;\r\n }\r\n return false;\r\n }\r\n);\r\n\r\nexport const selectIsActiveVisualState = createSelector(\r\n [selectActivityCenter, selectIsSyncingBlocked],\r\n (activityCenter: IActivityCenterState, isSyncingBlocked: boolean): boolean => {\r\n const visualState = activityCenter.visualState?.VisualState;\r\n if (!visualState) return false;\r\n const isActive = visualState > VisualStates.SigningIn && !isSyncingBlocked;\r\n return isActive;\r\n }\r\n);\r\n\r\nexport const selectProgressItems = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): IProgressItem[] => {\r\n if (activityCenter.progressItems) {\r\n return activityCenter.progressItems.items;\r\n }\r\n return [];\r\n }\r\n);\r\n\r\nexport const selectProgressAndHistoryItems = createSelector(\r\n [selectProgressItems, selectItemsHistory],\r\n (progressItems: IProgressItem[], itemsHistory: IItemHistory[]): (IProgressItem | IItemHistory)[] => {\r\n return [...progressItems, ...itemsHistory];\r\n }\r\n);\r\n\r\nexport const selectCoAuthLockedItems = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): ICoAuthLockedItem[] => {\r\n if (activityCenter.coAuthLockedItems) {\r\n return activityCenter.coAuthLockedItems.items;\r\n }\r\n return [];\r\n }\r\n);\r\n\r\nexport const selectPausedReason = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): PauseInvoker => activityCenter.pausedReason\r\n);\r\n\r\nexport const selectIsSettingsTooltipVisible = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => activityCenter.isSettingsTooltipVisible\r\n);\r\n\r\nexport const selectIsHomeTooltipVisible = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => activityCenter.isHomeTooltipVisible\r\n);\r\n\r\nexport const selectMoreOptionsTooltip = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): IShowMoreOptionsTooltipProps => activityCenter.moreOptionsTooltip\r\n);\r\n\r\nexport const selectRootContextMenuItem = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState) => activityCenter.rootContextMenuItem\r\n);\r\n\r\nexport const selectItemHistoryStatus = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): DataFetchState => activityCenter.itemHistoryState\r\n);\r\n\r\nexport const selectItemProgressStatus = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): DataFetchState => activityCenter.itemProgressState\r\n);\r\n\r\nexport const selectErrorItemsStatus = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): DataFetchState => activityCenter.errorItemsState\r\n);\r\n\r\nexport const selectSyncStatusState = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): DataFetchState => activityCenter.syncStatusState\r\n);\r\n\r\nexport const selectVisualStatusState = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): DataFetchState => activityCenter.visualStateState\r\n);\r\n\r\nexport const selectIsReportABugTooltipVisible = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => activityCenter.isReportABugTooltipVisible\r\n);\r\n\r\nexport const selectAllowOD4Entry = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => {\r\n return activityCenter.allowOD4Entry;\r\n }\r\n);\r\n\r\nexport const selectAllowOD4EntryState = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): DataFetchState => activityCenter.allowOD4EntryState\r\n);\r\n\r\nexport const selectTrapFocus = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => {\r\n return activityCenter.trapFocus;\r\n }\r\n);\r\n\r\nexport const selectIsCopilotActionEnabled = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => {\r\n return activityCenter.isCopilotActionEnabled;\r\n }\r\n);\r\n\r\nexport const selectIsCopilotImageActionEnabled = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => {\r\n return activityCenter.isCopilotImageActionEnabled;\r\n }\r\n);\r\n\r\nexport const selectIsPrioritizeSyncEnabled = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => {\r\n return activityCenter.isPrioritizeSyncEnabled;\r\n }\r\n);\r\n\r\nexport const selectIsUnarchiveContextMenuEnabled = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => {\r\n return activityCenter.isUnarchiveContextMenuEnabled;\r\n }\r\n);\r\n\r\nexport const selectUpgradeProgress = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): number | undefined => {\r\n return activityCenter.upgradeProgress;\r\n }\r\n);\r\n\r\nexport const selectUpgradeScope = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): string | undefined => {\r\n return activityCenter.upgradeScope;\r\n }\r\n);\r\n\r\nexport const selectIsKFMOnboardingEnabled = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => {\r\n return activityCenter.isKFMOnboardingEnabled;\r\n }\r\n);\r\n\r\nexport const selectIsKFMOnboardingTooltipVisible = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => {\r\n return activityCenter.isKFMOnboardingTooltipVisible;\r\n }\r\n);\r\n\r\nexport const selectHasClickedLightbulb = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => {\r\n return activityCenter.hasClickedLightbulb;\r\n }\r\n);\r\n\r\n// Search selectors\r\nexport const selectIsSearchToggleTooltipVisible = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => {\r\n return activityCenter.isSearchToggleTooltipVisible;\r\n }\r\n);\r\n\r\nexport const selectSearchContext = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): ISearchContext => activityCenter.search\r\n);\r\n\r\nexport const selectSearchQuery = createSelector(\r\n [selectSearchContext],\r\n (search: ISearchContext): string => search.query\r\n);\r\n\r\nexport const selectSearchState = createSelector(\r\n [selectSearchContext],\r\n (search: ISearchContext): SearchState => search.state\r\n);\r\n\r\nexport const selectSearchFilter = createSelector(\r\n [selectSearchContext],\r\n (search: ISearchContext): SearchFilterType => search.selectedFilter\r\n);\r\n\r\nexport const selectSearchResults = createSelector(\r\n [selectSearchContext],\r\n (search: ISearchContext): ISearchResultItem[] => search.results\r\n);\r\n\r\nexport const selectIsSearchActive = createSelector(\r\n [selectSearchQuery, selectSearchState],\r\n (query: string, state: SearchState): boolean => query.length > 0 && state !== 'idle'\r\n);\r\n\r\nexport const selectIsSearchBarVisible = createSelector(\r\n [selectSearchContext],\r\n (search: ISearchContext): boolean => search.isSearchBarVisible\r\n);\r\n\r\nexport const selectSearchErrorMessage = createSelector(\r\n [selectSearchContext],\r\n (search: ISearchContext): string | undefined => search.errorMessage\r\n);\r\n\r\n/**\r\n * Maps filter tab names to the fileType values returned by the C++ search handler.\r\n * The \"photos\" tab is special-cased in filterResultsByType to include every\r\n * gallery file type (photo + video) via `isGalleryFileType`, so this map only\r\n * needs to cover non-gallery filters.\r\n */\r\nconst filterToFileType: Partial> = {\r\n documents: 'document',\r\n presentations: 'presentation',\r\n spreadsheets: 'spreadsheet'\r\n};\r\n\r\nconst filterResultsByType = (results: ISearchResultItem[], filter: SearchFilterType): ISearchResultItem[] => {\r\n if (filter === 'all') return results;\r\n if (filter === 'photos') return results.filter((item) => isGalleryFileType(item.fileType));\r\n const targetType = filterToFileType[filter];\r\n return results.filter((item) => item.fileType === targetType);\r\n};\r\n\r\n/**\r\n * Returns the set of SearchFilterType values that have at least one matching\r\n * result, always including 'all'. Used to show only relevant filter pills.\r\n * The 'photos' pill is shown whenever there is at least one gallery item\r\n * (photo OR video).\r\n */\r\nexport const selectAvailableSearchFilters = createSelector(\r\n [selectSearchResults],\r\n (results: ISearchResultItem[]): SearchFilterType[] => {\r\n if (results.length === 0) return ['all'];\r\n const presentTypes = new Set();\r\n let hasGalleryItem = false;\r\n for (const item of results) {\r\n presentTypes.add(item.fileType);\r\n if (isGalleryFileType(item.fileType)) {\r\n hasGalleryItem = true;\r\n }\r\n }\r\n // Pills are emitted in a stable order matching the legacy UI. 'photos'\r\n // appears whenever there is at least one gallery item (photo OR video),\r\n // so a video-only result set still shows a Photos pill.\r\n const filters: SearchFilterType[] = ['all'];\r\n if (presentTypes.has('document')) filters.push('documents');\r\n if (hasGalleryItem) filters.push('photos');\r\n if (presentTypes.has('presentation')) filters.push('presentations');\r\n if (presentTypes.has('spreadsheet')) filters.push('spreadsheets');\r\n return filters;\r\n }\r\n);\r\n\r\nexport const selectFilteredSearchResults = createSelector(\r\n [selectSearchResults, selectSearchFilter],\r\n (results: ISearchResultItem[], filter: SearchFilterType): ISearchResultItem[] => {\r\n return filterResultsByType(results, filter);\r\n }\r\n);\r\n\r\n/** Gallery results (photos + videos) from the currently filtered search results. */\r\nexport const selectSearchGalleryItems = createSelector(\r\n [selectFilteredSearchResults],\r\n (results: ISearchResultItem[]): ISearchResultItem[] =>\r\n results.filter((item) => isGalleryFileType(item.fileType))\r\n);\r\n\r\n/** Non-gallery results from the currently filtered search results. */\r\nexport const selectSearchNonGalleryItems = createSelector(\r\n [selectFilteredSearchResults],\r\n (results: ISearchResultItem[]): ISearchResultItem[] =>\r\n results.filter((item) => !isGalleryFileType(item.fileType))\r\n);\r\n\r\n/**\r\n * True when all results are gallery items (no non-gallery rows to render).\r\n * Operates on the unfiltered result set: if a search returns only photos +\r\n * videos, we want to show the entire gallery without a \"show more\" tile and\r\n * with the linear list hidden, regardless of which filter pill is active.\r\n */\r\nexport const selectShouldShowAllGallery = createSelector(\r\n [selectSearchResults],\r\n (results: ISearchResultItem[]): boolean =>\r\n results.length > 0 && results.every((item) => isGalleryFileType(item.fileType))\r\n);\r\n\r\nexport const selectIsFilteredEmpty = createSelector(\r\n [selectSearchResults, selectFilteredSearchResults, selectSearchFilter],\r\n (\r\n allResults: ISearchResultItem[],\r\n filteredResults: ISearchResultItem[],\r\n filter: SearchFilterType\r\n ): boolean => filter !== 'all' && allResults.length > 0 && filteredResults.length === 0\r\n);\r\n\r\nexport const selectShouldShowSearchFeedbackFooter = createSelector(\r\n [selectSearchQuery, selectSearchState, selectIsFilteredEmpty],\r\n (query: string, state: SearchState, isFilteredEmpty: boolean): boolean =>\r\n query.length > 0 && (state === 'success' || state === 'noResults' || isFilteredEmpty)\r\n);\r\n\r\n/**\r\n * Returns items to display in the Activity Center list.\r\n * When search is active, returns filtered search results with gallery items\r\n * (photos + videos) removed (they're rendered separately in the grid header).\r\n * Otherwise, returns the combined progress + history items.\r\n */\r\nexport const selectDisplayItems = createSelector(\r\n [selectIsSearchActive, selectSearchNonGalleryItems, selectProgressAndHistoryItems],\r\n (\r\n isSearchActive: boolean,\r\n searchNonGalleryItems: ISearchResultItem[],\r\n progressAndHistory: (IProgressItem | IItemHistory)[]\r\n ): (ISearchResultItem | IProgressItem | IItemHistory)[] => {\r\n if (isSearchActive) {\r\n return searchNonGalleryItems;\r\n }\r\n return progressAndHistory;\r\n }\r\n);\r\n\r\n// Empty-state / onboarding / feedback selectors\r\n\r\nexport const selectRecentSearches = createSelector(\r\n [selectSearchContext],\r\n (search: ISearchContext): string[] => search.recentSearches\r\n);\r\n\r\nexport const selectIsSearchOnboardingTooltipVisible = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => activityCenter.isSearchOnboardingTooltipVisible\r\n);\r\n\r\nexport const selectHasSeenSearchTooltip = createSelector(\r\n [selectActivityCenter],\r\n (activityCenter: IActivityCenterState): boolean => activityCenter.hasSeenSearchTooltip\r\n);\r\n","import React from 'react';\r\nimport iconsList from '../assets/svgs/IconsList';\r\nimport { AppKeyContext, UpdateRingKillSwitch } from '../types';\r\nimport { commonThemeManager, ICommonTheme } from '../themes/ICommonTheme';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../themes/themes';\r\nimport { DpiScaleContext } from '../types';\r\nimport { IconName, Icon as PNGIcon } from './Icon';\r\nimport { selectViewActivated } from '../redux/selectors';\r\nimport { ThemeName } from '../themes/themeUtils';\r\nimport { useAppSelector } from '../../hooks';\r\nimport { useCurrentThemeName } from '../themes/themes';\r\nimport { useKillSwitchSafe } from '../redux/updateRingSettingsHooks';\r\nimport { View, ViewStyle, ImageStyle, Platform, StyleProp, Image } from 'react-native';\r\nimport { SvgUri } from 'react-native-svg';\r\n\r\ninterface IIconProps {\r\n name: string;\r\n style?: ViewStyle;\r\n testID?: string;\r\n width?: number;\r\n height?: number;\r\n // Toast component renders dark icons in light theme and vice versa for better visibility\r\n toggleIconTheme?: boolean;\r\n // Optional color to override the SVG fill. Use with mono icons that have fill=\"currentColor\".\r\n color?: string;\r\n}\r\n\r\nconst removeExtensionFromFileName = (fileName: string): string => {\r\n const lastDotIndex = fileName.lastIndexOf('.');\r\n if (lastDotIndex === -1) {\r\n return fileName;\r\n }\r\n return fileName.substring(0, lastDotIndex);\r\n};\r\n\r\ninterface IIconStyles {\r\n container: ViewStyle;\r\n}\r\n\r\nconst useIconStyles: ThemedStylesHook = createThemedStylesHook(\r\n commonThemeManager,\r\n (theme: ICommonTheme) => {\r\n return {\r\n container: {\r\n alignContent: 'center',\r\n width: '100%',\r\n alignItems: 'center',\r\n justifyContent: 'center'\r\n }\r\n };\r\n }\r\n);\r\n\r\n// @owner=taenri Kill Switch to guard behavior that forces SVG icons to refresh on view activation for Windows.\r\nexport const RefreshSVGIconsOnViewActivateV2: UpdateRingKillSwitch = 4512;\r\n\r\n// @owner=taenri Kill Switch to guard behavior for auto-sizing SvgIcon components to fit their parent.\r\n// Activating reinstates old behavior that forces the SvgIcon inner container to match the exact size of the SVG.\r\nconst SvgIconAutoSize: UpdateRingKillSwitch = 4468;\r\n\r\n// @owner=taenri Kill Switch to guard behavior to load SVG assets from URI locations.\r\nexport const SvgIconLoadViaUri: UpdateRingKillSwitch = 4755;\r\n\r\nexport const SVGIcon = (props: IIconProps): JSX.Element | null => {\r\n const { name, width = 20, testID, style, toggleIconTheme, color } = props;\r\n const height = props.height || width;\r\n const theme = useCurrentThemeName();\r\n const styles = useIconStyles();\r\n const { dpiScale } = React.useContext(DpiScaleContext);\r\n const appKey = React.useContext(AppKeyContext);\r\n const [refreshSvg, setRefreshSvg] = React.useState(false);\r\n // ACMs and Errors sometimes send a full path to the icon, so we need to remove the extension\r\n const iconName = removeExtensionFromFileName(name);\r\n const list = iconsList[iconName];\r\n const isSvgIconAutoSizeSafe = useKillSwitchSafe(SvgIconAutoSize);\r\n const isSvgRefreshOnViewActivateSafe = useKillSwitchSafe(RefreshSVGIconsOnViewActivateV2);\r\n const lastViewActivated = useAppSelector(selectViewActivated);\r\n const isSvgUriSafe = useKillSwitchSafe(SvgIconLoadViaUri);\r\n const forceRerender = refreshSvg && Platform.OS === 'windows' && isSvgRefreshOnViewActivateSafe;\r\n\r\n const isUri = name.startsWith('http://') || name.startsWith('https://') || name.startsWith('file://');\r\n const isUriSvg = isUri && name.endsWith('.svg');\r\n\r\n React.useEffect(() => {\r\n // If the last view activated matches the current app key, then we should trigger a refresh for the SVG icons.\r\n setRefreshSvg(lastViewActivated !== '' && appKey !== '' && lastViewActivated === appKey);\r\n }, [lastViewActivated, appKey]);\r\n\r\n // As a result of depending on PNG icons, we may not have all icons in SVG format.\r\n // In this case, we will log an error and return a PNG icon.\r\n let wrapperTestId = testID;\r\n const sizeStyle = { width, height };\r\n if (isSvgUriSafe && isUriSvg) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if (isSvgUriSafe && isUri) {\r\n // Intentionally set the wrapper test ID to undefined to avoid messing up tests that rely on searching for\r\n // the specific test ID being used for these kinds of images.\r\n wrapperTestId = undefined;\r\n return (\r\n \r\n \r\n \r\n );\r\n } else if (!list) {\r\n // Intentionally set the wrapper test ID to undefined to avoid messing up tests that rely on searching for\r\n // the specific test ID being used for these kinds of images.\r\n wrapperTestId = undefined;\r\n\r\n /**\r\n * PNG Icons:\r\n * Unlike SVGs, PNG icons do not suffer from the same DPI scaling issues in React Native.\r\n * PNG images are automatically scaled correctly according to the device's DPI.\r\n * Therefore, we don't need to apply any manual scaling or adjustment for PNG icons.\r\n * The icon can be rendered directly without additional wrapping or resizing logic.\r\n */\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n } else {\r\n const iconWidth = iconsList[iconName].width;\r\n const iconHeight = iconsList[iconName].height;\r\n\r\n // Determine the scaling factor based on the parent container's dimensions\r\n const widthScale = width / iconWidth;\r\n const heightScale = height / iconHeight;\r\n const containerScale = Math.min(widthScale, heightScale);\r\n\r\n // Calculate the scaled width and height based on the scaling factor\r\n const scaledWidth = iconWidth * containerScale;\r\n const scaledHeight = iconHeight * containerScale;\r\n\r\n const isDarkThemeIcon =\r\n ((theme === ThemeName.Dark || theme === ThemeName.HighContrastDark) && !toggleIconTheme) ||\r\n ((theme === ThemeName.Light || theme === ThemeName.HighContrastLight) && toggleIconTheme);\r\n const imageIndex = isDarkThemeIcon ? 1 : 0;\r\n const Icon = list.icon[imageIndex];\r\n\r\n // Example Dimensions and Calculations:\r\n\r\n // Scenario 1:\r\n // Icon: 200x100\r\n // Container: 400x400\r\n // Width scale: 400 / 200 = 2x\r\n // Height scale: 400 / 100 = 4x\r\n // Target scale: min(2, 4) = 2\r\n // Resulting dimensions:\r\n // Width: 200 * 2 = 400\r\n // Height: 100 * 2 = 200\r\n\r\n // Scenario 2:\r\n // Icon: 150x300\r\n // Container: 300x300\r\n // Width scale: 300 / 150 = 2x\r\n // Height scale: 300 / 300 = 1x\r\n // Target scale: min(2, 1) = 1\r\n // Resulting dimensions:\r\n // Width: 150 * 1 = 150\r\n // Height: 300 * 1 = 300\r\n\r\n // Scenario 3:\r\n // Icon: 400x300\r\n // Container: 200x200\r\n // Width scale: 200 / 400 = 0.5x\r\n // Height scale: 200 / 300 = 0.67x\r\n // Target scale: min(0.5, 0.67) = 0.5\r\n // Resulting dimensions:\r\n // Width: 400 * 0.5 = 200\r\n // Height: 300 * 0.5 = 150\r\n\r\n // Scenario 4:\r\n // Icon: 100x100\r\n // Container: 500x300\r\n // Width scale: 500 / 100 = 5x\r\n // Height scale: 300 / 100 = 3x\r\n // Target scale: min(5, 3) = 3\r\n // Resulting dimensions:\r\n // Width: 100 * 3 = 300\r\n // Height: 100 * 3 = 300\r\n\r\n // When auto-size behavior is unsafe/disabled and the icon does not fill the parent container:\r\n // The icon is centered horizontally and vertically. This is achieved with 'alignItems' and 'justifyContent' set to 'center'.\r\n // Extra space is evenly distributed around the icon.\r\n //\r\n // When auto-size behavior is safe/enabled though, the container below is auto-fitted to the container with default styling.\r\n const svgForcedSizeStyle: StyleProp = isSvgIconAutoSizeSafe\r\n ? undefined\r\n : { width: scaledWidth, height: scaledHeight };\r\n\r\n /**\r\n * When an SVG is rendered in React Native we must provide the DPI scale manually to account for multi-window scenarios.\r\n */\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n};\r\n","import { FunctionComponent, SVGAttributes } from 'react';\r\nimport AccountDetectionLight from './light/accountDetection.svg';\r\nimport AccountDetectionDark from './dark/accountDetection.svg';\r\nimport AcmCloudImportLight from './light/acm_cloud_import.svg';\r\nimport AcmCloudImportDark from './dark/acm_cloud_import.svg';\r\nimport AcmConfettiLight from './light/acm_confetti.svg';\r\nimport AcmConfettiDark from './dark/acm_confetti.svg';\r\nimport AcmLowDiskSpaceOnlineOnlyLight from './light/acm_low_disk_space_online_only.svg';\r\nimport AcmLowDiskSpaceOnlineOnlyDark from './dark/acm_low_disk_space_online_only.svg';\r\nimport AcmDismissIconLight from './light/acmDismissIcon.svg';\r\nimport AcmDismissIconDark from './dark/acmDismissIcon.svg';\r\nimport ACMegaImageForQuotaErrorsLight from './light/ACMegaImageForQuotaErrors.svg';\r\nimport ACMegaImageForQuotaErrorsDark from './dark/ACMegaImageForQuotaErrors.svg';\r\nimport AnimationPauseLight from './light/animation_Pause.svg';\r\nimport AnimationPauseDark from './dark/animation_Pause.svg';\r\nimport AnimationPlayLight from './light/animation_Play.svg';\r\nimport AnimationPlayDark from './dark/animation_Play.svg';\r\nimport BackArrowLight from './light/backArrow.svg';\r\nimport BackArrowDark from './dark/backArrow.svg';\r\nimport BlueCloudLight from './light/blue_cloud.svg';\r\nimport BlueCloudDark from './dark/blue_cloud.svg';\r\nimport BlueCloudCriticalDefaultLight from './light/BlueCloudCritical_default.svg';\r\nimport BlueCloudCriticalDefaultDark from './dark/BlueCloudCritical_default.svg';\r\nimport BlueCloudCriticalWin11Light from './light/BlueCloudCritical_Win11.svg';\r\nimport BlueCloudCriticalWin11Dark from './dark/BlueCloudCritical_Win11.svg';\r\nimport BlueCloud48x48Light from './light/blue_cloud48x48.svg';\r\nimport BlueCloud48x48Dark from './dark/blue_cloud48x48.svg';\r\nimport BlueCloudFullDefaultLight from './light/BlueCloudFull_default.svg';\r\nimport BlueCloudFullDefaultDark from './dark/BlueCloudFull_default.svg';\r\nimport BlueCloudFullWin11Light from './light/BlueCloudFull_Win11.svg';\r\nimport BlueCloudFullWin11Dark from './dark/BlueCloudFull_Win11.svg';\r\nimport BlueCloudOverLimitLight from './light/BlueCloudOverLimit.svg';\r\nimport BlueCloudOverLimitDark from './dark/BlueCloudOverLimit.svg';\r\nimport BugIconLight from './light/bugIcon.svg';\r\nimport BugIconDark from './dark/bugIcon.svg';\r\nimport CameraRollBackupLight from './light/CameraRollBackup.svg';\r\nimport CameraRollBackupDark from './dark/CameraRollBackup.svg';\r\nimport CancelIconLight from './light/cancelIcon.svg';\r\nimport CancelIconDark from './dark/cancelIcon.svg';\r\nimport CheckboxCompositeLight from './light/checkboxComposite.svg';\r\nimport CheckboxCompositeDark from './dark/checkboxComposite.svg';\r\nimport CheckmarkHoveredLight from './light/checkmark_hovered.svg';\r\nimport CheckmarkHoveredDark from './dark/checkmark_hovered.svg';\r\nimport CheckmarkInProgressLight from './light/checkmark_in_progress.svg';\r\nimport CheckmarkInProgressDark from './dark/checkmark_in_progress.svg';\r\nimport CheckmarkSelectedLight from './light/checkmark_selected.svg';\r\nimport CheckmarkSelectedDark from './dark/checkmark_selected.svg';\r\nimport ChevronLight from './light/chevron.svg';\r\nimport ChevronDark from './dark/chevron.svg';\r\nimport ChevronUpLight from './light/chevronUp.svg';\r\nimport ChevronUpDark from './dark/chevronUp.svg';\r\nimport ClipchampLight from './light/Clipchamp.svg';\r\nimport ClipchampDark from './dark/Clipchamp.svg';\r\nimport ClockIconLight from './light/clock_icon.svg';\r\nimport ClockIconDark from './dark/clock_icon.svg';\r\nimport CloudLight from './light/cloud.svg';\r\nimport CloudDark from './dark/cloud.svg';\r\nimport CloudIconErrorLight from './light/CloudIconError.svg';\r\nimport CloudIconErrorDark from './dark/CloudIconError.svg';\r\nimport CloudIconOfflineLight from './light/CloudIconOffline.svg';\r\nimport CloudIconOfflineDark from './dark/CloudIconOffline.svg';\r\nimport CloudIconPausedLight from './light/CloudIconPaused.svg';\r\nimport CloudIconPausedDark from './dark/CloudIconPaused.svg';\r\nimport CloudIconSyncedLight from './light/CloudIconSynced.svg';\r\nimport CloudIconSyncedDark from './dark/CloudIconSynced.svg';\r\nimport CloudIconSyncingLight from './light/CloudIconSyncing.svg';\r\nimport CloudIconSyncingDark from './dark/CloudIconSyncing.svg';\r\nimport CloudIconWarningLight from './light/CloudIconWarning.svg';\r\nimport CloudIconWarningDark from './dark/CloudIconWarning.svg';\r\nimport CompletedIconLight from './light/completed_icon.svg';\r\nimport CompletedIconDark from './dark/completed_icon.svg';\r\nimport Copilot from './light/copilot.svg';\r\nimport CopilotDark from './dark/copilot.svg';\r\nimport CopyLinkLight from './light/copyLink.svg';\r\nimport CopyLinkDark from './dark/copyLink.svg';\r\nimport ColoredFoldersLight from './light/ColoredFolders.svg';\r\nimport ColoredFoldersDark from './dark/ColoredFolders.svg';\r\nimport DefenderLight from './light/Defender.svg';\r\nimport DefenderDark from './dark/Defender.svg';\r\nimport DesignerLight from './light/Designer.svg';\r\nimport DesignerDark from './dark/Designer.svg';\r\nimport DialogDismissLight from './light/dialog_dismiss.svg';\r\nimport DialogDismissDark from './dark/dialog_dismiss.svg';\r\nimport DoneGraphicLight from './light/done_graphic.svg';\r\nimport DoneGraphicDark from './dark/done_graphic.svg';\r\nimport ErrorIconLight from './light/errorIcon.svg';\r\nimport ErrorIconDark from './dark/errorIcon.svg';\r\nimport ErrorIcon2Light from './light/errorIcon2.svg';\r\nimport ErrorIcon2Dark from './dark/errorIcon2.svg';\r\nimport ErrorInfoCircleLight from './light/errorInfoCircle.svg';\r\nimport ErrorInfoCircleDark from './dark/errorInfoCircle.svg';\r\nimport InfoBlueLight from './light/InfoBlue.svg';\r\nimport InfoBlueDark from './dark/InfoBlue.svg';\r\nimport ExcelLight from './light/excel.svg';\r\nimport ExcelDark from './dark/excel.svg';\r\nimport ExclamationLight from './light/exclamation.svg';\r\nimport ExclamationDark from './dark/exclamation.svg';\r\nimport ExitIconLight from './light/exitIcon.svg';\r\nimport ExitIconDark from './dark/exitIcon.svg';\r\nimport EyelashLight from './light/eyelash.svg';\r\nimport EyelashDark from './dark/eyelash.svg';\r\nimport FamilySafetyLight from './light/FamilySafety.svg';\r\nimport FamilySafetyDark from './dark/FamilySafety.svg';\r\nimport FeedbackIconLight from './light/feedbackIcon.svg';\r\nimport FeedbackIconDark from './dark/feedbackIcon.svg';\r\nimport FileLight from './light/file.svg';\r\nimport SearchLight from './light/search.svg';\r\nimport SearchDark from './dark/search.svg';\r\nimport FileDark from './dark/file.svg';\r\nimport FileProviderIconsACMLight from './light/fileProviderIconsACM.svg';\r\nimport FileProviderIconsACMDark from './dark/fileProviderIconsACM.svg';\r\nimport FilesNotSyncingLight from './light/filesNotSyncing.svg';\r\nimport FilesNotSyncingDark from './dark/filesNotSyncing.svg';\r\nimport FilesNotSyncingDisabledLight from './light/filesNotSyncingDisabled.svg';\r\nimport FilesNotSyncingDisabledDark from './dark/filesNotSyncingDisabled.svg';\r\nimport FREChooseFolderMacLight from './light/fre_choose_folder_mac.svg';\r\nimport FREChooseFolderMacDark from './dark/fre_choose_folder_mac.svg';\r\nimport FREEnableFinderLight from './light/fre_enable_finder.svg';\r\nimport FREEnableFinderDark from './dark/fre_enable_finder.svg';\r\nimport FreeUpSpaceLight from './light/freeUpSpace.svg';\r\nimport FreeUpSpaceDark from './dark/freeUpSpace.svg';\r\nimport FileLockIconLight from './light/fileLockIcon.svg';\r\nimport FileLockIconDark from './dark/fileLockIcon.svg';\r\nimport FinderExtensionPromptLight from './light/finderExtensionPrompt.svg';\r\nimport FinderExtensionPromptDark from './dark/finderExtensionPrompt.svg';\r\nimport FolderImageDesktopMacLight from './light/folder_image_desktop_mac.svg';\r\nimport FolderImageDesktopMacDark from './dark/folder_image_desktop_mac.svg';\r\nimport FolderImageDesktopLight from './light/folder_image_desktop.svg';\r\nimport FolderImageDesktopDark from './dark/folder_image_desktop.svg';\r\nimport FolderImageDocumentsMacLight from './light/folder_image_documents_mac.svg';\r\nimport FolderImageDocumentsMacDark from './dark/folder_image_documents_mac.svg';\r\nimport FolderImageDocumentsLight from './light/folder_image_documents.svg';\r\nimport FolderImageDocumentsDark from './dark/folder_image_documents.svg';\r\nimport FolderImagePicturesMacLight from './light/folder_image_pictures_mac.svg';\r\nimport FolderImagePicturesMacDark from './dark/folder_image_pictures_mac.svg';\r\nimport FolderImagePicturesLight from './light/folder_image_pictures.svg';\r\nimport FolderImagePicturesDark from './dark/folder_image_pictures.svg';\r\nimport FolderIconLight from './light/folderIcon.svg';\r\nimport FolderIconDark from './dark/folderIcon.svg';\r\nimport FolderIcon2Light from './light/folderIcon2.svg';\r\nimport FolderIcon2Dark from './dark/folderIcon2.svg';\r\nimport FolderIcon20x20Light from './light/folderIcon20x20.svg';\r\nimport FolderIcon20x20Dark from './dark/folderIcon20x20.svg';\r\nimport ForwardArrowLight from './light/forwardArrow.svg';\r\nimport ForwardArrowDark from './dark/forwardArrow.svg';\r\nimport FreChooseFolderLight from './light/fre_choose_folder.svg';\r\nimport FreChooseFolderDark from './dark/fre_choose_folder.svg';\r\nimport FreDoneLight from './light/fre_done.svg';\r\nimport FreDoneDark from './dark/fre_done.svg';\r\nimport FreEmailHrdLight from './light/fre_email_hrd.svg';\r\nimport FreEmailHrdDark from './dark/fre_email_hrd.svg';\r\nimport FRETutorialFilesOnDemandImportantLight from './light/FRE_Tutorial_FilesOnDemand_Important.svg';\r\nimport FRETutorialFilesOnDemandImportantDark from './dark/FRE_Tutorial_FilesOnDemand_Important.svg';\r\nimport FRETutorialFilesOnDemandOnlineOnlyLight from './light/FRE_Tutorial_FilesOnDemand_OnlineOnly.svg';\r\nimport FRETutorialFilesOnDemandOnlineOnlyDark from './dark/FRE_Tutorial_FilesOnDemand_OnlineOnly.svg';\r\nimport FRETutorialFilesOnDemandPlaceholderLight from './light/FRE_Tutorial_FilesOnDemand_Placeholder.svg';\r\nimport FRETutorialFilesOnDemandPlaceholderDark from './dark/FRE_Tutorial_FilesOnDemand_Placeholder.svg';\r\nimport FRETutorialIntroLight from './light/FRE_Tutorial_Intro.svg';\r\nimport FRETutorialIntroDark from './dark/FRE_Tutorial_Intro.svg';\r\nimport FRETutorialMobileLight from './light/FRE_Tutorial_Mobile.svg';\r\nimport FRETutorialMobileDark from './dark/FRE_Tutorial_Mobile.svg';\r\nimport FRETutorialShareLight from './light/FRE_Tutorial_Share.svg';\r\nimport FRETutorialShareDark from './dark/FRE_Tutorial_Share.svg';\r\nimport FRETutorialFilesOnDemandImportantMacLight from './light/FRE_Tutorial_FilesOnDemand_Important_mac.svg';\r\nimport FRETutorialFilesOnDemandImportantMacDark from '././dark/FRE_Tutorial_FilesOnDemand_Important_mac.svg';\r\nimport FRETutorialFilesOnDemandMacboxLight from './light/FRE_Tutorial_FilesOnDemand_Macbox.svg';\r\nimport FRETutorialFilesOnDemandMacboxDark from './dark/FRE_Tutorial_FilesOnDemand_Macbox.svg';\r\nimport FRETutorialFilesOnDemandOnlineOnlyMacLight from './light/FRE_Tutorial_FilesOnDemand_OnlineOnly_mac.svg';\r\nimport FRETutorialFilesOnDemandOnlineOnlyMacDark from './dark/FRE_Tutorial_FilesOnDemand_OnlineOnly_mac.svg';\r\nimport FRETutorialFilesOnDemandPlaceholderMacLight from './light/FRE_Tutorial_FilesOnDemand_Placeholder_mac.svg';\r\nimport FRETutorialFilesOnDemandPlaceholderMacDark from './dark/FRE_Tutorial_FilesOnDemand_Placeholder_mac.svg';\r\nimport FRETutorialIntroMacLight from './light/FRE_Tutorial_Intro_mac.svg';\r\nimport FRETutorialIntroMacDark from './dark/FRE_Tutorial_Intro_mac.svg';\r\nimport FRETutorialShareMacLight from './light/FRE_Tutorial_Share_mac.svg';\r\nimport FRETutorialShareMacDark from './dark/FRE_Tutorial_Share_mac.svg';\r\nimport FrownLight from './light/Frown_Light.svg';\r\nimport FrownDark from './dark/Frown_Dark.svg';\r\nimport GlobeLight from './light/globe.svg';\r\nimport GlobeDark from './dark/globe.svg';\r\nimport GlobeIconLight from './light/globeIcon.svg';\r\nimport GlobeIconDark from './dark/globeIcon.svg';\r\nimport GlobeIcon2Light from './light/globeIcon2.svg';\r\nimport GlobeIcon2Dark from './dark/globeIcon2.svg';\r\nimport GlobeIcon20x20Light from './light/globeIcon20x20.svg';\r\nimport GlobeIcon20x20Dark from './dark/globeIcon20x20.svg';\r\nimport HelpIconLight from './light/helpIcon.svg';\r\nimport HelpIconDark from './dark/helpIcon.svg';\r\nimport HelpSubIconLight from './light/helpSubIcon.svg';\r\nimport HelpSubIconDark from './dark/helpSubIcon.svg';\r\nimport HeroImageFolderBackupACMLight from './light/HeroImage_FolderBackupACM.svg';\r\nimport HeroImageFolderBackupACMDark from './dark/HeroImage_FolderBackupACM.svg';\r\nimport HouseIconLight from './light/houseIcon.svg';\r\nimport HouseIconDark from './dark/houseIcon.svg';\r\nimport IceBucketLight from './light/iceBucket.svg';\r\nimport IceBucketDark from './dark/iceBucket.svg';\r\nimport InfoIconLight from './light/infoIcon.svg';\r\nimport InfoIconDark from './dark/infoIcon.svg';\r\nimport InfoIconYellowLight from './light/infoIconYellow.svg';\r\nimport InfoIconYellowDark from './dark/infoIconYellow.svg';\r\nimport KfmAcmGpoLight from './light/kfm_acm_gpo.svg';\r\nimport KfmAcmGpoDark from './dark/kfm_acm_gpo.svg';\r\nimport KfmMegaGpoLight from './light/kfm_mega_gpo.svg';\r\nimport KfmMegaGpoDark from './dark/kfm_mega_gpo.svg';\r\nimport KfmAllBackedUpLight from './light/kfmAllBackedUp.svg';\r\nimport KfmAllBackedUpDark from './dark/kfmAllBackedUp.svg';\r\nimport KfmCloseFileToBackupLight from './light/kfmCloseFileToBackup.svg';\r\nimport KfmCloseFileToBackupDark from './dark/kfmCloseFileToBackup.svg';\r\nimport kfmOnboardingACMLight from './light/kfmOnboardingACM.svg';\r\nimport kfmOnboardingACMDark from './dark/kfmOnboardingACM.svg';\r\nimport LayerIconLight from './light/layerIcon.svg';\r\nimport LayerIconDark from './dark/layerIcon.svg';\r\nimport LightBulbLight from './light/lightBulb.svg';\r\nimport LightBulbDark from './dark/lightBulb.svg';\r\nimport LightBulbMonoLight from './light/light-bulb.svg';\r\nimport LightBulbMonoDark from './dark/light-bulb.svg';\r\nimport LightBulbBlueLight from './light/lightBulbBlue.svg';\r\nimport LightBulbBlueDark from './dark/lightBulbBlue.svg';\r\nimport ListCheckboxLight from './light/list_checkbox.svg';\r\nimport ListCheckboxDark from './dark/list_checkbox.svg';\r\nimport LoadingSpinnerArrowLight from './light/loading_spinner_arrow.svg';\r\nimport LoadingSpinnerArrowDark from './dark/loading_spinner_arrow.svg';\r\nimport LoadingSpinnerLight from './light/loading_spinner.svg';\r\nimport LoadingSpinnerDark from './dark/loading_spinner.svg';\r\nimport LoadingLight from './light/loading.svg';\r\nimport LoadingDark from './dark/loading.svg';\r\nimport LockGraphicLight from './light/lock_graphic.svg';\r\nimport LockGraphicDark from './dark/lock_graphic.svg';\r\nimport Lock_IconLight from './light/lock_icon.svg';\r\nimport Lock_IconDark from './dark/lock_icon.svg';\r\nimport LockIconLight from './light/lockIcon.svg';\r\nimport LockIconDark from './dark/lockIcon.svg';\r\nimport MBConsentDialogDeniedLight from './light/MB_ConsentDialog_Denied.svg';\r\nimport MBConsentDialogDeniedDark from './dark/MB_ConsentDialog_Denied.svg';\r\nimport MacFolderLight from './light/macFolder.svg';\r\nimport MacFolderDark from './dark/macFolder.svg';\r\nimport ManageStorageLight from './light/manageStorage.svg';\r\nimport ManageStorageDark from './dark/manageStorage.svg';\r\nimport MediaControlLight from './light/MediaControls.svg';\r\nimport MediaControlDark from './dark/MediaControls.svg';\r\nimport MoreInfoLight from './light/moreInfo.svg';\r\nimport MoreInfoDark from './dark/moreInfo.svg';\r\nimport MonolineCopilotLight from './light/monoline_copilot.svg';\r\nimport MonolineCopilotDark from './dark/monoline_copilot.svg';\r\nimport OnDemandFilesLight from './light/onDemandFiles.svg';\r\nimport OnDemandFilesDark from './dark/onDemandFiles.svg';\r\nimport OnDemandFilesDehydrateLight from './light/onDemandFilesDehydrate.svg';\r\nimport OnDemandFilesDehydrateDark from './dark/onDemandFilesDehydrate.svg';\r\nimport OnDemandSelectiveSyncLight from './light/onDemandSelectiveSync.svg';\r\nimport OnDemandSelectiveSyncDark from './dark/onDemandSelectiveSync.svg';\r\nimport OnenoteLight from './light/onenote.svg';\r\nimport OnenoteDark from './dark/onenote.svg';\r\nimport OpenFileIconLight from './light/openFileIcon.svg';\r\nimport OpenFileIconDark from './dark/openFileIcon.svg';\r\nimport OpenFolderLight from './light/openFolder.svg';\r\nimport OpenFolderDark from './dark/openFolder.svg';\r\nimport OptionalDiagnosticDataLight from './light/optionalDiagnosticData.svg';\r\nimport OptionalDiagnosticDataDark from './dark/optionalDiagnosticData.svg';\r\nimport OutlookLight from './light/outlook.svg';\r\nimport OutlookDark from './dark/outlook.svg';\r\nimport OverflowIconLight from './light/overflowIcon.svg';\r\nimport OverflowIconDark from './dark/overflowIcon.svg';\r\nimport PartiallyFreezingLight from './light/partiallyFreezing.svg';\r\nimport PartiallyFreezingDark from './dark/partiallyFreezing.svg';\r\nimport PausedLight from './light/paused.svg';\r\nimport PausedDark from './dark/paused.svg';\r\nimport PauseLight from './light/Pause.svg';\r\nimport PauseDark from './dark/Pause.svg';\r\nimport PauseIconLight from './light/pauseIcon.svg';\r\nimport PauseIconDark from './dark/pauseIcon.svg';\r\nimport PowerpointLight from './light/powerpoint.svg';\r\nimport PowerpointDark from './dark/powerpoint.svg';\r\nimport PlayLight from './light/Play.svg';\r\nimport PlayDark from './dark/Play.svg';\r\nimport VideoBadgePlay from './light/VideoBadgePlay.svg';\r\nimport PremiumGemLight from './light/premium_gem.svg';\r\nimport PremiumGemDark from './dark/premium_gem.svg';\r\nimport PremiumIconLight from './light/premiumIcon.svg';\r\nimport PremiumIconDark from './dark/premiumIcon.svg';\r\nimport PremiumIcon2Light from './light/premiumIcon2.svg';\r\nimport PremiumIcon2Dark from './dark/premiumIcon2.svg';\r\nimport PremiumIcon20x20Light from './light/premiumIcon20x20.svg';\r\nimport PremiumIcon20x20Dark from './dark/premiumIcon20x20.svg';\r\nimport PhotoIcon20x20Light from './light/photoIcon20x20.svg';\r\nimport PhotoIcon20x20Dark from './dark/photoIcon20x20.svg';\r\nimport PurchaseSuccessBgLight from './light/purchase_success_bg.svg';\r\nimport PurchaseSuccessBgDark from './dark/purchase_success_bg.svg';\r\nimport RecycleBinLight from './light/recycleBin.svg';\r\nimport RecycleBinDark from './dark/recycleBin.svg';\r\nimport RecycleBinIconLight from './light/recycleBinIcon.svg';\r\nimport RecycleBinIconDark from './dark/recycleBinIcon.svg';\r\nimport RecycleBinIcon20x20Light from './light/recycleBinIcon20x20.svg';\r\nimport RecycleBinIcon20x20Dark from './dark/recycleBinIcon20x20.svg';\r\nimport ReportProblemIconLight from './light/reportProblemIcon.svg';\r\nimport ReportProblemIconDark from './dark/reportProblemIcon.svg';\r\nimport RequiredDiagnosticDataLight from './light/requiredDiagnosticData.svg';\r\nimport RequiredDiagnosticDataDark from './dark/requiredDiagnosticData.svg';\r\nimport ReSignInLight from './light/reSignIn.svg';\r\nimport ReSignInDark from './dark/reSignIn.svg';\r\nimport ResumeIconLight from './light/resumeIcon.svg';\r\nimport ResumeIconDark from './dark/resumeIcon.svg';\r\nimport ResumeSyncingLight from './light/resumeSyncing.svg';\r\nimport ResumeSyncingDark from './dark/resumeSyncing.svg';\r\nimport StartOneDriveLight from './light/startOneDrive.svg';\r\nimport StartOneDriveDark from './dark/startOneDrive.svg';\r\nimport ScrollbarChevronDownLight from './light/scrollbarChevronDown.svg';\r\nimport ScrollbarChevronDownDark from './dark/scrollbarChevronDown.svg';\r\nimport ScrollbarChevronUpLight from './light/scrollbarChevronUp.svg';\r\nimport ScrollbarChevronUpDark from './dark/scrollbarChevronUp.svg';\r\nimport SendFeedbackIconLight from './light/sendFeedbackIcon.svg';\r\nimport SendFeedbackIconDark from './dark/sendFeedbackIcon.svg';\r\nimport SettingsIconLight from './light/settingsIcon.svg';\r\nimport SettingsIconDark from './dark/settingsIcon.svg';\r\nimport SettingsIcon2Light from './light/settingsIcon2.svg';\r\nimport SettingsIcon2Dark from './dark/settingsIcon2.svg';\r\nimport SettingsIcon3Light from './light/settingsIcon3.svg';\r\nimport SettingsIcon3Dark from './dark/settingsIcon3.svg';\r\nimport ShareLight from './light/share.svg';\r\nimport ShareDark from './dark/share.svg';\r\nimport ShareIconLight from './light/shareIcon.svg';\r\nimport ShareIconDark from './dark/shareIcon.svg';\r\nimport ShieldIconLight from './light/shield_icon.svg';\r\nimport ShieldIconDark from './dark/shield_icon.svg';\r\nimport ShieldTaskLight from './light/ShieldTask.svg';\r\nimport ShieldTaskDark from './dark/ShieldTask.svg';\r\nimport ShieldSuccessLight from './light/shieldSuccess.svg';\r\nimport ShieldSuccessDark from './dark/shieldSuccess.svg';\r\nimport SignInLight from './light/signIn.svg';\r\nimport SignInDark from './dark/signIn.svg';\r\nimport SignInExclamationLight from './light/signInExclamation.svg';\r\nimport SignInExclamationDark from './dark/signInExclamation.svg';\r\nimport SmileLight from './light/Smile_Light.svg';\r\nimport SmileDark from './dark/Smile_Dark.svg';\r\nimport StackLight from './light/stack.svg';\r\nimport StackDark from './dark/stack.svg';\r\nimport StackedIceCubesLight from './light/stackedIceCubes.svg';\r\nimport StackedIceCubesDark from './dark/stackedIceCubes.svg';\r\nimport StackIconLight from './light/stackIcon.svg';\r\nimport StackIconDark from './dark/stackIcon.svg';\r\nimport SyncStatusErrorLight from './light/SyncStatusError.svg';\r\nimport SyncStatusErrorDark from './dark/SyncStatusError.svg';\r\nimport SyncStatusOfflineLight from './light/SyncStatusOffline.svg';\r\nimport SyncStatusOfflineDark from './dark/SyncStatusOffline.svg';\r\nimport SyncStatusPausedLight from './light/SyncStatusPaused.svg';\r\nimport SyncStatusPausedDark from './dark/SyncStatusPaused.svg';\r\nimport SyncStatusSyncedLight from './light/SyncStatusSynced.svg';\r\nimport SyncStatusSyncedDark from './dark/SyncStatusSynced.svg';\r\nimport SyncStatusSyncingLight from './light/SyncStatusSyncing.svg';\r\nimport SyncStatusSyncingDark from './dark/SyncStatusSyncing.svg';\r\nimport SyncStatusWarningLight from './light/SyncStatusWarning.svg';\r\nimport SyncStatusWarningDark from './dark/SyncStatusWarning.svg';\r\nimport SyncStatusBadgeCloudLight from './light/SyncStatusBadgeCloud.svg';\r\nimport SyncStatusBadgeCloudDark from './dark/SyncStatusBadgeCloud.svg';\r\nimport SyncStatusBadgeErrorLight from './light/SyncStatusBadgeError.svg';\r\nimport SyncStatusBadgeErrorDark from './dark/SyncStatusBadgeError.svg';\r\nimport SyncStatusBadgeInfoLight from './light/SyncStatusBadgeInfo.svg';\r\nimport SyncStatusBadgeInfoDark from './dark/SyncStatusBadgeInfo.svg';\r\nimport SyncStatusBadgeOfflineLight from './light/SyncStatusBadgeOffline.svg';\r\nimport SyncStatusBadgeOfflineDark from './dark/SyncStatusBadgeOffline.svg';\r\nimport SyncStatusBadgePausedLight from './light/SyncStatusBadgePaused.svg';\r\nimport SyncStatusBadgePausedDark from './dark/SyncStatusBadgePaused.svg';\r\nimport SyncStatusBadgeSyncingLight from './light/SyncStatusBadgeSyncing.svg';\r\nimport SyncStatusBadgeSyncingDark from './dark/SyncStatusBadgeSyncing.svg';\r\nimport SyncStatusBadgeWarningLight from './light/SyncStatusBadgeWarning.svg';\r\nimport SyncStatusBadgeWarningDark from './dark/SyncStatusBadgeWarning.svg';\r\nimport TeamsLight from './light/Teams.svg';\r\nimport TeamsDark from './dark/Teams.svg';\r\nimport ThumbsUpLight from './light/ThumbUp.svg';\r\nimport ThumbsUpDark from './dark/ThumbUp.svg';\r\nimport ThumbsDownLight from './light/ThumbDown.svg';\r\nimport ThumbsDownDark from './dark/ThumbDown.svg';\r\nimport SearchFeedbackThumbUp from './light/SearchFeedbackThumbUp.svg';\r\nimport SearchFeedbackThumbDown from './light/SearchFeedbackThumbDown.svg';\r\nimport SearchFeedbackThumbUpFilled from './light/SearchFeedbackThumbUpFilled.svg';\r\nimport SearchFeedbackThumbDownFilled from './light/SearchFeedbackThumbDownFilled.svg';\r\nimport ThumbLikeActiveLight from './light/ThumbLikeActive.svg';\r\nimport ThumbLikeActiveDark from './dark/ThumbLikeActive.svg';\r\nimport ThumbLikeHoverLight from './light/ThumbLikeHover.svg';\r\nimport ThumbLikeHoverDark from './dark/ThumbLikeHover.svg';\r\nimport TimelineLongLight from './light/timelineLong.svg';\r\nimport TimelineLongDark from './dark/timelineLong.svg';\r\nimport TimelineShortLight from './light/timelineShort.svg';\r\nimport TimelineShortDark from './dark/timelineShort.svg';\r\nimport TreeChevronDownLight from './light/treeChevronDown.svg';\r\nimport TreeChevronDownDark from './dark/treeChevronDown.svg';\r\nimport TreeChevronLeftLight from './light/treeChevronLeft.svg';\r\nimport TreeChevronLeftDark from './dark/treeChevronLeft.svg';\r\nimport TreeChevronRightLight from './light/treeChevronRight.svg';\r\nimport TreeChevronRightDark from './dark/treeChevronRight.svg';\r\nimport UnlinkIconLight from './light/unlinkIcon.svg';\r\nimport UnlinkIconDark from './dark/unlinkIcon.svg';\r\nimport UnlockIconLight from './light/unlockIcon.svg';\r\nimport UnlockIconDark from './dark/unlockIcon.svg';\r\nimport UpgradeLight from './light/upgrade.svg';\r\nimport UpgradeDark from './dark/upgrade.svg';\r\nimport VaultFull from './light/vaultFull.svg';\r\nimport VaultIntro from './light/vaultIntro.svg';\r\nimport VaultUnlocked from './light/vaultUnlocked.svg';\r\nimport WarningSymbolGreyLight from './light/warning-symbol_grey.svg';\r\nimport WarningSymbolGreyDark from './dark/warning-symbol_grey.svg';\r\nimport WarningSymbolYellowLight from './light/warning-symbol_yellow.svg';\r\nimport WarningSymbolYellowDark from './dark/warning-symbol_yellow.svg';\r\nimport WaterGlassLight from './light/waterGlass.svg';\r\nimport WaterGlassDark from './dark/waterGlass.svg';\r\nimport WiFiWarningLight from './light/WiFiWarning.svg';\r\nimport WiFiWarningDark from './dark/WiFiWarning.svg';\r\nimport Win7KfmDoneLight from './light/win7_kfm_done.svg';\r\nimport Win7KfmDoneDark from './dark/win7_kfm_done.svg';\r\nimport Win7Unlink1Light from './light/win7_unlink-1.svg';\r\nimport Win7Unlink1Dark from './dark/win7_unlink-1.svg';\r\nimport Win7Unlink2Light from './light/win7_unlink-2.svg';\r\nimport Win7Unlink2Dark from './dark/win7_unlink-2.svg';\r\nimport WordLight from './light/word.svg';\r\nimport WordDark from './dark/word.svg';\r\nimport YellowFolderLight from './light/yellowFolder.svg';\r\nimport YellowFolderDark from './dark/yellowFolder.svg';\r\nimport YellowStarLight from './light/YellowStar.svg';\r\nimport YellowStarDark from './dark/YellowStar.svg';\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\n\r\n// List of all images. These need to be defined as specific, full strings so that React Native\r\n// knows how to find them at runtime. Light theme should be first, dark theme second.\r\n// The width and height for each icon should be based on the dimensions specified in the SVG file itself.\r\n// This ensures that the icons are rendered at their correct aspect ratio and scale consistently across different contexts.\r\n\r\nconst iconsList: {\r\n [key: string]: {\r\n icon: FunctionComponent>[];\r\n width: number;\r\n height: number;\r\n };\r\n} = {\r\n accountDetection: { icon: [AccountDetectionLight, AccountDetectionDark], width: 48, height: 48 },\r\n acm_cloud_import: { icon: [AcmCloudImportLight, AcmCloudImportDark], width: 132, height: 69 },\r\n acm_confetti: { icon: [AcmConfettiLight, AcmConfettiDark], width: 250, height: 70 },\r\n acm_low_disk_space_online_only: {\r\n icon: [AcmLowDiskSpaceOnlineOnlyLight, AcmLowDiskSpaceOnlineOnlyDark],\r\n width: 600,\r\n height: 366.99\r\n },\r\n acmDismissIcon: { icon: [AcmDismissIconLight, AcmDismissIconDark], width: 12.727922, height: 12.727922 },\r\n ACMegaImageForQuotaErrors: {\r\n icon: [ACMegaImageForQuotaErrorsLight, ACMegaImageForQuotaErrorsDark],\r\n width: 278,\r\n height: 102\r\n },\r\n animation_Pause: { icon: [AnimationPauseLight, AnimationPauseDark], width: 20, height: 20 },\r\n animation_Play: { icon: [AnimationPlayLight, AnimationPlayDark], width: 20, height: 20 },\r\n backArrow: { icon: [BackArrowLight, BackArrowDark], width: 32, height: 32 },\r\n blue_cloud: { icon: [BlueCloudLight, BlueCloudDark], width: 48, height: 48 },\r\n BlueCloudCritical_default: {\r\n icon: [BlueCloudCriticalDefaultLight, BlueCloudCriticalDefaultDark],\r\n width: 16,\r\n height: 16\r\n },\r\n BlueCloudFull_default: {\r\n icon: [BlueCloudFullDefaultLight, BlueCloudFullDefaultDark],\r\n width: 16,\r\n height: 16\r\n },\r\n blue_cloud48x48: {\r\n icon: [BlueCloud48x48Light, BlueCloud48x48Dark],\r\n width: 16,\r\n height: 16\r\n },\r\n BlueCloudCritical_Win11: {\r\n icon: [BlueCloudCriticalWin11Light, BlueCloudCriticalWin11Dark],\r\n width: 16,\r\n height: 16\r\n },\r\n BlueCloudFull_Win11: { icon: [BlueCloudFullWin11Light, BlueCloudFullWin11Dark], width: 16, height: 16 },\r\n BlueCloudOverLimit: { icon: [BlueCloudOverLimitLight, BlueCloudOverLimitDark], width: 16, height: 16 },\r\n bugIcon: { icon: [BugIconLight, BugIconDark], width: 16, height: 16 },\r\n CameraRollBackup: { icon: [CameraRollBackupLight, CameraRollBackupDark], width: 512, height: 512 },\r\n cancelIcon: { icon: [CancelIconLight, CancelIconDark], width: 36, height: 36 },\r\n checkboxComposite: { icon: [CheckboxCompositeLight, CheckboxCompositeDark], width: 16, height: 16 },\r\n checkmark_hovered: { icon: [CheckmarkHoveredLight, CheckmarkHoveredDark], width: 32, height: 32 },\r\n checkmark_in_progress: { icon: [CheckmarkInProgressLight, CheckmarkInProgressDark], width: 32, height: 32 },\r\n checkmark_selected: { icon: [CheckmarkSelectedLight, CheckmarkSelectedDark], width: 32, height: 32 },\r\n chevron: { icon: [ChevronLight, ChevronDark], width: 24, height: 32 },\r\n chevronUp: { icon: [ChevronUpLight, ChevronUpDark], width: 24, height: 32 },\r\n clipchamp: { icon: [ClipchampLight, ClipchampDark], width: 24, height: 24 },\r\n clock_icon: { icon: [ClockIconLight, ClockIconDark], width: 52, height: 52 },\r\n cloud: { icon: [CloudLight, CloudDark], width: 48, height: 48 },\r\n CloudIconError: { icon: [CloudIconErrorLight, CloudIconErrorDark], width: 16, height: 16 },\r\n CloudIconOffline: { icon: [CloudIconOfflineLight, CloudIconOfflineDark], width: 16, height: 16 },\r\n CloudIconPaused: { icon: [CloudIconPausedLight, CloudIconPausedDark], width: 16, height: 16 },\r\n CloudIconSynced: { icon: [CloudIconSyncedLight, CloudIconSyncedDark], width: 16, height: 16 },\r\n CloudIconSyncing: { icon: [CloudIconSyncingLight, CloudIconSyncingDark], width: 16, height: 16 },\r\n CloudIconWarning: { icon: [CloudIconWarningLight, CloudIconWarningDark], width: 16, height: 16 },\r\n completed_icon: { icon: [CompletedIconLight, CompletedIconDark], width: 48, height: 48 },\r\n ColoredFolders: { icon: [ColoredFoldersLight, ColoredFoldersDark], width: 24, height: 24 },\r\n copilot: { icon: [Copilot, CopilotDark], width: 24, height: 24 },\r\n defender: { icon: [DefenderLight, DefenderDark], width: 24, height: 24 },\r\n designer: { icon: [DesignerLight, DesignerDark], width: 24, height: 24 },\r\n dialog_dismiss: { icon: [DialogDismissLight, DialogDismissDark], width: 8, height: 8 },\r\n done_graphic: { icon: [DoneGraphicLight, DoneGraphicDark], width: 316, height: 214 },\r\n errorIcon: { icon: [ErrorIconLight, ErrorIconDark], width: 48, height: 48 },\r\n errorIcon2: { icon: [ErrorIcon2Light, ErrorIcon2Dark], width: 28, height: 28 },\r\n excel: { icon: [ExcelLight, ExcelDark], width: 24, height: 24 },\r\n exclamation: { icon: [ExclamationLight, ExclamationDark], width: 235, height: 216 },\r\n exitIcon: { icon: [ExitIconLight, ExitIconDark], width: 16, height: 16 },\r\n eyelash: { icon: [EyelashLight, EyelashDark], width: 32, height: 32 },\r\n errorInfoCircle: { icon: [ErrorInfoCircleLight, ErrorInfoCircleDark], width: 16, height: 16 },\r\n InfoBlue: { icon: [InfoBlueLight, InfoBlueDark], width: 45, height: 45 },\r\n familySafety: { icon: [FamilySafetyLight, FamilySafetyDark], width: 24, height: 24 },\r\n feedbackIcon: { icon: [FeedbackIconLight, FeedbackIconDark], width: 16, height: 16 },\r\n file: { icon: [FileLight, FileDark], width: 16, height: 16 },\r\n search: { icon: [SearchLight, SearchDark], width: 16, height: 16 },\r\n fileLockIcon: { icon: [FileLockIconLight, FileLockIconDark], width: 52, height: 52 },\r\n finderExtensionPrompt: {\r\n icon: [FinderExtensionPromptLight, FinderExtensionPromptDark],\r\n width: 336,\r\n height: 132\r\n },\r\n folder_image_desktop_mac: {\r\n icon: [FolderImageDesktopMacLight, FolderImageDesktopMacDark],\r\n width: 93,\r\n height: 69\r\n },\r\n folder_image_desktop: { icon: [FolderImageDesktopLight, FolderImageDesktopDark], width: 104, height: 84 },\r\n folder_image_documents_mac: {\r\n icon: [FolderImageDocumentsMacLight, FolderImageDocumentsMacDark],\r\n width: 93,\r\n height: 68\r\n },\r\n folder_image_documents: {\r\n icon: [FolderImageDocumentsLight, FolderImageDocumentsDark],\r\n width: 99,\r\n height: 77\r\n },\r\n folder_image_pictures_mac: {\r\n icon: [FolderImagePicturesMacLight, FolderImagePicturesMacDark],\r\n width: 93,\r\n height: 69\r\n },\r\n folder_image_pictures: {\r\n icon: [FolderImagePicturesLight, FolderImagePicturesDark],\r\n width: 105,\r\n height: 77\r\n },\r\n folderIcon: { icon: [FolderIconLight, FolderIconDark], width: 20, height: 20 },\r\n folderIcon2: { icon: [FolderIcon2Light, FolderIcon2Dark], width: 16, height: 16 },\r\n folderIcon20x20: { icon: [FolderIcon20x20Light, FolderIcon20x20Dark], width: 20, height: 20 },\r\n forwardArrow: { icon: [ForwardArrowLight, ForwardArrowDark], width: 32, height: 32 },\r\n fre_choose_folder: { icon: [FreChooseFolderLight, FreChooseFolderDark], width: 470, height: 220 },\r\n fre_done: { icon: [FreDoneLight, FreDoneDark], width: 470, height: 252 },\r\n fre_email_hrd: { icon: [FreEmailHrdLight, FreEmailHrdDark], width: 470, height: 220 },\r\n FRE_Tutorial_FilesOnDemand_Important: {\r\n icon: [FRETutorialFilesOnDemandImportantLight, FRETutorialFilesOnDemandImportantDark],\r\n width: 47.996,\r\n height: 62.856\r\n },\r\n FRE_Tutorial_FilesOnDemand_OnlineOnly: {\r\n icon: [FRETutorialFilesOnDemandOnlineOnlyLight, FRETutorialFilesOnDemandOnlineOnlyDark],\r\n width: 48,\r\n height: 62.86\r\n },\r\n FRE_Tutorial_FilesOnDemand_Placeholder: {\r\n icon: [FRETutorialFilesOnDemandPlaceholderLight, FRETutorialFilesOnDemandPlaceholderDark],\r\n width: 48,\r\n height: 62.86\r\n },\r\n FRE_Tutorial_Intro: { icon: [FRETutorialIntroLight, FRETutorialIntroDark], width: 470, height: 252 },\r\n FRE_Tutorial_Mobile: { icon: [FRETutorialMobileLight, FRETutorialMobileDark], width: 470, height: 252 },\r\n FRE_Tutorial_Share: { icon: [FRETutorialShareLight, FRETutorialShareDark], width: 470, height: 252 },\r\n frown: { icon: [FrownLight, FrownDark], width: 24, height: 24 },\r\n globe: { icon: [GlobeLight, GlobeDark], width: 16, height: 16 },\r\n globeIcon: { icon: [GlobeIconLight, GlobeIconDark], width: 20, height: 20 },\r\n globeIcon2: { icon: [GlobeIcon2Light, GlobeIcon2Dark], width: 2048, height: 2048 },\r\n globeIcon20x20: { icon: [GlobeIcon20x20Light, GlobeIcon20x20Dark], width: 20, height: 20 },\r\n helpIcon: { icon: [HelpIconLight, HelpIconDark], width: 18, height: 18 },\r\n helpSubIcon: { icon: [HelpSubIconLight, HelpSubIconDark], width: 1024, height: 1792 },\r\n HeroImage_FolderBackupACM: {\r\n icon: [HeroImageFolderBackupACMLight, HeroImageFolderBackupACMDark],\r\n width: 248,\r\n height: 69\r\n },\r\n houseIcon: { icon: [HouseIconLight, HouseIconDark], width: 12, height: 14 },\r\n iceBucket: { icon: [IceBucketLight, IceBucketDark], width: 48, height: 48 },\r\n infoIcon: { icon: [InfoIconLight, InfoIconDark], width: 48, height: 48 },\r\n infoIconYellow: { icon: [InfoIconYellowLight, InfoIconYellowDark], width: 16, height: 16 },\r\n kfm_acm_gpo: { icon: [KfmAcmGpoLight, KfmAcmGpoDark], width: 48, height: 48 },\r\n kfm_mega_gpo: { icon: [KfmMegaGpoLight, KfmMegaGpoDark], width: 108.23, height: 70 },\r\n kfmAllBackedUp: { icon: [KfmAllBackedUpLight, KfmAllBackedUpDark], width: 298, height: 120 },\r\n kfmCloseFileToBackup: {\r\n icon: [KfmCloseFileToBackupLight, KfmCloseFileToBackupDark],\r\n width: 48,\r\n height: 48\r\n },\r\n kfmOnboardingACM: { icon: [kfmOnboardingACMLight, kfmOnboardingACMDark], width: 48, height: 48 },\r\n layerIcon: { icon: [LayerIconLight, LayerIconDark], width: 16, height: 16 },\r\n lightBulb: { icon: [LightBulbLight, LightBulbDark], width: 50, height: 48 },\r\n lightBulbMono: { icon: [LightBulbMonoLight, LightBulbMonoDark], width: 16, height: 16 },\r\n lightBulbBlue: { icon: [LightBulbBlueLight, LightBulbBlueDark], width: 50, height: 48 },\r\n list_checkbox: { icon: [ListCheckboxLight, ListCheckboxDark], width: 19.05, height: 13.59 },\r\n loading_spinner_arrow: { icon: [LoadingSpinnerArrowLight, LoadingSpinnerArrowDark], width: 12, height: 12 },\r\n loading_spinner: { icon: [LoadingSpinnerLight, LoadingSpinnerDark], width: 16, height: 16 },\r\n loading: { icon: [LoadingLight, LoadingDark], width: 16, height: 16 },\r\n lock_graphic: { icon: [LockGraphicLight, LockGraphicDark], width: 120, height: 120 },\r\n lock_icon: { icon: [Lock_IconLight, Lock_IconDark], width: 52, height: 52 },\r\n lockIcon: { icon: [LockIconLight, LockIconDark], width: 16, height: 16 },\r\n onDemandFiles: { icon: [OnDemandFilesLight, OnDemandFilesDark], width: 296, height: 88 },\r\n mediaControl: { icon: [MediaControlLight, MediaControlDark], width: 64, height: 64 },\r\n onDemandFilesDehydrate: {\r\n icon: [OnDemandFilesDehydrateLight, OnDemandFilesDehydrateDark],\r\n width: 174,\r\n height: 112\r\n },\r\n onDemandSelectiveSync: {\r\n icon: [OnDemandSelectiveSyncLight, OnDemandSelectiveSyncDark],\r\n width: 48,\r\n height: 48\r\n },\r\n onenote: { icon: [OnenoteLight, OnenoteDark], width: 48, height: 48 },\r\n openFileIcon: { icon: [OpenFileIconLight, OpenFileIconDark], width: 1792, height: 2048 },\r\n openFolder: { icon: [OpenFolderLight, OpenFolderDark], width: 16, height: 16 },\r\n optionalDiagnosticData: {\r\n icon: [OptionalDiagnosticDataLight, OptionalDiagnosticDataDark],\r\n width: 405,\r\n height: 190\r\n },\r\n outlook: { icon: [OutlookLight, OutlookDark], width: 24, height: 24 },\r\n overflowIcon: { icon: [OverflowIconLight, OverflowIconDark], width: 36, height: 36 },\r\n partiallyFreezing: { icon: [PartiallyFreezingLight, PartiallyFreezingDark], width: 48, height: 37 },\r\n paused: { icon: [PausedLight, PausedDark], width: 48, height: 48 },\r\n pause: { icon: [PauseLight, PauseDark], width: 14, height: 14 },\r\n pauseIcon: { icon: [PauseIconLight, PauseIconDark], width: 16, height: 16 },\r\n powerpoint: { icon: [PowerpointLight, PowerpointDark], width: 24, height: 24 },\r\n play: { icon: [PlayLight, PlayDark], width: 13, height: 15 },\r\n videoBadgePlay: { icon: [VideoBadgePlay, VideoBadgePlay], width: 13, height: 15 },\r\n premium_gem: { icon: [PremiumGemLight, PremiumGemDark], width: 21.19, height: 19.76 },\r\n premiumIcon: { icon: [PremiumIconLight, PremiumIconDark], width: 20, height: 20 },\r\n premiumIcon2: { icon: [PremiumIcon2Light, PremiumIcon2Dark], width: 16, height: 16 },\r\n premiumIcon20x20: { icon: [PremiumIcon20x20Light, PremiumIcon20x20Dark], width: 20, height: 20 },\r\n recycleBin: { icon: [RecycleBinLight, RecycleBinDark], width: 47, height: 67 },\r\n recycleBinIcon: { icon: [RecycleBinIconLight, RecycleBinIconDark], width: 16, height: 16 },\r\n recycleBinIcon20x20: { icon: [RecycleBinIcon20x20Light, RecycleBinIcon20x20Dark], width: 20, height: 20 },\r\n reportProblemIcon: { icon: [ReportProblemIconLight, ReportProblemIconDark], width: 16, height: 16 },\r\n requiredDiagnosticData: {\r\n icon: [RequiredDiagnosticDataLight, RequiredDiagnosticDataDark],\r\n width: 376,\r\n height: 176\r\n },\r\n reSignIn: { icon: [ReSignInLight, ReSignInDark], width: 126.53, height: 87.26 },\r\n resumeIcon: { icon: [ResumeIconLight, ResumeIconDark], width: 16, height: 16 },\r\n scrollbarChevronDown: {\r\n icon: [ScrollbarChevronDownLight, ScrollbarChevronDownDark],\r\n width: 12,\r\n height: 12\r\n },\r\n scrollbarChevronUp: { icon: [ScrollbarChevronUpLight, ScrollbarChevronUpDark], width: 12, height: 12 },\r\n sendFeedbackIcon: { icon: [SendFeedbackIconLight, SendFeedbackIconDark], width: 2048, height: 2048 },\r\n settingsIcon: { icon: [SettingsIconLight, SettingsIconDark], width: 2048, height: 2048 },\r\n settingsIcon2: { icon: [SettingsIcon2Light, SettingsIcon2Dark], width: 16, height: 16 },\r\n settingsIcon3: { icon: [SettingsIcon3Light, SettingsIcon3Dark], width: 16, height: 16 },\r\n share: { icon: [ShareLight, ShareDark], width: 16, height: 16 },\r\n copyLink: { icon: [CopyLinkLight, CopyLinkDark], width: 16, height: 16 },\r\n shareIcon: { icon: [ShareIconLight, ShareIconDark], width: 14.25, height: 13.5 },\r\n shield_icon: { icon: [ShieldIconLight, ShieldIconDark], width: 32, height: 32 },\r\n shieldTask: { icon: [ShieldTaskLight, ShieldTaskDark], width: 48, height: 48 },\r\n shieldSuccess: { icon: [ShieldSuccessLight, ShieldSuccessDark], width: 48, height: 48 },\r\n signIn: { icon: [SignInLight, SignInDark], width: 137.79, height: 86.55 },\r\n signInExclamation: { icon: [SignInExclamationLight, SignInExclamationDark], width: 69, height: 64 },\r\n smile: { icon: [SmileLight, SmileDark], width: 24, height: 24 },\r\n stack: { icon: [StackLight, StackDark], width: 16, height: 16 },\r\n stackedIceCubes: { icon: [StackedIceCubesLight, StackedIceCubesDark], width: 48, height: 32 },\r\n stackIcon: { icon: [StackIconLight, StackIconDark], width: 18, height: 18 },\r\n SyncStatusError: { icon: [SyncStatusErrorLight, SyncStatusErrorDark], width: 14, height: 14 },\r\n SyncStatusOffline: { icon: [SyncStatusOfflineLight, SyncStatusOfflineDark], width: 14, height: 14 },\r\n SyncStatusPaused: { icon: [SyncStatusPausedLight, SyncStatusPausedDark], width: 14, height: 14 },\r\n SyncStatusSynced: { icon: [SyncStatusSyncedLight, SyncStatusSyncedDark], width: 14, height: 14 },\r\n SyncStatusSyncing: { icon: [SyncStatusSyncingLight, SyncStatusSyncingDark], width: 14, height: 14 },\r\n SyncStatusWarning: { icon: [SyncStatusWarningLight, SyncStatusWarningDark], width: 14, height: 14 },\r\n teams: { icon: [TeamsLight, TeamsDark], width: 24, height: 24 },\r\n ThumbsUp: { icon: [ThumbsUpLight, ThumbsUpDark], width: 24, height: 24 },\r\n ThumbsDown: { icon: [ThumbsDownLight, ThumbsDownDark], width: 24, height: 24 },\r\n searchFeedbackThumbUp: { icon: [SearchFeedbackThumbUp, SearchFeedbackThumbUp], width: 20, height: 20 },\r\n searchFeedbackThumbDown: {\r\n icon: [SearchFeedbackThumbDown, SearchFeedbackThumbDown],\r\n width: 20,\r\n height: 20\r\n },\r\n searchFeedbackThumbUpFilled: {\r\n icon: [SearchFeedbackThumbUpFilled, SearchFeedbackThumbUpFilled],\r\n width: 20,\r\n height: 20\r\n },\r\n searchFeedbackThumbDownFilled: {\r\n icon: [SearchFeedbackThumbDownFilled, SearchFeedbackThumbDownFilled],\r\n width: 20,\r\n height: 20\r\n },\r\n ThumbLikeActive: { icon: [ThumbLikeActiveLight, ThumbLikeActiveDark], width: 20, height: 20 },\r\n ThumbLikeHover: { icon: [ThumbLikeHoverLight, ThumbLikeHoverDark], width: 20, height: 20 },\r\n timelineLong: { icon: [TimelineLongLight, TimelineLongDark], width: 9, height: 70 },\r\n timelineShort: { icon: [TimelineShortLight, TimelineShortDark], width: 9, height: 70 },\r\n treeChevronDown: { icon: [TreeChevronDownLight, TreeChevronDownDark], width: 16, height: 16 },\r\n treeChevronLeft: { icon: [TreeChevronLeftLight, TreeChevronLeftDark], width: 16, height: 16 },\r\n treeChevronRight: { icon: [TreeChevronRightLight, TreeChevronRightDark], width: 16, height: 16 },\r\n unlinkIcon: { icon: [UnlinkIconLight, UnlinkIconDark], width: 16, height: 16 },\r\n unlockIcon: { icon: [UnlockIconLight, UnlockIconDark], width: 16, height: 16 },\r\n vaultFull: { icon: [VaultFull, VaultFull], width: 47, height: 16 },\r\n vaultIntro: { icon: [VaultIntro, VaultIntro], width: 47, height: 14 },\r\n vaultUnlocked: { icon: [VaultUnlocked, VaultUnlocked], width: 48, height: 48 },\r\n 'warning-symbol_grey': { icon: [WarningSymbolGreyLight, WarningSymbolGreyDark], width: 48, height: 48 },\r\n 'warning-symbol_yellow': {\r\n icon: [WarningSymbolYellowLight, WarningSymbolYellowDark],\r\n width: 23,\r\n height: 23\r\n },\r\n waterGlass: { icon: [WaterGlassLight, WaterGlassDark], width: 48, height: 53 },\r\n wifiWarning: { icon: [WiFiWarningLight, WiFiWarningDark], width: 20, height: 20 },\r\n win7_kfm_done: { icon: [Win7KfmDoneLight, Win7KfmDoneDark], width: 409.3, height: 188 },\r\n 'win7_unlink-1': { icon: [Win7Unlink1Light, Win7Unlink1Dark], width: 256.6, height: 110 },\r\n 'win7_unlink-2': { icon: [Win7Unlink2Light, Win7Unlink2Dark], width: 179.5, height: 110 },\r\n word: { icon: [WordLight, WordDark], width: 24, height: 24 },\r\n yellowFolder: { icon: [YellowFolderLight, YellowFolderDark], width: 16, height: 16 },\r\n fileProviderIconsACM: {\r\n icon: [FileProviderIconsACMLight, FileProviderIconsACMDark],\r\n width: 298,\r\n height: 121\r\n },\r\n filesNotSyncing: { icon: [FilesNotSyncingLight, FilesNotSyncingDark], width: 32, height: 32 },\r\n filesNotSyncingDisabled: {\r\n icon: [FilesNotSyncingDisabledLight, FilesNotSyncingDisabledDark],\r\n width: 32,\r\n height: 32\r\n },\r\n freChooseFolderMac: { icon: [FREChooseFolderMacLight, FREChooseFolderMacDark], width: 470, height: 220 },\r\n freEnableFinder: { icon: [FREEnableFinderLight, FREEnableFinderDark], width: 470, height: 252 },\r\n freeUpSpace: { icon: [FreeUpSpaceLight, FreeUpSpaceDark], width: 32, height: 32 },\r\n freTutorialFilesOnDemandImportantMac: {\r\n icon: [FRETutorialFilesOnDemandImportantMacLight, FRETutorialFilesOnDemandImportantMacDark],\r\n width: 83.891,\r\n height: 95.25\r\n },\r\n freTutorialFilesOnDemandMacbox: {\r\n icon: [FRETutorialFilesOnDemandMacboxLight, FRETutorialFilesOnDemandMacboxDark],\r\n width: 494,\r\n height: 146\r\n },\r\n freTutorialFilesOnDemandOnlineOnlyMac: {\r\n icon: [FRETutorialFilesOnDemandOnlineOnlyMacLight, FRETutorialFilesOnDemandOnlineOnlyMacDark],\r\n width: 83.929,\r\n height: 95.25\r\n },\r\n freTutorialFilesOnDemandPlaceholderMac: {\r\n icon: [FRETutorialFilesOnDemandPlaceholderMacLight, FRETutorialFilesOnDemandPlaceholderMacDark],\r\n width: 83.891,\r\n height: 95.25\r\n },\r\n freTutorialIntroMac: { icon: [FRETutorialIntroMacLight, FRETutorialIntroMacDark], width: 470, height: 252 },\r\n freTutorialShareMac: { icon: [FRETutorialShareMacLight, FRETutorialShareMacDark], width: 470, height: 252 },\r\n macboxConsentDialogDenied: {\r\n icon: [MBConsentDialogDeniedLight, MBConsentDialogDeniedDark],\r\n width: 470,\r\n height: 252\r\n },\r\n macFolder: { icon: [MacFolderLight, MacFolderDark], width: 16, height: 16 },\r\n manageStorage: { icon: [ManageStorageLight, ManageStorageDark], width: 32, height: 32 },\r\n moreInfo: { icon: [MoreInfoLight, MoreInfoDark], width: 24, height: 24 },\r\n purchaseSuccessBg: { icon: [PurchaseSuccessBgLight, PurchaseSuccessBgDark], width: 977.49, height: 693.52 },\r\n resumeSyncing: { icon: [ResumeSyncingLight, ResumeSyncingDark], width: 32, height: 32 },\r\n startOneDrive: { icon: [StartOneDriveLight, StartOneDriveDark], width: 32, height: 32 },\r\n syncStatusBadgeCloud: {\r\n icon: [SyncStatusBadgeCloudLight, SyncStatusBadgeCloudDark],\r\n width: 16,\r\n height: 16\r\n },\r\n syncStatusBadgeError: {\r\n icon: [SyncStatusBadgeErrorLight, SyncStatusBadgeErrorDark],\r\n width: 16,\r\n height: 16\r\n },\r\n syncStatusBadgeInfo: { icon: [SyncStatusBadgeInfoLight, SyncStatusBadgeInfoDark], width: 16, height: 16 },\r\n syncStatusBadgeOffline: {\r\n icon: [SyncStatusBadgeOfflineLight, SyncStatusBadgeOfflineDark],\r\n width: 16,\r\n height: 16\r\n },\r\n syncStatusBadgePaused: {\r\n icon: [SyncStatusBadgePausedLight, SyncStatusBadgePausedDark],\r\n width: 16,\r\n height: 16\r\n },\r\n syncStatusBadgeSyncing: {\r\n icon: [SyncStatusBadgeSyncingLight, SyncStatusBadgeSyncingDark],\r\n width: 16,\r\n height: 16\r\n },\r\n syncStatusBadgeWarning: {\r\n icon: [SyncStatusBadgeWarningLight, SyncStatusBadgeWarningDark],\r\n width: 16,\r\n height: 16\r\n },\r\n upgrade: { icon: [UpgradeLight, UpgradeDark], width: 32, height: 32 },\r\n photoIcon20x20: { icon: [PhotoIcon20x20Light, PhotoIcon20x20Dark], width: 20, height: 20 },\r\n monolineCopilot: { icon: [MonolineCopilotLight, MonolineCopilotDark], width: 20, height: 20 },\r\n yellowStar: { icon: [YellowStarLight, YellowStarDark], width: 16, height: 16 }\r\n};\r\n\r\nexport default iconsList;\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","'use client';\n\nexport * from './ReactNativeSVG';\n\nexport { default } from './ReactNativeSVG';\n","import Shape from './elements/Shape';\nimport {\n AstProps,\n camelCase,\n JsxAST,\n Middleware,\n parse,\n Styles,\n SvgAst,\n SvgFromUri,\n SvgFromXml,\n SvgUri,\n SvgXml,\n UriProps,\n UriState,\n XmlAST,\n XmlProps,\n XmlState,\n} from './xml';\n\nimport { fetchText } from './utils/fetchData';\n\nimport {\n RNSVGCircle,\n RNSVGClipPath,\n RNSVGDefs,\n RNSVGEllipse,\n RNSVGFeColorMatrix,\n RNSVGFeComposite,\n RNSVGFeGaussianBlur,\n RNSVGFeMerge,\n RNSVGFeOffset,\n RNSVGFilter,\n RNSVGForeignObject,\n RNSVGGroup,\n RNSVGImage,\n RNSVGLine,\n RNSVGLinearGradient,\n RNSVGMarker,\n RNSVGMask,\n RNSVGPath,\n RNSVGPattern,\n RNSVGRadialGradient,\n RNSVGRect,\n RNSVGSvgAndroid,\n RNSVGSvgIOS,\n RNSVGSymbol,\n RNSVGText,\n RNSVGTextPath,\n RNSVGTSpan,\n RNSVGUse,\n} from './fabric';\n\nexport {\n inlineStyles,\n loadLocalRawResource,\n LocalSvg,\n SvgCss,\n SvgCssUri,\n SvgWithCss,\n SvgWithCssUri,\n WithLocalSvg,\n} from './deprecated';\n\nexport type { CircleProps } from './elements/Circle';\nexport type { ClipPathProps } from './elements/ClipPath';\nexport type { EllipseProps } from './elements/Ellipse';\nexport type { FeBlendProps } from './elements/filters/FeBlend';\nexport type { FeColorMatrixProps } from './elements/filters/FeColorMatrix';\nexport type { FeComponentTransferProps } from './elements/filters/FeComponentTransfer';\nexport type {\n FeFuncAProps,\n FeFuncBProps,\n FeFuncGProps,\n FeFuncRProps,\n} from './elements/filters/FeComponentTransferFunction';\nexport type { FeCompositeProps } from './elements/filters/FeComposite';\nexport type { FeConvolveMatrixProps } from './elements/filters/FeConvolveMatrix';\nexport type { FeDiffuseLightingProps } from './elements/filters/FeDiffuseLighting';\nexport type { FeDisplacementMapProps } from './elements/filters/FeDisplacementMap';\nexport type { FeDistantLightProps } from './elements/filters/FeDistantLight';\nexport type { FeDropShadowProps } from './elements/filters/FeDropShadow';\nexport type { FeFloodProps } from './elements/filters/FeFlood';\nexport type { FeGaussianBlurProps } from './elements/filters/FeGaussianBlur';\nexport type { FeImageProps } from './elements/filters/FeImage';\nexport type { FeMergeProps } from './elements/filters/FeMerge';\nexport type { FeMergeNodeProps } from './elements/filters/FeMergeNode';\nexport type { FeMorphologyProps } from './elements/filters/FeMorphology';\nexport type { FeOffsetProps } from './elements/filters/FeOffset';\nexport type { FePointLightProps } from './elements/filters/FePointLight';\nexport type { FeSpecularLightingProps } from './elements/filters/FeSpecularLighting';\nexport type { FeSpotLightProps } from './elements/filters/FeSpotLight';\nexport type { FeTileProps } from './elements/filters/FeTile';\nexport type { FeTurbulenceProps } from './elements/filters/FeTurbulence';\nexport type { FilterProps } from './elements/filters/Filter';\nexport type { FilterPrimitiveCommonProps } from './elements/filters/FilterPrimitive';\nexport type { ForeignObjectProps } from './elements/ForeignObject';\nexport type { GProps } from './elements/G';\nexport type { ImageProps } from './elements/Image';\nexport type { LineProps } from './elements/Line';\nexport type { LinearGradientProps } from './elements/LinearGradient';\nexport type { MarkerProps } from './elements/Marker';\nexport type { MaskProps } from './elements/Mask';\nexport type { PathProps } from './elements/Path';\nexport type { PatternProps } from './elements/Pattern';\nexport type { PolygonProps } from './elements/Polygon';\nexport type { PolylineProps } from './elements/Polyline';\nexport type { RadialGradientProps } from './elements/RadialGradient';\nexport type { RectProps } from './elements/Rect';\nexport type { StopProps } from './elements/Stop';\nexport type { SvgProps } from './elements/Svg';\nexport type { SymbolProps } from './elements/Symbol';\nexport type { TextProps } from './elements/Text';\nexport type { TextPathProps } from './elements/TextPath';\nexport type { TSpanProps } from './elements/TSpan';\nexport type { UseProps } from './elements/Use';\n\nexport * from './lib/extract/types';\n\nexport {\n camelCase,\n fetchText,\n parse,\n RNSVGCircle,\n RNSVGClipPath,\n RNSVGDefs,\n RNSVGEllipse,\n RNSVGFeColorMatrix,\n RNSVGFeComposite,\n RNSVGFeGaussianBlur,\n RNSVGFeMerge,\n RNSVGFeOffset,\n RNSVGFilter,\n RNSVGForeignObject,\n RNSVGGroup,\n RNSVGImage,\n RNSVGLine,\n RNSVGLinearGradient,\n RNSVGMarker,\n RNSVGMask,\n RNSVGPath,\n RNSVGPattern,\n RNSVGRadialGradient,\n RNSVGRect,\n RNSVGSvgAndroid,\n RNSVGSvgIOS,\n RNSVGSymbol,\n RNSVGText,\n RNSVGTextPath,\n RNSVGTSpan,\n RNSVGUse,\n Shape,\n SvgAst,\n SvgFromUri,\n SvgFromXml,\n SvgUri,\n SvgXml,\n};\n\nexport type {\n AstProps,\n JsxAST,\n Middleware,\n Styles,\n UriProps,\n UriState,\n XmlAST,\n XmlProps,\n XmlState,\n};\n\nexport * from './elements';\nexport { default } from './elements';\n","export function showErrorCSS(name: string, type: string): never {\n throw Error(\n `[react-native-svg] You are trying to import a ${type} \\`${name}\\` that has been moved to a sub-package. Change your import from \\`react-native-svg\\` to \\`react-native-svg/css\\`.`\n );\n}\n\nexport function SvgCss(): never {\n showErrorCSS('SvgCss', 'component');\n}\n\nexport function SvgCssUri(): never {\n showErrorCSS('SvgCssUri', 'component');\n}\n\nexport function SvgWithCss(): never {\n showErrorCSS('SvgWithCss', 'component');\n}\n\nexport function SvgWithCssUri(): never {\n showErrorCSS('SvgWithCssUri', 'component');\n}\n\nexport function inlineStyles(): never {\n showErrorCSS('inlineStyles', 'function');\n}\n\nexport function LocalSvg(): never {\n showErrorCSS('LocalSvg', 'component');\n}\n\nexport function WithLocalSvg(): never {\n showErrorCSS('WithLocalSvg', 'component');\n}\n\nexport function loadLocalRawResource(): never {\n showErrorCSS('loadLocalRawResource', 'function');\n}\n","import RNSVGCircle from './CircleNativeComponent';\nimport RNSVGClipPath from './ClipPathNativeComponent';\nimport RNSVGDefs from './DefsNativeComponent';\nimport RNSVGEllipse from './EllipseNativeComponent';\nimport RNSVGForeignObject from './ForeignObjectNativeComponent';\nimport RNSVGGroup from './GroupNativeComponent';\nimport RNSVGImage from './ImageNativeComponent';\nimport RNSVGLinearGradient from './LinearGradientNativeComponent';\nimport RNSVGLine from './LineNativeComponent';\nimport RNSVGMarker from './MarkerNativeComponent';\nimport RNSVGMask from './MaskNativeComponent';\nimport RNSVGPath from './PathNativeComponent';\nimport RNSVGPattern from './PatternNativeComponent';\nimport RNSVGRadialGradient from './RadialGradientNativeComponent';\nimport RNSVGRect from './RectNativeComponent';\nimport RNSVGSvgAndroid from './AndroidSvgViewNativeComponent';\nimport RNSVGSvgIOS from './IOSSvgViewNativeComponent';\nimport RNSVGSymbol from './SymbolNativeComponent';\nimport RNSVGText from './TextNativeComponent';\nimport RNSVGTextPath from './TextPathNativeComponent';\nimport RNSVGTSpan from './TSpanNativeComponent';\nimport RNSVGUse from './UseNativeComponent';\nimport RNSVGFilter from './FilterNativeComponent';\nimport RNSVGFeBlend from './FeBlendNativeComponent';\nimport RNSVGFeColorMatrix from './FeColorMatrixNativeComponent';\nimport RNSVGFeComposite from './FeCompositeNativeComponent';\nimport RNSVGFeFlood from './FeFloodNativeComponent';\nimport RNSVGFeGaussianBlur from './FeGaussianBlurNativeComponent';\nimport RNSVGFeMerge from './FeMergeNativeComponent';\nimport RNSVGFeOffset from './FeOffsetNativeComponent';\n\nexport {\n RNSVGCircle,\n RNSVGClipPath,\n RNSVGDefs,\n RNSVGEllipse,\n RNSVGForeignObject,\n RNSVGGroup,\n RNSVGImage,\n RNSVGLinearGradient,\n RNSVGLine,\n RNSVGMarker,\n RNSVGMask,\n RNSVGPath,\n RNSVGPattern,\n RNSVGRadialGradient,\n RNSVGRect,\n RNSVGSvgAndroid,\n RNSVGSvgIOS,\n RNSVGSymbol,\n RNSVGText,\n RNSVGTextPath,\n RNSVGTSpan,\n RNSVGUse,\n RNSVGFilter,\n RNSVGFeBlend,\n RNSVGFeColorMatrix,\n RNSVGFeComposite,\n RNSVGFeFlood,\n RNSVGFeGaussianBlur,\n RNSVGFeMerge,\n RNSVGFeOffset,\n};\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps {\n cx?: UnsafeMixed;\n cy?: UnsafeMixed;\n r?: UnsafeMixed;\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGCircle', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport { UnsafeMixed } from './codegenUtils';\nimport { FontObject, NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface SvgGroupCommonProps {\n fontSize?: UnsafeMixed;\n fontWeight?: UnsafeMixed;\n font?: UnsafeMixed;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps,\n SvgGroupCommonProps {\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGClipPath', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type {\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ninterface NativeProps extends ViewProps, SvgNodeCommonProps {}\n\nexport default codegenNativeComponent('RNSVGDefs', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps {\n cx?: UnsafeMixed;\n cy?: UnsafeMixed;\n rx?: UnsafeMixed;\n ry?: UnsafeMixed;\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGEllipse', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { NumberProp, FontObject } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface SvgGroupCommonProps {\n fontSize?: UnsafeMixed;\n fontWeight?: UnsafeMixed;\n font?: UnsafeMixed;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps,\n SvgGroupCommonProps {\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n height?: UnsafeMixed;\n width?: UnsafeMixed;\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGForeignObject', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { FontObject, NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface SvgGroupCommonProps {\n fontSize?: UnsafeMixed;\n fontWeight?: UnsafeMixed;\n font?: UnsafeMixed;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps,\n SvgGroupCommonProps {\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGGroup', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\n// TODO: import ImageSource from codegen types when it is available\nimport type {\n ColorValue,\n ImageSourcePropType as ImageSource,\n} from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { NumberProp } from '../lib/extract/types';\n\nexport type ImageLoadEventData = {\n source: {\n width: Float;\n height: Float;\n uri: string;\n };\n};\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps {\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n width?: UnsafeMixed;\n height?: UnsafeMixed;\n src?: ImageSource | null;\n align?: string;\n meetOrSlice?: Int32;\n onLoad?: DirectEventHandler;\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGImage', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type {\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ninterface NativeProps extends ViewProps, SvgNodeCommonProps {\n x1?: UnsafeMixed;\n y1?: UnsafeMixed;\n x2?: UnsafeMixed;\n y2?: UnsafeMixed;\n gradient?: ReadonlyArray;\n gradientUnits?: Int32;\n gradientTransform?: ReadonlyArray | null;\n}\n\nexport default codegenNativeComponent('RNSVGLinearGradient', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps {\n x1?: UnsafeMixed;\n y1?: UnsafeMixed;\n x2?: UnsafeMixed;\n y2?: UnsafeMixed;\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGLine', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { FontObject, NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface SvgGroupCommonProps {\n fontSize?: UnsafeMixed;\n fontWeight?: UnsafeMixed;\n font?: UnsafeMixed;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps,\n SvgGroupCommonProps {\n refX?: UnsafeMixed;\n refY?: UnsafeMixed;\n markerHeight?: UnsafeMixed;\n markerWidth?: UnsafeMixed;\n markerUnits?: string;\n orient?: string;\n minX?: Float;\n minY?: Float;\n vbWidth?: Float;\n vbHeight?: Float;\n align?: string;\n meetOrSlice?: Int32;\n}\n\nexport default codegenNativeComponent('RNSVGMarker', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { FontObject, NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface SvgGroupCommonProps {\n fontSize?: UnsafeMixed;\n fontWeight?: UnsafeMixed;\n font?: UnsafeMixed;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps,\n SvgGroupCommonProps {\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n height?: UnsafeMixed;\n width?: UnsafeMixed;\n maskUnits?: Int32;\n maskContentUnits?: Int32;\n maskType?: Int32;\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGMask', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps {\n d?: string;\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGPath', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { FontObject, NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray | null;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface SvgGroupCommonProps {\n fontSize?: UnsafeMixed;\n fontWeight?: UnsafeMixed;\n font?: UnsafeMixed;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps,\n SvgGroupCommonProps {\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n height?: UnsafeMixed;\n width?: UnsafeMixed;\n patternUnits?: Int32;\n patternContentUnits?: Int32;\n patternTransform?: ReadonlyArray | null;\n minX?: Float;\n minY?: Float;\n vbWidth?: Float;\n vbHeight?: Float;\n align?: string;\n meetOrSlice?: Int32;\n}\n\nexport default codegenNativeComponent('RNSVGPattern', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type {\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ninterface NativeProps extends ViewProps, SvgNodeCommonProps {\n fx?: UnsafeMixed;\n fy?: UnsafeMixed;\n cx?: UnsafeMixed;\n cy?: UnsafeMixed;\n rx?: UnsafeMixed;\n ry?: UnsafeMixed;\n gradient?: ReadonlyArray;\n gradientUnits?: Int32;\n gradientTransform?: ReadonlyArray | null;\n}\n\nexport default codegenNativeComponent('RNSVGRadialGradient', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps {\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n height?: UnsafeMixed;\n width?: UnsafeMixed;\n rx?: UnsafeMixed;\n ry?: UnsafeMixed;\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGRect', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n Double,\n Float,\n Int32,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { NumberProp } from '../lib/extract/types';\n\ntype NativeBackgroundProp = Readonly<{\n type?: string;\n color?: Float;\n borderless?: boolean;\n rippleRadius?: Float;\n}>;\n\ntype HitSlop = Readonly<{\n left?: Float;\n top?: Float;\n right?: Float;\n bottom?: Float;\n}>;\n\ninterface NativeProps extends ViewProps {\n bbWidth?: UnsafeMixed;\n bbHeight?: UnsafeMixed;\n minX?: Float;\n minY?: Float;\n vbWidth?: Float;\n vbHeight?: Float;\n align?: string;\n meetOrSlice?: Int32;\n color?: ColorValue;\n pointerEvents?: string;\n\n // props needed for Android SvgView\n hasTVPreferredFocus?: boolean;\n borderBottomColor?: ColorValue;\n nextFocusDown?: Int32;\n borderRightColor?: ColorValue;\n nextFocusRight?: Int32;\n borderLeftColor?: ColorValue;\n borderColor?: ColorValue;\n removeClippedSubviews?: boolean;\n nextFocusForward?: Int32;\n nextFocusUp?: Int32;\n accessible?: boolean;\n borderStartColor?: ColorValue;\n borderEndColor?: ColorValue;\n focusable?: boolean;\n nativeBackgroundAndroid?: NativeBackgroundProp; // maybe there should a value accepted by codegen for this?\n nativeForegroundAndroid?: NativeBackgroundProp; // maybe there should a value accepted by codegen for this?\n backfaceVisibility?: string;\n borderStyle?: string;\n needsOffscreenAlphaCompositing?: boolean;\n hitSlop?: UnsafeMixed;\n borderTopColor?: ColorValue;\n nextFocusLeft?: Int32;\n borderBlockColor?: ColorValue;\n borderBlockEndColor?: ColorValue;\n borderBlockStartColor?: ColorValue;\n borderRadius?: UnsafeMixed;\n borderTopLeftRadius?: UnsafeMixed;\n borderTopRightRadius?: UnsafeMixed;\n borderBottomRightRadius?: UnsafeMixed;\n borderBottomLeftRadius?: UnsafeMixed;\n borderTopStartRadius?: UnsafeMixed;\n borderTopEndRadius?: UnsafeMixed;\n borderBottomStartRadius?: UnsafeMixed;\n borderBottomEndRadius?: UnsafeMixed;\n borderEndEndRadius?: UnsafeMixed;\n borderEndStartRadius?: UnsafeMixed;\n borderStartEndRadius?: UnsafeMixed;\n borderStartStartRadius?: UnsafeMixed;\n}\n\nexport default codegenNativeComponent('RNSVGSvgViewAndroid', {\n excludedPlatforms: ['iOS'],\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type { Float, Int32 } from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { NumberProp } from '../lib/extract/types';\n\ntype HitSlop = Readonly<{\n left?: Float;\n top?: Float;\n right?: Float;\n bottom?: Float;\n}>;\n\ninterface NativeProps extends ViewProps {\n bbWidth?: UnsafeMixed;\n bbHeight?: UnsafeMixed;\n minX?: Float;\n minY?: Float;\n vbWidth?: Float;\n vbHeight?: Float;\n align?: string;\n meetOrSlice?: Int32;\n color?: ColorValue;\n pointerEvents?: string;\n hitSlop?: UnsafeMixed;\n}\n\nexport default codegenNativeComponent('RNSVGSvgView', {\n excludedPlatforms: ['android'],\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { FontObject, NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface SvgGroupCommonProps {\n fontSize?: UnsafeMixed;\n fontWeight?: UnsafeMixed;\n font?: UnsafeMixed;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps,\n SvgGroupCommonProps {\n minX?: Float;\n minY?: Float;\n vbWidth?: Float;\n vbHeight?: Float;\n align?: string;\n meetOrSlice?: Int32;\n}\n\nexport default codegenNativeComponent('RNSVGSymbol', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { FontObject, NumberArray, NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface SvgGroupCommonProps {\n fontSize?: UnsafeMixed;\n fontWeight?: UnsafeMixed;\n font?: UnsafeMixed;\n}\n\ninterface SvgTextCommonProps {\n dx?: UnsafeMixed;\n dy?: UnsafeMixed;\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n rotate?: UnsafeMixed;\n inlineSize?: UnsafeMixed;\n textLength?: UnsafeMixed;\n baselineShift?: UnsafeMixed;\n lengthAdjust?: string;\n alignmentBaseline?: string;\n verticalAlign?: UnsafeMixed;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps,\n SvgGroupCommonProps,\n SvgTextCommonProps {\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGText', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { FontObject, NumberArray, NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface SvgGroupCommonProps {\n fontSize?: UnsafeMixed;\n fontWeight?: UnsafeMixed;\n font?: UnsafeMixed;\n}\n\ninterface SvgTextCommonProps {\n dx?: UnsafeMixed;\n dy?: UnsafeMixed;\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n rotate?: UnsafeMixed;\n inlineSize?: UnsafeMixed;\n textLength?: UnsafeMixed;\n baselineShift?: UnsafeMixed;\n lengthAdjust?: string;\n alignmentBaseline?: string;\n verticalAlign?: UnsafeMixed;\n}\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps,\n SvgGroupCommonProps,\n SvgTextCommonProps {\n href?: string;\n side?: string;\n method?: string;\n midLine?: string;\n spacing?: string;\n startOffset?: UnsafeMixed;\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGTextPath', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { FontObject, NumberArray, NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface SvgGroupCommonProps {\n fontSize?: UnsafeMixed;\n fontWeight?: UnsafeMixed;\n font?: UnsafeMixed;\n}\n\ninterface SvgTextCommonProps {\n dx?: UnsafeMixed;\n dy?: UnsafeMixed;\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n rotate?: UnsafeMixed;\n inlineSize?: UnsafeMixed;\n textLength?: UnsafeMixed;\n baselineShift?: UnsafeMixed;\n lengthAdjust?: string;\n alignmentBaseline?: string;\n verticalAlign?: UnsafeMixed;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps,\n SvgGroupCommonProps,\n SvgTextCommonProps {\n content?: string;\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGTSpan', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ColorValue } from 'react-native';\nimport type {\n DirectEventHandler,\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport type { ViewProps } from './utils';\n\nimport type { UnsafeMixed } from './codegenUtils';\nimport { NumberProp } from '../lib/extract/types';\n\ninterface SvgNodeCommonProps {\n name?: string;\n opacity?: WithDefault;\n matrix?: ReadonlyArray;\n mask?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n clipRule?: WithDefault;\n responsible?: boolean;\n display?: string;\n pointerEvents?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\ntype OnSvgLayoutEvent = Readonly<{\n layout: {\n x: Int32;\n y: Int32;\n width: Int32;\n height: Int32;\n };\n}>;\n\ninterface SvgRenderableCommonProps {\n color?: ColorValue;\n fill?: UnsafeMixed;\n fillOpacity?: WithDefault;\n fillRule?: WithDefault;\n stroke?: UnsafeMixed;\n strokeOpacity?: WithDefault;\n strokeWidth?: UnsafeMixed;\n strokeLinecap?: WithDefault;\n strokeLinejoin?: WithDefault;\n strokeDasharray?: UnsafeMixed | NumberProp>;\n strokeDashoffset?: Float;\n strokeMiterlimit?: Float;\n vectorEffect?: WithDefault;\n propList?: ReadonlyArray;\n filter?: string;\n}\n\ninterface NativeProps\n extends ViewProps,\n SvgNodeCommonProps,\n SvgRenderableCommonProps {\n href?: string;\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n height?: UnsafeMixed;\n width?: UnsafeMixed;\n onSvgLayout?: DirectEventHandler;\n}\n\nexport default codegenNativeComponent('RNSVGUse', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport { NumberProp } from '../lib/extract/types';\nimport type { UnsafeMixed } from './codegenUtils';\nimport type { ViewProps } from './utils';\nimport { WithDefault } from 'react-native/Libraries/Types/CodegenTypes';\n\ntype Units = 'userSpaceOnUse' | 'objectBoundingBox';\n\ninterface NativeProps extends ViewProps {\n name?: string;\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n height?: UnsafeMixed;\n width?: UnsafeMixed;\n filterUnits?: WithDefault;\n primitiveUnits?: WithDefault;\n}\n\nexport default codegenNativeComponent('RNSVGFilter', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport { NumberProp } from '../lib/extract/types';\nimport type { UnsafeMixed } from './codegenUtils';\nimport type { ViewProps } from './utils';\nimport { WithDefault } from 'react-native/Libraries/Types/CodegenTypes';\n\ninterface FilterPrimitiveCommonProps {\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n width?: UnsafeMixed;\n height?: UnsafeMixed;\n result?: string;\n}\n\ntype BlendMode =\n | 'unknown'\n | 'normal'\n | 'multiply'\n | 'screen'\n | 'darken'\n | 'lighten';\n\nexport interface NativeProps extends ViewProps, FilterPrimitiveCommonProps {\n in1?: string;\n in2?: string;\n mode?: WithDefault;\n}\n\nexport default codegenNativeComponent('RNSVGFeBlend', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from './utils';\n\nimport { NumberProp } from '../lib/extract/types';\nimport type { UnsafeMixed } from './codegenUtils';\nimport { Float, WithDefault } from 'react-native/Libraries/Types/CodegenTypes';\n\ntype ColorMatrixType = 'matrix' | 'saturate' | 'hueRotate' | 'luminanceToAlpha';\n\ninterface FilterPrimitiveCommonProps {\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n width?: UnsafeMixed;\n height?: UnsafeMixed;\n result?: string;\n}\n\nexport interface NativeProps extends ViewProps, FilterPrimitiveCommonProps {\n in1?: string;\n type?: WithDefault;\n values?: ReadonlyArray;\n}\n\nexport default codegenNativeComponent('RNSVGFeColorMatrix', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from './utils';\n\nimport { NumberProp } from '../lib/extract/types';\nimport type { UnsafeMixed } from './codegenUtils';\nimport { Float, WithDefault } from 'react-native/Libraries/Types/CodegenTypes';\n\ntype FeCompositeOperator =\n | 'over'\n | 'in'\n | 'out'\n | 'atop'\n | 'xor'\n | 'arithmetic';\n\ninterface FilterPrimitiveCommonProps {\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n width?: UnsafeMixed;\n height?: UnsafeMixed;\n result?: string;\n}\n\nexport interface NativeProps extends ViewProps, FilterPrimitiveCommonProps {\n in1?: string;\n in2?: string;\n operator1?: WithDefault;\n k1?: Float;\n k2?: Float;\n k3?: Float;\n k4?: Float;\n}\n\nexport default codegenNativeComponent('RNSVGFeComposite', {\n interfaceOnly: true,\n});\n","import type { ColorValue } from 'react-native';\nimport type {\n Float,\n Int32,\n WithDefault,\n} from 'react-native/Libraries/Types/CodegenTypes';\nimport codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { NumberProp } from '../lib/extract/types';\nimport type { UnsafeMixed } from './codegenUtils';\nimport type { ViewProps } from './utils';\n\ninterface FilterPrimitiveCommonProps {\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n width?: UnsafeMixed;\n height?: UnsafeMixed;\n result?: string;\n}\n\ntype ColorStruct = Readonly<{\n type?: WithDefault;\n payload?: ColorValue;\n brushRef?: string;\n}>;\n\nexport interface NativeProps extends ViewProps, FilterPrimitiveCommonProps {\n floodColor?: UnsafeMixed;\n floodOpacity?: WithDefault;\n}\n\nexport default codegenNativeComponent('RNSVGFeFlood', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from './utils';\n\nimport { NumberProp } from '../lib/extract/types';\nimport type { UnsafeMixed } from './codegenUtils';\nimport { Float, WithDefault } from 'react-native/Libraries/Types/CodegenTypes';\n\ntype FilterEdgeMode = 'duplicate' | 'wrap' | 'none';\n\ninterface FilterPrimitiveCommonProps {\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n width?: UnsafeMixed;\n height?: UnsafeMixed;\n result?: string;\n}\n\nexport interface NativeProps extends ViewProps, FilterPrimitiveCommonProps {\n in1?: string;\n stdDeviationX?: Float;\n stdDeviationY?: Float;\n edgeMode?: WithDefault;\n}\n\nexport default codegenNativeComponent('RNSVGFeGaussianBlur', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from './utils';\n\nimport { NumberProp } from '../lib/extract/types';\nimport type { UnsafeMixed } from './codegenUtils';\n\ninterface FilterPrimitiveCommonProps {\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n width?: UnsafeMixed;\n height?: UnsafeMixed;\n result?: string;\n}\n\nexport interface NativeProps extends ViewProps, FilterPrimitiveCommonProps {\n nodes?: ReadonlyArray;\n}\n\nexport default codegenNativeComponent('RNSVGFeMerge', {\n interfaceOnly: true,\n});\n","import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';\nimport type { ViewProps } from './utils';\n\nimport { NumberProp } from '../lib/extract/types';\nimport type { UnsafeMixed } from './codegenUtils';\n\ninterface FilterPrimitiveCommonProps {\n x?: UnsafeMixed;\n y?: UnsafeMixed;\n width?: UnsafeMixed;\n height?: UnsafeMixed;\n result?: string;\n}\n\nexport interface NativeProps extends ViewProps, FilterPrimitiveCommonProps {\n in1?: string;\n dx?: UnsafeMixed;\n dy?: UnsafeMixed;\n}\n\nexport default codegenNativeComponent('RNSVGFeOffset', {\n interfaceOnly: true,\n});\n","import type { ComponentType, ComponentProps, JSX } from 'react';\nimport * as React from 'react';\nimport { Component, useEffect, useMemo, useState } from 'react';\nimport { fetchText } from './utils/fetchData';\nimport type { SvgProps } from './elements/Svg';\nimport { tags } from './xmlTags';\n\nfunction missingTag() {\n return null;\n}\n\ntype Tag = ComponentType>;\nexport interface AST {\n tag: string;\n style?: Styles;\n styles?: string;\n priority?: Map;\n parent: AST | null;\n children: (AST | string)[] | (JSX.Element | string)[];\n props: {\n [prop: string]: Styles | string | undefined;\n };\n Tag: Tag;\n}\n\nexport interface XmlAST extends AST {\n children: (XmlAST | string)[];\n parent: XmlAST | null;\n}\n\nexport interface JsxAST extends AST {\n children: (JSX.Element | string)[];\n}\n\nexport type AdditionalProps = {\n onError?: (error: Error) => void;\n override?: object;\n onLoad?: () => void;\n fallback?: JSX.Element;\n};\n\nexport type UriProps = SvgProps & { uri: string | null } & AdditionalProps;\nexport type UriState = { xml: string | null };\n\nexport type XmlProps = SvgProps & { xml: string | null } & AdditionalProps;\nexport type XmlState = { ast: JsxAST | null };\n\nexport type AstProps = SvgProps & { ast: JsxAST | null } & AdditionalProps;\n\nexport function SvgAst({ ast, override }: AstProps) {\n if (!ast) {\n return null;\n }\n const { props, children } = ast;\n\n const Svg = tags.svg;\n\n return (\n \n {children}\n \n );\n}\n\nconst err = console.error.bind(console);\n\nexport function SvgXml(props: XmlProps) {\n const { onError = err, xml, override, fallback } = props;\n\n try {\n const ast = useMemo(\n () => (xml !== null ? parse(xml) : null),\n [xml]\n );\n return ;\n } catch (error) {\n onError(error);\n return fallback ?? null;\n }\n}\n\nexport function SvgUri(props: UriProps) {\n const { onError = err, uri, onLoad, fallback } = props;\n const [xml, setXml] = useState(null);\n const [isError, setIsError] = useState(false);\n useEffect(() => {\n uri\n ? fetchText(uri)\n .then((data) => {\n setXml(data);\n isError && setIsError(false);\n onLoad?.();\n })\n .catch((e) => {\n onError(e);\n setIsError(true);\n })\n : setXml(null);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onError, uri, onLoad]);\n if (isError) {\n return fallback ?? null;\n }\n return ;\n}\n\n// Extending Component is required for Animated support.\n\nexport class SvgFromXml extends Component {\n state = { ast: null };\n componentDidMount() {\n this.parse(this.props.xml);\n }\n\n componentDidUpdate(prevProps: { xml: string | null }) {\n const { xml } = this.props;\n if (xml !== prevProps.xml) {\n this.parse(xml);\n }\n }\n\n parse(xml: string | null) {\n const { onError = err } = this.props;\n try {\n this.setState({ ast: xml ? parse(xml) : null });\n } catch (e) {\n const error = e as Error;\n onError({\n ...error,\n message: `[RNSVG] Couldn't parse SVG, reason: ${error.message}`,\n });\n }\n }\n\n render() {\n const {\n props,\n state: { ast },\n } = this;\n return ;\n }\n}\n\nexport class SvgFromUri extends Component {\n state = { xml: null };\n componentDidMount() {\n this.fetch(this.props.uri);\n }\n\n componentDidUpdate(prevProps: { uri: string | null }) {\n const { uri } = this.props;\n if (uri !== prevProps.uri) {\n this.fetch(uri);\n }\n }\n\n async fetch(uri: string | null) {\n try {\n this.setState({ xml: uri ? await fetchText(uri) : null });\n } catch (e) {\n console.error(e);\n }\n }\n\n render() {\n const {\n props,\n state: { xml },\n } = this;\n return ;\n }\n}\n\nconst upperCase = (_match: string, letter: string) => letter.toUpperCase();\n\nexport const camelCase = (phrase: string) =>\n phrase.replace(/[:-]([a-z])/g, upperCase);\n\nexport type Styles = { [property: string]: string };\n\nexport function getStyle(string: string): Styles {\n const style: Styles = {};\n const declarations = string.split(';').filter((v) => v.trim());\n const { length } = declarations;\n for (let i = 0; i < length; i++) {\n const declaration = declarations[i];\n if (declaration.length !== 0) {\n const split = declaration.split(':');\n const property = split[0];\n const value = split[1];\n style[camelCase(property.trim())] = value.trim();\n }\n }\n return style;\n}\n\nexport function astToReact(\n value: AST | string,\n index: number\n): JSX.Element | string {\n if (typeof value === 'object') {\n const { Tag, props, children } = value;\n if (props?.class) {\n props.className = props.class;\n delete props.class;\n }\n\n return (\n \n {(children as (AST | string)[]).map(astToReact)}\n \n );\n }\n return value;\n}\n\n// slimmed down parser based on https://github.com/Rich-Harris/svg-parser\n\nfunction repeat(str: string, i: number) {\n let result = '';\n while (i--) {\n result += str;\n }\n return result;\n}\n\nconst toSpaces = (tabs: string) => repeat(' ', tabs.length);\n\nfunction locate(source: string, i: number) {\n const lines = source.split('\\n');\n const nLines = lines.length;\n let column = i;\n let line = 0;\n for (; line < nLines; line++) {\n const { length } = lines[line];\n if (column >= length) {\n column -= length;\n } else {\n break;\n }\n }\n const before = source.slice(0, i).replace(/^\\t+/, toSpaces);\n const beforeExec = /(^|\\n).*$/.exec(before);\n const beforeLine = (beforeExec && beforeExec[0]) || '';\n const after = source.slice(i);\n const afterExec = /.*(\\n|$)/.exec(after);\n const afterLine = afterExec && afterExec[0];\n const pad = repeat(' ', beforeLine.length);\n const snippet = `${beforeLine}${afterLine}\\n${pad}^`;\n return { line, column, snippet };\n}\n\nconst validNameCharacters = /[a-zA-Z0-9:_-]/;\nconst commentStart = /', i);\n if (!~index) {\n error('expected -->');\n }\n\n i = index + 2;\n return neutral;\n }\n\n function cdata() {\n const index = source.indexOf(']]>', i);\n if (!~index) {\n error('expected ]]>');\n }\n\n children.push(source.slice(i + 7, index));\n\n i = index + 2;\n return neutral;\n }\n\n function doctype() {\n const index = source.indexOf('>', i);\n if (index === -1) {\n error('expected >');\n }\n\n i = index;\n return neutral;\n }\n\n function closingTag() {\n const tag = getName();\n\n if (!tag) {\n error('Expected tag name');\n }\n\n if (currentElement && tag !== currentElement.tag) {\n error(\n `Expected closing tag to match opening tag <${currentElement.tag}>`\n );\n }\n\n allowSpaces();\n if (source[i] !== '>') {\n error('Expected >');\n }\n\n stack.pop();\n currentElement = stack[stack.length - 1];\n if (currentElement) {\n ({ children } = currentElement);\n }\n\n return neutral;\n }\n\n function getName() {\n let name = '';\n let char;\n while (i < length && validNameCharacters.test((char = source[i]))) {\n name += char;\n i += 1;\n }\n\n return name;\n }\n\n function getAttributes(props: {\n [x: string]: Styles | string | number | boolean | undefined;\n style?: string | Styles | undefined;\n }) {\n while (i < length) {\n if (!whitespace.test(source[i])) {\n return;\n }\n allowSpaces();\n\n const name = getName();\n if (!name) {\n return;\n }\n\n let value: boolean | number | string = true;\n\n allowSpaces();\n if (source[i] === '=') {\n i += 1;\n allowSpaces();\n\n value = getAttributeValue();\n if (name !== 'id' && !isNaN(+value) && value.trim() !== '') {\n value = +value;\n }\n }\n\n props[camelCase(name)] = value;\n }\n }\n\n function getAttributeValue(): string {\n return quotemarks.test(source[i])\n ? getQuotedAttributeValue()\n : getUnquotedAttributeValue();\n }\n\n function getUnquotedAttributeValue() {\n let value = '';\n do {\n const char = source[i];\n if (char === ' ' || char === '>' || char === '/') {\n return value;\n }\n\n value += char;\n i += 1;\n } while (i < length);\n\n return value;\n }\n\n function getQuotedAttributeValue() {\n const quotemark = source[i++];\n\n let value = '';\n let escaped = false;\n\n while (i < length) {\n const char = source[i++];\n if (char === quotemark && !escaped) {\n return value;\n }\n\n if (char === '\\\\' && !escaped) {\n escaped = true;\n }\n\n value += escaped ? `\\\\${char}` : char;\n escaped = false;\n }\n\n return value;\n }\n\n function allowSpaces() {\n while (i < length && whitespace.test(source[i])) {\n i += 1;\n }\n }\n\n let i = 0;\n while (i < length) {\n if (!state) {\n error('Unexpected character');\n }\n state = state();\n i += 1;\n }\n\n if (state !== neutral) {\n error('Unexpected end of input');\n }\n\n if (root) {\n const xml: XmlAST = (middleware ? middleware(root) : root) || root;\n const ast: (JSX.Element | string)[] = xml.children.map(astToReact);\n const jsx: JsxAST = xml as JsxAST;\n jsx.children = ast;\n return jsx;\n }\n\n return null;\n}\nexport { tags };\n","import {\n Circle,\n ClipPath,\n Defs,\n Ellipse,\n FeBlend,\n FeColorMatrix,\n FeComponentTransfer,\n FeComposite,\n FeConvolveMatrix,\n FeDiffuseLighting,\n FeDisplacementMap,\n FeDistantLight,\n FeDropShadow,\n FeFlood,\n FeGaussianBlur,\n FeImage,\n FeMerge,\n FeMergeNode,\n FeMorphology,\n FeOffset,\n FePointLight,\n FeSpecularLighting,\n FeSpotLight,\n FeTile,\n FeTurbulence,\n Filter,\n ForeignObject,\n G,\n Image,\n Line,\n LinearGradient,\n Marker,\n Mask,\n Path,\n Pattern,\n Polygon,\n Polyline,\n RadialGradient,\n Rect,\n Stop,\n Svg,\n Symbol,\n Text,\n TextPath,\n TSpan,\n Use,\n} from './elements';\n\nexport const tags = {\n circle: Circle,\n clipPath: ClipPath,\n defs: Defs,\n ellipse: Ellipse,\n filter: Filter,\n feBlend: FeBlend,\n feColorMatrix: FeColorMatrix,\n feComponentTransfer: FeComponentTransfer,\n feComposite: FeComposite,\n feConvolveMatrix: FeConvolveMatrix,\n feDiffuseLighting: FeDiffuseLighting,\n feDisplacementMap: FeDisplacementMap,\n feDistantLight: FeDistantLight,\n feDropShadow: FeDropShadow,\n feFlood: FeFlood,\n feGaussianBlur: FeGaussianBlur,\n feImage: FeImage,\n feMerge: FeMerge,\n feMergeNode: FeMergeNode,\n feMorphology: FeMorphology,\n feOffset: FeOffset,\n fePointLight: FePointLight,\n feSpecularLighting: FeSpecularLighting,\n feSpotLight: FeSpotLight,\n feTile: FeTile,\n feTurbulence: FeTurbulence,\n foreignObject: ForeignObject,\n g: G,\n image: Image,\n line: Line,\n linearGradient: LinearGradient,\n marker: Marker,\n mask: Mask,\n path: Path,\n pattern: Pattern,\n polygon: Polygon,\n polyline: Polyline,\n radialGradient: RadialGradient,\n rect: Rect,\n stop: Stop,\n svg: Svg,\n symbol: Symbol,\n text: Text,\n textPath: TextPath,\n tspan: TSpan,\n use: Use,\n} as const;\n","import Circle from './elements/Circle';\nimport ClipPath from './elements/ClipPath';\nimport Defs from './elements/Defs';\nimport Ellipse from './elements/Ellipse';\nimport ForeignObject from './elements/ForeignObject';\nimport G from './elements/G';\nimport Image from './elements/Image';\nimport Line from './elements/Line';\nimport LinearGradient from './elements/LinearGradient';\nimport Marker from './elements/Marker';\nimport Mask from './elements/Mask';\nimport Path from './elements/Path';\nimport Pattern from './elements/Pattern';\nimport Polygon from './elements/Polygon';\nimport Polyline from './elements/Polyline';\nimport RadialGradient from './elements/RadialGradient';\nimport Rect from './elements/Rect';\nimport Stop from './elements/Stop';\nimport Svg from './elements/Svg';\nimport Symbol from './elements/Symbol';\nimport TSpan from './elements/TSpan';\nimport Text from './elements/Text';\nimport TextPath from './elements/TextPath';\nimport Use from './elements/Use';\nimport FeBlend from './elements/filters/FeBlend';\nimport FeColorMatrix from './elements/filters/FeColorMatrix';\nimport FeComponentTransfer from './elements/filters/FeComponentTransfer';\nimport {\n FeFuncA,\n FeFuncB,\n FeFuncG,\n FeFuncR,\n} from './elements/filters/FeComponentTransferFunction';\nimport FeComposite from './elements/filters/FeComposite';\nimport FeConvolveMatrix from './elements/filters/FeConvolveMatrix';\nimport FeDiffuseLighting from './elements/filters/FeDiffuseLighting';\nimport FeDisplacementMap from './elements/filters/FeDisplacementMap';\nimport FeDistantLight from './elements/filters/FeDistantLight';\nimport FeDropShadow from './elements/filters/FeDropShadow';\nimport FeFlood from './elements/filters/FeFlood';\nimport FeGaussianBlur from './elements/filters/FeGaussianBlur';\nimport FeImage from './elements/filters/FeImage';\nimport FeMerge from './elements/filters/FeMerge';\nimport FeMergeNode from './elements/filters/FeMergeNode';\nimport FeMorphology from './elements/filters/FeMorphology';\nimport FeOffset from './elements/filters/FeOffset';\nimport FePointLight from './elements/filters/FePointLight';\nimport FeSpecularLighting from './elements/filters/FeSpecularLighting';\nimport FeSpotLight from './elements/filters/FeSpotLight';\nimport FeTile from './elements/filters/FeTile';\nimport FeTurbulence from './elements/filters/FeTurbulence';\nimport Filter from './elements/filters/Filter';\n\nexport {\n Circle,\n ClipPath,\n Defs,\n Ellipse,\n FeBlend,\n FeColorMatrix,\n FeComponentTransfer,\n FeComposite,\n FeConvolveMatrix,\n FeDiffuseLighting,\n FeDisplacementMap,\n FeDistantLight,\n FeDropShadow,\n FeFlood,\n FeFuncA,\n FeFuncB,\n FeFuncG,\n FeFuncR,\n FeGaussianBlur,\n FeImage,\n FeMerge,\n FeMergeNode,\n FeMorphology,\n FeOffset,\n FePointLight,\n FeSpecularLighting,\n FeSpotLight,\n FeTile,\n FeTurbulence,\n Filter,\n ForeignObject,\n G,\n Image,\n Line,\n LinearGradient,\n Marker,\n Mask,\n Path,\n Pattern,\n Polygon,\n Polyline,\n RadialGradient,\n Rect,\n Stop,\n Svg,\n Symbol,\n Text,\n TextPath,\n TSpan,\n Use,\n};\n\nexport default Svg;\n","import React from 'react';\nimport { NumberArray, NumberProp } from '../../lib/extract/types';\nimport { warnUnimplementedFilter } from '../../lib/util';\nimport FilterPrimitive from './FilterPrimitive';\n\ntype FunctionChannel = 'R' | 'G' | 'B' | 'A' | 'UNKNOWN';\ntype FunctionType = 'identity' | 'table' | 'discrete' | 'linear' | 'gamma';\n\nexport type FeComponentTransferFunctionProps = {\n type: FunctionType;\n tableValues?: NumberArray;\n slope?: NumberProp;\n intercept?: NumberProp;\n amplitude?: NumberProp;\n exponent?: NumberProp;\n offset?: NumberProp;\n};\n\nexport default class FeComponentTransferFunction extends FilterPrimitive {\n channel: FunctionChannel = 'UNKNOWN';\n static defaultProps: React.ComponentProps<\n typeof FeComponentTransferFunction\n > = {\n type: 'identity',\n tableValues: [],\n slope: 1,\n intercept: 0,\n amplitude: 1,\n exponent: 1,\n offset: 0,\n };\n\n render() {\n warnUnimplementedFilter();\n return null;\n }\n}\n\nexport type FeFuncRProps = FeComponentTransferFunctionProps;\nexport class FeFuncR extends FeComponentTransferFunction {\n static displayName = 'FeFuncR';\n channel: FunctionChannel = 'R';\n}\n\nexport type FeFuncGProps = FeComponentTransferFunctionProps;\nexport class FeFuncG extends FeComponentTransferFunction {\n static displayName = 'FeFuncG';\n channel: FunctionChannel = 'G';\n}\n\nexport type FeFuncBProps = FeComponentTransferFunctionProps;\nexport class FeFuncB extends FeComponentTransferFunction {\n static displayName = 'FeFuncB';\n channel: FunctionChannel = 'B';\n}\n\nexport type FeFuncAProps = FeComponentTransferFunctionProps;\nexport class FeFuncA extends FeComponentTransferFunction {\n static displayName = 'FeFuncA';\n channel: FunctionChannel = 'A';\n}\n","import { Component } from 'react';\nimport { NativeMethods } from 'react-native';\nimport { NumberProp } from '../../lib/extract/types';\n\nexport interface FilterPrimitiveCommonProps {\n x?: NumberProp;\n y?: NumberProp;\n width?: NumberProp;\n height?: NumberProp;\n result?: string;\n}\n\nexport default class FilterPrimitive

extends Component<\n P & FilterPrimitiveCommonProps\n> {\n [x: string]: unknown;\n root: (FilterPrimitive

& NativeMethods) | null = null;\n\n static defaultPrimitiveProps: React.ComponentProps =\n {};\n\n refMethod: (instance: (FilterPrimitive

& NativeMethods) | null) => void = (\n instance: (FilterPrimitive

& NativeMethods) | null\n ) => {\n this.root = instance;\n };\n\n setNativeProps = (props: P) => {\n this.root?.setNativeProps(props);\n };\n}\n","import warnOnce from 'warn-once';\n\nexport function pickNotNil(object: { [prop: string]: unknown }) {\n const result: { [prop: string]: unknown } = {};\n for (const key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n const value = object[key];\n if (value !== undefined && value !== null) {\n result[key] = value;\n }\n }\n }\n return result;\n}\n\nexport const idPattern = /#([^)]+)'?\\)?$/;\n\nexport const getRandomNumber = () =>\n Math.floor(Math.random() * Math.floor(Math.random() * Date.now()));\n\nexport const warnUnimplementedFilter = () => {\n warnOnce(\n true,\n `Some of the used filters are not yet supported on native platforms. Please check the USAGE.md for more info. Not implemented filters:\\n`,\n JSON.stringify(\n [\n 'FeComponentTransfer',\n 'FeConvolveMatrix',\n 'FeDiffuseLighting',\n 'FeDisplacementMap',\n 'FeFuncA',\n 'FeFuncB',\n 'FeFuncG',\n 'FeFuncR',\n 'FeImage',\n 'FeMorphology',\n 'FePointLight',\n 'FeSpecularLighting',\n 'FeSpotLight',\n 'FeTile',\n 'FeTurbulence',\n ],\n null,\n 2\n )\n );\n};\n","const DEV = process.env.NODE_ENV !== \"production\";\n\nconst warnings = new Set();\n\nfunction warnOnce(condition, ...rest) {\n if (DEV && condition) {\n const key = rest.join(\" \");\n\n if (warnings.has(key)) {\n return;\n }\n\n warnings.add(key);\n console.warn(...rest);\n }\n}\n\nmodule.exports = warnOnce;\n","import * as React from 'react';\nimport { extract } from '../lib/extract/extractProps';\nimport type { CommonPathProps, NumberProp } from '../lib/extract/types';\nimport Shape from './Shape';\nimport RNSVGCircle from '../fabric/CircleNativeComponent';\nimport type { NativeMethods } from 'react-native';\n\nexport interface CircleProps extends CommonPathProps {\n cx?: NumberProp;\n cy?: NumberProp;\n opacity?: NumberProp;\n r?: NumberProp;\n}\n\nexport default class Circle extends Shape {\n static displayName = 'Circle';\n\n static defaultProps = {\n cx: 0,\n cy: 0,\n r: 0,\n };\n\n render() {\n const { props } = this;\n const { cx, cy, r } = props;\n const circleProps = { ...extract(this, props), cx, cy, r };\n\n return (\n this.refMethod(ref as (Circle & NativeMethods) | null)}\n {...circleProps}\n />\n );\n }\n}\n","/* eslint-disable @typescript-eslint/no-var-requires */\nimport { Component } from 'react';\nimport SvgTouchableMixin from '../lib/SvgTouchableMixin';\nimport extractBrush from '../lib/extract/extractBrush';\nimport type { ColorValue, NativeMethods } from 'react-native';\nimport { findNodeHandle } from 'react-native';\nimport type {\n ColumnMajorTransformMatrix,\n TransformProps,\n} from '../lib/extract/types';\nimport type { Spec } from '../fabric/NativeSvgRenderableModule';\nimport { BrushProperties } from '../lib/extract/colors';\n\nexport interface SVGBoundingBoxOptions {\n fill?: boolean;\n stroke?: boolean;\n markers?: boolean;\n clipped?: boolean;\n}\n\nexport interface DOMPointInit {\n x?: number;\n y?: number;\n z?: number;\n w?: number;\n}\n\nexport interface Point {\n x: number;\n y: number;\n}\n\nexport interface SVGPoint extends Point {\n matrixTransform(matrix: Matrix): SVGPoint;\n}\n\nexport interface Rect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\nexport type SVGRect = Rect;\n\nexport interface Matrix {\n a: number;\n b: number;\n c: number;\n d: number;\n e: number;\n f: number;\n}\n\nexport interface SVGMatrix extends Matrix {\n multiply(secondMatrix: Matrix): SVGMatrix;\n inverse(): SVGMatrix;\n translate(x: number, y: number): SVGMatrix;\n scale(scaleFactor: number): SVGMatrix;\n scaleNonUniform(scaleFactorX: number, scaleFactorY: number): SVGMatrix;\n rotate(angle: number): SVGMatrix;\n rotateFromVector(x: number, y: number): SVGMatrix;\n flipX(): SVGMatrix;\n flipY(): SVGMatrix;\n skewX(angle: number): SVGMatrix;\n skewY(angle: number): SVGMatrix;\n}\n\nexport function multiplyMatrices(l: Matrix, r: Matrix): Matrix {\n const { a: al, b: bl, c: cl, d: dl, e: el, f: fl } = l;\n const { a: ar, b: br, c: cr, d: dr, e: er, f: fr } = r;\n\n const a = al * ar + cl * br;\n const c = al * cr + cl * dr;\n const e = al * er + cl * fr + el;\n const b = bl * ar + dl * br;\n const d = bl * cr + dl * dr;\n const f = bl * er + dl * fr + fl;\n\n return { a, c, e, b, d, f };\n}\n\nexport function invert({ a, b, c, d, e, f }: Matrix): Matrix {\n const n = a * d - b * c;\n return {\n a: d / n,\n b: -b / n,\n c: -c / n,\n d: a / n,\n e: (c * f - d * e) / n,\n f: -(a * f - b * e) / n,\n };\n}\n\nconst deg2rad = Math.PI / 180;\n\nexport class SVGMatrix implements SVGMatrix {\n constructor(matrix?: Matrix) {\n if (matrix) {\n const { a, b, c, d, e, f } = matrix;\n this.a = a;\n this.b = b;\n this.c = c;\n this.d = d;\n this.e = e;\n this.f = f;\n } else {\n this.a = 1;\n this.b = 0;\n this.c = 0;\n this.d = 1;\n this.e = 0;\n this.f = 0;\n }\n }\n\n multiply(secondMatrix: Matrix): SVGMatrix {\n return new SVGMatrix(multiplyMatrices(this, secondMatrix));\n }\n\n inverse(): SVGMatrix {\n return new SVGMatrix(invert(this));\n }\n\n translate(x: number, y: number): SVGMatrix {\n return new SVGMatrix(\n multiplyMatrices(this, { a: 1, b: 0, c: 0, d: 1, e: x, f: y })\n );\n }\n\n scale(scaleFactor: number): SVGMatrix {\n return new SVGMatrix(\n multiplyMatrices(this, {\n a: scaleFactor,\n b: 0,\n c: 0,\n d: scaleFactor,\n e: 0,\n f: 0,\n })\n );\n }\n\n scaleNonUniform(scaleFactorX: number, scaleFactorY: number): SVGMatrix {\n return new SVGMatrix(\n multiplyMatrices(this, {\n a: scaleFactorX,\n b: 0,\n c: 0,\n d: scaleFactorY,\n e: 0,\n f: 0,\n })\n );\n }\n\n rotate(angle: number): SVGMatrix {\n const cos = Math.cos(deg2rad * angle);\n const sin = Math.sin(deg2rad * angle);\n return new SVGMatrix(\n multiplyMatrices(this, { a: cos, b: sin, c: -sin, d: cos, e: 0, f: 0 })\n );\n }\n\n rotateFromVector(x: number, y: number): SVGMatrix {\n const angle = Math.atan2(y, x);\n const cos = Math.cos(deg2rad * angle);\n const sin = Math.sin(deg2rad * angle);\n return new SVGMatrix(\n multiplyMatrices(this, { a: cos, b: sin, c: -sin, d: cos, e: 0, f: 0 })\n );\n }\n\n flipX(): SVGMatrix {\n return new SVGMatrix(\n multiplyMatrices(this, { a: -1, b: 0, c: 0, d: 1, e: 0, f: 0 })\n );\n }\n\n flipY(): SVGMatrix {\n return new SVGMatrix(\n multiplyMatrices(this, { a: 1, b: 0, c: 0, d: -1, e: 0, f: 0 })\n );\n }\n\n skewX(angle: number): SVGMatrix {\n return new SVGMatrix(\n multiplyMatrices(this, {\n a: 1,\n b: 0,\n c: Math.tan(deg2rad * angle),\n d: 1,\n e: 0,\n f: 0,\n })\n );\n }\n\n skewY(angle: number): SVGMatrix {\n return new SVGMatrix(\n multiplyMatrices(this, {\n a: 1,\n b: Math.tan(deg2rad * angle),\n c: 0,\n d: 1,\n e: 0,\n f: 0,\n })\n );\n }\n}\n\nexport function matrixTransform(matrix: Matrix, point: Point): Point {\n const { a, b, c, d, e, f } = matrix;\n const { x, y } = point;\n return {\n x: a * x + c * y + e,\n y: b * x + d * y + f,\n };\n}\n\nexport class SVGPoint implements SVGPoint {\n constructor(point?: Point) {\n if (point) {\n const { x, y } = point;\n this.x = x;\n this.y = y;\n } else {\n this.x = 0;\n this.y = 0;\n }\n }\n\n matrixTransform(matrix: Matrix): SVGPoint {\n return new SVGPoint(matrixTransform(matrix, this));\n }\n}\n\nexport const ownerSVGElement = {\n createSVGPoint(): SVGPoint {\n return new SVGPoint();\n },\n createSVGMatrix(): SVGMatrix {\n return new SVGMatrix();\n },\n};\n\nexport default class Shape

extends Component

{\n [x: string]: unknown;\n root: (Shape

& NativeMethods) | null = null;\n constructor(props: Readonly

| P) {\n super(props);\n SvgTouchableMixin(this);\n }\n\n refMethod: (instance: (Shape

& NativeMethods) | null) => void = (\n instance: (Shape

& NativeMethods) | null\n ) => {\n this.root = instance;\n };\n\n // Hack to make Animated work with Shape components.\n getNativeScrollRef(): (Shape

& NativeMethods) | null {\n return this.root;\n }\n\n setNativeProps = (\n props: P & {\n matrix?: ColumnMajorTransformMatrix;\n fill?: ColorValue;\n } & TransformProps\n ) => {\n for (const key in props) {\n if (BrushProperties.includes(key)) {\n // @ts-ignore TypeScript doesn't know that `key` is a key of `props`\n props[key] = extractBrush(props[key]);\n }\n }\n this.root?.setNativeProps(props);\n };\n\n /*\n * The following native methods are experimental and likely broken in some\n * ways. If you have a use case for these, please open an issue with a\n * representative example / reproduction.\n * */\n getBBox = (options?: SVGBoundingBoxOptions): SVGRect | undefined => {\n const {\n fill = true,\n stroke = true,\n markers = true,\n clipped = true,\n } = options || {};\n const handle = findNodeHandle(this.root);\n const RNSVGRenderableModule =\n require('../fabric/NativeSvgRenderableModule').default;\n return RNSVGRenderableModule.getBBox(handle, {\n fill,\n stroke,\n markers,\n clipped,\n });\n };\n\n getCTM = (): SVGMatrix => {\n const handle = findNodeHandle(this.root);\n const RNSVGRenderableModule: Spec =\n require('../fabric/NativeSvgRenderableModule').default;\n return new SVGMatrix(RNSVGRenderableModule.getCTM(handle));\n };\n\n getScreenCTM = (): SVGMatrix => {\n const handle = findNodeHandle(this.root);\n const RNSVGRenderableModule: Spec =\n require('../fabric/NativeSvgRenderableModule').default;\n return new SVGMatrix(RNSVGRenderableModule.getScreenCTM(handle));\n };\n\n isPointInFill = (options: DOMPointInit): boolean | undefined => {\n const handle = findNodeHandle(this.root);\n const RNSVGRenderableModule: Spec =\n require('../fabric/NativeSvgRenderableModule').default;\n return RNSVGRenderableModule.isPointInFill(handle, options);\n };\n\n isPointInStroke = (options: DOMPointInit): boolean | undefined => {\n const handle = findNodeHandle(this.root);\n const RNSVGRenderableModule: Spec =\n require('../fabric/NativeSvgRenderableModule').default;\n return RNSVGRenderableModule.isPointInStroke(handle, options);\n };\n\n getTotalLength = (): number | undefined => {\n const handle = findNodeHandle(this.root);\n const RNSVGRenderableModule: Spec =\n require('../fabric/NativeSvgRenderableModule').default;\n return RNSVGRenderableModule.getTotalLength(handle);\n };\n\n getPointAtLength = (length: number): SVGPoint => {\n const handle = findNodeHandle(this.root);\n const RNSVGRenderableModule: Spec =\n require('../fabric/NativeSvgRenderableModule').default;\n return new SVGPoint(\n RNSVGRenderableModule.getPointAtLength(handle, { length })\n );\n };\n}\nShape.prototype.ownerSVGElement = ownerSVGElement;\n","import type { GestureResponderEvent } from 'react-native';\nimport { Touchable } from 'react-native';\nconst PRESS_RETENTION_OFFSET = { top: 20, left: 20, right: 20, bottom: 30 };\n// @ts-expect-error: Mixin is not typed\nconst { Mixin } = Touchable;\nconst {\n touchableHandleStartShouldSetResponder,\n touchableHandleResponderTerminationRequest,\n touchableHandleResponderGrant,\n touchableHandleResponderMove,\n touchableHandleResponderRelease,\n touchableHandleResponderTerminate,\n touchableGetInitialState,\n} = Mixin;\n\nconst SvgTouchableMixin = {\n ...Mixin,\n\n touchableHandleStartShouldSetResponder(e: GestureResponderEvent) {\n const { onStartShouldSetResponder } = this.props;\n if (onStartShouldSetResponder) {\n return onStartShouldSetResponder(e);\n } else {\n return touchableHandleStartShouldSetResponder.call(this, e);\n }\n },\n\n touchableHandleResponderTerminationRequest(e: GestureResponderEvent) {\n const { onResponderTerminationRequest } = this.props;\n if (onResponderTerminationRequest) {\n return onResponderTerminationRequest(e);\n } else {\n return touchableHandleResponderTerminationRequest.call(this, e);\n }\n },\n\n touchableHandleResponderGrant(e: GestureResponderEvent) {\n const { onResponderGrant } = this.props;\n if (onResponderGrant) {\n return onResponderGrant(e);\n } else {\n return touchableHandleResponderGrant.call(this, e);\n }\n },\n\n touchableHandleResponderMove(e: GestureResponderEvent) {\n const { onResponderMove } = this.props;\n if (onResponderMove) {\n return onResponderMove(e);\n } else {\n return touchableHandleResponderMove.call(this, e);\n }\n },\n\n touchableHandleResponderRelease(e: GestureResponderEvent) {\n const { onResponderRelease } = this.props;\n if (onResponderRelease) {\n return onResponderRelease(e);\n } else {\n return touchableHandleResponderRelease.call(this, e);\n }\n },\n\n touchableHandleResponderTerminate(e: GestureResponderEvent) {\n const { onResponderTerminate } = this.props;\n if (onResponderTerminate) {\n return onResponderTerminate(e);\n } else {\n return touchableHandleResponderTerminate.call(this, e);\n }\n },\n\n touchableHandlePress(e: GestureResponderEvent) {\n const { onPress } = this.props;\n onPress && onPress(e);\n },\n\n touchableHandleActivePressIn(e: GestureResponderEvent) {\n const { onPressIn } = this.props;\n onPressIn && onPressIn(e);\n },\n\n touchableHandleActivePressOut(e: GestureResponderEvent) {\n const { onPressOut } = this.props;\n onPressOut && onPressOut(e);\n },\n\n touchableHandleLongPress(e: GestureResponderEvent) {\n const { onLongPress } = this.props;\n onLongPress && onLongPress(e);\n },\n\n touchableGetPressRectOffset() {\n const { pressRetentionOffset } = this.props;\n return pressRetentionOffset || PRESS_RETENTION_OFFSET;\n },\n\n touchableGetHitSlop() {\n const { hitSlop } = this.props;\n return hitSlop;\n },\n\n touchableGetHighlightDelayMS() {\n const { delayPressIn } = this.props;\n return delayPressIn || 0;\n },\n\n touchableGetLongPressDelayMS() {\n const { delayLongPress } = this.props;\n return delayLongPress === 0 ? 0 : delayLongPress || 500;\n },\n\n touchableGetPressOutDelayMS() {\n const { delayPressOut } = this.props;\n return delayPressOut || 0;\n },\n};\n\nconst touchKeys = Object.keys(SvgTouchableMixin);\nconst touchVals = touchKeys.map((key) => SvgTouchableMixin[key]);\nconst numTouchKeys = touchKeys.length;\n\nexport default (target: { [x: string]: unknown; state: unknown }) => {\n for (let i = 0; i < numTouchKeys; i++) {\n const key = touchKeys[i];\n const val = touchVals[i];\n if (typeof val === 'function') {\n target[key] = val.bind(target);\n } else {\n target[key] = val;\n }\n }\n target.state = touchableGetInitialState();\n};\n","import type { ColorValue } from 'react-native';\nimport { processColor } from 'react-native';\nimport { convertPercentageColor } from '../utils/convertPercentageColor';\n\nconst urlIdPattern = /^url\\(#(.+)\\)$/;\n\nconst currentColorBrush = { type: 2 };\nconst contextFillBrush = { type: 3 };\nconst contextStrokeBrush = { type: 4 };\n\nexport default function extractBrush(color: ColorValue) {\n if (color === 'none') {\n return null;\n }\n\n if (color === 'currentColor') {\n return currentColorBrush;\n }\n\n if (color === 'context-fill') {\n return contextFillBrush;\n }\n\n if (color === 'context-stroke') {\n return contextStrokeBrush;\n }\n\n const brush = typeof color === 'string' && color.match(urlIdPattern);\n if (brush) {\n return { type: 1, brushRef: brush[1] };\n }\n\n // Convert percentage RGB/RGBA color to standard RGB/RGBA color\n const colorToProcess = convertPercentageColor(color);\n const processedColor = processColor(colorToProcess);\n if (typeof processedColor === 'number') {\n return { type: 0, payload: processedColor };\n }\n\n if (typeof processedColor === 'object' && processedColor !== null) {\n // if we got an object, it should be `PlatformColor` or `DynamicColorIOS`,\n // so we pass it as an object with `0` value as first item, which is interpreted\n // on the native side as color to be managed by `RCTConvert`.\n return { type: 0, payload: processedColor };\n }\n\n console.warn(`\"${String(color)}\" is not a valid color or brush`);\n return null;\n}\n","import { ColorValue } from 'react-native';\n\nexport const RGB_RGBA_PATTERN =\n /^rgba?\\(\\s*(100%|\\d{1,2}(\\.\\d+)?%)\\s*,\\s*(100%|\\d{1,2}(\\.\\d+)?%)\\s*,\\s*(100%|\\d{1,2}(\\.\\d+)?%)\\s*(?:,\\s*(1|0(\\.\\d+)?|100%|\\d{1,2}(\\.\\d+)?%)\\s*)?\\)$/;\n\nconst percentTo255 = (percent: string) =>\n Math.round(parseFloat(percent) * 2.55);\n\nconst parseAlpha = (alpha: string) =>\n alpha.endsWith('%') ? parseFloat(alpha) / 100 : parseFloat(alpha);\n\nfunction parsePercentageRGBColor(color: string): string {\n const currentMatch = RGB_RGBA_PATTERN.exec(color);\n\n if (!currentMatch) {\n console.warn(`\"${color}\" is not a valid percentage rgb/rgba color`);\n return color;\n }\n\n const red = currentMatch[1];\n const green = currentMatch[3];\n const blue = currentMatch[5];\n const alpha = currentMatch[7];\n\n const rgb = `${percentTo255(red)}, ${percentTo255(green)}, ${percentTo255(\n blue\n )}`;\n\n return alpha ? `rgba(${rgb}, ${parseAlpha(alpha)})` : `rgb(${rgb})`;\n}\n\nexport const convertPercentageColor = (color: ColorValue) => {\n if (typeof color !== 'string') {\n return color;\n }\n const rgbColorWithoutSpaces = color.replace(/\\s/g, '');\n const isPercentageRgb = RGB_RGBA_PATTERN.test(rgbColorWithoutSpaces);\n return isPercentageRgb\n ? parsePercentageRGBColor(rgbColorWithoutSpaces)\n : color;\n};\n","// https://www.w3.org/TR/SVG11/color.html\nexport const BrushProperties = [\n 'fill',\n 'stroke',\n 'stopColor',\n 'floodColor',\n 'lightingColor',\n];\n","/* eslint-disable @typescript-eslint/ban-types */\n// its needed for codegen to work\nimport type { TurboModule } from 'react-native';\nimport { TurboModuleRegistry } from 'react-native';\nimport type { Double, Float } from 'react-native/Libraries/Types/CodegenTypes';\n\ntype Rect = {\n x: Float;\n y: Float;\n width: Float;\n height: Float;\n};\n\ntype Matrix = {\n a: Float;\n b: Float;\n c: Float;\n d: Float;\n e: Float;\n f: Float;\n};\n\ntype Point = {\n x: Float;\n y: Float;\n};\n\nexport interface Spec extends TurboModule {\n isPointInFill(tag: Double | null, options?: Object): boolean;\n isPointInStroke(tag: Double | null, options?: Object): boolean;\n getTotalLength(tag: Double | null): Float;\n getPointAtLength(tag: Double | null, options?: Object): Point;\n getBBox(tag: Double | null, options?: Object): Rect;\n getCTM(tag: Double | null): Matrix;\n getScreenCTM(tag: Double | null): Matrix;\n getRawResource(name: string): Promise;\n}\n\nexport default TurboModuleRegistry.getEnforcing('RNSVGRenderableModule');\n","import extractFill from './extractFill';\nimport extractStroke from './extractStroke';\nimport extractTransform from './extractTransform';\nimport extractResponder from './extractResponder';\nimport extractOpacity from './extractOpacity';\nimport { idPattern } from '../util';\nimport type {\n ClipProps,\n ColorProps,\n extractedProps,\n FillProps,\n NumberProp,\n ResponderProps,\n StrokeProps,\n TransformProps,\n} from './types';\n\nconst clipRules: { evenodd: number; nonzero: number } = {\n evenodd: 0,\n nonzero: 1,\n};\n\nexport function propsAndStyles(props: object & { style?: [] | unknown }) {\n const { style } = props;\n return !style\n ? props\n : {\n ...(Array.isArray(style) ? Object.assign({}, ...style) : style),\n ...props,\n };\n}\n\nfunction getMarker(marker?: string) {\n if (!marker) {\n return undefined;\n }\n const matched = marker.match(idPattern);\n return matched ? matched[1] : undefined;\n}\n\nexport default function extractProps(\n props: {\n id?: string;\n mask?: string;\n marker?: string;\n markerStart?: string;\n markerMid?: string;\n markerEnd?: string;\n clipPath?: string;\n display?: string;\n opacity?: NumberProp;\n onLayout?: () => void;\n } & TransformProps &\n ResponderProps &\n StrokeProps &\n FillProps &\n ColorProps &\n ClipProps,\n ref: object\n) {\n const {\n id,\n opacity,\n onLayout,\n clipPath,\n clipRule,\n display,\n mask,\n marker,\n markerStart = marker,\n markerMid = marker,\n markerEnd = marker,\n } = props;\n const extracted: extractedProps = {};\n\n const inherited: string[] = [];\n extractResponder(extracted, props, ref);\n extractFill(extracted, props, inherited);\n extractStroke(extracted, props, inherited);\n if (props.color) {\n extracted.color = props.color;\n }\n\n if (inherited.length) {\n extracted.propList = inherited;\n }\n\n const matrix = extractTransform(props);\n if (matrix !== null) {\n extracted.matrix = matrix;\n }\n\n if (opacity != null) {\n extracted.opacity = extractOpacity(opacity);\n }\n\n if (display != null) {\n extracted.display = display === 'none' ? 'none' : undefined;\n }\n\n if (onLayout) {\n extracted.onLayout = onLayout;\n }\n\n if (markerStart) {\n extracted.markerStart = getMarker(markerStart);\n }\n if (markerMid) {\n extracted.markerMid = getMarker(markerMid);\n }\n if (markerEnd) {\n extracted.markerEnd = getMarker(markerEnd);\n }\n\n if (id) {\n extracted.name = String(id);\n }\n\n if (clipRule) {\n extracted.clipRule = clipRules[clipRule] === 0 ? 0 : 1;\n }\n if (clipPath) {\n const matched = clipPath.match(idPattern);\n if (matched) {\n extracted.clipPath = matched[1];\n } else {\n console.warn(\n 'Invalid `clipPath` prop, expected a clipPath like \"#id\", but got: \"' +\n clipPath +\n '\"'\n );\n }\n }\n\n if (mask) {\n const matched = mask.match(idPattern);\n\n if (matched) {\n extracted.mask = matched[1];\n } else {\n console.warn(\n 'Invalid `mask` prop, expected a mask like \"#id\", but got: \"' +\n mask +\n '\"'\n );\n }\n }\n\n return extracted;\n}\n\nexport function extract(\n instance: object,\n props: object & { style?: [] | unknown }\n) {\n return extractProps(propsAndStyles(props), instance);\n}\n\nexport function withoutXY(\n instance: object,\n props: object & { style?: [] | unknown }\n) {\n return extractProps({ ...propsAndStyles(props), x: null, y: null }, instance);\n}\n","import extractBrush from './extractBrush';\nimport extractOpacity from './extractOpacity';\nimport type { extractedProps, FillProps } from './types';\nimport { processColor } from 'react-native';\n\nconst fillRules: { evenodd: number; nonzero: number } = {\n evenodd: 0,\n nonzero: 1,\n};\n\nconst defaultFill = { type: 0, payload: processColor('black') };\n\nexport default function extractFill(\n o: extractedProps,\n props: FillProps,\n inherited: string[],\n) {\n const { fill, fillRule, fillOpacity } = props;\n if (fill != null) {\n inherited.push('fill');\n o.fill =\n !fill && typeof fill !== 'number' ? defaultFill : extractBrush(fill);\n } else {\n // we want the default value of fill to be black to match the spec\n o.fill = defaultFill;\n }\n if (fillOpacity != null) {\n inherited.push('fillOpacity');\n o.fillOpacity = extractOpacity(fillOpacity);\n }\n if (fillRule != null) {\n inherited.push('fillRule');\n o.fillRule = fillRule && fillRules[fillRule] === 0 ? 0 : 1;\n }\n}\n","import type { NumberProp } from './types';\n\nexport default function extractOpacity(opacity: NumberProp | void) {\n const value =\n typeof opacity === 'string' && opacity.trim().endsWith('%')\n ? +opacity.slice(0, -1) / 100\n : +opacity;\n return isNaN(value) || value > 1 ? 1 : Math.max(value, 0);\n}\n","import extractBrush from './extractBrush';\nimport extractOpacity from './extractOpacity';\nimport extractLengthList from './extractLengthList';\nimport type { extractedProps, StrokeProps } from './types';\n\nconst caps = {\n butt: 0,\n square: 2,\n round: 1,\n};\n\nconst joins = {\n miter: 0,\n bevel: 2,\n round: 1,\n};\n\nconst vectorEffects = {\n none: 0,\n default: 0,\n nonScalingStroke: 1,\n 'non-scaling-stroke': 1,\n inherit: 2,\n uri: 3,\n};\n\nexport default function extractStroke(\n o: extractedProps,\n props: StrokeProps,\n inherited: string[]\n) {\n const {\n stroke,\n strokeOpacity,\n strokeLinecap,\n strokeLinejoin,\n strokeDasharray,\n strokeWidth,\n strokeDashoffset,\n strokeMiterlimit,\n vectorEffect,\n } = props;\n\n if (stroke != null) {\n inherited.push('stroke');\n o.stroke = extractBrush(stroke);\n }\n if (strokeWidth != null) {\n inherited.push('strokeWidth');\n o.strokeWidth = strokeWidth;\n }\n if (strokeOpacity != null) {\n inherited.push('strokeOpacity');\n o.strokeOpacity = extractOpacity(strokeOpacity);\n }\n if (strokeDasharray != null) {\n inherited.push('strokeDasharray');\n const strokeDash =\n !strokeDasharray || strokeDasharray === 'none'\n ? null\n : extractLengthList(strokeDasharray);\n o.strokeDasharray =\n strokeDash && strokeDash.length % 2 === 1\n ? strokeDash.concat(strokeDash)\n : strokeDash;\n }\n if (strokeDashoffset != null) {\n inherited.push('strokeDashoffset');\n o.strokeDashoffset =\n strokeDasharray && strokeDashoffset ? +strokeDashoffset || 0 : null;\n }\n if (strokeLinecap != null) {\n inherited.push('strokeLinecap');\n o.strokeLinecap = (strokeLinecap && caps[strokeLinecap]) || 0;\n }\n if (strokeLinejoin != null) {\n inherited.push('strokeLinejoin');\n o.strokeLinejoin = (strokeLinejoin && joins[strokeLinejoin]) || 0;\n }\n if (strokeMiterlimit != null) {\n inherited.push('strokeMiterlimit');\n o.strokeMiterlimit =\n (strokeMiterlimit && typeof strokeMiterlimit !== 'number'\n ? parseFloat(strokeMiterlimit)\n : strokeMiterlimit) || 4;\n }\n if (vectorEffect != null) {\n o.vectorEffect = (vectorEffect && vectorEffects[vectorEffect]) || 0;\n }\n}\n","import type { NumberProp } from './types';\n\nconst spaceReg = /\\s+/;\nconst commaReg = /,/g;\n\nexport default function extractLengthList(\n lengthList?: readonly NumberProp[] | NumberProp\n): readonly NumberProp[] {\n if (Array.isArray(lengthList)) {\n return lengthList as NumberProp[];\n } else if (typeof lengthList === 'number') {\n return [lengthList];\n } else if (typeof lengthList === 'string') {\n return lengthList.trim().replace(commaReg, ' ').split(spaceReg);\n } else {\n return [];\n }\n}\n","import type { TransformsStyle } from 'react-native';\nimport { append, appendTransform, identity, reset, toArray } from '../Matrix2D';\nimport { parse } from './transform';\nimport { parse as parseTransformSvgToRnStyle } from './transformToRn';\nimport type {\n ColumnMajorTransformMatrix,\n NumberProp,\n TransformedProps,\n TransformProps,\n} from './types';\n\nexport type TransformsStyleArray = Exclude<\n TransformsStyle['transform'],\n string\n>;\n\nfunction appendTransformProps(props: TransformedProps) {\n const { x, y, originX, originY, scaleX, scaleY, rotation, skewX, skewY } =\n props;\n appendTransform(\n x + originX,\n y + originY,\n scaleX,\n scaleY,\n rotation,\n skewX,\n skewY,\n originX,\n originY\n );\n}\n\nfunction universal2axis(\n universal: NumberProp | NumberProp[] | undefined,\n axisX: NumberProp | void,\n axisY: NumberProp | void,\n defaultValue?: number\n): [number, number] {\n let x;\n let y;\n if (typeof universal === 'number') {\n x = y = universal;\n } else if (typeof universal === 'string') {\n const coords = universal.split(/\\s*,\\s*/);\n if (coords.length === 2) {\n x = +coords[0];\n y = +coords[1];\n } else if (coords.length === 1) {\n x = y = +coords[0];\n }\n } else if (Array.isArray(universal)) {\n if (universal.length === 2) {\n x = +universal[0];\n y = +universal[1];\n } else if (universal.length === 1) {\n x = y = +universal[0];\n }\n }\n\n axisX = +axisX;\n if (!isNaN(axisX)) {\n x = axisX;\n }\n\n axisY = +axisY;\n if (!isNaN(axisY)) {\n y = axisY;\n }\n\n return [x || defaultValue || 0, y || defaultValue || 0];\n}\n\nexport function props2transform(\n props: TransformProps | undefined\n): TransformedProps | null {\n if (!props) {\n return null;\n }\n const {\n rotation,\n translate,\n translateX,\n translateY,\n origin,\n originX,\n originY,\n scale,\n scaleX,\n scaleY,\n skew,\n skewX,\n skewY,\n x,\n y,\n } = props;\n if (\n rotation == null &&\n translate == null &&\n translateX == null &&\n translateY == null &&\n origin == null &&\n originX == null &&\n originY == null &&\n scale == null &&\n scaleX == null &&\n scaleY == null &&\n skew == null &&\n skewX == null &&\n skewY == null &&\n x == null &&\n y == null\n ) {\n return null;\n }\n\n if (Array.isArray(x) || Array.isArray(y)) {\n console.warn(\n 'Passing SvgLengthList to x or y attribute where SvgLength expected'\n );\n }\n const tr = universal2axis(\n translate,\n translateX || (Array.isArray(x) ? x[0] : x),\n translateY || (Array.isArray(y) ? y[0] : y)\n );\n const or = universal2axis(origin, originX, originY);\n const sc = universal2axis(scale, scaleX, scaleY, 1);\n const sk = universal2axis(skew, skewX, skewY);\n\n return {\n rotation: rotation == null ? 0 : +rotation || 0,\n originX: or[0],\n originY: or[1],\n scaleX: sc[0],\n scaleY: sc[1],\n skewX: sk[0],\n skewY: sk[1],\n x: tr[0],\n y: tr[1],\n };\n}\n\nexport function transformToMatrix(\n props: TransformedProps | null,\n transform: TransformProps['transform']\n): ColumnMajorTransformMatrix | null {\n if (!props && !transform) {\n return null;\n }\n reset();\n props && appendTransformProps(props);\n\n if (transform) {\n if (Array.isArray(transform)) {\n if (typeof transform[0] === 'number') {\n const columnMatrix = transform as ColumnMajorTransformMatrix;\n append(\n columnMatrix[0],\n columnMatrix[1],\n columnMatrix[2],\n columnMatrix[3],\n columnMatrix[4],\n columnMatrix[5]\n );\n } else {\n const stringifiedTransform = stringifyTransformArrayProps(\n // @ts-expect-error FIXME\n transform as TransformsStyleArray\n );\n\n const t = parse(stringifiedTransform);\n append(t[0], t[3], t[1], t[4], t[2], t[5]);\n }\n } else if (typeof transform === 'string') {\n try {\n const t = parse(transform);\n append(t[0], t[3], t[1], t[4], t[2], t[5]);\n } catch (e) {\n console.error(e);\n }\n } else {\n // @ts-expect-error FIXME\n const transformProps = props2transform(transform);\n transformProps && appendTransformProps(transformProps);\n }\n }\n\n return toArray();\n}\n\nexport default function extractTransform(\n props: TransformProps | TransformProps['transform']\n): ColumnMajorTransformMatrix | null {\n if (Array.isArray(props) && typeof props[0] === 'number') {\n return props as ColumnMajorTransformMatrix;\n }\n if (typeof props === 'string') {\n try {\n const t = parse(props);\n return [t[0], t[3], t[1], t[4], t[2], t[5]];\n } catch (e) {\n console.error(e);\n return identity;\n }\n }\n // this type is not correct since props can be of type TransformsStyle['transform'] too\n // but it satisfies TS and should not produce any type errors\n const transformProps = props as TransformProps;\n return transformToMatrix(\n props2transform(transformProps),\n transformProps?.transform\n );\n}\n\nexport function extractTransformSvgView(\n props: TransformsStyle\n): TransformsStyle['transform'] {\n if (typeof props.transform === 'string') {\n return parseTransformSvgToRnStyle(props.transform);\n }\n return props.transform as TransformsStyle['transform'];\n}\n\nconst getAngleValueInDeg = (angle: string) => {\n if (angle.endsWith('rad')) {\n return parseFloat(angle) * (180 / Math.PI);\n }\n if (angle.endsWith('deg')) {\n return parseFloat(angle);\n }\n};\n\nexport function stringifyTransformArrayProps(\n transformArray: TransformsStyleArray\n) {\n if (!transformArray) {\n return '';\n }\n\n return transformArray\n .map((transform) => {\n const [key, value] = Object.entries(transform)[0];\n switch (key) {\n case 'translateX':\n return `translate(${value}, 0)`;\n case 'translateY':\n return `translate(0, ${value})`;\n case 'rotate':\n return `rotate(${getAngleValueInDeg(value)})`;\n case 'scale':\n return `scale(${value})`;\n case 'scaleX':\n return `scale(${value}, 1)`;\n case 'scaleY':\n return `scale(1, ${value})`;\n case 'skewX':\n return `skewX(${getAngleValueInDeg(value)})`;\n case 'skewY':\n return `skewY(${getAngleValueInDeg(value)})`;\n case 'matrix':\n return `matrix(${value.join(', ')})`;\n default:\n return '';\n }\n })\n .join(' ');\n}\n","/**\n * based on\n * https://github.com/CreateJS/EaselJS/blob/631cdffb85eff9413dab43b4676f059b4232d291/src/easeljs/geom/Matrix2D.js\n */\nconst DEG_TO_RAD = Math.PI / 180;\n\nexport const identity: [number, number, number, number, number, number] = [\n 1, 0, 0, 1, 0, 0,\n];\n\nlet a = 1;\nlet b = 0;\nlet c = 0;\nlet d = 1;\nlet tx = 0;\nlet ty = 0;\nlet hasInitialState = true;\n\n/**\n * Represents an affine transformation matrix, and provides tools for concatenating transforms.\n *\n * This matrix can be visualized as:\n *\n * \t[ a c tx\n * \t b d ty\n * \t 0 0 1 ]\n *\n * Note the locations of b and c.\n **/\n\n/**\n * Reset current matrix to an identity matrix.\n * @method reset\n **/\nexport function reset() {\n if (hasInitialState) {\n return;\n }\n a = d = 1;\n b = c = tx = ty = 0;\n hasInitialState = true;\n}\n\n/**\n * Returns an array with current matrix values.\n * @method toArray\n * @return {Array} an array with current matrix values.\n **/\nexport function toArray(): [number, number, number, number, number, number] {\n if (hasInitialState) {\n return identity;\n }\n return [a, b, c, d, tx, ty];\n}\n\n/**\n * Appends the specified matrix properties to this matrix. All parameters are required.\n * This is the equivalent of multiplying `(this matrix) * (specified matrix)`.\n * @method append\n * @param {Number} a2\n * @param {Number} b2\n * @param {Number} c2\n * @param {Number} d2\n * @param {Number} tx2\n * @param {Number} ty2\n **/\nexport function append(\n a2: number,\n b2: number,\n c2: number,\n d2: number,\n tx2: number,\n ty2: number\n) {\n const change = a2 !== 1 || b2 !== 0 || c2 !== 0 || d2 !== 1;\n const translate = tx2 !== 0 || ty2 !== 0;\n if (!change && !translate) {\n return;\n }\n if (hasInitialState) {\n hasInitialState = false;\n a = a2;\n b = b2;\n c = c2;\n d = d2;\n tx = tx2;\n ty = ty2;\n return;\n }\n const a1 = a;\n const b1 = b;\n const c1 = c;\n const d1 = d;\n if (change) {\n a = a1 * a2 + c1 * b2;\n b = b1 * a2 + d1 * b2;\n c = a1 * c2 + c1 * d2;\n d = b1 * c2 + d1 * d2;\n }\n if (translate) {\n tx = a1 * tx2 + c1 * ty2 + tx;\n ty = b1 * tx2 + d1 * ty2 + ty;\n }\n}\n\n/**\n * Generates matrix properties from the specified display object transform properties, and appends them to this matrix.\n * For example, you can use this to generate a matrix representing the transformations of a display object:\n *\n * \treset();\n * \tappendTransform(o.x, o.y, o.scaleX, o.scaleY, o.rotation);\n * \tvar matrix = toArray()\n *\n * @method appendTransform\n * @param {Number} x\n * @param {Number} y\n * @param {Number} scaleX\n * @param {Number} scaleY\n * @param {Number} rotation\n * @param {Number} skewX\n * @param {Number} skewY\n * @param {Number} regX Optional.\n * @param {Number} regY Optional.\n **/\nexport function appendTransform(\n x: number,\n y: number,\n scaleX: number,\n scaleY: number,\n rotation: number,\n skewX: number,\n skewY: number,\n regX: number,\n regY: number\n) {\n if (\n x === 0 &&\n y === 0 &&\n scaleX === 1 &&\n scaleY === 1 &&\n rotation === 0 &&\n skewX === 0 &&\n skewY === 0 &&\n regX === 0 &&\n regY === 0\n ) {\n return;\n }\n let cos, sin;\n if (rotation % 360) {\n const r = rotation * DEG_TO_RAD;\n cos = Math.cos(r);\n sin = Math.sin(r);\n } else {\n cos = 1;\n sin = 0;\n }\n\n const a2 = cos * scaleX;\n const b2 = sin * scaleX;\n const c2 = -sin * scaleY;\n const d2 = cos * scaleY;\n\n if (skewX || skewY) {\n const b1 = Math.tan(skewY * DEG_TO_RAD);\n const c1 = Math.tan(skewX * DEG_TO_RAD);\n append(a2 + c1 * b2, b1 * a2 + b2, c2 + c1 * d2, b1 * c2 + d2, x, y);\n } else {\n append(a2, b2, c2, d2, x, y);\n }\n\n if (regX || regY) {\n // append the registration offset:\n tx -= regX * a + regY * c;\n ty -= regX * b + regY * d;\n hasInitialState = false;\n }\n}\n","/*\n * Generated by PEG.js 0.10.0.\n *\n * http://pegjs.org/\n */\n\n\"use strict\";\n\nfunction peg$subclass(child, parent) {\n function ctor() { this.constructor = child; }\n ctor.prototype = parent.prototype;\n child.prototype = new ctor();\n}\n\nfunction peg$SyntaxError(message, expected, found, location) {\n this.message = message;\n this.expected = expected;\n this.found = found;\n this.location = location;\n this.name = \"SyntaxError\";\n\n if (typeof Error.captureStackTrace === \"function\") {\n Error.captureStackTrace(this, peg$SyntaxError);\n }\n}\n\npeg$subclass(peg$SyntaxError, Error);\n\npeg$SyntaxError.buildMessage = function(expected, found) {\n var DESCRIBE_EXPECTATION_FNS = {\n literal: function(expectation) {\n return \"\\\"\" + literalEscape(expectation.text) + \"\\\"\";\n },\n\n \"class\": function(expectation) {\n var escapedParts = \"\",\n i;\n\n for (i = 0; i < expectation.parts.length; i++) {\n escapedParts += expectation.parts[i] instanceof Array\n ? classEscape(expectation.parts[i][0]) + \"-\" + classEscape(expectation.parts[i][1])\n : classEscape(expectation.parts[i]);\n }\n\n return \"[\" + (expectation.inverted ? \"^\" : \"\") + escapedParts + \"]\";\n },\n\n any: function(expectation) {\n return \"any character\";\n },\n\n end: function(expectation) {\n return \"end of input\";\n },\n\n other: function(expectation) {\n return expectation.description;\n }\n };\n\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\0/g, '\\\\0')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return '\\\\x' + hex(ch); });\n }\n\n function classEscape(s) {\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\\]/g, '\\\\]')\n .replace(/\\^/g, '\\\\^')\n .replace(/-/g, '\\\\-')\n .replace(/\\0/g, '\\\\0')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x0F]/g, function(ch) { return '\\\\x0' + hex(ch); })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function(ch) { return '\\\\x' + hex(ch); });\n }\n\n function describeExpectation(expectation) {\n return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);\n }\n\n function describeExpected(expected) {\n var descriptions = new Array(expected.length),\n i, j;\n\n for (i = 0; i < expected.length; i++) {\n descriptions[i] = describeExpectation(expected[i]);\n }\n\n descriptions.sort();\n\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n\n case 2:\n return descriptions[0] + \" or \" + descriptions[1];\n\n default:\n return descriptions.slice(0, -1).join(\", \")\n + \", or \"\n + descriptions[descriptions.length - 1];\n }\n }\n\n function describeFound(found) {\n return found ? \"\\\"\" + literalEscape(found) + \"\\\"\" : \"end of input\";\n }\n\n return \"Expected \" + describeExpected(expected) + \" but \" + describeFound(found) + \" found.\";\n};\n\nfunction peg$parse(input, options) {\n options = options !== void 0 ? options : {};\n\n var peg$FAILED = {},\n\n peg$startRuleFunctions = { transformList: peg$parsetransformList },\n peg$startRuleFunction = peg$parsetransformList,\n\n peg$c0 = function(ts) { return ts; },\n peg$c1 = function(t, ts) {\n return multiply_matrices(t, ts);\n },\n peg$c2 = \"matrix\",\n peg$c3 = peg$literalExpectation(\"matrix\", false),\n peg$c4 = \"(\",\n peg$c5 = peg$literalExpectation(\"(\", false),\n peg$c6 = \")\",\n peg$c7 = peg$literalExpectation(\")\", false),\n peg$c8 = function(a, b, c, d, e, f) {\n return [\n a, c, e,\n b, d, f\n ];\n },\n peg$c9 = \"translate\",\n peg$c10 = peg$literalExpectation(\"translate\", false),\n peg$c11 = function(tx, ty) {\n return [\n 1, 0, tx,\n 0, 1, ty || 0\n ];\n },\n peg$c12 = \"scale\",\n peg$c13 = peg$literalExpectation(\"scale\", false),\n peg$c14 = function(sx, sy) {\n return [\n sx, 0, 0,\n 0, sy === null ? sx : sy, 0\n ];\n },\n peg$c15 = \"rotate\",\n peg$c16 = peg$literalExpectation(\"rotate\", false),\n peg$c17 = function(angle, c) {\n var cos = Math.cos(deg2rad * angle);\n var sin = Math.sin(deg2rad * angle);\n if (c !== null) {\n var x = c[0];\n var y = c[1];\n return [\n cos, -sin, cos * -x + -sin * -y + x,\n sin, cos, sin * -x + cos * -y + y\n ];\n }\n return [\n cos, -sin, 0,\n sin, cos, 0\n ];\n },\n peg$c18 = \"skewX\",\n peg$c19 = peg$literalExpectation(\"skewX\", false),\n peg$c20 = function(angle) {\n return [\n 1, Math.tan(deg2rad * angle), 0,\n 0, 1, 0\n ];\n },\n peg$c21 = \"skewY\",\n peg$c22 = peg$literalExpectation(\"skewY\", false),\n peg$c23 = function(angle) {\n return [\n 1, 0, 0,\n Math.tan(deg2rad * angle), 1, 0\n ];\n },\n peg$c24 = function(f) { return parseFloat(f.join(\"\")); },\n peg$c25 = function(i) { return parseInt(i.join(\"\")); },\n peg$c26 = function(n) { return n; },\n peg$c27 = function(n1, n2) { return [n1, n2]; },\n peg$c28 = \",\",\n peg$c29 = peg$literalExpectation(\",\", false),\n peg$c30 = function(ds) { return ds.join(\"\"); },\n peg$c31 = function(f) { return f.join(\"\"); },\n peg$c32 = function(d) { return d.join(\"\"); },\n peg$c33 = peg$otherExpectation(\"fractionalConstant\"),\n peg$c34 = \".\",\n peg$c35 = peg$literalExpectation(\".\", false),\n peg$c36 = function(d1, d2) { return [d1 ? d1.join(\"\") : null, \".\", d2.join(\"\")].join(\"\"); },\n peg$c37 = /^[eE]/,\n peg$c38 = peg$classExpectation([\"e\", \"E\"], false, false),\n peg$c39 = function(e) { return [e[0], e[1], e[2].join(\"\")].join(\"\"); },\n peg$c40 = /^[+\\-]/,\n peg$c41 = peg$classExpectation([\"+\", \"-\"], false, false),\n peg$c42 = /^[0-9]/,\n peg$c43 = peg$classExpectation([[\"0\", \"9\"]], false, false),\n peg$c44 = /^[ \\t\\r\\n]/,\n peg$c45 = peg$classExpectation([\" \", \"\\t\", \"\\r\", \"\\n\"], false, false),\n\n peg$currPos = 0,\n peg$savedPos = 0,\n peg$posDetailsCache = [{ line: 1, column: 1 }],\n peg$maxFailPos = 0,\n peg$maxFailExpected = [],\n peg$silentFails = 0,\n\n peg$result;\n\n if (\"startRule\" in options) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\"Can't start parsing from rule \\\"\" + options.startRule + \"\\\".\");\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n\n function expected(description, location) {\n location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)\n\n throw peg$buildStructuredError(\n [peg$otherExpectation(description)],\n input.substring(peg$savedPos, peg$currPos),\n location\n );\n }\n\n function error(message, location) {\n location = location !== void 0 ? location : peg$computeLocation(peg$savedPos, peg$currPos)\n\n throw peg$buildSimpleError(message, location);\n }\n\n function peg$literalExpectation(text, ignoreCase) {\n return { type: \"literal\", text: text, ignoreCase: ignoreCase };\n }\n\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return { type: \"class\", parts: parts, inverted: inverted, ignoreCase: ignoreCase };\n }\n\n function peg$anyExpectation() {\n return { type: \"any\" };\n }\n\n function peg$endExpectation() {\n return { type: \"end\" };\n }\n\n function peg$otherExpectation(description) {\n return { type: \"other\", description: description };\n }\n\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos], p;\n\n if (details) {\n return details;\n } else {\n p = pos - 1;\n while (!peg$posDetailsCache[p]) {\n p--;\n }\n\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column\n };\n\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n } else {\n details.column++;\n }\n\n p++;\n }\n\n peg$posDetailsCache[pos] = details;\n return details;\n }\n }\n\n function peg$computeLocation(startPos, endPos) {\n var startPosDetails = peg$computePosDetails(startPos),\n endPosDetails = peg$computePosDetails(endPos);\n\n return {\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column\n }\n };\n }\n\n function peg$fail(expected) {\n if (peg$currPos < peg$maxFailPos) { return; }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected);\n }\n\n function peg$buildSimpleError(message, location) {\n return new peg$SyntaxError(message, null, null, location);\n }\n\n function peg$buildStructuredError(expected, found, location) {\n return new peg$SyntaxError(\n peg$SyntaxError.buildMessage(expected, found),\n expected,\n found,\n location\n );\n }\n\n function peg$parsetransformList() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsewsp();\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsewsp();\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsetransforms();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parsewsp();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parsewsp();\n }\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c0(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsetransforms() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$parsetransform();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsecommaWsp();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsecommaWsp();\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsetransforms();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c1(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$parsetransform();\n }\n\n return s0;\n }\n\n function peg$parsetransform() {\n var s0;\n\n s0 = peg$parsematrix();\n if (s0 === peg$FAILED) {\n s0 = peg$parsetranslate();\n if (s0 === peg$FAILED) {\n s0 = peg$parsescale();\n if (s0 === peg$FAILED) {\n s0 = peg$parserotate();\n if (s0 === peg$FAILED) {\n s0 = peg$parseskewX();\n if (s0 === peg$FAILED) {\n s0 = peg$parseskewY();\n }\n }\n }\n }\n }\n\n return s0;\n }\n\n function peg$parsematrix() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, s17;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c2) {\n s1 = peg$c2;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c3); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsewsp();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsewsp();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsewsp();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsewsp();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsenumber();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsecommaWsp();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsenumber();\n if (s7 !== peg$FAILED) {\n s8 = peg$parsecommaWsp();\n if (s8 !== peg$FAILED) {\n s9 = peg$parsenumber();\n if (s9 !== peg$FAILED) {\n s10 = peg$parsecommaWsp();\n if (s10 !== peg$FAILED) {\n s11 = peg$parsenumber();\n if (s11 !== peg$FAILED) {\n s12 = peg$parsecommaWsp();\n if (s12 !== peg$FAILED) {\n s13 = peg$parsenumber();\n if (s13 !== peg$FAILED) {\n s14 = peg$parsecommaWsp();\n if (s14 !== peg$FAILED) {\n s15 = peg$parsenumber();\n if (s15 !== peg$FAILED) {\n s16 = [];\n s17 = peg$parsewsp();\n while (s17 !== peg$FAILED) {\n s16.push(s17);\n s17 = peg$parsewsp();\n }\n if (s16 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s17 = peg$c6;\n peg$currPos++;\n } else {\n s17 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s17 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c8(s5, s7, s9, s11, s13, s15);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsetranslate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 9) === peg$c9) {\n s1 = peg$c9;\n peg$currPos += 9;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c10); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsewsp();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsewsp();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsewsp();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsewsp();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsenumber();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsecommaWspNumber();\n if (s6 === peg$FAILED) {\n s6 = null;\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parsewsp();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parsewsp();\n }\n if (s7 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s8 = peg$c6;\n peg$currPos++;\n } else {\n s8 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s8 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c11(s5, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsescale() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5) === peg$c12) {\n s1 = peg$c12;\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c13); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsewsp();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsewsp();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsewsp();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsewsp();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsenumber();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsecommaWspNumber();\n if (s6 === peg$FAILED) {\n s6 = null;\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parsewsp();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parsewsp();\n }\n if (s7 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s8 = peg$c6;\n peg$currPos++;\n } else {\n s8 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s8 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c14(s5, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parserotate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 6) === peg$c15) {\n s1 = peg$c15;\n peg$currPos += 6;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c16); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsewsp();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsewsp();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsewsp();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsewsp();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsenumber();\n if (s5 !== peg$FAILED) {\n s6 = peg$parsecommaWspTwoNumbers();\n if (s6 === peg$FAILED) {\n s6 = null;\n }\n if (s6 !== peg$FAILED) {\n s7 = [];\n s8 = peg$parsewsp();\n while (s8 !== peg$FAILED) {\n s7.push(s8);\n s8 = peg$parsewsp();\n }\n if (s7 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s8 = peg$c6;\n peg$currPos++;\n } else {\n s8 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s8 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c17(s5, s6);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseskewX() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5) === peg$c18) {\n s1 = peg$c18;\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c19); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsewsp();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsewsp();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsewsp();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsewsp();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsenumber();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parsewsp();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parsewsp();\n }\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s7 = peg$c6;\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c20(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parseskewY() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n s0 = peg$currPos;\n if (input.substr(peg$currPos, 5) === peg$c21) {\n s1 = peg$c21;\n peg$currPos += 5;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c22); }\n }\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsewsp();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsewsp();\n }\n if (s2 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 40) {\n s3 = peg$c4;\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c5); }\n }\n if (s3 !== peg$FAILED) {\n s4 = [];\n s5 = peg$parsewsp();\n while (s5 !== peg$FAILED) {\n s4.push(s5);\n s5 = peg$parsewsp();\n }\n if (s4 !== peg$FAILED) {\n s5 = peg$parsenumber();\n if (s5 !== peg$FAILED) {\n s6 = [];\n s7 = peg$parsewsp();\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = peg$parsewsp();\n }\n if (s6 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 41) {\n s7 = peg$c6;\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c7); }\n }\n if (s7 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c23(s5);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsenumber() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$currPos;\n s2 = peg$parsesign();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsefloatingPointConstant();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c24(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$currPos;\n s2 = peg$parsesign();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parseintegerConstant();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c25(s1);\n }\n s0 = s1;\n }\n\n return s0;\n }\n\n function peg$parsecommaWspNumber() {\n var s0, s1, s2;\n\n s0 = peg$currPos;\n s1 = peg$parsecommaWsp();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumber();\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c26(s2);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecommaWspTwoNumbers() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$parsecommaWsp();\n if (s1 !== peg$FAILED) {\n s2 = peg$parsenumber();\n if (s2 !== peg$FAILED) {\n s3 = peg$parsecommaWsp();\n if (s3 !== peg$FAILED) {\n s4 = peg$parsenumber();\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c27(s2, s4);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsecommaWsp() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = [];\n s2 = peg$parsewsp();\n if (s2 !== peg$FAILED) {\n while (s2 !== peg$FAILED) {\n s1.push(s2);\n s2 = peg$parsewsp();\n }\n } else {\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n s2 = peg$parsecomma();\n if (s2 === peg$FAILED) {\n s2 = null;\n }\n if (s2 !== peg$FAILED) {\n s3 = [];\n s4 = peg$parsewsp();\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = peg$parsewsp();\n }\n if (s3 !== peg$FAILED) {\n s1 = [s1, s2, s3];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parsecomma();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$parsewsp();\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$parsewsp();\n }\n if (s2 !== peg$FAILED) {\n s1 = [s1, s2];\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n\n return s0;\n }\n\n function peg$parsecomma() {\n var s0;\n\n if (input.charCodeAt(peg$currPos) === 44) {\n s0 = peg$c28;\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c29); }\n }\n\n return s0;\n }\n\n function peg$parseintegerConstant() {\n var s0, s1;\n\n s0 = peg$currPos;\n s1 = peg$parsedigitSequence();\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c30(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsefloatingPointConstant() {\n var s0, s1, s2, s3;\n\n s0 = peg$currPos;\n s1 = peg$currPos;\n s2 = peg$parsefractionalConstant();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseexponent();\n if (s3 === peg$FAILED) {\n s3 = null;\n }\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c31(s1);\n }\n s0 = s1;\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$currPos;\n s2 = peg$parsedigitSequence();\n if (s2 !== peg$FAILED) {\n s3 = peg$parseexponent();\n if (s3 !== peg$FAILED) {\n s2 = [s2, s3];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c32(s1);\n }\n s0 = s1;\n }\n\n return s0;\n }\n\n function peg$parsefractionalConstant() {\n var s0, s1, s2, s3;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parsedigitSequence();\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 46) {\n s2 = peg$c34;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsedigitSequence();\n if (s3 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c36(s1, s3);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n if (s0 === peg$FAILED) {\n s0 = peg$currPos;\n s1 = peg$parsedigitSequence();\n if (s1 !== peg$FAILED) {\n if (input.charCodeAt(peg$currPos) === 46) {\n s2 = peg$c34;\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c35); }\n }\n if (s2 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c32(s1);\n s0 = s1;\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c33); }\n }\n\n return s0;\n }\n\n function peg$parseexponent() {\n var s0, s1, s2, s3, s4;\n\n s0 = peg$currPos;\n s1 = peg$currPos;\n if (peg$c37.test(input.charAt(peg$currPos))) {\n s2 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c38); }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parsesign();\n if (s3 === peg$FAILED) {\n s3 = null;\n }\n if (s3 !== peg$FAILED) {\n s4 = peg$parsedigitSequence();\n if (s4 !== peg$FAILED) {\n s2 = [s2, s3, s4];\n s1 = s2;\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n } else {\n peg$currPos = s1;\n s1 = peg$FAILED;\n }\n if (s1 !== peg$FAILED) {\n peg$savedPos = s0;\n s1 = peg$c39(s1);\n }\n s0 = s1;\n\n return s0;\n }\n\n function peg$parsesign() {\n var s0;\n\n if (peg$c40.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c41); }\n }\n\n return s0;\n }\n\n function peg$parsedigitSequence() {\n var s0, s1;\n\n s0 = [];\n s1 = peg$parsedigit();\n if (s1 !== peg$FAILED) {\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = peg$parsedigit();\n }\n } else {\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n function peg$parsedigit() {\n var s0;\n\n if (peg$c42.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c43); }\n }\n\n return s0;\n }\n\n function peg$parsewsp() {\n var s0;\n\n if (peg$c44.test(input.charAt(peg$currPos))) {\n s0 = input.charAt(peg$currPos);\n peg$currPos++;\n } else {\n s0 = peg$FAILED;\n if (peg$silentFails === 0) { peg$fail(peg$c45); }\n }\n\n return s0;\n }\n\n\n var deg2rad = Math.PI / 180;\n\n /*\n ╔═ ═╗ ╔═ ═╗ ╔═ ═╗\n ║ al cl el ║ ║ ar cr er ║ ║ a c e ║\n ║ bl dl fl ║ * ║ br dr fr ║ = ║ b d f ║\n ║ 0 0 1 ║ ║ 0 0 1 ║ ║ 0 0 1 ║\n ╚═ ═╝ ╚═ ═╝ ╚═ ═╝\n */\n function multiply_matrices(l, r) {\n var al = l[0];\n var cl = l[1];\n var el = l[2];\n var bl = l[3];\n var dl = l[4];\n var fl = l[5];\n\n var ar = r[0];\n var cr = r[1];\n var er = r[2];\n var br = r[3];\n var dr = r[4];\n var fr = r[5];\n\n var a = al * ar + cl * br;\n var c = al * cr + cl * dr;\n var e = al * er + cl * fr + el;\n var b = bl * ar + dl * br;\n var d = bl * cr + dl * dr;\n var f = bl * er + dl * fr + fl;\n\n return [a, c, e, b, d, f];\n }\n\n\n peg$result = peg$startRuleFunction();\n\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n\n throw peg$buildStructuredError(\n peg$maxFailExpected,\n peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,\n peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)\n );\n }\n}\n\nmodule.exports = {\n SyntaxError: peg$SyntaxError,\n parse: peg$parse\n};\n","// @generated by Peggy 4.0.3.\n//\n// https://peggyjs.org/\n\n'use strict';\n\nfunction peg$subclass(child, parent) {\n function C() {\n this.constructor = child;\n }\n C.prototype = parent.prototype;\n child.prototype = new C();\n}\n\nfunction peg$SyntaxError(message, expected, found, location) {\n var self = Error.call(this, message);\n // istanbul ignore next Check is a necessary evil to support older environments\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(self, peg$SyntaxError.prototype);\n }\n self.expected = expected;\n self.found = found;\n self.location = location;\n self.name = 'SyntaxError';\n return self;\n}\n\npeg$subclass(peg$SyntaxError, Error);\n\nfunction peg$padEnd(str, targetLength, padString) {\n padString = padString || ' ';\n if (str.length > targetLength) {\n return str;\n }\n targetLength -= str.length;\n padString += padString.repeat(targetLength);\n return str + padString.slice(0, targetLength);\n}\n\npeg$SyntaxError.prototype.format = function (sources) {\n var str = 'Error: ' + this.message;\n if (this.location) {\n var src = null;\n var k;\n for (k = 0; k < sources.length; k++) {\n if (sources[k].source === this.location.source) {\n src = sources[k].text.split(/\\r\\n|\\n|\\r/g);\n break;\n }\n }\n var s = this.location.start;\n var offset_s =\n this.location.source && typeof this.location.source.offset === 'function'\n ? this.location.source.offset(s)\n : s;\n var loc =\n this.location.source + ':' + offset_s.line + ':' + offset_s.column;\n if (src) {\n var e = this.location.end;\n var filler = peg$padEnd('', offset_s.line.toString().length, ' ');\n var line = src[s.line - 1];\n var last = s.line === e.line ? e.column : line.length + 1;\n var hatLen = last - s.column || 1;\n str +=\n '\\n --> ' +\n loc +\n '\\n' +\n filler +\n ' |\\n' +\n offset_s.line +\n ' | ' +\n line +\n '\\n' +\n filler +\n ' | ' +\n peg$padEnd('', s.column - 1, ' ') +\n peg$padEnd('', hatLen, '^');\n } else {\n str += '\\n at ' + loc;\n }\n }\n return str;\n};\n\npeg$SyntaxError.buildMessage = function (expected, found) {\n var DESCRIBE_EXPECTATION_FNS = {\n literal: function (expectation) {\n return '\"' + literalEscape(expectation.text) + '\"';\n },\n\n class: function (expectation) {\n var escapedParts = expectation.parts.map(function (part) {\n return Array.isArray(part)\n ? classEscape(part[0]) + '-' + classEscape(part[1])\n : classEscape(part);\n });\n\n return (\n '[' + (expectation.inverted ? '^' : '') + escapedParts.join('') + ']'\n );\n },\n\n any: function () {\n return 'any character';\n },\n\n end: function () {\n return 'end of input';\n },\n\n other: function (expectation) {\n return expectation.description;\n },\n };\n\n function hex(ch) {\n return ch.charCodeAt(0).toString(16).toUpperCase();\n }\n\n function literalEscape(s) {\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\"/g, '\\\\\"')\n .replace(/\\0/g, '\\\\0')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x0F]/g, function (ch) {\n return '\\\\x0' + hex(ch);\n })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) {\n return '\\\\x' + hex(ch);\n });\n }\n\n function classEscape(s) {\n return s\n .replace(/\\\\/g, '\\\\\\\\')\n .replace(/\\]/g, '\\\\]')\n .replace(/\\^/g, '\\\\^')\n .replace(/-/g, '\\\\-')\n .replace(/\\0/g, '\\\\0')\n .replace(/\\t/g, '\\\\t')\n .replace(/\\n/g, '\\\\n')\n .replace(/\\r/g, '\\\\r')\n .replace(/[\\x00-\\x0F]/g, function (ch) {\n return '\\\\x0' + hex(ch);\n })\n .replace(/[\\x10-\\x1F\\x7F-\\x9F]/g, function (ch) {\n return '\\\\x' + hex(ch);\n });\n }\n\n function describeExpectation(expectation) {\n return DESCRIBE_EXPECTATION_FNS[expectation.type](expectation);\n }\n\n function describeExpected(expected) {\n var descriptions = expected.map(describeExpectation);\n var i, j;\n\n descriptions.sort();\n\n if (descriptions.length > 0) {\n for (i = 1, j = 1; i < descriptions.length; i++) {\n if (descriptions[i - 1] !== descriptions[i]) {\n descriptions[j] = descriptions[i];\n j++;\n }\n }\n descriptions.length = j;\n }\n\n switch (descriptions.length) {\n case 1:\n return descriptions[0];\n\n case 2:\n return descriptions[0] + ' or ' + descriptions[1];\n\n default:\n return (\n descriptions.slice(0, -1).join(', ') +\n ', or ' +\n descriptions[descriptions.length - 1]\n );\n }\n }\n\n function describeFound(found) {\n return found ? '\"' + literalEscape(found) + '\"' : 'end of input';\n }\n\n return (\n 'Expected ' +\n describeExpected(expected) +\n ' but ' +\n describeFound(found) +\n ' found.'\n );\n};\n\nfunction peg$parse(input, options) {\n options = options !== undefined ? options : {};\n\n var peg$FAILED = {};\n var peg$source = options.grammarSource;\n\n var peg$startRuleFunctions = { start: peg$parsestart };\n var peg$startRuleFunction = peg$parsestart;\n\n var peg$c0 = 'matrix(';\n var peg$c1 = ')';\n var peg$c2 = 'translate(';\n var peg$c3 = 'scale(';\n var peg$c4 = 'rotate(';\n var peg$c5 = 'skewX(';\n var peg$c6 = 'skewY(';\n var peg$c7 = '.';\n var peg$c8 = 'e';\n\n var peg$r0 = /^[ \\t\\n\\r,]/;\n var peg$r1 = /^[ \\t\\n\\r]/;\n var peg$r2 = /^[+\\-]/;\n var peg$r3 = /^[0-9]/;\n\n var peg$e0 = peg$otherExpectation('transform functions');\n var peg$e1 = peg$otherExpectation('transformFunctions');\n var peg$e2 = peg$otherExpectation('transform function');\n var peg$e3 = peg$otherExpectation('matrix');\n var peg$e4 = peg$literalExpectation('matrix(', false);\n var peg$e5 = peg$literalExpectation(')', false);\n var peg$e6 = peg$otherExpectation('translate');\n var peg$e7 = peg$literalExpectation('translate(', false);\n var peg$e8 = peg$otherExpectation('scale');\n var peg$e9 = peg$literalExpectation('scale(', false);\n var peg$e10 = peg$otherExpectation('rotate');\n var peg$e11 = peg$literalExpectation('rotate(', false);\n var peg$e12 = peg$otherExpectation('x, y');\n var peg$e13 = peg$otherExpectation('skewX');\n var peg$e14 = peg$literalExpectation('skewX(', false);\n var peg$e15 = peg$otherExpectation('skewY');\n var peg$e16 = peg$literalExpectation('skewY(', false);\n var peg$e17 = peg$otherExpectation('space or comma');\n var peg$e18 = peg$classExpectation(\n [' ', '\\t', '\\n', '\\r', ','],\n false,\n false\n );\n var peg$e19 = peg$otherExpectation('whitespace');\n var peg$e20 = peg$classExpectation([' ', '\\t', '\\n', '\\r'], false, false);\n var peg$e21 = peg$classExpectation(['+', '-'], false, false);\n var peg$e22 = peg$classExpectation([['0', '9']], false, false);\n var peg$e23 = peg$literalExpectation('.', false);\n var peg$e24 = peg$literalExpectation('e', false);\n\n var peg$f0 = function (head, tail) {\n const results = Array.isArray(head) ? head : [head];\n tail.forEach((element) => {\n if (Array.isArray(element[1])) {\n results.push(...element[1]);\n } else {\n results.push(element[1]);\n }\n });\n return results;\n };\n var peg$f1 = function (a, b, c, d, e, f, g, h, i) {\n return { matrix: [a, b, c, d, e, f, g, h, i] };\n };\n var peg$f2 = function (x, y) {\n if (y == undefined) {\n return { translate: x };\n }\n return { translate: [x, y] };\n };\n var peg$f3 = function (x, y) {\n if (y == undefined) {\n return { scale: x };\n }\n return [{ scaleX: x }, { scaleY: y }];\n };\n var peg$f4 = function (x, yz) {\n if (yz !== null) {\n return { rotate: `${x}deg` };\n }\n return [{ rotate: `${x}deg` }];\n };\n var peg$f5 = function (y, z) {\n return [y, z];\n };\n var peg$f6 = function (x) {\n return [{ skewX: `${x}deg` }];\n };\n var peg$f7 = function (y) {\n return [{ skewY: `${y}deg` }];\n };\n var peg$f8 = function () {\n return parseFloat(text());\n };\n var peg$currPos = options.peg$currPos | 0;\n var peg$savedPos = peg$currPos;\n var peg$posDetailsCache = [{ line: 1, column: 1 }];\n var peg$maxFailPos = peg$currPos;\n var peg$maxFailExpected = options.peg$maxFailExpected || [];\n var peg$silentFails = options.peg$silentFails | 0;\n\n var peg$result;\n\n if (options.startRule) {\n if (!(options.startRule in peg$startRuleFunctions)) {\n throw new Error(\n 'Can\\'t start parsing from rule \"' + options.startRule + '\".'\n );\n }\n\n peg$startRuleFunction = peg$startRuleFunctions[options.startRule];\n }\n\n function text() {\n return input.substring(peg$savedPos, peg$currPos);\n }\n\n function offset() {\n return peg$savedPos;\n }\n\n function range() {\n return {\n source: peg$source,\n start: peg$savedPos,\n end: peg$currPos,\n };\n }\n\n function location() {\n return peg$computeLocation(peg$savedPos, peg$currPos);\n }\n\n function expected(description, location) {\n location =\n location !== undefined\n ? location\n : peg$computeLocation(peg$savedPos, peg$currPos);\n\n throw peg$buildStructuredError(\n [peg$otherExpectation(description)],\n input.substring(peg$savedPos, peg$currPos),\n location\n );\n }\n\n function error(message, location) {\n location =\n location !== undefined\n ? location\n : peg$computeLocation(peg$savedPos, peg$currPos);\n\n throw peg$buildSimpleError(message, location);\n }\n\n function peg$literalExpectation(text, ignoreCase) {\n return { type: 'literal', text: text, ignoreCase: ignoreCase };\n }\n\n function peg$classExpectation(parts, inverted, ignoreCase) {\n return {\n type: 'class',\n parts: parts,\n inverted: inverted,\n ignoreCase: ignoreCase,\n };\n }\n\n function peg$anyExpectation() {\n return { type: 'any' };\n }\n\n function peg$endExpectation() {\n return { type: 'end' };\n }\n\n function peg$otherExpectation(description) {\n return { type: 'other', description: description };\n }\n\n function peg$computePosDetails(pos) {\n var details = peg$posDetailsCache[pos];\n var p;\n\n if (details) {\n return details;\n } else {\n if (pos >= peg$posDetailsCache.length) {\n p = peg$posDetailsCache.length - 1;\n } else {\n p = pos;\n while (!peg$posDetailsCache[--p]) {}\n }\n\n details = peg$posDetailsCache[p];\n details = {\n line: details.line,\n column: details.column,\n };\n\n while (p < pos) {\n if (input.charCodeAt(p) === 10) {\n details.line++;\n details.column = 1;\n } else {\n details.column++;\n }\n\n p++;\n }\n\n peg$posDetailsCache[pos] = details;\n\n return details;\n }\n }\n\n function peg$computeLocation(startPos, endPos, offset) {\n var startPosDetails = peg$computePosDetails(startPos);\n var endPosDetails = peg$computePosDetails(endPos);\n\n var res = {\n source: peg$source,\n start: {\n offset: startPos,\n line: startPosDetails.line,\n column: startPosDetails.column,\n },\n end: {\n offset: endPos,\n line: endPosDetails.line,\n column: endPosDetails.column,\n },\n };\n if (offset && peg$source && typeof peg$source.offset === 'function') {\n res.start = peg$source.offset(res.start);\n res.end = peg$source.offset(res.end);\n }\n return res;\n }\n\n function peg$fail(expected) {\n if (peg$currPos < peg$maxFailPos) {\n return;\n }\n\n if (peg$currPos > peg$maxFailPos) {\n peg$maxFailPos = peg$currPos;\n peg$maxFailExpected = [];\n }\n\n peg$maxFailExpected.push(expected);\n }\n\n function peg$buildSimpleError(message, location) {\n return new peg$SyntaxError(message, null, null, location);\n }\n\n function peg$buildStructuredError(expected, found, location) {\n return new peg$SyntaxError(\n peg$SyntaxError.buildMessage(expected, found),\n expected,\n found,\n location\n );\n }\n\n function peg$parsestart() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = peg$parsetransformFunctions();\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e0);\n }\n }\n\n return s0;\n }\n\n function peg$parsetransformFunctions() {\n var s0, s1, s2, s3, s4, s5;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parsefunction();\n if (s1 !== peg$FAILED) {\n s2 = [];\n s3 = peg$currPos;\n s4 = peg$parse_();\n s5 = peg$parsefunction();\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = peg$currPos;\n s4 = peg$parse_();\n s5 = peg$parsefunction();\n if (s5 !== peg$FAILED) {\n s4 = [s4, s5];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n }\n peg$savedPos = s0;\n s0 = peg$f0(s1, s2);\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e1);\n }\n }\n\n return s0;\n }\n\n function peg$parsefunction() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = peg$parsematrix();\n if (s0 === peg$FAILED) {\n s0 = peg$parsetranslate();\n if (s0 === peg$FAILED) {\n s0 = peg$parsescale();\n if (s0 === peg$FAILED) {\n s0 = peg$parserotate();\n if (s0 === peg$FAILED) {\n s0 = peg$parseskewX();\n if (s0 === peg$FAILED) {\n s0 = peg$parseskewY();\n }\n }\n }\n }\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e2);\n }\n }\n\n return s0;\n }\n\n function peg$parsematrix() {\n var s0,\n s1,\n s2,\n s3,\n s4,\n s5,\n s6,\n s7,\n s8,\n s9,\n s10,\n s11,\n s12,\n s13,\n s14,\n s15,\n s16,\n s17,\n s18,\n s19,\n s20,\n s21,\n s22,\n s23;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (input.substr(peg$currPos, 7) === peg$c0) {\n s2 = peg$c0;\n peg$currPos += 7;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e4);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n s4 = peg$parseNUM();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsespaceOrComma();\n s6 = peg$parseNUM();\n if (s6 !== peg$FAILED) {\n s7 = peg$parsespaceOrComma();\n s8 = peg$parseNUM();\n if (s8 !== peg$FAILED) {\n s9 = peg$parsespaceOrComma();\n s10 = peg$parseNUM();\n if (s10 !== peg$FAILED) {\n s11 = peg$parsespaceOrComma();\n s12 = peg$parseNUM();\n if (s12 !== peg$FAILED) {\n s13 = peg$parsespaceOrComma();\n s14 = peg$parseNUM();\n if (s14 !== peg$FAILED) {\n s15 = peg$parsespaceOrComma();\n s16 = peg$parseNUM();\n if (s16 !== peg$FAILED) {\n s17 = peg$parsespaceOrComma();\n s18 = peg$parseNUM();\n if (s18 !== peg$FAILED) {\n s19 = peg$parsespaceOrComma();\n s20 = peg$parseNUM();\n if (s20 !== peg$FAILED) {\n s21 = peg$parse_();\n if (input.charCodeAt(peg$currPos) === 41) {\n s22 = peg$c1;\n peg$currPos++;\n } else {\n s22 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e5);\n }\n }\n if (s22 !== peg$FAILED) {\n s23 = peg$parse_();\n peg$savedPos = s0;\n s0 = peg$f1(s4, s6, s8, s10, s12, s14, s16, s18, s20);\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e3);\n }\n }\n\n return s0;\n }\n\n function peg$parsetranslate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (input.substr(peg$currPos, 10) === peg$c2) {\n s2 = peg$c2;\n peg$currPos += 10;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e7);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n s4 = peg$parseNUM();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsespaceOrComma();\n s6 = peg$parseNUM();\n if (s6 === peg$FAILED) {\n s6 = null;\n }\n s7 = peg$parse_();\n if (input.charCodeAt(peg$currPos) === 41) {\n s8 = peg$c1;\n peg$currPos++;\n } else {\n s8 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e5);\n }\n }\n if (s8 !== peg$FAILED) {\n s9 = peg$parse_();\n peg$savedPos = s0;\n s0 = peg$f2(s4, s6);\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e6);\n }\n }\n\n return s0;\n }\n\n function peg$parsescale() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8, s9;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (input.substr(peg$currPos, 6) === peg$c3) {\n s2 = peg$c3;\n peg$currPos += 6;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e9);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n s4 = peg$parseNUM();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsespaceOrComma();\n s6 = peg$parseNUM();\n if (s6 === peg$FAILED) {\n s6 = null;\n }\n s7 = peg$parse_();\n if (input.charCodeAt(peg$currPos) === 41) {\n s8 = peg$c1;\n peg$currPos++;\n } else {\n s8 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e5);\n }\n }\n if (s8 !== peg$FAILED) {\n s9 = peg$parse_();\n peg$savedPos = s0;\n s0 = peg$f3(s4, s6);\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e8);\n }\n }\n\n return s0;\n }\n\n function peg$parserotate() {\n var s0, s1, s2, s3, s4, s5, s6, s7, s8;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (input.substr(peg$currPos, 7) === peg$c4) {\n s2 = peg$c4;\n peg$currPos += 7;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e11);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n s4 = peg$parseNUM();\n if (s4 !== peg$FAILED) {\n s5 = peg$parsetwoNumbers();\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n s6 = peg$parse_();\n if (input.charCodeAt(peg$currPos) === 41) {\n s7 = peg$c1;\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e5);\n }\n }\n if (s7 !== peg$FAILED) {\n s8 = peg$parse_();\n peg$savedPos = s0;\n s0 = peg$f4(s4, s5);\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e10);\n }\n }\n\n return s0;\n }\n\n function peg$parsetwoNumbers() {\n var s0, s1, s2, s3, s4;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parsespaceOrComma();\n s2 = peg$parseNUM();\n if (s2 !== peg$FAILED) {\n s3 = peg$parsespaceOrComma();\n s4 = peg$parseNUM();\n if (s4 !== peg$FAILED) {\n peg$savedPos = s0;\n s0 = peg$f5(s2, s4);\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e12);\n }\n }\n\n return s0;\n }\n\n function peg$parseskewX() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (input.substr(peg$currPos, 6) === peg$c5) {\n s2 = peg$c5;\n peg$currPos += 6;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e14);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n s4 = peg$parseNUM();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (input.charCodeAt(peg$currPos) === 41) {\n s6 = peg$c1;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e5);\n }\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n peg$savedPos = s0;\n s0 = peg$f6(s4);\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e13);\n }\n }\n\n return s0;\n }\n\n function peg$parseskewY() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n peg$silentFails++;\n s0 = peg$currPos;\n s1 = peg$parse_();\n if (input.substr(peg$currPos, 6) === peg$c6) {\n s2 = peg$c6;\n peg$currPos += 6;\n } else {\n s2 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e16);\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$parse_();\n s4 = peg$parseNUM();\n if (s4 !== peg$FAILED) {\n s5 = peg$parse_();\n if (input.charCodeAt(peg$currPos) === 41) {\n s6 = peg$c1;\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e5);\n }\n }\n if (s6 !== peg$FAILED) {\n s7 = peg$parse_();\n peg$savedPos = s0;\n s0 = peg$f7(s4);\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n peg$silentFails--;\n if (s0 === peg$FAILED) {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e15);\n }\n }\n\n return s0;\n }\n\n function peg$parsespaceOrComma() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = [];\n s1 = input.charAt(peg$currPos);\n if (peg$r0.test(s1)) {\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e18);\n }\n }\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = input.charAt(peg$currPos);\n if (peg$r0.test(s1)) {\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e18);\n }\n }\n }\n peg$silentFails--;\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e17);\n }\n\n return s0;\n }\n\n function peg$parse_() {\n var s0, s1;\n\n peg$silentFails++;\n s0 = [];\n s1 = input.charAt(peg$currPos);\n if (peg$r1.test(s1)) {\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e20);\n }\n }\n while (s1 !== peg$FAILED) {\n s0.push(s1);\n s1 = input.charAt(peg$currPos);\n if (peg$r1.test(s1)) {\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e20);\n }\n }\n }\n peg$silentFails--;\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e19);\n }\n\n return s0;\n }\n\n function peg$parseNUM() {\n var s0, s1, s2, s3, s4, s5, s6, s7;\n\n s0 = peg$currPos;\n s1 = input.charAt(peg$currPos);\n if (peg$r2.test(s1)) {\n peg$currPos++;\n } else {\n s1 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e21);\n }\n }\n if (s1 === peg$FAILED) {\n s1 = null;\n }\n s2 = peg$currPos;\n s3 = [];\n s4 = input.charAt(peg$currPos);\n if (peg$r3.test(s4)) {\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e22);\n }\n }\n while (s4 !== peg$FAILED) {\n s3.push(s4);\n s4 = input.charAt(peg$currPos);\n if (peg$r3.test(s4)) {\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e22);\n }\n }\n }\n if (input.charCodeAt(peg$currPos) === 46) {\n s4 = peg$c7;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e23);\n }\n }\n if (s4 !== peg$FAILED) {\n s5 = [];\n s6 = input.charAt(peg$currPos);\n if (peg$r3.test(s6)) {\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e22);\n }\n }\n if (s6 !== peg$FAILED) {\n while (s6 !== peg$FAILED) {\n s5.push(s6);\n s6 = input.charAt(peg$currPos);\n if (peg$r3.test(s6)) {\n peg$currPos++;\n } else {\n s6 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e22);\n }\n }\n }\n } else {\n s5 = peg$FAILED;\n }\n if (s5 !== peg$FAILED) {\n s3 = [s3, s4, s5];\n s2 = s3;\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n } else {\n peg$currPos = s2;\n s2 = peg$FAILED;\n }\n if (s2 === peg$FAILED) {\n s2 = [];\n s3 = input.charAt(peg$currPos);\n if (peg$r3.test(s3)) {\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e22);\n }\n }\n if (s3 !== peg$FAILED) {\n while (s3 !== peg$FAILED) {\n s2.push(s3);\n s3 = input.charAt(peg$currPos);\n if (peg$r3.test(s3)) {\n peg$currPos++;\n } else {\n s3 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e22);\n }\n }\n }\n } else {\n s2 = peg$FAILED;\n }\n }\n if (s2 !== peg$FAILED) {\n s3 = peg$currPos;\n if (input.charCodeAt(peg$currPos) === 101) {\n s4 = peg$c8;\n peg$currPos++;\n } else {\n s4 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e24);\n }\n }\n if (s4 !== peg$FAILED) {\n s5 = input.charAt(peg$currPos);\n if (peg$r2.test(s5)) {\n peg$currPos++;\n } else {\n s5 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e21);\n }\n }\n if (s5 === peg$FAILED) {\n s5 = null;\n }\n s6 = [];\n s7 = input.charAt(peg$currPos);\n if (peg$r3.test(s7)) {\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e22);\n }\n }\n if (s7 !== peg$FAILED) {\n while (s7 !== peg$FAILED) {\n s6.push(s7);\n s7 = input.charAt(peg$currPos);\n if (peg$r3.test(s7)) {\n peg$currPos++;\n } else {\n s7 = peg$FAILED;\n if (peg$silentFails === 0) {\n peg$fail(peg$e22);\n }\n }\n }\n } else {\n s6 = peg$FAILED;\n }\n if (s6 !== peg$FAILED) {\n s4 = [s4, s5, s6];\n s3 = s4;\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n } else {\n peg$currPos = s3;\n s3 = peg$FAILED;\n }\n if (s3 === peg$FAILED) {\n s3 = null;\n }\n peg$savedPos = s0;\n s0 = peg$f8();\n } else {\n peg$currPos = s0;\n s0 = peg$FAILED;\n }\n\n return s0;\n }\n\n peg$result = peg$startRuleFunction();\n\n if (options.peg$library) {\n return /** @type {any} */ ({\n peg$result,\n peg$currPos,\n peg$FAILED,\n peg$maxFailExpected,\n peg$maxFailPos,\n });\n }\n if (peg$result !== peg$FAILED && peg$currPos === input.length) {\n return peg$result;\n } else {\n if (peg$result !== peg$FAILED && peg$currPos < input.length) {\n peg$fail(peg$endExpectation());\n }\n\n throw peg$buildStructuredError(\n peg$maxFailExpected,\n peg$maxFailPos < input.length ? input.charAt(peg$maxFailPos) : null,\n peg$maxFailPos < input.length\n ? peg$computeLocation(peg$maxFailPos, peg$maxFailPos + 1)\n : peg$computeLocation(peg$maxFailPos, peg$maxFailPos)\n );\n }\n}\n\nmodule.exports = {\n StartRules: ['start'],\n SyntaxError: peg$SyntaxError,\n parse: peg$parse,\n};\n","import { PanResponder } from 'react-native';\nimport type {\n extractedProps,\n ResponderInstanceProps,\n ResponderProps,\n} from './types';\n\nconst responderKeys = Object.keys(PanResponder.create({}).panHandlers);\nconst numResponderKeys = responderKeys.length;\n\nexport default function extractResponder(\n o: extractedProps,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props: { [x: string]: any } & ResponderProps,\n ref: ResponderInstanceProps,\n) {\n const {\n onPress,\n disabled,\n onPressIn,\n onPressOut,\n onLongPress,\n delayPressIn,\n delayPressOut,\n delayLongPress,\n pointerEvents,\n } = props;\n\n let responsible = false;\n for (let i = 0; i < numResponderKeys; i++) {\n const key = responderKeys[i];\n const value = props[key];\n if (value) {\n responsible = true;\n o[key] = value;\n }\n }\n\n if (pointerEvents) {\n o.pointerEvents = pointerEvents;\n }\n\n const hasTouchableProperty =\n disabled != null ||\n onPress ||\n onPressIn ||\n onPressOut ||\n onLongPress ||\n delayPressIn ||\n delayPressOut ||\n delayLongPress;\n\n if (hasTouchableProperty) {\n responsible = true;\n o.onResponderMove = ref.touchableHandleResponderMove;\n o.onResponderGrant = ref.touchableHandleResponderGrant;\n o.onResponderRelease = ref.touchableHandleResponderRelease;\n o.onResponderTerminate = ref.touchableHandleResponderTerminate;\n o.onStartShouldSetResponder = ref.touchableHandleStartShouldSetResponder;\n o.onResponderTerminationRequest =\n ref.touchableHandleResponderTerminationRequest;\n }\n\n if (responsible) {\n o.responsible = true;\n }\n}\n","import type { ReactNode } from 'react';\nimport * as React from 'react';\nimport { extract } from '../lib/extract/extractProps';\nimport Shape from './Shape';\nimport RNSVGClipPath from '../fabric/ClipPathNativeComponent';\n\nexport interface ClipPathProps {\n children?: ReactNode;\n id?: string;\n}\n\nexport default class ClipPath extends Shape {\n static displayName = 'ClipPath';\n\n render() {\n const { props } = this;\n return (\n \n {props.children}\n \n );\n }\n}\n","import * as React from 'react';\nimport { Component } from 'react';\nimport RNSVGDefs from '../fabric/DefsNativeComponent';\n\nexport default class Defs extends Component {\n static displayName = 'Defs';\n\n render() {\n return {this.props.children};\n }\n}\n","import * as React from 'react';\nimport { extract } from '../lib/extract/extractProps';\nimport type { CommonPathProps, NumberProp } from '../lib/extract/types';\nimport Shape from './Shape';\nimport RNSVGEllipse from '../fabric/EllipseNativeComponent';\nimport type { NativeMethods } from 'react-native';\n\nexport interface EllipseProps extends CommonPathProps {\n cx?: NumberProp;\n cy?: NumberProp;\n opacity?: NumberProp;\n rx?: NumberProp;\n ry?: NumberProp;\n}\n\nexport default class Ellipse extends Shape {\n static displayName = 'Ellipse';\n\n static defaultProps = {\n cx: 0,\n cy: 0,\n rx: 0,\n ry: 0,\n };\n\n render() {\n const { props } = this;\n const { cx, cy, rx, ry } = props;\n const ellipseProps = {\n ...extract(this, props),\n cx,\n cy,\n rx,\n ry,\n };\n return (\n this.refMethod(ref as (Ellipse & NativeMethods) | null)}\n {...ellipseProps}\n />\n );\n }\n}\n","import type { ReactNode } from 'react';\nimport * as React from 'react';\nimport { withoutXY } from '../lib/extract/extractProps';\nimport type { NumberProp } from '../lib/extract/types';\nimport G from './G';\nimport RNSVGForeignObject from '../fabric/ForeignObjectNativeComponent';\nimport type { NativeMethods } from 'react-native';\n\nexport interface ForeignObjectProps {\n children?: ReactNode;\n x?: NumberProp;\n y?: NumberProp;\n width?: NumberProp;\n height?: NumberProp;\n}\n\nexport default class ForeignObject extends G {\n static displayName = 'ForeignObject';\n\n static defaultProps = {\n x: '0%',\n y: '0%',\n width: '100%',\n height: '100%',\n };\n\n render() {\n const { props } = this;\n const { x, y, width, height, children } = props;\n const foreignObjectProps = { x, y, width, height };\n return (\n \n this.refMethod(ref as (ForeignObject & NativeMethods) | null)\n }\n {...withoutXY(this, props)}\n {...foreignObjectProps}>\n {children}\n \n );\n }\n}\n","import type { ReactNode } from 'react';\nimport * as React from 'react';\nimport extractProps, { propsAndStyles } from '../lib/extract/extractProps';\nimport { extractFont } from '../lib/extract/extractText';\nimport extractTransform from '../lib/extract/extractTransform';\nimport type {\n CommonPathProps,\n FontProps,\n NumberProp,\n} from '../lib/extract/types';\nimport Shape from './Shape';\nimport RNSVGGroup from '../fabric/GroupNativeComponent';\nimport type { NativeMethods } from 'react-native';\n\nexport interface GProps extends CommonPathProps, FontProps {\n children?: ReactNode;\n opacity?: NumberProp;\n}\n\nexport default class G

extends Shape {\n static displayName = 'G';\n\n setNativeProps = (\n props: GProps &\n P & {\n matrix?: number[];\n }\n ) => {\n const matrix = !props.matrix && extractTransform(props);\n if (matrix) {\n props.matrix = matrix;\n }\n this.root?.setNativeProps(props);\n };\n\n render() {\n const { props } = this;\n const prop = propsAndStyles(props);\n const extractedProps = extractProps(prop, this);\n const font = extractFont(prop);\n if (hasProps(font)) {\n extractedProps.font = font;\n }\n return (\n this.refMethod(ref as (G

& NativeMethods) | null)}\n {...extractedProps}>\n {props.children}\n \n );\n }\n}\n\nconst hasProps = (obj: object) => {\n // eslint-disable-next-line no-unreachable-loop\n for (const _ in obj) {\n return true;\n }\n return false;\n};\n","import type { ComponentType } from 'react';\nimport * as React from 'react';\nimport { Children } from 'react';\nimport extractLengthList from './extractLengthList';\nimport { pickNotNil } from '../util';\nimport type { NumberArray, NumberProp } from './types';\n\nconst fontRegExp =\n /^\\s*((?:(?:normal|bold|italic)\\s+)*)(?:(\\d+(?:\\.\\d+)?(?:%|px|em|pt|pc|mm|cm|in]))*(?:\\s*\\/.*?)?\\s+)?\\s*\"?([^\"]*)/i;\nconst fontFamilyPrefix = /^[\\s\"']*/;\nconst fontFamilySuffix = /[\\s\"']*$/;\nconst commaReg = /\\s*,\\s*/g;\n\nconst cachedFontObjectsFromString: {\n [font: string]: {\n fontStyle: string;\n fontSize: NumberProp;\n fontWeight: NumberProp;\n fontFamily: string | null;\n } | null;\n} = {};\n\nfunction extractSingleFontFamily(fontFamilyString?: string) {\n // SVG on the web allows for multiple font-families to be specified.\n // For compatibility, we extract the first font-family, hoping\n // we'll get a match.\n return fontFamilyString\n ? fontFamilyString\n .split(commaReg)[0]\n .replace(fontFamilyPrefix, '')\n .replace(fontFamilySuffix, '')\n : null;\n}\n\nfunction parseFontString(font: string) {\n if (Object.prototype.hasOwnProperty.call(cachedFontObjectsFromString, font)) {\n return cachedFontObjectsFromString[font];\n }\n const match = fontRegExp.exec(font);\n if (!match) {\n cachedFontObjectsFromString[font] = null;\n return null;\n }\n const isBold = /bold/.exec(match[1]);\n const isItalic = /italic/.exec(match[1]);\n cachedFontObjectsFromString[font] = {\n fontSize: match[2] || 12,\n fontWeight: isBold ? 'bold' : 'normal',\n fontStyle: isItalic ? 'italic' : 'normal',\n fontFamily: extractSingleFontFamily(match[3]),\n };\n return cachedFontObjectsFromString[font];\n}\n\ninterface fontProps {\n fontStyle?: string;\n fontVariant?: string;\n fontWeight?: NumberProp;\n fontStretch?: string;\n fontSize?: NumberProp;\n fontFamily?: string;\n textAnchor?: string;\n textDecoration?: string;\n letterSpacing?: NumberProp;\n wordSpacing?: NumberProp;\n kerning?: NumberProp;\n fontFeatureSettings?: string;\n fontVariantLigatures?: string;\n fontVariationSettings?: string;\n font?: string;\n}\n\nexport function extractFont(props: fontProps) {\n const {\n fontStyle,\n fontVariant,\n fontWeight,\n fontStretch,\n fontSize,\n fontFamily,\n textAnchor,\n textDecoration,\n letterSpacing,\n wordSpacing,\n kerning,\n fontFeatureSettings,\n fontVariantLigatures,\n fontVariationSettings,\n font,\n } = props;\n\n const ownedFont = pickNotNil({\n fontStyle,\n fontVariant,\n fontWeight,\n fontStretch,\n fontSize,\n fontFamily: extractSingleFontFamily(fontFamily),\n textAnchor,\n textDecoration,\n letterSpacing,\n wordSpacing,\n kerning,\n fontFeatureSettings,\n fontVariantLigatures,\n fontVariationSettings,\n });\n\n const baseFont = typeof font === 'string' ? parseFontString(font) : font;\n\n return { ...baseFont, ...ownedFont };\n}\n\nlet TSpan: ComponentType;\n\nexport function setTSpan(TSpanImplementation: ComponentType) {\n TSpan = TSpanImplementation;\n}\n\nexport type TextChild =\n | (undefined | string | number | ComponentType | React.ReactElement)\n | TextChild[];\n\nfunction getChild(child: TextChild) {\n if (typeof child === 'string' || typeof child === 'number') {\n return {String(child)};\n } else {\n return child;\n }\n}\n\nexport type TextProps = {\n x?: NumberArray;\n y?: NumberArray;\n dx?: NumberArray;\n dy?: NumberArray;\n rotate?: NumberArray;\n children?: TextChild;\n inlineSize?: NumberProp;\n baselineShift?: NumberProp;\n verticalAlign?: NumberProp;\n alignmentBaseline?: string;\n} & fontProps;\n\nexport default function extractText(props: TextProps, container: boolean) {\n const {\n x,\n y,\n dx,\n dy,\n rotate,\n children,\n inlineSize,\n baselineShift,\n verticalAlign,\n alignmentBaseline,\n } = props;\n\n const textChildren =\n typeof children === 'string' || typeof children === 'number' ? (\n container ? (\n {String(children)}\n ) : null\n ) : Children.count(children) > 1 || Array.isArray(children) ? (\n Children.map(children, getChild)\n ) : (\n children\n );\n\n return {\n content: textChildren === null ? String(children) : null,\n children: textChildren,\n inlineSize,\n baselineShift,\n verticalAlign,\n alignmentBaseline,\n font: extractFont(props),\n x: extractLengthList(x),\n y: extractLengthList(y),\n dx: extractLengthList(dx),\n dy: extractLengthList(dy),\n rotate: extractLengthList(rotate),\n };\n}\n","import * as React from 'react';\nimport type {\n ImageProps as RNImageProps,\n NativeMethods,\n NativeSyntheticEvent,\n ImageLoadEventData,\n} from 'react-native';\nimport { Image } from 'react-native';\nimport { alignEnum, meetOrSliceTypes } from '../lib/extract/extractViewBox';\nimport { withoutXY } from '../lib/extract/extractProps';\nimport type { CommonPathProps, NumberProp } from '../lib/extract/types';\nimport Shape from './Shape';\nimport RNSVGImage from '../fabric/ImageNativeComponent';\n\nconst spacesRegExp = /\\s+/;\n\nexport interface ImageProps extends CommonPathProps {\n x?: NumberProp;\n y?: NumberProp;\n width?: NumberProp;\n height?: NumberProp;\n xlinkHref?: RNImageProps['source'] | string;\n href?: RNImageProps['source'] | string;\n preserveAspectRatio?: string;\n opacity?: NumberProp;\n onLoad?: (e: NativeSyntheticEvent) => void;\n}\n\nexport default class SvgImage extends Shape {\n static displayName = 'Image';\n\n static defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n preserveAspectRatio: 'xMidYMid meet',\n };\n\n render() {\n const { props } = this;\n const {\n preserveAspectRatio,\n x,\n y,\n width,\n height,\n xlinkHref,\n href = xlinkHref,\n onLoad,\n } = props;\n const modes = preserveAspectRatio\n ? preserveAspectRatio.trim().split(spacesRegExp)\n : [];\n const align = modes[0];\n const meetOrSlice: 'meet' | 'slice' | 'none' | string | undefined =\n modes[1];\n const imageProps = {\n x,\n y,\n width,\n height,\n onLoad,\n meetOrSlice: meetOrSliceTypes[meetOrSlice] || 0,\n align: alignEnum[align] || 'xMidYMid',\n src: !href\n ? null\n : Image.resolveAssetSource(\n typeof href === 'string' ? { uri: href } : href\n ),\n };\n return (\n this.refMethod(ref as (SvgImage & NativeMethods) | null)}\n {...withoutXY(this, props)}\n {...imageProps}\n />\n );\n }\n}\n","import type { NumberProp } from './types';\n\nexport const meetOrSliceTypes: {\n [meetOrSlice: string]: number;\n} = {\n meet: 0,\n slice: 1,\n none: 2,\n};\n\nexport const alignEnum: { [align: string]: string } = [\n 'xMinYMin',\n 'xMidYMin',\n 'xMaxYMin',\n 'xMinYMid',\n 'xMidYMid',\n 'xMaxYMid',\n 'xMinYMax',\n 'xMidYMax',\n 'xMaxYMax',\n 'none',\n].reduce((prev: { [align: string]: string }, name) => {\n prev[name] = name;\n return prev;\n}, {});\n\nconst spacesRegExp = /\\s+/;\n\nexport default function extractViewBox(props: {\n viewBox?: string | NumberProp[];\n preserveAspectRatio?: string;\n}) {\n const { viewBox, preserveAspectRatio } = props;\n\n if (!viewBox) {\n return null;\n }\n\n const params = (\n Array.isArray(viewBox)\n ? viewBox\n : viewBox.trim().replace(/,/g, ' ').split(spacesRegExp)\n ).map(Number);\n\n if (params.length !== 4 || params.some(isNaN)) {\n console.warn('Invalid `viewBox` prop:' + viewBox);\n return null;\n }\n\n const modes = preserveAspectRatio\n ? preserveAspectRatio.trim().split(spacesRegExp)\n : [];\n const align = modes[0];\n const meetOrSlice = modes[1];\n\n return {\n minX: params[0],\n minY: params[1],\n vbWidth: params[2],\n vbHeight: params[3],\n align: alignEnum[align] || 'xMidYMid',\n meetOrSlice: meetOrSliceTypes[meetOrSlice] || 0,\n };\n}\n","import * as React from 'react';\nimport { extract } from '../lib/extract/extractProps';\nimport type { CommonPathProps, NumberProp } from '../lib/extract/types';\nimport Shape from './Shape';\nimport RNSVGLine from '../fabric/LineNativeComponent';\nimport type { NativeMethods } from 'react-native';\n\nexport interface LineProps extends CommonPathProps {\n opacity?: NumberProp;\n x1?: NumberProp;\n x2?: NumberProp;\n y1?: NumberProp;\n y2?: NumberProp;\n}\n\nexport default class Line extends Shape {\n static displayName = 'Line';\n\n static defaultProps = {\n x1: 0,\n y1: 0,\n x2: 0,\n y2: 0,\n };\n\n render() {\n const { props } = this;\n const { x1, y1, x2, y2 } = props;\n const lineProps = {\n ...extract(this, props),\n x1,\n y1,\n x2,\n y2,\n };\n return (\n this.refMethod(ref as (Line & NativeMethods) | null)}\n {...lineProps}\n />\n );\n }\n}\n","import type { ReactElement } from 'react';\nimport * as React from 'react';\nimport extractGradient from '../lib/extract/extractGradient';\nimport type { NumberProp, TransformProps, Units } from '../lib/extract/types';\nimport Shape from './Shape';\nimport RNSVGLinearGradient from '../fabric/LinearGradientNativeComponent';\nimport type { NativeMethods } from 'react-native';\n\nexport interface LinearGradientProps {\n children?: ReactElement[];\n x1?: NumberProp;\n x2?: NumberProp;\n y1?: NumberProp;\n y2?: NumberProp;\n gradientUnits?: Units;\n gradientTransform?: TransformProps['transform'];\n id?: string;\n}\n\nexport default class LinearGradient extends Shape {\n static displayName = 'LinearGradient';\n\n static defaultProps = {\n x1: '0%',\n y1: '0%',\n x2: '100%',\n y2: '0%',\n };\n\n render() {\n const { props } = this;\n const { x1, y1, x2, y2 } = props;\n const linearGradientProps = { x1, y1, x2, y2 };\n return (\n \n this.refMethod(ref as (LinearGradient & NativeMethods) | null)\n }\n {...linearGradientProps}\n {...extractGradient(props, this)}\n />\n );\n }\n}\n","import type { ReactElement } from 'react';\nimport * as React from 'react';\nimport { Children } from 'react';\nimport { processColor } from 'react-native';\n\nimport extractOpacity from './extractOpacity';\nimport extractTransform from './extractTransform';\nimport type { TransformProps } from './types';\nimport units from '../units';\n\nconst percentReg = /^([+-]?\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?)(%?)$/;\n\nfunction percentToFloat(\n percent:\n | number\n | string\n | {\n __getAnimatedValue: () => number;\n }\n): number {\n if (typeof percent === 'number') {\n return percent;\n }\n if (\n typeof percent === 'object' &&\n typeof percent.__getAnimatedValue === 'function'\n ) {\n return percent.__getAnimatedValue();\n }\n const matched = typeof percent === 'string' && percent.match(percentReg);\n if (!matched) {\n console.warn(`\"${percent}\" is not a valid number or percentage string.`);\n return 0;\n }\n\n return matched[2] ? +matched[1] / 100 : +matched[1];\n}\n\nconst offsetComparator = (object: number[], other: number[]) =>\n object[0] - other[0];\n\nexport default function extractGradient(\n props: {\n id?: string;\n children?: ReactElement[];\n transform?: TransformProps['transform'];\n gradientTransform?: TransformProps['transform'];\n gradientUnits?: 'objectBoundingBox' | 'userSpaceOnUse';\n } & TransformProps,\n parent: unknown\n) {\n const { id, children, gradientTransform, transform, gradientUnits } = props;\n if (!id) {\n return null;\n }\n\n const stops = [];\n const childArray = children\n ? Children.map(children, (child) =>\n React.cloneElement(child, {\n parent,\n })\n )\n : [];\n const l = childArray.length;\n for (let i = 0; i < l; i++) {\n const {\n props: {\n style,\n offset = style && style.offset,\n stopColor = (style && style.stopColor) || '#000',\n stopOpacity = style && style.stopOpacity,\n },\n } = childArray[i];\n const offsetNumber = percentToFloat(offset || 0);\n const color = stopColor && processColor(stopColor);\n if (typeof color !== 'number' || isNaN(offsetNumber)) {\n console.warn(\n `\"${stopColor}\" is not a valid color or \"${offset}\" is not a valid offset`\n );\n continue;\n }\n const alpha = Math.round(extractOpacity(stopOpacity) * 255);\n stops.push([offsetNumber, (color & 0x00ffffff) | (alpha << 24)]);\n }\n stops.sort(offsetComparator);\n\n const gradient = [];\n const k = stops.length;\n for (let j = 0; j < k; j++) {\n const s = stops[j];\n gradient.push(s[0], s[1]);\n }\n\n return {\n name: id,\n gradient,\n children: childArray,\n gradientUnits: (gradientUnits && units[gradientUnits]) || 0,\n gradientTransform: extractTransform(\n gradientTransform || transform || props\n ),\n };\n}\n","export const units: { objectBoundingBox: number; userSpaceOnUse: number } = {\n objectBoundingBox: 0,\n userSpaceOnUse: 1,\n};\nexport default units;\n","import type { ReactNode } from 'react';\nimport * as React from 'react';\nimport extractViewBox from '../lib/extract/extractViewBox';\nimport type { NumberProp } from '../lib/extract/types';\nimport Shape from './Shape';\nimport RNSVGMarker from '../fabric/MarkerNativeComponent';\nimport type { NativeMethods } from 'react-native';\n\nexport type MarkerUnits = 'strokeWidth' | 'userSpaceOnUse';\n\nexport type Orient = 'auto' | 'auto-start-reverse';\n\nexport interface MarkerProps {\n children?: ReactNode;\n id?: string;\n viewBox?: string;\n preserveAspectRatio?: string;\n refX?: NumberProp;\n refY?: NumberProp;\n markerWidth?: NumberProp;\n markerHeight?: NumberProp;\n markerUnits?: MarkerUnits;\n orient?: Orient | NumberProp;\n}\n\nexport default class Marker extends Shape {\n static displayName = 'Marker';\n\n static defaultProps = {\n refX: 0,\n refY: 0,\n orient: '0',\n markerWidth: 3,\n markerHeight: 3,\n markerUnits: 'strokeWidth',\n };\n\n render() {\n const { props } = this;\n const {\n id,\n viewBox,\n preserveAspectRatio,\n refX,\n refY,\n markerUnits,\n orient,\n markerWidth,\n markerHeight,\n children,\n } = props;\n const markerProps = {\n name: id,\n refX,\n refY,\n markerUnits,\n orient: String(orient),\n markerWidth,\n markerHeight,\n };\n\n return (\n this.refMethod(ref as (Marker & NativeMethods) | null)}\n {...markerProps}\n {...extractViewBox({ viewBox, preserveAspectRatio })}>\n {children}\n \n );\n }\n}\n","import type { ReactNode } from 'react';\nimport * as React from 'react';\nimport { withoutXY } from '../lib/extract/extractProps';\nimport type {\n CommonPathProps,\n MaskType,\n NumberProp,\n Units,\n} from '../lib/extract/types';\nimport units from '../lib/units';\nimport Shape from './Shape';\nimport RNSVGMask from '../fabric/MaskNativeComponent';\nimport type { NativeMethods } from 'react-native';\nimport { maskType } from '../lib/maskType';\n\nexport interface MaskProps extends CommonPathProps {\n children?: ReactNode;\n id?: string;\n x?: NumberProp;\n y?: NumberProp;\n width?: NumberProp;\n height?: NumberProp;\n maskUnits?: Units;\n maskContentUnits?: Units;\n maskType?: MaskType;\n style?: {\n maskType: MaskType;\n };\n}\n\nexport default class Mask extends Shape {\n static displayName = 'Mask';\n\n static defaultProps = {\n x: '0%',\n y: '0%',\n width: '100%',\n height: '100%',\n };\n\n render() {\n const { props } = this;\n const {\n x,\n y,\n width,\n height,\n maskUnits,\n maskContentUnits,\n children,\n style,\n } = props;\n const maskProps = {\n x,\n y,\n width,\n height,\n maskUnits: maskUnits !== undefined ? units[maskUnits] : 0,\n maskContentUnits:\n maskContentUnits !== undefined ? units[maskContentUnits] : 1,\n maskType: maskType[props?.maskType || style?.maskType || 'luminance'],\n };\n return (\n this.refMethod(ref as (Mask & NativeMethods) | null)}\n {...withoutXY(this, props)}\n {...maskProps}>\n {children}\n \n );\n }\n}\n","export const maskType = {\n luminance: 0,\n alpha: 1,\n} as const;\n","import * as React from 'react';\nimport { extract } from '../lib/extract/extractProps';\nimport Shape from './Shape';\nimport RNSVGPath from '../fabric/PathNativeComponent';\nimport type { CommonPathProps, NumberProp } from '../lib/extract/types';\nimport type { NativeMethods } from 'react-native';\n\nexport interface PathProps extends CommonPathProps {\n d?: string;\n opacity?: NumberProp;\n}\n\nexport default class Path extends Shape {\n static displayName = 'Path';\n\n render() {\n const { props } = this;\n const { d } = props;\n const pathProps = { ...extract(this, props), d };\n\n return (\n this.refMethod(ref as (Path & NativeMethods) | null)}\n {...pathProps}\n />\n );\n }\n}\n","import type { ReactNode } from 'react';\nimport * as React from 'react';\nimport extractTransform from '../lib/extract/extractTransform';\nimport extractViewBox from '../lib/extract/extractViewBox';\nimport type { NumberProp, TransformProps, Units } from '../lib/extract/types';\nimport units from '../lib/units';\nimport Shape from './Shape';\nimport RNSVGPattern from '../fabric/PatternNativeComponent';\nimport type { NativeMethods } from 'react-native';\n\nexport interface PatternProps extends TransformProps {\n children?: ReactNode;\n id?: string;\n x?: NumberProp;\n y?: NumberProp;\n width?: NumberProp;\n height?: NumberProp;\n patternTransform?: TransformProps['transform'];\n patternUnits?: Units;\n patternContentUnits?: Units;\n viewBox?: string;\n preserveAspectRatio?: string;\n}\n\nexport default class Pattern extends Shape {\n static displayName = 'Pattern';\n\n static defaultProps = {\n x: '0%',\n y: '0%',\n width: '100%',\n height: '100%',\n };\n\n render() {\n const { props } = this;\n const {\n patternTransform,\n transform,\n id,\n x,\n y,\n width,\n height,\n patternUnits,\n patternContentUnits,\n children,\n viewBox,\n preserveAspectRatio,\n } = props;\n const matrix = extractTransform(patternTransform || transform || props);\n const patternProps = {\n x,\n y,\n width,\n height,\n name: id,\n matrix,\n patternTransform: matrix,\n patternUnits: (patternUnits && units[patternUnits]) || 0,\n patternContentUnits: patternContentUnits ? units[patternContentUnits] : 1,\n };\n return (\n this.refMethod(ref as (Pattern & NativeMethods) | null)}\n {...patternProps}\n {...extractViewBox({ viewBox, preserveAspectRatio })}>\n {children}\n \n );\n }\n}\n","import * as React from 'react';\nimport Path from './Path';\nimport Shape from './Shape';\nimport type { CommonPathProps, NumberProp } from '../lib/extract/types';\nimport extractPolyPoints from '../lib/extract/extractPolyPoints';\n\nexport interface PolygonProps extends CommonPathProps {\n opacity?: NumberProp;\n points?: string | ReadonlyArray;\n}\n\nexport default class Polygon extends Shape {\n static displayName = 'Polygon';\n\n static defaultProps = {\n points: '',\n };\n\n setNativeProps = (\n props: PolygonProps & {\n d?: string;\n }\n ) => {\n const { points } = props;\n if (points) {\n props.d = `M${extractPolyPoints(points)}z`;\n }\n this.root && this.root.setNativeProps(props);\n };\n\n render() {\n const { props } = this;\n const { points } = props;\n return (\n void}\n d={points && `M${extractPolyPoints(points)}z`}\n {...props}\n />\n );\n }\n}\n","import type { NumberProp } from './types';\n\nexport default function extractPolyPoints(\n points: string | readonly NumberProp[],\n) {\n const polyPoints = Array.isArray(points) ? points.join(',') : points;\n return (polyPoints as string)\n .replace(/[^eE]-/, ' -')\n .split(/(?:\\s+|\\s*,\\s*)/g)\n .join(' ');\n}\n","import * as React from 'react';\nimport Path from './Path';\nimport Shape from './Shape';\nimport type { CommonPathProps, NumberProp } from '../lib/extract/types';\nimport extractPolyPoints from '../lib/extract/extractPolyPoints';\n\nexport interface PolylineProps extends CommonPathProps {\n opacity?: NumberProp;\n points?: string | ReadonlyArray;\n}\n\nexport default class Polyline extends Shape {\n static displayName = 'Polyline';\n\n static defaultProps = {\n points: '',\n };\n\n setNativeProps = (\n props: PolylineProps & {\n d?: string;\n }\n ) => {\n const { points } = props;\n if (points) {\n props.d = `M${extractPolyPoints(points)}`;\n }\n this.root && this.root.setNativeProps(props);\n };\n\n render() {\n const { props } = this;\n const { points } = props;\n return (\n void}\n d={points && `M${extractPolyPoints(points)}`}\n {...props}\n />\n );\n }\n}\n","import type { ReactElement } from 'react';\nimport * as React from 'react';\nimport extractGradient from '../lib/extract/extractGradient';\nimport type { NumberProp, TransformProps, Units } from '../lib/extract/types';\nimport Shape from './Shape';\nimport RNSVGRadialGradient from '../fabric/RadialGradientNativeComponent';\nimport type { NativeMethods } from 'react-native';\n\nexport interface RadialGradientProps {\n children?: ReactElement[];\n fx?: NumberProp;\n fy?: NumberProp;\n rx?: NumberProp;\n ry?: NumberProp;\n cx?: NumberProp;\n cy?: NumberProp;\n r?: NumberProp;\n gradientUnits?: Units;\n gradientTransform?: TransformProps['transform'];\n id?: string;\n}\n\nexport default class RadialGradient extends Shape {\n static displayName = 'RadialGradient';\n\n static defaultProps = {\n cx: '50%',\n cy: '50%',\n r: '50%',\n };\n\n render() {\n const { props } = this;\n const { rx, ry, r, cx, cy, fx = cx, fy = cy } = props;\n const radialGradientProps = {\n fx,\n fy,\n rx: rx || r,\n ry: ry || r,\n cx,\n cy,\n };\n return (\n \n this.refMethod(ref as (RadialGradient & NativeMethods) | null)\n }\n {...radialGradientProps}\n {...extractGradient(props, this)}\n />\n );\n }\n}\n","import * as React from 'react';\nimport { withoutXY } from '../lib/extract/extractProps';\nimport type { CommonPathProps, NumberProp } from '../lib/extract/types';\nimport Shape from './Shape';\nimport RNSVGRect from '../fabric/RectNativeComponent';\nimport type { NativeMethods } from 'react-native';\n\nexport interface RectProps extends CommonPathProps {\n x?: NumberProp;\n y?: NumberProp;\n width?: NumberProp;\n height?: NumberProp;\n rx?: NumberProp;\n ry?: NumberProp;\n opacity?: NumberProp;\n}\n\nexport default class Rect extends Shape {\n static displayName = 'Rect';\n\n static defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n\n render() {\n const { props } = this;\n const { x, y, width, height, rx, ry } = props;\n const rectProps = { x, y, width, height, rx, ry };\n return (\n this.refMethod(ref as (Rect & NativeMethods) | null)}\n {...withoutXY(this, props)}\n {...rectProps}\n />\n );\n }\n}\n","import { Component } from 'react';\nimport type { ColorValue } from 'react-native';\nimport type { NumberProp } from '../lib/extract/types';\n\nexport interface StopProps {\n stopColor?: ColorValue;\n stopOpacity?: NumberProp;\n offset?: NumberProp;\n parent?: Component;\n}\n\nexport default class Stop extends Component {\n static displayName = 'Stop';\n\n setNativeProps = () => {\n const { parent } = this.props;\n if (parent) {\n parent.forceUpdate();\n }\n };\n\n render() {\n return null;\n }\n}\n","import type { Component } from 'react';\nimport * as React from 'react';\nimport type {\n ColorValue,\n MeasureInWindowOnSuccessCallback,\n MeasureLayoutOnSuccessCallback,\n MeasureOnSuccessCallback,\n NativeMethods,\n StyleProp,\n ViewStyle,\n} from 'react-native';\nimport { findNodeHandle, Platform, StyleSheet } from 'react-native';\nimport type {\n extractedProps,\n HitSlop,\n NumberProp,\n ResponderInstanceProps,\n} from '../lib/extract/types';\nimport extractResponder from '../lib/extract/extractResponder';\nimport extractViewBox from '../lib/extract/extractViewBox';\nimport Shape from './Shape';\nimport type { GProps } from './G';\nimport G from './G';\nimport RNSVGSvgAndroid from '../fabric/AndroidSvgViewNativeComponent';\nimport RNSVGSvgIOS from '../fabric/IOSSvgViewNativeComponent';\nimport type { Spec } from '../fabric/NativeSvgViewModule';\nimport extractOpacity from '../lib/extract/extractOpacity';\nimport { extractTransformSvgView } from '../lib/extract/extractTransform';\nimport { ViewProps } from '../fabric/utils';\n\nconst styles = StyleSheet.create({\n svg: {\n backgroundColor: 'transparent',\n borderWidth: 0,\n },\n});\nconst defaultStyle = styles.svg;\n\nexport interface SvgProps extends GProps, ViewProps, HitSlop {\n width?: NumberProp;\n height?: NumberProp;\n viewBox?: string;\n preserveAspectRatio?: string;\n color?: ColorValue;\n title?: string;\n}\n\nexport default class Svg extends Shape {\n static displayName = 'Svg';\n\n static defaultProps = {\n preserveAspectRatio: 'xMidYMid meet',\n };\n\n measureInWindow = (callback: MeasureInWindowOnSuccessCallback) => {\n const { root } = this;\n root && root.measureInWindow(callback);\n };\n\n measure = (callback: MeasureOnSuccessCallback) => {\n const { root } = this;\n root && root.measure(callback);\n };\n\n measureLayout = (\n relativeToNativeNode: number,\n onSuccess: MeasureLayoutOnSuccessCallback,\n onFail: () => void /* currently unused */\n ) => {\n const { root } = this;\n root && root.measureLayout(relativeToNativeNode, onSuccess, onFail);\n };\n\n setNativeProps = (\n props: SvgProps & {\n bbWidth?: NumberProp;\n bbHeight?: NumberProp;\n }\n ) => {\n const { root } = this;\n root && root.setNativeProps(props);\n };\n\n toDataURL = (callback: (base64: string) => void, options?: object) => {\n if (!callback) {\n return;\n }\n const handle = findNodeHandle(this.root as Component);\n const RNSVGSvgViewModule: Spec =\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n require('../fabric/NativeSvgViewModule').default;\n RNSVGSvgViewModule.toDataURL(handle, options, callback);\n };\n\n render() {\n const {\n style,\n opacity,\n viewBox,\n children,\n onLayout,\n preserveAspectRatio,\n ...extracted\n } = this.props;\n const stylesAndProps = {\n ...(Array.isArray(style) ? Object.assign({}, ...style) : style),\n ...extracted,\n };\n let {\n width,\n height,\n focusable,\n transform,\n\n // Inherited G properties\n font,\n fill,\n fillOpacity,\n fillRule,\n stroke,\n strokeWidth,\n strokeOpacity,\n strokeDasharray,\n strokeDashoffset,\n strokeLinecap,\n strokeLinejoin,\n strokeMiterlimit,\n position,\n } = stylesAndProps;\n if (\n width === undefined &&\n height === undefined &&\n position !== 'absolute'\n ) {\n width = height = '100%';\n }\n\n const props: extractedProps = extracted as extractedProps;\n props.focusable = Boolean(focusable) && focusable !== 'false';\n const rootStyles: StyleProp[] = [defaultStyle];\n\n if (style) {\n rootStyles.push(style);\n }\n\n let override = false;\n const overrideStyles: ViewStyle = {};\n const o = opacity != null ? extractOpacity(opacity) : NaN;\n if (!isNaN(o)) {\n override = true;\n overrideStyles.opacity = o;\n }\n\n if (width && height) {\n override = true;\n const w = parseInt(width, 10);\n const h = parseInt(height, 10);\n const doNotParseWidth = isNaN(w) || width[width.length - 1] === '%';\n const doNotParseHeight = isNaN(h) || height[height.length - 1] === '%';\n overrideStyles.width = doNotParseWidth ? width : w;\n overrideStyles.height = doNotParseHeight ? height : h;\n overrideStyles.flex = 0;\n }\n\n if (override) {\n rootStyles.push(overrideStyles);\n }\n\n props.style = rootStyles.length > 1 ? rootStyles : defaultStyle;\n\n if (width != null) {\n props.bbWidth = width;\n }\n if (height != null) {\n props.bbHeight = height;\n }\n\n extractResponder(props, props, this as ResponderInstanceProps);\n\n const gStyle = Object.assign({}, StyleSheet.flatten(style));\n if (transform) {\n if (gStyle.transform) {\n props.transform = gStyle.transform;\n gStyle.transform = undefined;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n props.transform = extractTransformSvgView(props as any);\n }\n\n const RNSVGSvg = Platform.OS === 'android' ? RNSVGSvgAndroid : RNSVGSvgIOS;\n\n return (\n this.refMethod(ref as (Svg & NativeMethods) | null)}\n {...extractViewBox({ viewBox, preserveAspectRatio })}>\n \n \n );\n }\n}\n","/* eslint-disable @typescript-eslint/ban-types */\n// its needed for codegen to work\nimport type { TurboModule } from 'react-native';\nimport { TurboModuleRegistry } from 'react-native';\nimport type { Double } from 'react-native/Libraries/Types/CodegenTypes';\n\nexport interface Spec extends TurboModule {\n toDataURL(\n tag: Double | null,\n options?: Object,\n callback?: (base64: string) => void\n ): void;\n}\n\nexport default TurboModuleRegistry.getEnforcing('RNSVGSvgViewModule');\n","import type { ReactNode } from 'react';\nimport * as React from 'react';\nimport extractViewBox from '../lib/extract/extractViewBox';\nimport Shape from './Shape';\nimport RNSVGSymbol from '../fabric/SymbolNativeComponent';\nimport type { NumberProp } from '../lib/extract/types';\nimport type { NativeMethods } from 'react-native';\n\nexport interface SymbolProps {\n children?: ReactNode;\n id?: string;\n viewBox?: string;\n preserveAspectRatio?: string;\n opacity?: NumberProp;\n}\n\nexport default class Symbol extends Shape {\n static displayName = 'Symbol';\n\n render() {\n const { props } = this;\n const { id, children } = props;\n const symbolProps = { name: id };\n return (\n this.refMethod(ref as Shape & NativeMethods)}\n {...symbolProps}\n {...extractViewBox(props)}>\n {children}\n \n );\n }\n}\n","import type { Component } from 'react';\nimport * as React from 'react';\nimport extractProps, { propsAndStyles } from '../lib/extract/extractProps';\nimport extractTransform from '../lib/extract/extractTransform';\nimport type { TextChild } from '../lib/extract/extractText';\nimport extractText, { setTSpan } from '../lib/extract/extractText';\nimport { pickNotNil } from '../lib/util';\nimport Shape from './Shape';\nimport type {\n ColumnMajorTransformMatrix,\n CommonPathProps,\n FontProps,\n NumberArray,\n NumberProp,\n} from '../lib/extract/types';\nimport RNSVGTSpan from '../fabric/TSpanNativeComponent';\n\nexport interface TSpanProps extends CommonPathProps, FontProps {\n children?: TextChild;\n x?: NumberArray;\n y?: NumberArray;\n dx?: NumberArray;\n dy?: NumberArray;\n rotate?: NumberArray;\n inlineSize?: NumberProp;\n}\n\nexport default class TSpan extends Shape {\n static displayName = 'TSpan';\n\n setNativeProps = (\n props: TSpanProps & {\n matrix?: ColumnMajorTransformMatrix;\n style?: [] | unknown;\n }\n ) => {\n const matrix = !props.matrix && extractTransform(props);\n if (matrix) {\n props.matrix = matrix;\n }\n const prop = propsAndStyles(props);\n Object.assign(prop, pickNotNil(extractText(prop, false)));\n this.root && this.root.setNativeProps(prop);\n };\n\n render() {\n const prop = propsAndStyles(this.props);\n const props = extractProps(\n {\n ...prop,\n x: null,\n y: null,\n },\n this\n );\n Object.assign(props, extractText(prop, false));\n props.ref = this.refMethod as (instance: Component | null) => void;\n return ;\n }\n}\n\nsetTSpan(TSpan);\n","import type { Component, ReactNode } from 'react';\nimport * as React from 'react';\nimport extractText from '../lib/extract/extractText';\nimport extractProps, { propsAndStyles } from '../lib/extract/extractProps';\nimport extractTransform from '../lib/extract/extractTransform';\nimport type {\n ColumnMajorTransformMatrix,\n NumberArray,\n NumberProp,\n TextSpecificProps,\n} from '../lib/extract/types';\nimport { pickNotNil } from '../lib/util';\nimport Shape from './Shape';\nimport './TSpan';\nimport RNSVGText from '../fabric/TextNativeComponent';\n\nexport interface TextProps extends TextSpecificProps {\n children?: ReactNode;\n x?: NumberArray;\n y?: NumberArray;\n dx?: NumberArray;\n dy?: NumberArray;\n rotate?: NumberArray;\n opacity?: NumberProp;\n inlineSize?: NumberProp;\n}\n\nexport default class Text extends Shape {\n static displayName = 'Text';\n\n setNativeProps = (\n props: TextProps & {\n matrix?: ColumnMajorTransformMatrix;\n style?: [] | unknown;\n }\n ) => {\n const matrix = props && !props.matrix && extractTransform(props);\n if (matrix) {\n props.matrix = matrix;\n }\n const prop = propsAndStyles(props);\n Object.assign(prop, pickNotNil(extractText(prop, true)));\n this.root && this.root.setNativeProps(prop);\n };\n\n render() {\n const prop = propsAndStyles(this.props);\n const props = extractProps(\n {\n ...prop,\n x: null,\n y: null,\n },\n this\n );\n Object.assign(props, extractText(prop, true));\n props.ref = this.refMethod as (instance: Component | null) => void;\n return ;\n }\n}\n","import type { Component } from 'react';\nimport * as React from 'react';\nimport extractTransform from '../lib/extract/extractTransform';\nimport { withoutXY } from '../lib/extract/extractProps';\nimport type {\n ColumnMajorTransformMatrix,\n NumberProp,\n TextPathMethod,\n TextPathMidLine,\n TextPathSpacing,\n TextSpecificProps,\n TransformProps,\n} from '../lib/extract/types';\nimport type { TextChild } from '../lib/extract/extractText';\nimport extractText from '../lib/extract/extractText';\nimport { idPattern, pickNotNil } from '../lib/util';\nimport Shape from './Shape';\nimport TSpan from './TSpan';\nimport RNSVGTextPath from '../fabric/TextPathNativeComponent';\n\nexport interface TextPathProps extends TextSpecificProps {\n children?: TextChild;\n xlinkHref?: string;\n href?: string;\n startOffset?: NumberProp;\n method?: TextPathMethod;\n spacing?: TextPathSpacing;\n midLine?: TextPathMidLine;\n side?: string;\n}\n\nexport default class TextPath extends Shape {\n static displayName = 'TextPath';\n\n setNativeProps = (\n props: object & {\n matrix?: ColumnMajorTransformMatrix;\n style?: [] | unknown;\n } & TransformProps\n ) => {\n const matrix = !props.matrix && extractTransform(props);\n if (matrix) {\n props.matrix = matrix;\n }\n Object.assign(props, pickNotNil(extractText(props, true)));\n this.root && this.root.setNativeProps(props);\n };\n\n render() {\n const {\n children,\n xlinkHref,\n href = xlinkHref,\n startOffset = 0,\n method,\n spacing,\n side,\n alignmentBaseline,\n midLine,\n ...prop\n } = this.props;\n const matched = href && href.match(idPattern);\n const match = matched && matched[1];\n if (match) {\n const props = withoutXY(this, prop);\n Object.assign(\n props,\n extractText(\n {\n children,\n },\n true\n ),\n {\n href: match,\n startOffset,\n method,\n spacing,\n side,\n alignmentBaseline,\n midLine,\n }\n );\n props.ref = this.refMethod as (instance: Component | null) => void;\n return ;\n }\n\n console.warn(\n 'Invalid `href` prop for `TextPath` element, expected a href like \"#id\", but got: \"' +\n href +\n '\"'\n );\n return (\n void}>\n {children}\n \n );\n }\n}\n","import type { ReactNode } from 'react';\nimport * as React from 'react';\nimport { withoutXY } from '../lib/extract/extractProps';\nimport type { CommonPathProps, NumberProp } from '../lib/extract/types';\nimport { idPattern } from '../lib/util';\nimport Shape from './Shape';\nimport RNSVGUse from '../fabric/UseNativeComponent';\nimport type { NativeMethods } from 'react-native';\n\nexport interface UseProps extends CommonPathProps {\n children?: ReactNode;\n xlinkHref?: string;\n href?: string;\n width?: NumberProp;\n height?: NumberProp;\n x?: NumberProp;\n y?: NumberProp;\n opacity?: NumberProp;\n}\n\nexport default class Use extends Shape {\n static displayName = 'Use';\n\n static defaultProps = {\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n };\n\n render() {\n const { props } = this;\n const {\n children,\n x,\n y,\n width,\n height,\n xlinkHref,\n href = xlinkHref,\n } = props;\n\n const matched = href && href.match(idPattern);\n const match = matched && matched[1];\n\n if (!match) {\n console.warn(\n 'Invalid `href` prop for `Use` element, expected a href like \"#id\", but got: \"' +\n href +\n '\"'\n );\n }\n const useProps = {\n href: match ?? undefined,\n x,\n y,\n width,\n height,\n };\n return (\n this.refMethod(ref as (Use & NativeMethods) | null)}\n {...withoutXY(this, props)}\n {...useProps}>\n {children}\n \n );\n }\n}\n","import React from 'react';\nimport { NativeMethods } from 'react-native';\nimport {\n extractFeBlend,\n extractFilter,\n extractIn,\n} from '../../lib/extract/extractFilter';\nimport RNSVGFeBlend from '../../fabric/FeBlendNativeComponent';\nimport FilterPrimitive from './FilterPrimitive';\n\ntype BlendMode = 'normal' | 'multiply' | 'screen' | 'darken' | 'lighten';\n\nexport interface FeBlendProps {\n in?: string;\n in2?: string;\n mode?: BlendMode;\n}\n\nexport default class FeBlend extends FilterPrimitive {\n static displayName = 'FeBlend';\n\n static defaultProps = {\n ...this.defaultPrimitiveProps,\n mode: 'normal',\n };\n\n render() {\n return (\n this.refMethod(ref as (FeBlend & NativeMethods) | null)}\n {...extractFilter(this.props)}\n {...extractIn(this.props)}\n {...extractFeBlend(this.props)}\n />\n );\n }\n}\n","import React from 'react';\nimport { ColorValue, processColor } from 'react-native';\nimport { FeBlendProps as FeBlendComponentProps } from '../../elements/filters/FeBlend';\nimport { FeColorMatrixProps as FeColorMatrixComponentProps } from '../../elements/filters/FeColorMatrix';\nimport { FeCompositeProps as FeCompositeComponentProps } from '../../elements/filters/FeComposite';\nimport { FeFloodProps as FeFloodComponentProps } from '../../elements/filters/FeFlood';\nimport { FeGaussianBlurProps as FeGaussianBlurComponentProps } from '../../elements/filters/FeGaussianBlur';\nimport { FeMergeProps as FeMergeComponentProps } from '../../elements/filters/FeMerge';\nimport { NativeProps as FeBlendNativeProps } from '../../fabric/FeBlendNativeComponent';\nimport { NativeProps as FeColorMatrixNativeProps } from '../../fabric/FeColorMatrixNativeComponent';\nimport { NativeProps as FeCompositeNativeProps } from '../../fabric/FeCompositeNativeComponent';\nimport { NativeProps as FeFloodNativeProps } from '../../fabric/FeFloodNativeComponent';\nimport { NativeProps as FeGaussianBlurNativeProps } from '../../fabric/FeGaussianBlurNativeComponent';\nimport { NativeProps as FeMergeNativeProps } from '../../fabric/FeMergeNativeComponent';\nimport extractBrush from './extractBrush';\nimport extractOpacity from './extractOpacity';\nimport { NumberProp } from './types';\n\nconst spaceReg = /\\s+/;\n\ninterface FilterPrimitiveCommonProps {\n x?: NumberProp;\n y?: NumberProp;\n width?: NumberProp;\n height?: NumberProp;\n result?: string;\n}\n\nexport const extractFilter = (\n props: FilterPrimitiveCommonProps\n): FilterPrimitiveCommonProps => {\n const { x, y, width, height, result } = props;\n const extracted: FilterPrimitiveCommonProps = {\n x,\n y,\n width,\n height,\n result,\n };\n\n return extracted;\n};\n\nexport const extractIn = (props: { in?: string }) => {\n if (props.in) {\n return { in1: props.in };\n }\n return {};\n};\n\nexport const extractFeBlend = (\n props: FeBlendComponentProps\n): FeBlendNativeProps => {\n const extracted: FeBlendNativeProps = {};\n\n if (props.in2) {\n extracted.in2 = props.in2;\n }\n if (props.mode) {\n extracted.mode = props.mode;\n }\n\n return extracted;\n};\n\nexport const extractFeColorMatrix = (\n props: FeColorMatrixComponentProps\n): FeColorMatrixNativeProps => {\n const extracted: FeColorMatrixNativeProps = {};\n\n if (props.values !== undefined) {\n if (Array.isArray(props.values)) {\n extracted.values = props.values.map((num) =>\n typeof num === 'number' ? num : parseFloat(num)\n );\n } else if (typeof props.values === 'number') {\n extracted.values = [props.values];\n } else if (typeof props.values === 'string') {\n extracted.values = props.values\n .split(spaceReg)\n .map(parseFloat)\n .filter((el: number) => !isNaN(el));\n } else {\n console.warn('Invalid value for FeColorMatrix `values` prop');\n }\n }\n if (props.type) {\n extracted.type = props.type;\n }\n\n return extracted;\n};\n\nexport const extractFeComposite = (\n props: FeCompositeComponentProps\n): FeCompositeNativeProps => {\n const extracted: FeCompositeNativeProps = {\n in1: props.in || '',\n in2: props.in2 || '',\n operator1: props.operator || 'over',\n };\n\n (['k1', 'k2', 'k3', 'k4'] as const).forEach((key) => {\n if (props[key] !== undefined) {\n extracted[key] = Number(props[key]) || 0;\n }\n });\n\n return extracted;\n};\n\nconst defaultFill = { type: 0, payload: processColor('black') as ColorValue };\nexport default function extractFeFlood(\n props: FeFloodComponentProps\n): FeFloodNativeProps {\n const extracted: FeFloodNativeProps = {};\n const { floodColor, floodOpacity } = props;\n\n if (floodColor != null) {\n extracted.floodColor =\n !floodColor && typeof floodColor !== 'number'\n ? defaultFill\n : (extractBrush(floodColor) as unknown as string);\n } else {\n // we want the default value of fill to be black to match the spec\n extracted.floodColor = defaultFill;\n }\n if (floodOpacity != null) {\n extracted.floodOpacity = extractOpacity(floodOpacity);\n }\n return extracted;\n}\n\nexport const extractFeGaussianBlur = (\n props: FeGaussianBlurComponentProps\n): FeGaussianBlurNativeProps => {\n const extracted: FeGaussianBlurNativeProps = {};\n\n if (Array.isArray(props.stdDeviation)) {\n extracted.stdDeviationX = Number(props.stdDeviation[0]) || 0;\n extracted.stdDeviationY = Number(props.stdDeviation[1]) || 0;\n } else if (\n typeof props.stdDeviation === 'string' &&\n props.stdDeviation.match(spaceReg)\n ) {\n const stdDeviation = props.stdDeviation.split(spaceReg);\n extracted.stdDeviationX = Number(stdDeviation[0]) || 0;\n extracted.stdDeviationY = Number(stdDeviation[1]) || 0;\n } else if (\n typeof props.stdDeviation === 'number' ||\n (typeof props.stdDeviation === 'string' &&\n !props.stdDeviation.match(spaceReg))\n ) {\n extracted.stdDeviationX = Number(props.stdDeviation) || 0;\n extracted.stdDeviationY = Number(props.stdDeviation) || 0;\n }\n if (props.edgeMode) {\n extracted.edgeMode = props.edgeMode;\n }\n return extracted;\n};\n\nexport const extractFeMerge = (\n props: FeMergeComponentProps,\n parent: unknown\n): FeMergeNativeProps => {\n const nodes: Array = [];\n const childArray = props.children\n ? React.Children.map(props.children, (child) =>\n React.cloneElement(child, { parent })\n )\n : [];\n const l = childArray.length;\n for (let i = 0; i < l; i++) {\n const {\n props: { in: in1 },\n } = childArray[i];\n nodes.push(in1 || '');\n }\n\n return { nodes };\n};\n","import React from 'react';\nimport { NativeMethods } from 'react-native';\nimport RNSVGFeColorMatrix from '../../fabric/FeColorMatrixNativeComponent';\nimport {\n extractFeColorMatrix,\n extractFilter,\n extractIn,\n} from '../../lib/extract/extractFilter';\nimport { FilterColorMatrixType, NumberArray } from '../../lib/extract/types';\nimport FilterPrimitive from './FilterPrimitive';\n\nexport type FeColorMatrixProps = {\n in?: string;\n type?: FilterColorMatrixType;\n values?: NumberArray;\n};\n\nexport default class FeColorMatrix extends FilterPrimitive {\n static displayName = 'FeColorMatrix';\n\n static defaultProps: React.ComponentProps = {\n ...this.defaultPrimitiveProps,\n type: 'matrix',\n values: '',\n };\n\n render() {\n return (\n \n this.refMethod(ref as (FeColorMatrix & NativeMethods) | null)\n }\n {...extractFilter(this.props)}\n {...extractIn(this.props)}\n {...extractFeColorMatrix(this.props)}\n />\n );\n }\n}\n","import React from 'react';\nimport FilterPrimitive from './FilterPrimitive';\nimport { warnUnimplementedFilter } from '../../lib/util';\n\nexport interface FeComponentTransferProps {\n in?: string;\n children?: React.ReactElement | Array;\n}\n\nexport default class FeComponentTransfer extends FilterPrimitive {\n static displayName = 'FeComponentTransfer';\n\n static defaultProps = {\n ...this.defaultPrimitiveProps,\n };\n\n render() {\n warnUnimplementedFilter();\n return null;\n }\n}\n","import React from 'react';\nimport { NativeMethods } from 'react-native';\nimport RNSVGFeComposite from '../../fabric/FeCompositeNativeComponent';\nimport {\n extractFeComposite,\n extractFilter,\n} from '../../lib/extract/extractFilter';\nimport { NumberProp } from '../../lib/extract/types';\nimport FilterPrimitive from './FilterPrimitive';\n\ntype FeCompositeOperator =\n | 'over'\n | 'in'\n | 'out'\n | 'atop'\n | 'xor'\n | 'arithmetic';\n\nexport interface FeCompositeProps {\n in?: string;\n in2?: string;\n operator?: FeCompositeOperator;\n k1?: NumberProp;\n k2?: NumberProp;\n k3?: NumberProp;\n k4?: NumberProp;\n}\n\nexport default class FeComposite extends FilterPrimitive {\n static displayName = 'FeComposite';\n\n static defaultProps = {\n ...this.defaultPrimitiveProps,\n k1: 0,\n k2: 0,\n k3: 0,\n k4: 0,\n };\n\n render() {\n return (\n \n this.refMethod(ref as (FeComposite & NativeMethods) | null)\n }\n {...extractFilter(this.props)}\n {...extractFeComposite(this.props)}\n />\n );\n }\n}\n","import { BooleanProp, NumberArray, NumberProp } from '../../lib/extract/types';\nimport { warnUnimplementedFilter } from '../../lib/util';\nimport FilterPrimitive from './FilterPrimitive';\nimport { EdgeMode } from './types';\n\nexport interface FeConvolveMatrixProps {\n in?: string;\n order?: NumberArray;\n kernelMatrix?: NumberArray;\n divisor?: NumberProp;\n bias?: NumberProp;\n targetX?: NumberProp;\n targetY?: NumberProp;\n edgeMode?: EdgeMode;\n kernelUnitLength?: NumberArray;\n preserveAlpha?: BooleanProp;\n}\n\nexport default class FeConvolveMatrix extends FilterPrimitive {\n static displayName = 'FeConvolveMatrix';\n\n static defaultProps = {\n ...this.defaultPrimitiveProps,\n };\n\n render() {\n warnUnimplementedFilter();\n return null;\n }\n}\n","import { NumberArray, NumberProp } from '../../lib/extract/types';\nimport { warnUnimplementedFilter } from '../../lib/util';\nimport FilterPrimitive from './FilterPrimitive';\n\nexport interface FeDiffuseLightingProps {\n in?: string;\n surfaceScale?: NumberProp;\n diffuseConstant?: NumberProp;\n kernelUnitLength?: NumberArray;\n}\n\nexport default class FeDiffuseLighting extends FilterPrimitive {\n static displayName = 'FeDiffuseLighting';\n\n static defaultProps = {\n ...this.defaultPrimitiveProps,\n };\n\n render() {\n warnUnimplementedFilter();\n return null;\n }\n}\n","import { NumberProp } from '../../lib/extract/types';\nimport { warnUnimplementedFilter } from '../../lib/util';\nimport FilterPrimitive from './FilterPrimitive';\nimport { ChannelSelector } from './types';\n\nexport interface FeDisplacementMapProps {\n in?: string;\n in2?: string;\n scale?: NumberProp;\n xChannelSelector?: ChannelSelector;\n yChannelSelector?: ChannelSelector;\n}\n\nexport default class FeDisplacementMap extends FilterPrimitive {\n static displayName = 'FeDisplacementMap';\n\n static defaultProps = {\n ...this.defaultPrimitiveProps,\n };\n\n render() {\n warnUnimplementedFilter();\n return null;\n }\n}\n","import { Component } from 'react';\nimport { NumberProp } from '../../lib/extract/types';\nimport { warnUnimplementedFilter } from '../../lib/util';\n\nexport interface FeDistantLightProps {\n azimuth?: NumberProp;\n elevation?: NumberProp;\n}\n\nexport default class FeDistantLight extends Component {\n static displayName = 'FeDistantLight';\n\n static defaultProps = {};\n\n render() {\n warnUnimplementedFilter();\n return null;\n }\n}\n","import React from 'react';\nimport { ColorValue } from 'react-native';\nimport { NumberArray, NumberProp } from '../../lib/extract/types';\nimport FeFlood from './FeFlood';\nimport FeGaussianBlur from './FeGaussianBlur';\nimport FeMerge from './FeMerge';\nimport FeMergeNode from './FeMergeNode';\nimport FeOffset from './FeOffset';\nimport FilterPrimitive from './FilterPrimitive';\nimport FeComposite from './FeComposite';\n\nexport interface FeDropShadowProps {\n in?: string;\n stdDeviation?: NumberArray;\n dx?: NumberProp;\n dy?: NumberProp;\n floodColor?: ColorValue;\n floodOpacity?: NumberProp;\n}\n\nexport default class FeDropShadow extends FilterPrimitive {\n static displayName = 'FeDropShadow';\n\n static defaultProps = {\n ...this.defaultPrimitiveProps,\n };\n\n render() {\n const {\n stdDeviation,\n in: in1 = 'SourceGraphic',\n dx,\n dy,\n result,\n } = this.props;\n return (\n \n \n \n \n \n \n \n \n \n \n );\n }\n}\n","import React from 'react';\nimport { ColorValue, NativeMethods } from 'react-native';\nimport RNSVGFeFlood from '../../fabric/FeFloodNativeComponent';\nimport extractFeFlood, { extractFilter } from '../../lib/extract/extractFilter';\nimport { NumberProp } from '../../lib/extract/types';\nimport FilterPrimitive from './FilterPrimitive';\n\nexport interface FeFloodProps {\n in?: string;\n floodColor?: ColorValue;\n floodOpacity?: NumberProp;\n}\n\nexport default class FeFlood extends FilterPrimitive {\n static displayName = 'FeFlood';\n\n static defaultProps: React.ComponentProps = {\n ...this.defaultPrimitiveProps,\n floodColor: 'black',\n floodOpacity: 1,\n };\n\n render() {\n return (\n this.refMethod(ref as (FeFlood & NativeMethods) | null)}\n {...extractFilter(this.props)}\n {...extractFeFlood(this.props)}\n />\n );\n }\n}\n","import React from 'react';\nimport { NativeMethods } from 'react-native';\nimport RNSVGFeGaussianBlur from '../../fabric/FeGaussianBlurNativeComponent';\nimport {\n extractFeGaussianBlur,\n extractFilter,\n extractIn,\n} from '../../lib/extract/extractFilter';\nimport { FilterEdgeMode, NumberArray } from '../../lib/extract/types';\nimport FilterPrimitive from './FilterPrimitive';\n\nexport interface FeGaussianBlurProps {\n in?: string;\n stdDeviation?: NumberArray;\n // edgeMode is hard to implement and not supported by any\n // browser except safari, so it's not implemented for now\n // https://caniuse.com/mdn-api_svgfegaussianblurelement_edgemode\n edgeMode?: FilterEdgeMode;\n}\n\nexport default class FeGaussianBlur extends FilterPrimitive {\n static displayName = 'FeGaussianBlur';\n\n static defaultProps: React.ComponentProps = {\n ...this.defaultPrimitiveProps,\n stdDeviation: 0,\n edgeMode: 'none',\n };\n\n render() {\n return (\n \n this.refMethod(ref as (FeGaussianBlur & NativeMethods) | null)\n }\n {...extractFilter(this.props)}\n {...extractIn(this.props)}\n {...extractFeGaussianBlur(this.props)}\n />\n );\n }\n}\n","import React from 'react';\nimport { NativeMethods } from 'react-native';\nimport RNSVGFeMerge from '../../fabric/FeMergeNativeComponent';\nimport { extractFeMerge, extractFilter } from '../../lib/extract/extractFilter';\nimport FilterPrimitive from './FilterPrimitive';\n\nexport interface FeMergeProps {\n children?: React.ReactElement | Array;\n}\n\nexport default class FeMerge extends FilterPrimitive {\n static displayName = 'FeMerge';\n\n static defaultProps = {\n ...this.defaultPrimitiveProps,\n };\n\n render() {\n return (\n this.refMethod(ref as (FeMerge & NativeMethods) | null)}\n {...extractFilter(this.props)}\n {...extractFeMerge(this.props, this)}\n />\n );\n }\n}\n","import React from 'react';\nimport FilterPrimitive from './FilterPrimitive';\n\nexport interface FeMergeNodeProps {\n in?: string;\n parent?: React.Component;\n}\n\nexport default class FeMergeNode extends FilterPrimitive {\n static displayName = 'FeMergeNode';\n\n // Force update parent\n setNativeProps = () => {\n const { parent } = this.props;\n if (parent) {\n parent.forceUpdate();\n }\n };\n\n render() {\n return null;\n }\n}\n","import React from 'react';\nimport { NativeMethods } from 'react-native';\nimport RNSVGFeOffset from '../../fabric/FeOffsetNativeComponent';\nimport { extractFilter, extractIn } from '../../lib/extract/extractFilter';\nimport { NumberProp } from '../../lib/extract/types';\nimport FilterPrimitive from './FilterPrimitive';\n\nexport interface FeOffsetProps {\n in?: string;\n dx?: NumberProp;\n dy?: NumberProp;\n}\n\nexport default class FeOffset extends FilterPrimitive {\n static displayName = 'FeOffset';\n\n static defaultProps: React.ComponentProps = {\n ...this.defaultPrimitiveProps,\n dx: 0,\n dy: 0,\n };\n\n render() {\n return (\n this.refMethod(ref as (FeOffset & NativeMethods) | null)}\n {...this.props}\n {...extractFilter(this.props)}\n {...extractIn(this.props)}\n />\n );\n }\n}\n","import { warnUnimplementedFilter } from '../../lib/util';\nimport FilterPrimitive from './FilterPrimitive';\n\nexport interface FeImageProps {\n href?: string;\n preserveAspectRatio?: string;\n crossOrigin?: 'anonymous' | 'use-credentials' | '';\n}\n\nexport default class FeImage extends FilterPrimitive {\n static displayName = 'FeImage';\n\n static defaultProps = {\n ...this.defaultPrimitiveProps,\n };\n\n render() {\n warnUnimplementedFilter();\n return null;\n }\n}\n","import { NumberArray } from '../../lib/extract/types';\nimport { warnUnimplementedFilter } from '../../lib/util';\nimport FilterPrimitive from './FilterPrimitive';\n\nexport interface FeMorphologyProps {\n in?: string;\n operator?: 'erode' | 'dilate';\n radius?: NumberArray;\n}\n\nexport default class FeMorphology extends FilterPrimitive {\n static displayName = 'FeMorphology';\n\n static defaultProps = {\n ...this.defaultPrimitiveProps,\n };\n\n render() {\n warnUnimplementedFilter();\n return null;\n }\n}\n","import { Component } from 'react';\nimport { NumberProp } from '../../lib/extract/types';\nimport { warnUnimplementedFilter } from '../../lib/util';\n\nexport interface FePointLightProps {\n x?: NumberProp;\n y?: NumberProp;\n z?: NumberProp;\n}\n\nexport default class FePointLight extends Component {\n static displayName = 'FePointLight';\n\n static defaultProps = {};\n\n render() {\n warnUnimplementedFilter();\n return null;\n }\n}\n","import { NumberArray, NumberProp } from '../../lib/extract/types';\nimport { warnUnimplementedFilter } from '../../lib/util';\nimport FilterPrimitive from './FilterPrimitive';\n\nexport interface FeSpecularLightingProps {\n in?: string;\n surfaceScale?: NumberProp;\n specularConstant?: NumberProp;\n specularExponent?: NumberProp;\n kernelUnitLength?: NumberArray;\n}\n\nexport default class FeSpecularLighting extends FilterPrimitive {\n static displayName = 'FeSpecularLighting';\n\n static defaultProps = {\n ...this.defaultPrimitiveProps,\n };\n\n render() {\n warnUnimplementedFilter();\n return null;\n }\n}\n","import { Component } from 'react';\nimport { NumberProp } from '../../lib/extract/types';\nimport { warnUnimplementedFilter } from '../../lib/util';\n\nexport interface FeSpotLightProps {\n x?: NumberProp;\n y?: NumberProp;\n z?: NumberProp;\n pointsAtX?: NumberProp;\n pointsAtY?: NumberProp;\n pointsAtZ?: NumberProp;\n specularExponent?: NumberProp;\n limitingConeAngle?: NumberProp;\n}\n\nexport default class FeSpotLight extends Component {\n static displayName = 'FeSpotLight';\n\n static defaultProps = {};\n\n render() {\n warnUnimplementedFilter();\n return null;\n }\n}\n","import { warnUnimplementedFilter } from '../../lib/util';\nimport FilterPrimitive from './FilterPrimitive';\n\nexport interface FeTileProps {\n in?: string;\n}\n\nexport default class FeTile extends FilterPrimitive {\n static displayName = 'FeTile';\n\n static defaultProps = {\n ...this.defaultPrimitiveProps,\n };\n\n render() {\n warnUnimplementedFilter();\n return null;\n }\n}\n","import { NumberArray, NumberProp } from '../../lib/extract/types';\nimport { warnUnimplementedFilter } from '../../lib/util';\nimport FilterPrimitive from './FilterPrimitive';\n\nexport interface FeTurbulenceProps {\n baseFrequency?: NumberArray;\n numOctaves?: NumberProp;\n seed?: NumberProp;\n stitchTiles?: 'stitch' | 'noStitch';\n type?: 'fractalNoise' | 'turbulence';\n}\n\nexport default class FeTurbulence extends FilterPrimitive {\n static displayName = 'FeTurbulence';\n\n static defaultProps = {\n ...this.defaultPrimitiveProps,\n };\n\n render() {\n warnUnimplementedFilter();\n return null;\n }\n}\n","import React from 'react';\nimport { NativeMethods } from 'react-native';\nimport RNSVGFilter from '../../fabric/FilterNativeComponent';\nimport { NumberProp, Units } from '../../lib/extract/types';\nimport Shape from '../Shape';\n\nexport interface FilterProps {\n children?: React.ReactNode;\n id?: string;\n x?: NumberProp;\n y?: NumberProp;\n width?: NumberProp;\n height?: NumberProp;\n filterUnits?: Units;\n primitiveUnits?: Units;\n}\n\nexport default class Filter extends Shape {\n static displayName = 'Filter';\n\n static defaultProps: React.ComponentProps = {\n x: '-10%',\n y: '-10%',\n width: '120%',\n height: '120%',\n filterUnits: 'objectBoundingBox',\n primitiveUnits: 'userSpaceOnUse',\n };\n\n render() {\n const { id, x, y, width, height, filterUnits, primitiveUnits } = this.props;\n\n const filterProps = {\n name: id,\n x,\n y,\n width,\n height,\n filterUnits,\n primitiveUnits,\n };\n return (\n this.refMethod(ref as (Filter & NativeMethods) | null)}\n {...filterProps}>\n {this.props.children}\n \n );\n }\n}\n","import { Platform } from 'react-native';\nimport { Buffer } from 'buffer';\n\nexport async function fetchText(uri?: string): Promise {\n if (!uri) {\n return null;\n }\n if (uri.startsWith('data:image/svg+xml;utf8') && Platform.OS === 'android') {\n return dataUriToXml(uri);\n } else if (uri.startsWith('data:image/svg+xml;base64')) {\n return decodeBase64Image(uri);\n } else {\n return fetchUriData(uri);\n }\n}\n\nconst decodeBase64Image = (uri: string) => {\n const decoded = decodeURIComponent(uri);\n const splitContent = decoded.split(';')[1].split(',');\n const dataType = splitContent[0] as BufferEncoding;\n const content = splitContent.slice(1).join(',');\n\n return Buffer.from(content, dataType).toString('utf-8');\n};\n\nfunction dataUriToXml(uri: string): string | null {\n try {\n // decode and remove data:image/svg+xml;utf8, prefix\n return decodeURIComponent(uri).split(',').slice(1).join(',');\n } catch (error) {\n throw new Error(`Decoding ${uri} failed with error: ${error}`);\n }\n}\n\nasync function fetchUriData(uri: string) {\n const response = await fetch(uri);\n if (response.ok || (response.status === 0 && uri.startsWith('file://'))) {\n return await response.text();\n }\n throw new Error(`Fetching ${uri} failed with status ${response.status}`);\n}\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","","","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Artboard 1\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n","Artboard 1","\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n image/svg+xml\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n image/svg+xml\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n \r\n \r\n","\r\n \r\n \r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","mdl-check-checked","mdl-check-checked","\r\n Checkmark Hovered\r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n\r\n\r\n\r\nCheckmark Hovered\r\n\r\n\t\r\n\t\r\n\r\n\r\n\r\n","\r\n Checkmark In Progress\r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n\r\n\r\n\r\nCheckmark In Progress\r\n\r\n\t\r\n\t\r\n\r\n\r\n\r\n","\r\n Checkmark Selected\r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n\r\n\r\n\r\nCheckmark Selected\r\n\r\n\t\r\n\t\r\n\r\n\r\n\r\n","\r\n ActivityCenter_R10_chevron_July2017\r\n \r\n \r\n \r\n\r\n","\r\n ActivityCenter_R10_chevron_July2017\r\n \r\n \r\n \r\n\r\n","\r\n Artboard 173 copy\r\n \r\n \r\n \r\n\r\n","\r\n Artboard 173 copy\r\n \r\n \r\n \r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","1Artboard 1","1Artboard 1 copy","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n image/svg+xml\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","Artboard 3","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Artboard 1 copy 18\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Artboard 1 copy 18\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","redX_small2","redX_small2","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","Artboard 1","\r\n\r\n\r\n","\r\n\r\n\r\n","Artboard 1","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","","","activity_center_asset","activity_center_asset","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n\r\n\r\n","desktop folder","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\ndocuments folder\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\r\ndocuments folder\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n\r\n\r\n\r\n","\r\n Artboard 234\r\n \r\n \r\n \r\n\r\n","\r\n Artboard 234\r\n \r\n \r\n \r\n\r\n","\r\n\r\n","\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n \r\n \r\n","\r\n \r\n \r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","Artboard 151 copy","Artboard 151 copy 4","Artboard 151 copy 2","Artboard 151 copy 5","Artboard 151","Artboard 151 copy 3","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n]>\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n]>\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n]>\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n]>\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n]>\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n]>\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n]>\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n]>\r\n\r\n\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n \r\n \r\n \r\n\r\n","\r\n \r\n \r\n \r\n\r\n","\r\n \r\n","","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n \r\n","","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n ActivityCenter_quotaGraphics_2_R7_August2016\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n ActivityCenter_quotaGraphics_2_R7_August2016\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n Artboard 204 copy\r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n\r\n\r\n\r\nArtboard 204 copy\r\n\r\n\t\r\n\t\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","","","","","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","light mode checkbox","Untitled-1","\r\n\r\n","\r\n\r\n\r\n","\r\n Loading Spinner\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n Loading Spinner\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","loading","loading","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","","","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","","","\r\n\r\n\r\n","\r\n\r\n\r\n","megaAC-asset_1","megaAC-asset_1","Artboard 1\r\n\r\n\r\n\r\n\r\n","Artboard 1\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","tearaway-asset","tearaway-asset","OneNote","OneNote","\r\n \r\n","","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ODD\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n","\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ODD - Win - Light_1\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n","\r\n\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\r\n","\r\n ActivityCenter_R10_overflowIcon_June2017\r\n \r\n \r\n \r\n \r\n \r\n","\r\n ActivityCenter_R10_overflowIcon_June2017\r\n \r\n \r\n \r\n \r\n \r\n","\r\n ActivityCenter_quotaGraphics_2_R7_August2016\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n ActivityCenter_quotaGraphics_2_R7_August2016\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n Artboard 203\r\n \r\n \r\n \r\n \r\n\r\n","\r\n Artboard 203\r\n \r\n \r\n \r\n \r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n premium gem\r\n \r\n \r\n \r\n\r\n","\r\n premium gem\r\n \r\n \r\n \r\n\r\n","\r\n Artboard 234 copy\r\n \r\n \r\n \r\n\r\n","\r\n Artboard 234 copy\r\n \r\n \r\n \r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","Light Mode congratulations","Dark Mode - congratulations","\r\n\r\n\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\t\r\n\t\r\n\t\r\n\t\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","RDD","RDD - Dark","\r\n Artboard 1\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n Artboard 1\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","Artboard 2","\r\n\r\n\r\n\r\nDarkMode-Scrollbar-ChevronDown\r\n\r\n\r\n","Artboard 1","Artboard 12","\r\n \r\n","\r\n \r\n","\r\n \r\n","\r\n \r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n \r\n","","\r\n\r\n\r\n\r\nArtboard 3\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\nArtboard 3\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\nSign into OD activity center","Sign into OD activity center","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n ActivityCenter_quotaGraphics_stackedIceCubes2_R7_August2016\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n ActivityCenter_quotaGraphics_stackedIceCubes2_R7_August2016\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n","Artboard 1","Artboard 1","Artboard 1","Artboard 2","Artboard 1","Artboard 1","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","Artboard 1","Artboard 1","\r\n\r\n\r\n","\r\n\r\n","\r\n ActivityCenter_quotaGraphics_2_R7_August2016\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n ActivityCenter_quotaGraphics_2_R7_August2016\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\t\r\n\r\n\r\n","Artboard 1","Artboard 1","\r\n\r\n\r\n","\r\n\r\n\r\n","import React from 'react';\r\nimport {\r\n EcsRamp,\r\n UpdateRingKillSwitch,\r\n UpdateRingRamp,\r\n UpdateRingSetting,\r\n UpdateRingSettingType\r\n} from '../types';\r\nimport {\r\n selectEcsRamp,\r\n selectUpdateRingKillSwitch,\r\n selectUpdateRingRamp,\r\n selectUpdateRingSetting\r\n} from './selectors';\r\nimport { commonActions } from './commonSlice';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\n\r\nexport const useRampEnabled = (id: UpdateRingRamp): boolean | undefined => {\r\n const dispatch = useAppDispatch();\r\n const value = useAppSelector((state) => selectUpdateRingRamp(state, id));\r\n React.useEffect(() => {\r\n if (value === undefined) {\r\n dispatch(commonActions.fetchUpdateRingRamp(id));\r\n }\r\n }, [value, dispatch]);\r\n return value;\r\n};\r\n\r\nexport const useKillSwitchSafe = (id: UpdateRingKillSwitch): boolean => {\r\n const dispatch = useAppDispatch();\r\n const value = useAppSelector((state) => selectUpdateRingKillSwitch(state, id));\r\n React.useEffect(() => {\r\n if (value === undefined) {\r\n dispatch(commonActions.fetchUpdateRingKillSwitch(id));\r\n }\r\n }, [value, dispatch]);\r\n\r\n // Return 'true' as the default value for a kill switch.\r\n return value === undefined ? true : value;\r\n};\r\n\r\nexport const useUpdateRingSetting = (\r\n id: UpdateRingSetting,\r\n settingType: UpdateRingSettingType\r\n): number | string | undefined => {\r\n const dispatch = useAppDispatch();\r\n const value = useAppSelector((state) => selectUpdateRingSetting(state, id));\r\n React.useEffect(() => {\r\n if (value === undefined) {\r\n dispatch(commonActions.fetchUpdateRingSetting({ id, settingType }));\r\n }\r\n }, [value, dispatch]);\r\n return value;\r\n};\r\n\r\nexport const useECSRampEnabled = (id: EcsRamp): boolean | undefined => {\r\n const dispatch = useAppDispatch();\r\n const value = useAppSelector((state) => selectEcsRamp(state, id));\r\n React.useEffect(() => {\r\n if (value === undefined) {\r\n dispatch(commonActions.fetchECSRamp(id));\r\n }\r\n }, [value, dispatch]);\r\n return value;\r\n};\r\n","import * as React from 'react';\r\nimport { ViewStyle, Image, ImageStyle, ImageURISource, StyleProp } from 'react-native';\r\nimport { commonThemeManager, ICommonTheme } from '../themes/ICommonTheme';\r\nimport { createThemedStylesHook, ThemedStylesHook, useCurrentThemeName } from '../themes/themes';\r\nimport { ThemeName } from '../themes/themeUtils';\r\n\r\n//Ignore naming convention for imageList as it is a constant and the images are used as keys\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\nconst imageList = {\r\n about: require('../assets/images/aboutIcon.png'),\r\n account: require('../assets/images/accountIcon.png'),\r\n acmDismiss: require('../assets/images/acmDismiss.png'),\r\n addToOneDrive: require('../assets/images/add-to-onedrive.png'),\r\n addedFolderIcon_win: require('../assets/images/addedFolderIcon_win.png'),\r\n addedFolderIcon_mac: require('../assets/images/addedFolderIcon_mac.png'),\r\n blueCloud: require('../assets/images/blue_cloud.png'),\r\n blueCloud48x48: require('../assets/images/blue_cloud48x48.png'),\r\n BlueCloudCritical_Win11: require('../assets/images/BlueCloudCritical_Win11.png'),\r\n bugIcon22x22: require('../assets/images/bugIcon22x22.png'),\r\n cancel: require('../assets/images/cancel.png'),\r\n chevronDown: require('../assets/images/chevronDown.png'),\r\n chevronRight: require('../assets/images/chevronRight.png'),\r\n chevronUp: require('../assets/images/chevronUp.png'),\r\n coloredFolders: require('../assets/images/coloredFolders.png'),\r\n cloud: require('../assets/images/cloud.png'),\r\n desktop: require('../assets/images/desktop.png'),\r\n diamond: require('../assets/images/diamond.png'),\r\n documents: require('../assets/images/documents.png'),\r\n downloads: require('../assets/images/downloads.png'),\r\n error: require('../assets/images/error.png'),\r\n errorDark: require('../assets/images/errorDark.png'),\r\n exitIcon22x22: require('../assets/images/exitIcon22x22.png'),\r\n feedbackIcon22x22: require('../assets/images/feedbackIcon22x22.png'),\r\n file: require('../assets/images/file.png'),\r\n folder20x20: require('../assets/images/folder20x20.png'),\r\n fondDownload: require('../assets/images/fond_download_all.png'),\r\n fondFreeUpSpace: require('../assets/images/fond_free_up_space.png'),\r\n getHelp: require('../assets/images/getHelp_light.png'),\r\n giveFeedback: require('../assets/images/giveFeedback_light.png'),\r\n globe: require('../assets/images/globeIcon.png'),\r\n help: require('../assets/images/help.png'),\r\n helpIcon22x22: require('../assets/images/helpIcon22x22.png'),\r\n home: require('../assets/images/house.png'),\r\n icFluentAdd: require('../assets/images/ic_fluent_add_24_filled.png'),\r\n info: require('../assets/images/info.png'),\r\n infoDanger: require('../assets/images/infoDanger.png'),\r\n infoDark: require('../assets/images/infoDark.png'),\r\n infoOutline: require('../assets/images/infoOutline.png'),\r\n infoWarning: require('../assets/images/infoWarning.png'),\r\n infoWarningDark: require('../assets/images/infoWarningDark.png'),\r\n layerIcon22x22: require('../assets/images/layerIcon22x22.png'),\r\n music: require('../assets/images/music.png'),\r\n notifications: require('../assets/images/notificationsIcon.png'),\r\n OD4HeroACM: require('../assets/images/OD4HeroACM.png'),\r\n officeApps: require('../assets/images/office_apps.png'),\r\n openFolder: require('../assets/images/open-folder.png'),\r\n openFolderOriginal: require('../assets/images/open-folder_original.png'),\r\n openItemFolder: require('../assets/images/openFolder20x20.png'),\r\n overflow: require('../assets/images/overflow.png'),\r\n pauseIcon22x22: require('../assets/images/pauseIcon22x22.png'),\r\n phone: require('../assets/images/phone.png'),\r\n pictures: require('../assets/images/pictures.png'),\r\n profile: require('../assets/images/profile.png'),\r\n reactivate: require('../assets/images/reactivate.png'),\r\n recycleBin: require('../assets/images/recycle-bin.png'),\r\n recycleBin20x20: require('../assets/images/recycle-bin20x20.png'),\r\n reportProblem22x22: require('../assets/images/reportProblemIcon22x22.png'),\r\n settings: require('../assets/images/settingsIcon.png'),\r\n settingsIcon22x22: require('../assets/images/settingsIcon22x22.png'),\r\n share: require('../assets/images/share20x20.png'),\r\n stack: require('../assets/images/stack20x20.png'),\r\n prioritizeSync: require('../assets/images/prioritize_sync_light.png'),\r\n prioritizeSyncDark: require('../assets/images/prioritize_sync_dark.png'),\r\n sync: require('../assets/images/syncIcon.png'),\r\n syncStatusError: require('../assets/images/syncStatusError.png'),\r\n syncStatusOffline: require('../assets/images/syncStatusOffline.png'),\r\n syncStatusSynced: require('../assets/images/syncStatusSynced.png'),\r\n syncStatusSyncing: require('../assets/images/syncStatusSyncing.png'),\r\n syncStatusWarning: require('../assets/images/syncStatusWarning.png'),\r\n unlockIcon22x22: require('../assets/images/unlockIcon22x22.png'),\r\n videos: require('../assets/images/videos.png'),\r\n viewOnline: require('../assets/images/view-online.png'),\r\n viewOnline20x20: require('../assets/images/view-online20x20.png'),\r\n warning: require('../assets/images/warning.png'),\r\n welcome: require('../assets/images/welcome.png')\r\n};\r\n\r\n// List of all images that support light and dark themes.\r\nconst themedImageList = {\r\n info: [require('../assets/images/info.png'), require('../assets/images/infoDark.png')],\r\n infoWarning: [require('../assets/images/infoWarning.png'), require('../assets/images/infoWarningDark.png')],\r\n error: [require('../assets/images/error.png'), require('../assets/images/errorDark.png')],\r\n optionalDiagnosticData: [\r\n require('../../freView/assets/light/optionalDiagnosticData.png'),\r\n require('../../freView/assets/dark/optionalDiagnosticData.png')\r\n ],\r\n aiSearch: [require('../assets/images/AISearch.png'), require('../assets/images/AISearchDark.png')],\r\n people: [require('../assets/images/people.png'), require('../assets/images/peopleDark.png')],\r\n prioritizeSync: [\r\n require('../assets/images/prioritize_sync_light.png'),\r\n require('../assets/images/prioritize_sync_dark.png')\r\n ]\r\n // add more themed images here\r\n};\r\n\r\ninterface IIconStyles {\r\n icon: ViewStyle;\r\n}\r\n\r\nexport type IconName = keyof typeof imageList;\r\n\r\ninterface IIconProps {\r\n style?: StyleProp;\r\n testID?: string;\r\n name: IconName;\r\n}\r\n\r\nconst useIconStyles: ThemedStylesHook = createThemedStylesHook(\r\n commonThemeManager,\r\n (theme: ICommonTheme) => {\r\n return {\r\n icon: {\r\n width: 18,\r\n height: 18\r\n }\r\n };\r\n }\r\n);\r\n\r\nexport const Icon = (props: IIconProps): JSX.Element => {\r\n const styles = useIconStyles();\r\n const { style, name, testID } = props;\r\n const theme = useCurrentThemeName();\r\n\r\n let themedImageSource = null;\r\n const themedImageName = name as keyof typeof themedImageList;\r\n if (themedImageList[themedImageName]) {\r\n const imageIndex = theme === ThemeName.Dark || theme === ThemeName.HighContrastDark ? 1 : 0;\r\n themedImageSource = themedImageList[themedImageName][imageIndex];\r\n }\r\n\r\n const imageSource: ImageURISource = themedImageSource || imageList[name];\r\n return ;\r\n};\r\n\r\nexport default Icon;\r\n","","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict\n * @format\n */\n\n'use strict';\n\nimport type {PackagerAsset} from '@react-native/assets-registry/registry';\n\nconst AssetRegistry = require('@react-native/assets-registry/registry') as {\n registerAsset: (asset: PackagerAsset) => number,\n getAssetByID: (assetId: number) => PackagerAsset,\n};\n\nmodule.exports = AssetRegistry;\n","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","import React from 'react';\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks';\r\nimport { ICommonModalProps } from '../../components/CommonModal';\r\nimport { commonActions } from '../../redux/commonSlice';\r\nimport { selectFailedFetch, selectMetadata } from '../../redux/selectors';\r\nimport {\r\n defaultCommonModalProps,\r\n IActionProps,\r\n ICommonContextData,\r\n IQoSTelemetryData,\r\n QoSTelemetryResultType\r\n} from './CommonContext';\r\nimport { useRecordFunnelTelemetryCallback, useRecordQoSTelemetryCallback } from '../../redux/logHooks';\r\nimport { UX_RN_VIEW_DATA_LOADED } from '../../constants';\r\n\r\nexport const useCommonContextData = (appKey: string): ICommonContextData => {\r\n const [isAppFullyLoaded, setIsAppFullyLoaded] = React.useState(false);\r\n const [isChildDataLoaded, setIsChildDataLoaded] = React.useState(false);\r\n const [loadStartTime] = React.useState(Date.now());\r\n const [textScale, setTextScale] = React.useState(1);\r\n const [commonModalProps, setCommonModalProps] = React.useState(defaultCommonModalProps);\r\n const [isCommonModalVisible, setCommonModalVisible] = React.useState(false);\r\n const dispatch = useAppDispatch();\r\n const metadata = useAppSelector(selectMetadata);\r\n const failedFetch = useAppSelector(selectFailedFetch);\r\n const recordQoSCallback = useRecordQoSTelemetryCallback(appKey);\r\n const recordFunnelTelemetry = useRecordFunnelTelemetryCallback(appKey);\r\n\r\n // Child apps call this callback when their data has been loaded\r\n const onChildDataLoaded = (failedFetch: boolean): void => {\r\n if (failedFetch) {\r\n dispatch(commonActions.setFailedFetch(true));\r\n }\r\n setIsChildDataLoaded(true);\r\n };\r\n\r\n React.useEffect(() => {\r\n // Fetch all metadata and strings\r\n dispatch(commonActions.fetchAllMetadata());\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n const isMetadataLoaded = metadata !== null;\r\n if (!isAppFullyLoaded && isChildDataLoaded && isMetadataLoaded && !failedFetch) {\r\n setIsAppFullyLoaded(true);\r\n recordFunnelTelemetry('ViewFullyLoaded');\r\n }\r\n }, [isAppFullyLoaded, isChildDataLoaded, metadata, failedFetch]);\r\n\r\n React.useEffect(() => {\r\n if (failedFetch) {\r\n // If fetch failed, record the result as a QoS Telemetry point.\r\n const duration: number = Date.now() - loadStartTime;\r\n const qosData: IQoSTelemetryData = {\r\n apiName: UX_RN_VIEW_DATA_LOADED,\r\n resultType: QoSTelemetryResultType.UnexpectedFailure,\r\n resultCode: -1,\r\n httpCode: 500,\r\n duration: duration\r\n };\r\n recordQoSCallback(qosData);\r\n } else if (isAppFullyLoaded) {\r\n // When the app is fully loaded, record the total load duration as a QoS Telemetry point.\r\n const duration: number = Date.now() - loadStartTime;\r\n const qosData: IQoSTelemetryData = {\r\n apiName: UX_RN_VIEW_DATA_LOADED,\r\n resultType: QoSTelemetryResultType.Success,\r\n resultCode: 0,\r\n httpCode: 200,\r\n duration: duration\r\n };\r\n recordQoSCallback(qosData);\r\n }\r\n }, [failedFetch, isAppFullyLoaded]);\r\n\r\n React.useEffect(() => {\r\n if (metadata && metadata.windows && metadata.windows.textScaleFactor) {\r\n setTextScale(metadata.windows.textScaleFactor);\r\n }\r\n }, [metadata]);\r\n\r\n const onAction = async (action: string): Promise => {\r\n const actionProps: IActionProps = {\r\n action: action,\r\n view: appKey\r\n };\r\n dispatch(commonActions.onAction(actionProps));\r\n };\r\n\r\n return {\r\n metadata,\r\n textScale,\r\n isAppFullyLoaded,\r\n failedFetch,\r\n onChildDataLoaded,\r\n onAction,\r\n commonModalProps,\r\n setCommonModalProps,\r\n isCommonModalVisible,\r\n setCommonModalVisible\r\n };\r\n};\r\n","import React from 'react';\r\nimport { MESSAGE_EVENT_TYPE, NativeDataHandler } from '../../dataHandler/NativeDataHandler';\r\n\r\n// RootTagContext module export is not found by TypeScript, but we can still import and use it without error.\r\n// @ts-ignore\r\nimport { AppRegistry, RootTagContext } from 'react-native';\r\nimport { AppKeyContext, CommonContext, DpiScaleContext } from '../models/CommonContext';\r\nimport { commonActions } from '../../redux/commonSlice';\r\nimport { useAppDispatch, useAppSelector } from '../../../hooks';\r\n\r\ninterface ICommonMessageHandlerProps {\r\n dataHandler: NativeDataHandler;\r\n}\r\n\r\nexport function CommonMessageHandler(props: ICommonMessageHandlerProps): JSX.Element | null {\r\n const rootTag: number = React.useContext(RootTagContext);\r\n const appKey: string = React.useContext(AppKeyContext);\r\n const dpiContext = React.useContext(DpiScaleContext);\r\n const commonContext = React.useContext(CommonContext);\r\n const dispatch = useAppDispatch();\r\n const metadata = useAppSelector((state) => state.common.metadata);\r\n\r\n React.useLayoutEffect(() => {\r\n const callback = (serializedResult: string): void => {\r\n const result = JSON.parse(serializedResult);\r\n if (result.messageType === 'unmount' && result.value === appKey) {\r\n AppRegistry.unmountApplicationComponentAtRootTag(rootTag);\r\n } else if (result.messageType === 'viewActivated') {\r\n dispatch(commonActions.setViewActivated(result.value.viewName));\r\n } else if (result.messageType === 'HandleEscKey') {\r\n if (commonContext.isCommonModalVisible) {\r\n commonContext.setCommonModalVisible(false);\r\n }\r\n } else if (result.messageType === 'textScaleFactorChanged') {\r\n dispatch(commonActions.setTextScaleFactor(result.value.textScaleFactor));\r\n } else if (result.messageType === 'dpiScaleUpdated' && result.value.viewName === appKey) {\r\n dpiContext.setDpiScale(result.value.dpiScale);\r\n } else if (metadata && metadata.account && metadata.account.isBVTRunning) {\r\n if (result.messageType === 'bvtPress' && result.value.viewName === appKey) {\r\n dispatch(commonActions.setBvtPressRequest(result.value));\r\n } else if (result.messageType === 'bvtSetText') {\r\n dispatch(commonActions.setBvtSetTextRequest(result.value));\r\n } else if (result.messageType === 'bvtRerender') {\r\n dispatch(commonActions.setBvtRenderRequest(result.value));\r\n }\r\n }\r\n };\r\n\r\n props.dataHandler.addEventListener(MESSAGE_EVENT_TYPE, callback);\r\n\r\n return () => {\r\n props.dataHandler.removeEventListener(MESSAGE_EVENT_TYPE);\r\n };\r\n }, [rootTag, appKey, commonContext.isCommonModalVisible, metadata]);\r\n\r\n return null;\r\n}\r\n","import React, { useEffect } from 'react';\r\nimport {\r\n AccessibilityInfo,\r\n GestureResponderEvent,\r\n ImageStyle,\r\n Pressable,\r\n View,\r\n ViewStyle,\r\n AccessibilityRole\r\n} from 'react-native';\r\nimport { ActivityCenterHeader } from './components/ActivityCenterHeader';\r\nimport { ActivityCenterFooter } from './components/ActivityCenterFooter';\r\nimport { ActivityCenterErrorHeader } from './components/ErrorHeader';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../common/themes/themes';\r\nimport { ITheme, themeManager } from './themes/ITheme';\r\nimport { useAppDispatch, useAppSelector, useBasicOnChildDataLoaded } from '../hooks';\r\nimport {\r\n selectACPage,\r\n selectActivityCenterErrors,\r\n selectCoAuthLockedItems,\r\n selectIsActiveVisualState,\r\n selectIsSingleErrorReady,\r\n selectItemsHistory,\r\n selectShouldShowContextMenu,\r\n selectVisualState,\r\n selectIsVisualStatePaused,\r\n selectPausedReason,\r\n selectIsSettingsTooltipVisible,\r\n selectShouldShowItemMenu,\r\n selectCurrentItem,\r\n selectIsHomeTooltipVisible,\r\n selectMoreOptionsTooltip,\r\n selectIsReportABugTooltipVisible,\r\n selectRootContextMenuItem,\r\n selectTrapFocus,\r\n selectIsCopilotActionEnabled,\r\n selectIsCopilotImageActionEnabled,\r\n selectIsPrioritizeSyncEnabled,\r\n selectIsUnarchiveContextMenuEnabled,\r\n selectUpgradeProgress,\r\n selectUpgradeScope,\r\n selectIsKFMOnboardingTooltipVisible,\r\n selectIsSearchBarVisible,\r\n selectIsSearchToggleTooltipVisible,\r\n selectIsSearchOnboardingTooltipVisible,\r\n selectHasSeenSearchTooltip,\r\n selectSearchQuery,\r\n selectSearchState,\r\n selectSearchFilter,\r\n selectIsSearchActive,\r\n selectIsFilteredEmpty,\r\n selectAvailableSearchFilters,\r\n selectShouldShowSearchFeedbackFooter\r\n} from './redux/activityCenterSelectors';\r\nimport { ActivityCenterErrors } from './components/ActivityCenterErrors';\r\nimport { SyncStatus } from './components/SyncStatus';\r\nimport { activityCenterActions } from './redux/activityCenterSlice';\r\nimport { NativeDataHandler } from '../common/dataHandler/NativeDataHandler';\r\nimport { ActivityCenterItemsHistory } from './components/ActivityCenterItemsHistory';\r\nimport { ActivityCenterMessage } from './components/ActivityCenterMessage';\r\nimport { CommonPressable } from '../common/components/CommonPressable';\r\nimport {\r\n ActivityCenterUIAction,\r\n ActivityItemType,\r\n HistoryItemMenuAction,\r\n VisibleErrorState,\r\n SearchFilterType,\r\n SEARCH_DEFAULT_MAX_RESULTS,\r\n isSearchResultItem\r\n} from './types';\r\nimport { VisualStates } from '../common/types';\r\nimport Spinner from '../common/components/Spinner';\r\nimport { ActivityCenterCoAuthLockedItems } from './components/ActivityCenterCoAuthLockedItems';\r\nimport { ActivityCenterMessageHandler } from './dataHandler/ActivityCenterMessageHandler';\r\nimport { useSearchEventHandler } from './dataHandler/SearchEventHandler';\r\nimport { ItemError } from './components/ItemError';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CommonText } from '../common/components/CommonText';\r\nimport PausedView from './components/PausedView';\r\nimport { SearchInput } from './components/SearchInput';\r\nimport { SearchFilterTabs } from './components/SearchFilterTabs';\r\nimport { SearchHistoryEmptyState } from './components/SearchHistoryEmptyState';\r\nimport { SearchFooter } from './components/SearchFooter';\r\nimport { SVGIcon } from '../common/components/SvgIcon';\r\nimport { commonActions } from '../common/redux/commonSlice';\r\nimport Tooltip from '../common/components/Tooltip';\r\nimport { CommonButton } from '../common/components/CommonButton';\r\nimport { IItemHistoryButtonProps } from './types/activityCenterViewTypes';\r\nimport { AppKeyContext, CommonContext, Variants, UpdateRingKillSwitch } from '../common/types';\r\nimport { AppDispatch } from '../store';\r\nimport { useArrowKeys } from '../common/components/accessibilityUtils';\r\nimport { ActivityCenterContextMenu } from './components/ActivityCenterContextMenu';\r\nimport {\r\n computeCopilotAction,\r\n isCopilotAction,\r\n isCopilotActionEnabledForFileExtension\r\n} from './utils/CopilotActionHelpers';\r\nimport { Platform, TextStyle } from 'react-native';\r\nimport { useCommonStyles } from '../common/themes/ICommonTheme';\r\nimport { useRecordCopilotFunnelTelemetryCallback } from '../common/redux/logHooks';\r\nimport { useKillSwitchSafe, useECSRampEnabled } from '../common/redux/updateRingSettingsHooks';\r\nimport { selectMetadata } from '../common/redux/selectors';\r\n\r\nconst isMacOS = Platform.OS === 'macos';\r\n\r\n// Killswitch (ID 6987) for the Activity Center per-item \"Copy link\" command.\r\n// Default-on; when thrown, the Copy link menu item is hidden.\r\nconst ActivityCenterCopyLinkCommand: UpdateRingKillSwitch = 6987;\r\n\r\ninterface IActivityCenterViewStyles {\r\n container: ViewStyle;\r\n contextMenuContainer: ViewStyle;\r\n buttonImage: ImageStyle;\r\n buttonStyle: ViewStyle;\r\n popoverContainer: ViewStyle;\r\n settingUpSpinnerHeader?: TextStyle;\r\n settingUpSpinnerSubText?: TextStyle;\r\n settingUpSpinnerSubText2?: TextStyle;\r\n searchSpinner: ViewStyle;\r\n searchStatusMessage: ViewStyle;\r\n searchStatusText: TextStyle;\r\n searchStatusIcon: ImageStyle;\r\n}\r\n\r\nconst itemHistoryButtons: IItemHistoryButtonProps[] = [\r\n {\r\n action: (dispatch: AppDispatch, path: string) => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.OpenMenuActivated));\r\n dispatch(activityCenterActions.handleHistoryItemAction({ action: HistoryItemMenuAction.Open, path }));\r\n },\r\n stringId: 'activityListMenuitemOpen',\r\n icon: 'openFolder',\r\n testID: 'openItem',\r\n actionId: HistoryItemMenuAction.Open\r\n },\r\n {\r\n action: (dispatch: AppDispatch, path: string) => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.ShareMenuActivated));\r\n dispatch(activityCenterActions.handleHistoryItemAction({ action: HistoryItemMenuAction.Share, path }));\r\n },\r\n stringId: 'activityListMenuitemShare',\r\n icon: 'share',\r\n testID: 'shareItem',\r\n actionId: HistoryItemMenuAction.Share\r\n },\r\n {\r\n action: (dispatch: AppDispatch, path: string) => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.CopyLinkMenuActivated));\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({ action: HistoryItemMenuAction.CopyLink, path })\r\n );\r\n },\r\n stringId: 'activityListMenuitemCopyLink',\r\n icon: 'copyLink',\r\n testID: 'copyLink',\r\n actionId: HistoryItemMenuAction.CopyLink\r\n },\r\n {\r\n action: (dispatch: AppDispatch, path: string) => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.SyncNowClicked));\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({ action: HistoryItemMenuAction.SyncNow, path })\r\n );\r\n },\r\n stringId: 'activityListMenuitemPrioritizeSync',\r\n icon: 'prioritizeSync',\r\n testID: 'prioritizeSync',\r\n actionId: HistoryItemMenuAction.SyncNow\r\n },\r\n {\r\n action: (dispatch: AppDispatch, path: string) => {\r\n dispatch(\r\n activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.ViewOnlineMenuActivated)\r\n );\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({ action: HistoryItemMenuAction.Viewonline, path })\r\n );\r\n },\r\n stringId: 'activityListMenuitemViewonline',\r\n icon: 'globeIcon20x20',\r\n testID: 'viewOnline',\r\n actionId: HistoryItemMenuAction.Viewonline\r\n },\r\n {\r\n action: (dispatch: AppDispatch, path: string) => {\r\n dispatch(\r\n activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.VersionHistoryMenuActivated)\r\n );\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({ action: HistoryItemMenuAction.Versionhistory, path })\r\n );\r\n },\r\n stringId: 'activityListMenuitemVersionhistory',\r\n icon: 'stack',\r\n testID: 'versionHistory',\r\n actionId: HistoryItemMenuAction.Versionhistory\r\n },\r\n {\r\n action: (dispatch: AppDispatch, path: string) => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.SummarizeClicked));\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({ action: HistoryItemMenuAction.Summarize, path })\r\n );\r\n },\r\n stringId: 'activityListMenuitemSummarize',\r\n icon: 'copilot',\r\n testID: 'summarize',\r\n actionId: HistoryItemMenuAction.Summarize\r\n },\r\n {\r\n action: (dispatch: AppDispatch, path: string) => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.CreateAnFAQClicked));\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({ action: HistoryItemMenuAction.CreateAnFAQ, path })\r\n );\r\n },\r\n stringId: 'activityListMenuitemCreateFAQ',\r\n icon: 'copilot',\r\n testID: 'createFAQ',\r\n actionId: HistoryItemMenuAction.CreateAnFAQ\r\n },\r\n {\r\n action: (dispatch: AppDispatch, path: string) => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.ExplainImageClicked));\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({ action: HistoryItemMenuAction.ExplainImage, path })\r\n );\r\n },\r\n stringId: 'activityListMenuitemExplainImage',\r\n icon: 'copilot',\r\n testID: 'explainImage',\r\n actionId: HistoryItemMenuAction.ExplainImage\r\n },\r\n {\r\n action: (dispatch: AppDispatch, path: string) => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.ExtractTextClicked));\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({ action: HistoryItemMenuAction.ExtractText, path })\r\n );\r\n },\r\n stringId: 'activityListMenuitemExtractText',\r\n icon: 'copilot',\r\n testID: 'extractText',\r\n actionId: HistoryItemMenuAction.ExtractText\r\n },\r\n {\r\n action: (dispatch: AppDispatch, path: string) => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.AskAQuestionClicked));\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({ action: HistoryItemMenuAction.AskAQuestion, path })\r\n );\r\n },\r\n stringId: 'activityListMenuitemAskQuestion',\r\n icon: 'copilot',\r\n testID: 'askQuestion',\r\n actionId: HistoryItemMenuAction.AskAQuestion\r\n },\r\n {\r\n action: (dispatch: AppDispatch, path: string) => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.ReactivateClicked));\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({ action: HistoryItemMenuAction.Reactivate, path })\r\n );\r\n },\r\n stringId: 'activityListMenuitemReactivate',\r\n icon: 'reactivate',\r\n testID: 'reactivate',\r\n actionId: HistoryItemMenuAction.Reactivate\r\n }\r\n];\r\n\r\nexport const useActivityCenterViewStyles: ThemedStylesHook =\r\n createThemedStylesHook(themeManager, (theme: ITheme) => {\r\n return {\r\n container: {\r\n flex: 1,\r\n display: 'flex',\r\n backgroundColor: theme.backgroundColor\r\n },\r\n contextMenuContainer: {\r\n position: 'absolute',\r\n marginTop: 50,\r\n right: 15\r\n },\r\n buttonImage: {\r\n width: 18,\r\n height: 18,\r\n marginLeft: 8\r\n },\r\n buttonStyle: {\r\n justifyContent: 'flex-start',\r\n alignContent: 'center',\r\n borderWidth: 0,\r\n borderBottomWidth: 0\r\n },\r\n popoverContainer: {\r\n right: 10,\r\n backgroundColor: theme.contextMenuBackground,\r\n borderWidth: 1,\r\n borderColor: theme.contextMenuBorder,\r\n borderRadius: 5,\r\n zIndex: 3,\r\n opacity: 1,\r\n position: 'absolute'\r\n },\r\n settingUpSpinnerHeader: isMacOS\r\n ? {\r\n color: theme.settingUpSpinnerHeaderColor,\r\n fontWeight: 'bold',\r\n fontSize: 16\r\n }\r\n : undefined,\r\n settingUpSpinnerSubText: isMacOS\r\n ? {\r\n color: theme.settingUpSpinnerSubTextColor,\r\n fontSize: 14\r\n }\r\n : undefined,\r\n settingUpSpinnerSubText2: isMacOS\r\n ? {\r\n color: theme.settingUpSpinnerSubText2Color,\r\n fontSize: 14\r\n }\r\n : undefined,\r\n searchSpinner: {\r\n flex: 1,\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n backgroundColor: theme.backgroundColor\r\n },\r\n searchStatusMessage: {\r\n flex: 1,\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n paddingHorizontal: 20,\r\n paddingVertical: 40\r\n },\r\n searchStatusText: {\r\n fontSize: 14,\r\n color: theme.subtitleColor,\r\n textAlign: 'center'\r\n },\r\n searchStatusIcon: {\r\n width: 32,\r\n height: 32,\r\n opacity: 0.4,\r\n marginBottom: 12\r\n }\r\n };\r\n });\r\n\r\n/**\r\n * Helper component used to trap focus when the Activity Center is opened.\r\n *\r\n * This is needed to prevent the header buttons from receiving focus automatically,\r\n * which causes their Tooltips to be displayed unexpectedly.\r\n */\r\nconst FocusTrap: () => JSX.Element | null = () => {\r\n const dispatch = useAppDispatch();\r\n const trapFocus = useAppSelector(selectTrapFocus);\r\n const focusRef = React.useRef(null);\r\n React.useEffect(() => {\r\n // When the Activity Center is opened, trapFocus state is set to true.\r\n // In this case, the trap activates to prevent other elements from receiving initial focus.\r\n if (focusRef.current && trapFocus) {\r\n focusRef.current!.focus();\r\n }\r\n }, [focusRef.current, trapFocus]);\r\n\r\n const onBlur = React.useCallback((): void => {\r\n // When the focus trap loses focus, we want to set the trapFocus state to false so\r\n // the next focusable element correctly receives focus instead of the trap.\r\n dispatch(activityCenterActions.setTrapFocus(false));\r\n }, [dispatch]);\r\n\r\n // The pressable component should only be focusable/accessible when the trapFocus state is true.\r\n // Otherwise, it should be disabled so that it no longer interferes with the usual focus flow.\r\n return ;\r\n};\r\n\r\nexport const ActivityCenterView: () => JSX.Element | null = () => {\r\n const styles = useActivityCenterViewStyles();\r\n const commonStyles = useCommonStyles();\r\n const commonContext = React.useContext(CommonContext);\r\n const isBusiness = !!commonContext.metadata?.account.isODB;\r\n const isOnPrem = !!useAppSelector(selectMetadata)?.account.isOnPrem;\r\n const page = useAppSelector(selectACPage);\r\n const errors = useAppSelector(selectActivityCenterErrors);\r\n const items = useAppSelector(selectItemsHistory);\r\n const coAuthLockedItems = useAppSelector(selectCoAuthLockedItems);\r\n const shouldShowContextMenu = useAppSelector(selectShouldShowContextMenu);\r\n const isActiveVisualState = useAppSelector(selectIsActiveVisualState);\r\n const isPaused = useAppSelector(selectIsVisualStatePaused);\r\n const visualState = useAppSelector(selectVisualState);\r\n const pausedReason = useAppSelector(selectPausedReason);\r\n const dispatch = useAppDispatch();\r\n const searchEvents = useSearchEventHandler();\r\n const isSingleErrorReady = useAppSelector(selectIsSingleErrorReady);\r\n const [loadingText, setLoadingText] = React.useState('');\r\n const [loadingSubText, setLoadingSubText] = React.useState('');\r\n const [loadingSubText2, setLoadingSubText2] = React.useState('');\r\n const { t: translate } = useTranslation();\r\n const isSettingsTooltipVisible = useAppSelector(selectIsSettingsTooltipVisible);\r\n const isHomeTooltipVisible = useAppSelector(selectIsHomeTooltipVisible);\r\n const isReportABugTooltipVisible = useAppSelector(selectIsReportABugTooltipVisible);\r\n const isKFMOnboardingTooltipVisible = useAppSelector(selectIsKFMOnboardingTooltipVisible);\r\n const isSearchToggleTooltipVisible = useAppSelector(selectIsSearchToggleTooltipVisible);\r\n const isSearchOnboardingTooltipVisible = useAppSelector(selectIsSearchOnboardingTooltipVisible);\r\n const hasSeenSearchTooltip = useAppSelector(selectHasSeenSearchTooltip);\r\n const trapFocus = useAppSelector(selectTrapFocus);\r\n const showMoreOptionsTooltip = useAppSelector(selectMoreOptionsTooltip);\r\n const shouldShowItemMenu = useAppSelector(selectShouldShowItemMenu);\r\n const selectedItem = useAppSelector(selectCurrentItem);\r\n const { tabRefs, createHandleArrowKeys } = useArrowKeys(itemHistoryButtons.length);\r\n const rootMenuItem = useAppSelector(selectRootContextMenuItem);\r\n const isCopilotActionEnabled = useAppSelector(selectIsCopilotActionEnabled);\r\n const isCopilotImageActionEnabled = useAppSelector(selectIsCopilotImageActionEnabled);\r\n const isPrioritizeSyncEnabled = useAppSelector(selectIsPrioritizeSyncEnabled);\r\n const isUnarchiveContextMenuEnabled = useAppSelector(selectIsUnarchiveContextMenuEnabled);\r\n const upgradeProgress = useAppSelector(selectUpgradeProgress);\r\n const upgradeScope = useAppSelector(selectUpgradeScope);\r\n const isSemanticSearchEnabled = useECSRampEnabled(6694) ?? false;\r\n const isSearchBarVisible = useAppSelector(selectIsSearchBarVisible);\r\n const searchQuery = useAppSelector(selectSearchQuery);\r\n const searchState = useAppSelector(selectSearchState);\r\n const searchFilter = useAppSelector(selectSearchFilter);\r\n const isSearchActive = useAppSelector(selectIsSearchActive);\r\n const isFilteredEmpty = useAppSelector(selectIsFilteredEmpty);\r\n const shouldShowSearchFeedbackFooter = useAppSelector(selectShouldShowSearchFeedbackFooter);\r\n const availableSearchFilters = useAppSelector(selectAvailableSearchFilters);\r\n const isCopilotAutoSelectedItem = selectedItem?.autoSelected && isCopilotActionEnabled;\r\n const isSafeToShowStatus = useKillSwitchSafe(5988) ?? false;\r\n const isCopyLinkSafe = useKillSwitchSafe(ActivityCenterCopyLinkCommand) ?? true;\r\n\r\n // Single source of truth for \"should the AC's search UI (input and landing /\r\n // result body) be on screen right now?\"\r\n const shouldShowSearch = React.useMemo(\r\n () => isSemanticSearchEnabled && isSearchBarVisible && isActiveVisualState && !isPaused,\r\n [isSemanticSearchEnabled, isSearchBarVisible, isActiveVisualState, isPaused]\r\n );\r\n\r\n const isCopilotSelectedItem =\r\n isCopilotActionEnabled &&\r\n isCopilotActionEnabledForFileExtension(\r\n selectedItem?.item?.filePath || '',\r\n HistoryItemMenuAction.AskAQuestion,\r\n isBusiness,\r\n isCopilotImageActionEnabled\r\n );\r\n // Copilot actions that will render when open the item history context menu.\r\n // Used to log Impression telemetry event.\r\n const enabledCopilotActionIds: number[] = [];\r\n const recordCopilotFunnelTelemetry = useRecordCopilotFunnelTelemetryCallback();\r\n\r\n useBasicOnChildDataLoaded();\r\n\r\n // Auto-show the search onboarding tooltip on first AC open when semantic\r\n // search is enabled. Gated on `!trapFocus` to avoid fighting FocusTrap's\r\n // initial focus management.\r\n React.useEffect(() => {\r\n if (\r\n isSemanticSearchEnabled &&\r\n isActiveVisualState &&\r\n !hasSeenSearchTooltip &&\r\n !isSearchOnboardingTooltipVisible &&\r\n !trapFocus\r\n ) {\r\n dispatch(activityCenterActions.setIsSearchOnboardingTooltipVisible(true));\r\n }\r\n }, [\r\n isSemanticSearchEnabled,\r\n isActiveVisualState,\r\n hasSeenSearchTooltip,\r\n isSearchOnboardingTooltipVisible,\r\n trapFocus,\r\n dispatch\r\n ]);\r\n\r\n // Onboarding tooltip auto-dismiss timer (8s). Mirrors the visible state but\r\n // runs only while the tooltip is shown, so toggling it off cancels the timer.\r\n React.useEffect(() => {\r\n if (!isSearchOnboardingTooltipVisible) {\r\n return undefined;\r\n }\r\n const timer = setTimeout(() => {\r\n dispatch(activityCenterActions.setIsSearchOnboardingTooltipVisible(false));\r\n // Persist the dismissal to the per-instance registry so the tooltip\r\n // doesn't reappear on the next OneDrive launch. The thunk's `pending`\r\n // reducer also flips `hasSeenSearchTooltip` optimistically, so the\r\n // auto-show effect won't fight us if it re-evaluates this turn.\r\n dispatch(activityCenterActions.markSearchTooltipSeen());\r\n }, 8000);\r\n return () => clearTimeout(timer);\r\n }, [isSearchOnboardingTooltipVisible, dispatch]);\r\n\r\n const appKey = React.useContext(AppKeyContext);\r\n const viewMessageDataHandler = React.useMemo(\r\n () => new NativeDataHandler(dispatch, appKey),\r\n [dispatch, appKey]\r\n );\r\n\r\n useEffect(() => {\r\n if (shouldShowItemMenu) {\r\n if (isCopilotAutoSelectedItem) {\r\n tabRefs[4].current?.focus();\r\n } else {\r\n tabRefs[0].current?.focus();\r\n }\r\n\r\n if (isCopilotSelectedItem) {\r\n for (let index = 0; index < enabledCopilotActionIds.length; index++) {\r\n recordCopilotFunnelTelemetry(\r\n 1 /* ACHistoryItemContextMenu */,\r\n enabledCopilotActionIds[index],\r\n 'Impression'\r\n );\r\n }\r\n }\r\n }\r\n }, [shouldShowItemMenu, isCopilotAutoSelectedItem, isCopilotSelectedItem]);\r\n\r\n useEffect(() => {\r\n dispatch(activityCenterActions.fetchSyncStatus());\r\n dispatch(activityCenterActions.fetchVisualState());\r\n dispatch(activityCenterActions.getActivityCenterErrors());\r\n dispatch(activityCenterActions.getItemsHistory(true /*Get all */));\r\n dispatch(activityCenterActions.getProgressItems());\r\n dispatch(activityCenterActions.getStartupParams());\r\n dispatch(activityCenterActions.getAllowOD4Entry());\r\n dispatch(activityCenterActions.getCopilotActionEligibility());\r\n dispatch(activityCenterActions.getPrioritizeSyncEligibility());\r\n dispatch(activityCenterActions.getUnarchiveContextMenuEligibility());\r\n dispatch(activityCenterActions.getIsKFMOnboardingEnabled());\r\n // Hydrate the persisted \"has seen search onboarding tooltip\" flag from\r\n // the per-instance registry so the tooltip is shown at most once per\r\n // user instead of every OneDrive launch.\r\n dispatch(activityCenterActions.getSearchTooltipSeen());\r\n }, [dispatch]);\r\n\r\n useEffect(\r\n function fetchACMessageData() {\r\n dispatch(activityCenterActions.fetchActivityCenterMessageData());\r\n dispatch(activityCenterActions.setStartTime());\r\n dispatch(activityCenterActions.setIsBusinessClient(isBusiness));\r\n // Cleanup function for when the component is unmounted\r\n return () => {\r\n dispatch(activityCenterActions.resetState());\r\n };\r\n },\r\n [isActiveVisualState]\r\n );\r\n\r\n useEffect(() => {\r\n // By default, these aren't used except for progress states.\r\n setLoadingSubText('');\r\n setLoadingSubText2('');\r\n\r\n if (visualState?.VisualState === VisualStates.SigningOut) {\r\n setLoadingText(translate('activityCenterSigningOut'));\r\n AccessibilityInfo.announceForAccessibility(translate('activityCenterSigningOut'));\r\n } else if (visualState?.VisualState === VisualStates.SigningIn) {\r\n if (upgradeProgress === undefined || upgradeProgress === -1) {\r\n // No upgrade in progress\r\n setLoadingText(translate('activityCenterSigningIn'));\r\n AccessibilityInfo.announceForAccessibility(translate('activityCenterSigningIn'));\r\n } else {\r\n // Some type of upgrade is in progress.\r\n setLoadingText(translate('activityCenterSettingUp'));\r\n\r\n // All upgrades always show the scope and we use this as the accessibility announcement.\r\n /* eslint-disable @typescript-eslint/naming-convention */\r\n const scopeText = translate('activityCenterGettingReady', {\r\n 0: upgradeScope\r\n });\r\n setLoadingSubText(scopeText);\r\n AccessibilityInfo.announceForAccessibility(scopeText);\r\n\r\n if (upgradeProgress !== 0) {\r\n // Deterministic upgrade in progress with percentage\r\n /* eslint-disable @typescript-eslint/naming-convention */\r\n const progressText = translate('activityCenterGettingReadyProgress', {\r\n 0: upgradeProgress\r\n });\r\n setLoadingSubText2(progressText);\r\n }\r\n }\r\n } else {\r\n setLoadingText('');\r\n }\r\n }, [visualState, upgradeProgress, upgradeScope, translate]);\r\n\r\n useEffect(() => {\r\n if (isPaused) {\r\n dispatch(activityCenterActions.getPausedReason());\r\n }\r\n }, [isPaused]);\r\n\r\n // memoize onHoverChanged to avoid re-rendering when the state changes\r\n const onHoverChanged = React.useCallback((isHovered: boolean): void => {\r\n dispatch(activityCenterActions.setSettingsTooltipVisibility(isHovered));\r\n }, []);\r\n\r\n // For accessibility: Announce expanded/collapsed when menu state changes\r\n const [prevContextMenuState, setPrevContextMenuState] = React.useState(shouldShowContextMenu);\r\n useEffect(() => {\r\n // Only announce if the state actually changed (not on initial render)\r\n if (prevContextMenuState !== shouldShowContextMenu) {\r\n if (shouldShowContextMenu) {\r\n AccessibilityInfo.announceForAccessibility(translate('accessibility_Expanded'));\r\n } else {\r\n AccessibilityInfo.announceForAccessibility(translate('accessibility_Collapsed'));\r\n }\r\n }\r\n setPrevContextMenuState(shouldShowContextMenu);\r\n }, [prevContextMenuState, shouldShowContextMenu, translate]);\r\n\r\n const handleButtonClick = React.useCallback((): void => {\r\n dispatch(activityCenterActions.fetchContextMenuItems());\r\n dispatch(activityCenterActions.toggleContextMenu());\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.HeaderSettingsClicked));\r\n }, []);\r\n\r\n const isLoading =\r\n (visualState?.VisualState === VisualStates.SigningOut ||\r\n visualState?.VisualState === VisualStates.SigningIn) &&\r\n visualState?.VisibleErrorState === VisibleErrorState.None;\r\n\r\n const handleResume = (): void => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.PauseStatusRectClicked));\r\n const stream = 'sc://ResumeSyncing?source=ActivityCenterPauseStatusRect';\r\n dispatch(commonActions.onAction({ action: stream, view: 'ActivityCenter' }));\r\n };\r\n\r\n // Search handlers\r\n const handleSearchTextChange = React.useCallback(\r\n (text: string): void => {\r\n dispatch(activityCenterActions.setSearchQuery(text));\r\n },\r\n [dispatch]\r\n );\r\n\r\n const handleSearchSubmit = React.useCallback(\r\n (text: string): void => {\r\n const trimmed = text.trim();\r\n if (trimmed.length > 0) {\r\n searchEvents.queryExecuted(trimmed);\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.SearchQuerySubmitted));\r\n dispatch(\r\n activityCenterActions.performSearch({ query: trimmed, maxResults: SEARCH_DEFAULT_MAX_RESULTS })\r\n );\r\n }\r\n },\r\n [dispatch, searchEvents]\r\n );\r\n\r\n const handleSearchFocus = React.useCallback((): void => {\r\n searchEvents.searchBoxFocused();\r\n }, [searchEvents]);\r\n\r\n const handleSearchClear = React.useCallback((): void => {\r\n dispatch(activityCenterActions.clearSearch());\r\n }, [dispatch]);\r\n\r\n const handleExitSearch = React.useCallback((): void => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.SearchClicked));\r\n dispatch(activityCenterActions.toggleSearchBarVisible());\r\n searchEvents.searchClosed();\r\n }, [dispatch, searchEvents]);\r\n\r\n const handleSearchFilterChange = React.useCallback(\r\n (filter: SearchFilterType): void => {\r\n dispatch(activityCenterActions.setSearchFilter(filter));\r\n },\r\n [dispatch]\r\n );\r\n\r\n // memo list components to avoid re-rendering when unrelated state changes\r\n // re-render when the length of items changes\r\n const memoizedItemHistory = React.useMemo(() => , []);\r\n\r\n const memoizedCoAuthLockedItems = React.useMemo(\r\n () => ,\r\n [coAuthLockedItems]\r\n );\r\n\r\n // Show sync status with errors only when it's safe to do so based on the kill switch,\r\n // and either there are only warnings/quiet errors or there are no errors at all.\r\n // If it's not safe to show the status with errors, then we only show it when there are no errors,\r\n // which is the previous behavior.\r\n const canShowSyncStatus = isSafeToShowStatus\r\n ? errors.isWarningsOnly || errors.isQuietErrorsOnly || errors.totalErrors === 0\r\n : errors.totalErrors <= 0;\r\n\r\n const getACBody = (): JSX.Element => {\r\n switch (page) {\r\n case 'ac_home':\r\n return (\r\n <>\r\n {isLoading ? (\r\n \r\n ) : (\r\n <>\r\n {!isPaused && isActiveVisualState && !isSearchBarVisible && canShowSyncStatus ? (\r\n \r\n ) : null}\r\n {/* Search input - show when semantic search is enabled and in active state */}\r\n {shouldShowSearch && (\r\n \r\n )}\r\n {/* Search filter tabs - show when actively searching */}\r\n {isSearchActive && isActiveVisualState && !isPaused && (\r\n \r\n )}\r\n {isPaused ? (\r\n 0}\r\n />\r\n ) : null}\r\n {/* Hide errors and message when searching */}\r\n {!isSearchActive && !isSearchBarVisible && (\r\n <>\r\n {isSingleErrorReady ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {errors.totalErrors === 0 && !isPaused ? : null}\r\n \r\n )}\r\n {isActiveVisualState ? (\r\n <>\r\n {!isSearchActive && !isSearchBarVisible && memoizedCoAuthLockedItems}\r\n {/* Empty-state body when the user has opened the search bar but\r\n has not typed anything yet. We gate on `searchQuery === ''`\r\n — NOT `!isSearchActive` — because `setSearchQuery` flips\r\n the search.state to 'searching' on the first keystroke,\r\n which would make `isSearchActive` true before we ever\r\n dispatch the thunk. */}\r\n {shouldShowSearch && searchQuery === '' ? (\r\n \r\n ) : isSearchActive && searchState === 'searching' ? (\r\n \r\n ) : isSearchActive && searchState === 'noResults' ? (\r\n \r\n \r\n \r\n {translate('searchNoResults')}\r\n \r\n \r\n ) : isSearchActive && searchState === 'error' ? (\r\n \r\n \r\n {translate('searchError')}\r\n \r\n ) : isSearchActive && isFilteredEmpty ? (\r\n \r\n \r\n \r\n {translate('searchNoResultsForFilter')}\r\n \r\n \r\n ) : (\r\n memoizedItemHistory\r\n )}\r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n );\r\n case 'ac_errors':\r\n return ;\r\n default:\r\n return <>;\r\n }\r\n };\r\n\r\n // use memo on Header to avoid re-rendering when unrelated state changes happen\r\n const memoizedHeader = React.useMemo(\r\n () => ,\r\n []\r\n );\r\n\r\n // use memo on Footer to avoid re-rendering when unrelated state changes happen\r\n const memoizedFooter = React.useMemo(() => , []);\r\n\r\n const memoizedContextMenu = React.useMemo(\r\n () => ,\r\n [isActiveVisualState, isPaused]\r\n );\r\n\r\n const buttonWidth = 162;\r\n\r\n const handleButtonPress = (button: IItemHistoryButtonProps): void => {\r\n button.action(dispatch, selectedItem?.item?.filePath || '');\r\n dispatch(activityCenterActions.dismissContextMenus());\r\n };\r\n\r\n // Check if the selected item is archived or reactivating\r\n const isArchivedFile =\r\n isUnarchiveContextMenuEnabled &&\r\n selectedItem?.item &&\r\n !isSearchResultItem(selectedItem.item) &&\r\n (selectedItem.item.activityItemType === ActivityItemType.Archived ||\r\n selectedItem.item.activityItemType === ActivityItemType.Reactivating);\r\n\r\n const renderButtons: JSX.Element[] = [];\r\n let renderIndex = 0; // Track the actual render index for ref assignment\r\n for (let index = 0; index < itemHistoryButtons.length; index++) {\r\n const buttonProps = itemHistoryButtons[index];\r\n let shouldRender = true;\r\n\r\n // Default-deny approach for archived files: hide all options except Reactivate\r\n // This ensures new menu options added in the future are automatically hidden for archived files\r\n if (isArchivedFile) {\r\n shouldRender = buttonProps.actionId === HistoryItemMenuAction.Reactivate;\r\n } else if (buttonProps.actionId === HistoryItemMenuAction.Reactivate) {\r\n // Hide Reactivate button for non-archived files\r\n shouldRender = false;\r\n } else if (buttonProps.actionId === HistoryItemMenuAction.SyncNow) {\r\n shouldRender = isPrioritizeSyncEnabled;\r\n } else if (buttonProps.actionId === HistoryItemMenuAction.CopyLink) {\r\n // Copy link is not supported for on-prem (SharePoint Server) instances, so\r\n // hide it there in addition to honoring the kill switch.\r\n shouldRender = isCopyLinkSafe && !isOnPrem;\r\n } else if (isCopilotAction(buttonProps.actionId)) {\r\n const filePath = selectedItem?.item?.filePath ?? '';\r\n shouldRender =\r\n isCopilotActionEnabled &&\r\n isCopilotActionEnabledForFileExtension(\r\n filePath,\r\n buttonProps.actionId,\r\n isBusiness,\r\n isCopilotImageActionEnabled\r\n );\r\n if (shouldRender) {\r\n enabledCopilotActionIds.push(computeCopilotAction(buttonProps.actionId));\r\n }\r\n }\r\n\r\n if (shouldRender) {\r\n renderButtons.push(\r\n handleButtonPress(buttonProps)}\r\n onKeyDown={createHandleArrowKeys(renderIndex)}\r\n innerRef={tabRefs[renderIndex]}\r\n icon={buttonProps.icon}\r\n height={35}\r\n disabled={isPaused && renderIndex !== 0}\r\n width={buttonWidth}\r\n unfocusableWhenModalActive={false}\r\n customIconStyle={styles.buttonImage as ImageStyle}\r\n flexDirection='row'\r\n customButtonStyle={{\r\n ...styles.buttonStyle,\r\n ...(isCopilotAutoSelectedItem && buttonProps.actionId === HistoryItemMenuAction.Summarize\r\n ? commonStyles.viewOutline\r\n : {})\r\n }}\r\n testID={buttonProps.testID}\r\n />\r\n );\r\n renderIndex++; // Increment only when a button is actually rendered\r\n }\r\n }\r\n\r\n const handleBodyPress = (e?: GestureResponderEvent): void => {\r\n // Dismiss context menu when user clicks outside of it\r\n // However, when a user uses the Enter button to activate a button in the context menu,\r\n // we don't want to auto dismiss it\r\n /* eslint-disable @typescript-eslint/no-explicit-any */\r\n const pointerType: string | undefined = (e?.nativeEvent as any)?.pointerType;\r\n if (pointerType === 'mouse') {\r\n dispatch(activityCenterActions.dismissContextMenus());\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {memoizedHeader}\r\n \r\n {(isPressed, isHovering) => {\r\n return (\r\n <>\r\n {getACBody()}\r\n {/* Bottom slot: the search feedback banner is only shown after a query\r\n has results or a no-results state. The search landing page keeps\r\n the footer hidden. */}\r\n {shouldShowSearch && shouldShowSearchFeedbackFooter ? (\r\n \r\n ) : !isSearchActive ? (\r\n memoizedFooter\r\n ) : null}\r\n \r\n );\r\n }}\r\n \r\n \r\n VisualState:{visualState?.VisibleErrorState ? VisualStates.Error : visualState?.VisualState}\r\n \r\n \r\n \r\n {translate('activityCenterHeaderSettingsAccessibleText')}\r\n \r\n \r\n \r\n \r\n {translate('errorViewHomeTooltip')}\r\n \r\n \r\n \r\n \r\n {translate('activityListAccessibleMenuButtonName')}\r\n \r\n \r\n {shouldShowContextMenu && rootMenuItem && rootMenuItem.children.length > 0 && (\r\n \r\n {memoizedContextMenu}\r\n \r\n )}\r\n \r\n \r\n {translate('systrayMenuReportABug')}\r\n \r\n \r\n \r\n \r\n {translate('kfmOnboardingTooltipText')}\r\n \r\n \r\n \r\n \r\n {translate('searchToggleTooltip')}\r\n \r\n \r\n \r\n \r\n {translate('searchOnboardingTooltip')}\r\n \r\n \r\n {selectedItem !== null && shouldShowItemMenu ? (\r\n \r\n {renderButtons}\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { View, ViewStyle } from 'react-native';\r\nimport { PauseInvoker } from '../types';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport { useCommonStyles } from '../../common/themes/ICommonTheme';\r\nimport { CommonPressable } from '../../common/components/CommonPressable';\r\nimport { createThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { TextStyle } from 'react-native';\r\nimport { ThemeName } from '../../common/themes/themeUtils';\r\n\r\nexport interface IPausedViewProps {\r\n pausedReason: PauseInvoker;\r\n onPress: () => void;\r\n hasItems?: boolean;\r\n}\r\n\r\ninterface IPausedViewStyles {\r\n container: ViewStyle;\r\n iconContainer: ViewStyle;\r\n textContainer: ViewStyle;\r\n pausedText: TextStyle;\r\n pausedWarning: ViewStyle;\r\n pausedWarningText: TextStyle;\r\n}\r\n\r\nexport const usePausedViewStyles = createThemedStylesHook(\r\n themeManager,\r\n (theme: ITheme) => {\r\n const isHighContrast =\r\n theme.themeName === ThemeName.HighContrastDark || theme.themeName === ThemeName.HighContrastLight;\r\n return {\r\n container: {\r\n flexDirection: 'row',\r\n borderWidth: 1,\r\n padding: 10\r\n },\r\n iconContainer: {\r\n paddingRight: 10,\r\n justifyContent: 'center'\r\n },\r\n textContainer: {\r\n justifyContent: 'center',\r\n flex: 1\r\n },\r\n pausedText: {\r\n color: theme.bodyTextColor\r\n },\r\n pausedWarning: {\r\n backgroundColor: theme.pausedWarningBackgroundColor\r\n },\r\n pausedWarningText: {\r\n color: isHighContrast ? theme.bodyTextColor : '#000000'\r\n }\r\n };\r\n }\r\n);\r\n\r\nexport const PausedView = (props: IPausedViewProps): JSX.Element => {\r\n const { pausedReason, hasItems = false, onPress } = props;\r\n const { t: translate } = useTranslation();\r\n const pausedTitle = translate('activityPausedPrimary');\r\n let pausedReasonText = translate('activityPausedSecondary');\r\n const textStyles = useCommonStyles();\r\n const styles = usePausedViewStyles();\r\n\r\n if (pausedReason === PauseInvoker.MeteredNetwork) {\r\n pausedReasonText = translate('activityPausedSecondaryNetwork');\r\n } else if (pausedReason === PauseInvoker.BatterySaver) {\r\n pausedReasonText = translate('activityPausedSecondaryBattery');\r\n }\r\n\r\n let containerStyle = styles.container;\r\n let textStyle = styles.pausedText;\r\n if (hasItems) {\r\n containerStyle = { ...containerStyle, ...styles.pausedWarning };\r\n textStyle = { ...textStyle, ...styles.pausedWarningText };\r\n }\r\n\r\n return (\r\n \r\n {(isPressed, isHovering) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {pausedTitle}\r\n \r\n {pausedReasonText}\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default PausedView;\r\n","import { ThemeManager } from '../../common/themes/themes';\r\nimport { LightTheme } from './LightTheme';\r\nimport { DarkTheme } from './DarkTheme';\r\nimport { createHighContrastTheme } from './HighContrast';\r\nimport { ICommonTheme } from '../../common/themes/ICommonTheme';\r\n\r\nexport interface ITheme extends ICommonTheme {\r\n errorBackgroundColor: string;\r\n errorBackgroundHoverColor: string;\r\n footerBackground: string;\r\n rule: string;\r\n contextMenuBackground: string;\r\n contextMenuBorder: string;\r\n errorCountTextColor: string;\r\n errorBubbleBackground: string;\r\n homeIconHoverBackground: string;\r\n subtitleColor: string;\r\n subtitleHoverColor: string;\r\n itemHistoryHoverBackground: string;\r\n backgroundColor: string;\r\n acmBackgroundColor: string;\r\n acmBorderColor: string;\r\n acmErrorBackgroundColor: string;\r\n acmErrorBorderColor: string;\r\n acmWarningBackgroundColor: string;\r\n acmWarningBorderColor: string;\r\n acmLessLoudBackgroundColor: string;\r\n acmLessLoudBorderColor: string;\r\n acmBorderShadeColor: string;\r\n buttonTwoErrorTextColor: string;\r\n progressBarColor: string;\r\n overflowIconContainerColor: string;\r\n overflowIconColor: string;\r\n linkColor: string;\r\n pausedWarningBackgroundColor: string;\r\n errorTextColor: string;\r\n settingUpSpinnerHeaderColor: string;\r\n settingUpSpinnerSubTextColor: string;\r\n settingUpSpinnerSubText2Color: string;\r\n notificationDotColor: string;\r\n // Search UI theming\r\n searchTextColor: string;\r\n searchInputBackground: string;\r\n searchInputBorder: string;\r\n searchToggleActiveBackground: string;\r\n filterTabBackground: string;\r\n filterTabSelectedBackground: string;\r\n filterTabText: string;\r\n filterTabSelectedText: string;\r\n searchPlaceholderColor: string;\r\n photoGridOverlayBackground: string;\r\n photoGridOverlayText: string;\r\n photoTileBorder: string;\r\n}\r\n\r\n// Define themes for this app\r\nexport const themeManager: ThemeManager = new ThemeManager(\r\n LightTheme,\r\n DarkTheme,\r\n createHighContrastTheme\r\n);\r\n","import { Neutrals, OneOff, Shared, Comm, Basic, ColorsWithTransparency } from '../../common/assets/colors';\r\nimport { CommonLightTheme } from '../../common/themes/CommonLightTheme';\r\nimport { ITheme } from './ITheme';\r\n\r\n// light theme color palette\r\nexport const LightTheme: ITheme = {\r\n ...CommonLightTheme,\r\n errorBackgroundColor: OneOff.errorBackground,\r\n errorBackgroundHoverColor: OneOff.errorBackgroundActiveFocus,\r\n footerBackground: Neutrals.gray20,\r\n rule: Neutrals.gray50,\r\n contextMenuBackground: Neutrals.white,\r\n contextMenuBorder: Neutrals.gray70,\r\n errorBubbleBackground: OneOff.errorBadgeBackground,\r\n homeIconHoverBackground: Neutrals.gray20,\r\n errorCountTextColor: Neutrals.white,\r\n subtitleColor: Neutrals.gray130,\r\n subtitleHoverColor: Neutrals.gray160,\r\n itemHistoryHoverBackground: Neutrals.gray20,\r\n backgroundColor: Neutrals.gray15,\r\n acmBackgroundColor: Neutrals.white,\r\n acmBorderColor: Neutrals.gray25,\r\n acmErrorBackgroundColor: OneOff.errorBackground,\r\n acmErrorBorderColor: OneOff.errorBackground,\r\n acmWarningBackgroundColor: OneOff.warningBackground,\r\n acmWarningBorderColor: OneOff.warningBackground,\r\n acmLessLoudBackgroundColor: Basic.white,\r\n acmLessLoudBorderColor: Basic.white,\r\n acmBorderShadeColor: ColorsWithTransparency.black06,\r\n buttonTwoErrorTextColor: Shared.red20,\r\n progressBarColor: Comm.Primary,\r\n overflowIconContainerColor: Neutrals.gray40,\r\n overflowIconColor: Neutrals.gray100,\r\n linkColor: Basic.redDarker,\r\n pausedWarningBackgroundColor: OneOff.warningBackground,\r\n errorTextColor: '#C42B1C',\r\n settingUpSpinnerHeaderColor: ColorsWithTransparency.black89,\r\n settingUpSpinnerSubTextColor: ColorsWithTransparency.black60,\r\n settingUpSpinnerSubText2Color: ColorsWithTransparency.black60,\r\n notificationDotColor: Comm.Primary, //#005FB7\r\n // Search UI theming\r\n searchTextColor: Neutrals.gray160,\r\n searchInputBackground: Neutrals.white,\r\n searchInputBorder: Neutrals.gray40,\r\n searchToggleActiveBackground: Neutrals.gray40,\r\n filterTabBackground: Neutrals.gray30,\r\n filterTabSelectedBackground: Comm.Primary,\r\n filterTabText: Neutrals.gray130,\r\n filterTabSelectedText: Neutrals.white,\r\n searchPlaceholderColor: Neutrals.gray90,\r\n photoGridOverlayBackground: 'rgba(0, 0, 0, 0.55)',\r\n photoGridOverlayText: '#FFFFFF',\r\n // 0.5px stroke around photo tiles (subtle neutral edge for contrast on light photos)\r\n photoTileBorder: ColorsWithTransparency.black10\r\n};\r\n","import {\r\n Basic,\r\n Neutrals,\r\n OneOff,\r\n Comm,\r\n ColorsWithTransparency,\r\n DarkThemeBlue\r\n} from '../../common/assets/colors';\r\nimport { CommonDarkTheme } from '../../common/themes/CommonDarkTheme';\r\nimport { ITheme } from './ITheme';\r\n\r\n// dark theme color palette\r\n\r\nexport const DarkTheme: ITheme = {\r\n ...CommonDarkTheme,\r\n errorBackgroundColor: Basic.redDarker,\r\n errorBackgroundHoverColor: Basic.redDark,\r\n footerBackground: Neutrals.gray180,\r\n rule: Neutrals.gray150,\r\n contextMenuBackground: Neutrals.gray180,\r\n contextMenuBorder: Neutrals.gray70,\r\n errorBubbleBackground: OneOff.errorBadgeBackgroundDark,\r\n homeIconHoverBackground: Neutrals.gray20,\r\n errorCountTextColor: Neutrals.black,\r\n subtitleColor: Neutrals.gray90,\r\n subtitleHoverColor: Neutrals.gray20,\r\n itemHistoryHoverBackground: Neutrals.gray180,\r\n backgroundColor: Neutrals.gray171,\r\n acmBackgroundColor: Neutrals.gray150,\r\n acmBorderColor: Neutrals.gray150,\r\n acmErrorBackgroundColor: Basic.redDarker,\r\n acmErrorBorderColor: Basic.redDarker,\r\n acmWarningBackgroundColor: OneOff.warningBackgroundDark,\r\n acmWarningBorderColor: OneOff.warningBackgroundDark,\r\n acmLessLoudBackgroundColor: Neutrals.gray150,\r\n acmLessLoudBorderColor: Neutrals.gray150,\r\n acmBorderShadeColor: ColorsWithTransparency.black10,\r\n buttonTwoErrorTextColor: Neutrals.white,\r\n progressBarColor: Comm.Primary,\r\n overflowIconContainerColor: Neutrals.gray160,\r\n overflowIconColor: Neutrals.white,\r\n linkColor: Neutrals.white,\r\n pausedWarningBackgroundColor: OneOff.warningBackground,\r\n errorTextColor: OneOff.errorBadgeBackgroundDark,\r\n settingUpSpinnerHeaderColor: ColorsWithTransparency.white79,\r\n settingUpSpinnerSubTextColor: ColorsWithTransparency.white53,\r\n settingUpSpinnerSubText2Color: ColorsWithTransparency.white53,\r\n notificationDotColor: DarkThemeBlue.themePrimary,\r\n // Search UI theming\r\n searchTextColor: Neutrals.white,\r\n searchInputBackground: Neutrals.gray180,\r\n searchInputBorder: Neutrals.gray150,\r\n searchToggleActiveBackground: Neutrals.gray150,\r\n filterTabBackground: Neutrals.gray150,\r\n filterTabSelectedBackground: DarkThemeBlue.themePrimary,\r\n filterTabText: Neutrals.gray90,\r\n filterTabSelectedText: Neutrals.white,\r\n searchPlaceholderColor: Neutrals.gray90,\r\n photoGridOverlayBackground: 'rgba(0, 0, 0, 0.55)',\r\n photoGridOverlayText: '#FFFFFF',\r\n // 0.5px stroke around photo tiles (subtle light edge on dark mode)\r\n photoTileBorder: ColorsWithTransparency.white16\r\n};\r\n","import { ISystemHighContrastTheme, ThemeName } from '../../common/themes/themeUtils';\r\nimport { ITheme } from './ITheme';\r\nimport { createCommonHighContrastTheme } from '../../common/themes/CommonHighContrastTheme';\r\n\r\n/**\r\n * High Contrast themes come in from Windows dynamically as a limited color pallete,\r\n * this needs to be mapped to our ITheme type.\r\n */\r\nexport function createHighContrastTheme(systemTheme: ISystemHighContrastTheme, themeName: ThemeName): ITheme {\r\n return {\r\n ...createCommonHighContrastTheme(systemTheme, themeName),\r\n errorBackgroundColor: systemTheme.WindowColor,\r\n errorBackgroundHoverColor: systemTheme.WindowColor,\r\n footerBackground: systemTheme.WindowColor,\r\n rule: systemTheme.ButtonTextColor,\r\n contextMenuBackground: systemTheme.WindowColor,\r\n contextMenuBorder: systemTheme.HotlightColor,\r\n errorBubbleBackground: 'transparent',\r\n homeIconHoverBackground: systemTheme.WindowColor,\r\n errorCountTextColor: systemTheme.ButtonTextColor,\r\n subtitleColor: systemTheme.WindowTextColor,\r\n subtitleHoverColor: systemTheme.HighlightTextColor,\r\n itemHistoryHoverBackground: systemTheme.HighlightColor,\r\n backgroundColor: systemTheme.WindowColor,\r\n acmBackgroundColor: systemTheme.WindowColor,\r\n acmBorderColor: systemTheme.HighlightColor,\r\n acmErrorBackgroundColor: systemTheme.WindowColor,\r\n acmErrorBorderColor: systemTheme.HighlightColor,\r\n acmWarningBackgroundColor: systemTheme.WindowColor,\r\n progressBarColor: systemTheme.HotlightColor,\r\n acmWarningBorderColor: systemTheme.HighlightColor,\r\n acmLessLoudBackgroundColor: systemTheme.WindowColor,\r\n acmLessLoudBorderColor: systemTheme.HighlightColor,\r\n acmBorderShadeColor: systemTheme.HighlightColor,\r\n buttonTwoErrorTextColor: systemTheme.HotlightColor,\r\n overflowIconContainerColor: systemTheme.HighlightTextColor,\r\n overflowIconColor: systemTheme.ButtonTextColor,\r\n linkColor: systemTheme.ButtonTextColor,\r\n pausedWarningBackgroundColor: 'transparent',\r\n errorTextColor: systemTheme.ButtonTextColor,\r\n settingUpSpinnerHeaderColor: systemTheme.ButtonTextColor,\r\n settingUpSpinnerSubTextColor: systemTheme.ButtonTextColor,\r\n settingUpSpinnerSubText2Color: systemTheme.ButtonTextColor,\r\n notificationDotColor: systemTheme.HighlightColor,\r\n // Search UI theming\r\n searchTextColor: systemTheme.WindowTextColor,\r\n searchInputBackground: systemTheme.WindowColor,\r\n searchInputBorder: systemTheme.ButtonTextColor,\r\n searchToggleActiveBackground: systemTheme.HighlightColor,\r\n filterTabBackground: systemTheme.WindowColor,\r\n filterTabSelectedBackground: systemTheme.HighlightColor,\r\n filterTabText: systemTheme.WindowTextColor,\r\n filterTabSelectedText: systemTheme.HighlightTextColor,\r\n searchPlaceholderColor: systemTheme.GrayTextColor,\r\n photoGridOverlayBackground: systemTheme.WindowColor,\r\n photoGridOverlayText: systemTheme.WindowTextColor,\r\n // High contrast: use the system button text color so the stroke is always\r\n // visible regardless of background.\r\n photoTileBorder: systemTheme.ButtonTextColor\r\n };\r\n}\r\n","import React from 'react';\r\nimport { View, ViewStyle } from 'react-native';\r\nimport { ThemedStylesHook, createThemedStylesHook } from '../themes/themes';\r\nimport { ICommonTheme, commonThemeManager } from '../themes/ICommonTheme';\r\n\r\ninterface ITooltipProps {\r\n /**\r\n * Whether or not the popover is visible.\r\n */\r\n isVisible: boolean;\r\n /**\r\n * The content to render inside the popover.\r\n */\r\n children: React.ReactNode;\r\n /**\r\n * Custom styles for the popover container. Can be used for alternate positioning.\r\n */\r\n styles: ViewStyle;\r\n}\r\n\r\ninterface ITooltipStyles {\r\n container: ViewStyle;\r\n childrenContainer: ViewStyle;\r\n}\r\n\r\nexport const useTooltipStyles: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n ITooltipStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n return {\r\n container: {\r\n flex: 1,\r\n backgroundColor: theme.popover.backgroundColor,\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n position: 'absolute',\r\n backgroundBlendMode: 'overlay',\r\n borderWidth: 1,\r\n borderRadius: 4,\r\n borderColor: theme.popover.popoverBorderColor\r\n },\r\n childrenContainer: {\r\n paddingHorizontal: 8,\r\n paddingTop: 5,\r\n paddingBottom: 6\r\n }\r\n };\r\n});\r\n\r\nconst Tooltip = (props: ITooltipProps): JSX.Element | null => {\r\n const { isVisible, children, styles: customStyles } = props;\r\n const styles = useTooltipStyles();\r\n const containerStyles = customStyles ? [styles.container, customStyles] : styles.container;\r\n const timer = React.useRef(undefined);\r\n const [isDisplaying, setIsDisplaying] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n if (isVisible) {\r\n timer.current = setTimeout(() => {\r\n setIsDisplaying(true);\r\n }, 1000);\r\n } else {\r\n if (timer.current) {\r\n clearTimeout(timer.current);\r\n }\r\n setIsDisplaying(false);\r\n }\r\n }, [isVisible]);\r\n\r\n if (!isDisplaying) {\r\n return null;\r\n }\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default Tooltip;\r\n","import * as React from 'react';\r\nimport { useAppDispatch } from '../../hooks';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport {\r\n ActivityCenterUIAction,\r\n SearchActivityStage,\r\n SearchFeedbackSentiment,\r\n SearchResultFileType\r\n} from '../types';\r\n\r\n// Reverse-map a numeric ActivityCenterUIAction value to its canonical\r\n// member name (e.g. SearchResultClicked -> \"SearchResultClicked\").\r\n// Used by the search funnel events so the OMC ActionType column shares a\r\n// vocabulary with the C++ ActivityCenterUIAction enum.\r\nfunction actionTypeFor(uiAction?: ActivityCenterUIAction): string | undefined {\r\n return uiAction !== undefined ? ActivityCenterUIAction[uiAction] : undefined;\r\n}\r\n\r\n/**\r\n * Optional descriptor for an entity / direct-success interaction.\r\n *\r\n * `entityType` is pass-through from the result row's `fileType` (the\r\n * canonical SearchResultFileType taxonomy — classified once server-side\r\n * in `SemanticSearchRouteHandler::ClassifyFileType`). No extension table\r\n * or filename parsing on the telemetry side.\r\n *\r\n * The hook stringifies the action enum via TS reverse mapping so the\r\n * wire carries the canonical ActivityCenterUIAction member name\r\n * (e.g. \"SearchResultClicked\"). Single source of truth for both fields.\r\n */\r\nexport interface ISearchEntityContext {\r\n entityType?: SearchResultFileType;\r\n uiAction?: ActivityCenterUIAction;\r\n}\r\n\r\n/**\r\n * Surface for callers to fire AC search telemetry without having to\r\n * know about the underlying thunks, the redux selectors that source\r\n * the funnel-event shape.\r\n *\r\n * Every method is a single fire-and-forget dispatch — the thunks\r\n * themselves catch + swallow errors so a failed telemetry call can\r\n * never break the user experience.\r\n *\r\n * Note: `feedback()` intentionally takes no query context — feedback\r\n * is a pure opinion signal in this funnel model (see\r\n * `IRecordSearchFeedbackPayload`).\r\n *\r\n * Note: `directSuccess()` is reserved for future use when secondary\r\n * actions (share, favorite, copilot) are instrumented on search\r\n * results. Currently unwired — call sites will be added in follow-up\r\n * work tracked in ADO.\r\n */\r\nexport interface ISearchEventHandler {\r\n searchOpened: () => void;\r\n searchClosed: () => void;\r\n searchBoxFocused: () => void;\r\n queryExecuted: (queryText: string) => void;\r\n entityAction: (context: ISearchEntityContext) => void;\r\n directSuccess: (context: ISearchEntityContext) => void;\r\n feedback: (sentiment: SearchFeedbackSentiment) => void;\r\n}\r\n\r\n/**\r\n * Centralised hook for emitting AC search telemetry from React call\r\n * sites. Pulls the current `queryText` and `filterType` from redux\r\n * so call sites stay one-liners.\r\n *\r\n * Mirrors the funnel-telemetry approach used elsewhere in the app:\r\n * the TS layer builds the semantic activity payload; native forwards\r\n * stage/entity/action to ACSearchFunnelTelemetry.\r\n *\r\n * Use this hook from any component that needs to record search\r\n * activity (focus, query execution, entity clicks, feedback). For\r\n * example:\r\n * ```ts\r\n * const searchEvents = useSearchEventHandler();\r\n * // ...\r\n * searchEvents.feedback(SearchFeedbackSentiment.ThumbsUp)} />\r\n * ```\r\n */\r\nexport function useSearchEventHandler(): ISearchEventHandler {\r\n const dispatch = useAppDispatch();\r\n\r\n return React.useMemo(\r\n () => ({\r\n searchOpened: (): void => {\r\n dispatch(\r\n activityCenterActions.recordSearchActivity({\r\n stage: SearchActivityStage.SearchOpened\r\n })\r\n );\r\n },\r\n searchClosed: (): void => {\r\n dispatch(\r\n activityCenterActions.recordSearchActivity({\r\n stage: SearchActivityStage.SearchClosed\r\n })\r\n );\r\n },\r\n searchBoxFocused: (): void => {\r\n dispatch(\r\n activityCenterActions.recordSearchActivity({\r\n stage: SearchActivityStage.SearchBoxFocus\r\n })\r\n );\r\n },\r\n queryExecuted: (): void => {\r\n dispatch(\r\n activityCenterActions.recordSearchActivity({\r\n stage: SearchActivityStage.QueryExecuted\r\n })\r\n );\r\n },\r\n entityAction: ({ entityType, uiAction }: ISearchEntityContext): void => {\r\n dispatch(\r\n activityCenterActions.recordSearchActivity({\r\n stage: SearchActivityStage.EntityAction,\r\n entityType,\r\n actionType: actionTypeFor(uiAction)\r\n })\r\n );\r\n },\r\n directSuccess: ({ entityType, uiAction }: ISearchEntityContext): void => {\r\n dispatch(\r\n activityCenterActions.recordSearchActivity({\r\n stage: SearchActivityStage.DirectSuccess,\r\n entityType,\r\n actionType: actionTypeFor(uiAction)\r\n })\r\n );\r\n },\r\n feedback: (sentiment: SearchFeedbackSentiment): void => {\r\n dispatch(activityCenterActions.recordSearchFeedback({ sentiment }));\r\n }\r\n }),\r\n [dispatch]\r\n );\r\n}\r\n","import React from 'react';\r\nimport { FlatList, View } from 'react-native';\r\nimport { CPKeyboardEvent } from '../../activityCenterView/utils/CPKeyboardEvent/CPKeyboardEvent.macos';\r\n\r\n/**\r\n * Generates a function that can be passed to the onKeyUp listener. This will listen for 'Enter'\r\n * and call the given function with the given parameters.\r\n *\r\n * Examples of usage:\r\n * const onKeyUp = createKeyUpActivation<[boolean]>(toggleSwitch, [!isEnabled]);\r\n * const onKeyUp = createKeyUpActivation<[boolean, string]>(onPress, [!isEnabled, value]);\r\n *\r\n * @param onPress Function to be called when the key is pressed\r\n * @param params Parameters that need to be passed to the onPress function. Can be entered as any\r\n * number of parameters in an array (see example above). Optional.\r\n * @returns Function that can be passed to an onKeyUp listener\r\n */\r\nexport function createKeyUpActivation(\r\n onPress: ((...params: T) => void) | (() => void),\r\n keys: string[] = ['Enter', 'Space'],\r\n params?: T\r\n): (event: CPKeyboardEvent) => void {\r\n return (event: CPKeyboardEvent): void => {\r\n if (keys.includes(event.nativeEvent.code)) {\r\n if (params) {\r\n onPress(...params);\r\n } else {\r\n onPress();\r\n }\r\n }\r\n };\r\n}\r\n\r\n/**\r\n * Interface used as the return value of useArrowKeys\r\n */\r\nexport interface IArrowKeyHandlers {\r\n tabRefs: React.RefObject[];\r\n createHandleArrowKeys: (\r\n refIndex: number,\r\n // ignore the eslint error for now, as we are using the ref for FlatList\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n childRef?: React.MutableRefObject | null>\r\n ) => (event: CPKeyboardEvent) => void;\r\n}\r\n\r\n/**\r\n * Used to implement arrow key navigation within a set of UI elements.\r\n *\r\n * @param numElements Number of elements that need to be navigated between with arrow keys\r\n * @returns {IArrowKeyHandlers} The refs to be given to each UI element and generator used to\r\n * create a handler for each element. The ref and generated handler should ultimately be passed to\r\n * the innerRef and onKeyDown properties of a CommonPressable, respectively.\r\n */\r\nexport function useArrowKeys(numElements: number): IArrowKeyHandlers {\r\n const tabRefs: React.RefObject[] = [];\r\n\r\n const createHandleArrowKeys = (\r\n refIndex: number,\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n childRef?: React.MutableRefObject | null>\r\n ): ((event: CPKeyboardEvent) => void) => {\r\n return (event: CPKeyboardEvent): void => {\r\n let scrollIndex = refIndex;\r\n if (event.nativeEvent.code === 'ArrowUp') {\r\n let prevTab = refIndex - 1;\r\n if (prevTab < 0) {\r\n // If we're at the first element, stay there\r\n prevTab = 0;\r\n } else {\r\n tabRefs[prevTab].current?.focus();\r\n }\r\n } else if (event.nativeEvent.code === 'ArrowDown') {\r\n let nextTab = refIndex + 1;\r\n if (nextTab > tabRefs.length - 1) {\r\n // If we're at the last element, stay there\r\n nextTab = tabRefs.length - 1;\r\n } else {\r\n tabRefs[nextTab].current?.focus();\r\n }\r\n } else if (event.nativeEvent.code === 'PageDown') {\r\n // 7 is the number of items that can be displayed on the screen at once\r\n // move down by 7 if there are more than 7 items, otherwise move to the last item\r\n const index = refIndex + 6 < tabRefs.length ? refIndex + 6 : tabRefs.length - 1;\r\n tabRefs[index].current?.focus();\r\n scrollIndex = index;\r\n } else if (event.nativeEvent.code === 'PageUp') {\r\n // move up by 7 if there are more than 7 items, otherwise move to the first item\r\n const index = refIndex - 6 > 0 ? refIndex - 6 : 0;\r\n tabRefs[index].current?.focus();\r\n scrollIndex = index;\r\n } else if (event.nativeEvent.code === 'End') {\r\n tabRefs[tabRefs.length - 1].current?.focus();\r\n scrollIndex = tabRefs.length - 1;\r\n } else if (event.nativeEvent.code === 'Home') {\r\n tabRefs[0].current?.focus();\r\n scrollIndex = 0;\r\n }\r\n // Scroll to the index of the item on the FlatList\r\n if (childRef) {\r\n childRef.current?.scrollToIndex({ index: scrollIndex, animated: true, viewPosition: 0.5 });\r\n }\r\n };\r\n };\r\n\r\n for (let i = 0; i < numElements; i++) {\r\n const tabRef = React.createRef();\r\n tabRefs.push(tabRef);\r\n }\r\n\r\n return {\r\n tabRefs,\r\n createHandleArrowKeys\r\n };\r\n}\r\n","import React from 'react';\r\nimport { FlatList, View, Platform, AccessibilityRole } from 'react-native';\r\nimport { ItemHistory } from './ItemHistory';\r\nimport {\r\n ActivityItemType,\r\n IItemHistory,\r\n IProgressItem,\r\n ISearchResultItem,\r\n isSearchResultItem\r\n} from '../types';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport {\r\n selectCurrentItem,\r\n selectDisplayItems,\r\n selectIsSearchActive\r\n} from '../redux/activityCenterSelectors';\r\nimport { useArrowKeys } from '../../common/components/accessibilityUtils';\r\nimport { useTranslation } from 'react-i18next';\r\nimport CPKeyboardEvent from '../utils/CPKeyboardEvent';\r\nimport { ProgressItem } from './ProgressItem';\r\nimport { SearchResultItem } from './SearchResultItem';\r\nimport { SearchPhotoGrid } from './SearchPhotoGrid';\r\n\r\nconst isMacOS = Platform.OS === 'macos';\r\n\r\n// Constants for context menu positioning\r\nconst MENU_POSITION_PADDING = 40; // Padding to adjust the context menu position\r\nconst MENU_POSITION_OFFSET = 25; // Vertical offset from measured position to menu top\r\nconst MENU_TOP_BOTTOM_THRESHOLD = 350; // Y-coordinate that determines if item is in bottom half (flip menu upward)\r\nconst MENU_HEIGHT_STANDARD = 180; // Approximate height of standard context menu\r\n\r\nexport const ActivityCenterItemsHistory = (): JSX.Element => {\r\n const dispatch = useAppDispatch();\r\n const selectedItem = useAppSelector(selectCurrentItem);\r\n const items = useAppSelector(selectDisplayItems);\r\n const isSearchActive = useAppSelector(selectIsSearchActive);\r\n const totalItems = items.length;\r\n const { tabRefs, createHandleArrowKeys } = useArrowKeys(totalItems);\r\n const { t: translate } = useTranslation();\r\n const flatListRef = React.useRef(null);\r\n\r\n // Reset scroll position to top when component mounts or when Activity Center is opened\r\n React.useEffect(() => {\r\n if (flatListRef.current && totalItems > 0) {\r\n // Small delay to ensure FlatList is rendered\r\n setTimeout(() => {\r\n flatListRef.current?.scrollToOffset({ offset: 0, animated: false });\r\n }, 100);\r\n }\r\n }, []);\r\n\r\n React.useEffect(() => {\r\n if (selectedItem?.scrollToIndex !== undefined && flatListRef.current) {\r\n // Ensure the index is within bounds\r\n const scrollIndex = selectedItem.scrollToIndex;\r\n if (scrollIndex >= 0 && scrollIndex < totalItems) {\r\n flatListRef.current?.scrollToIndex({\r\n index: scrollIndex,\r\n animated: true,\r\n viewPosition: 0.2 // 0 = top, 0.5 = center, 1 = bottom - using 0.2 to show some context above\r\n });\r\n\r\n // After scrolling, we need to calculate the actual position of the item\r\n // and trigger the context menu with the correct coordinates\r\n setTimeout(() => {\r\n // Calculate the position based on item height and scroll position\r\n const itemHeight = 60; // Approximate height of each item\r\n const margin = 20; // Additional margin for the context menu from the 3 dots\r\n const topPosition = MENU_POSITION_PADDING + itemHeight + itemHeight * 0.2 + margin;\r\n\r\n // Update the selected item with the calculated position\r\n if (selectedItem?.item) {\r\n const menuTop =\r\n topPosition >= MENU_TOP_BOTTOM_THRESHOLD ? topPosition - MENU_HEIGHT_STANDARD : topPosition;\r\n\r\n // Toggle the item context menu\r\n dispatch(\r\n activityCenterActions.toggleItemMenu({\r\n item: selectedItem.item,\r\n top: menuTop,\r\n autoSelected: true\r\n })\r\n );\r\n }\r\n\r\n // Clear the scrollToIndex after positioning\r\n dispatch(activityCenterActions.clearScrollToIndex());\r\n }, 100); // Wait longer for scroll animation to complete\r\n } else {\r\n // Index out of bounds, just clear the scrollToIndex\r\n dispatch(activityCenterActions.clearScrollToIndex());\r\n }\r\n }\r\n }, [selectedItem?.scrollToIndex, totalItems, dispatch, selectedItem?.item]);\r\n\r\n const toggleSelectedItem = React.useCallback(\r\n (\r\n item: IItemHistory | ISearchResultItem,\r\n top: number,\r\n expectedMenuHeight: number = 35 * 5 + 5,\r\n left?: number\r\n ): void => {\r\n // five buttons plus padding\r\n if (item !== selectedItem?.item) {\r\n // Position menu based on whether item is in top or bottom half\r\n const topPosition = top + MENU_POSITION_OFFSET;\r\n let menuTop: number;\r\n\r\n if (topPosition >= MENU_TOP_BOTTOM_THRESHOLD) {\r\n // Bottom half: menu extends upward using actual menu height\r\n menuTop = topPosition - expectedMenuHeight;\r\n } else {\r\n // Top half: keep original positioning (works well)\r\n menuTop = topPosition;\r\n }\r\n\r\n dispatch(activityCenterActions.toggleItemMenu({ item, top: menuTop }));\r\n } else {\r\n dispatch(activityCenterActions.dismissContextMenus());\r\n }\r\n },\r\n [selectedItem, dispatch]\r\n );\r\n\r\n const handleKeyDown = React.useCallback(\r\n (event: CPKeyboardEvent, index: number): void => {\r\n const arrowHandler = createHandleArrowKeys(index, flatListRef);\r\n arrowHandler(event);\r\n },\r\n [createHandleArrowKeys]\r\n );\r\n\r\n const renderItem = React.useCallback(\r\n ({\r\n item,\r\n index\r\n }: {\r\n item: IItemHistory | IProgressItem | ISearchResultItem;\r\n index: number;\r\n }): JSX.Element => {\r\n // Check if this is a search result item using type guard\r\n if (isSearchResultItem(item)) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n // Check if this is a progress item (downloading or uploading)\r\n const isProgress =\r\n 'activityItemType' in item &&\r\n (item.activityItemType === ActivityItemType.Downloading ||\r\n item.activityItemType === ActivityItemType.Uploading);\r\n\r\n if (isProgress) {\r\n return ;\r\n }\r\n\r\n // Default: render as history item\r\n return (\r\n handleKeyDown(event, index)}\r\n innerRef={tabRefs[index]}\r\n toggleSelectedItem={toggleSelectedItem}\r\n isSelected={selectedItem?.item?.filePath === (item as IItemHistory).filePath}\r\n autoSelected={selectedItem?.autoSelected}\r\n />\r\n );\r\n },\r\n [totalItems, tabRefs, handleKeyDown, toggleSelectedItem, selectedItem]\r\n );\r\n\r\n // Generate a unique key for each item based on its type and identity\r\n const keyExtractor = React.useCallback(\r\n (item: IItemHistory | IProgressItem | ISearchResultItem, index: number): string => {\r\n if (isSearchResultItem(item)) {\r\n return `search-${item.resourceId ?? 'no-id'}-${item.filePath}-${index}`;\r\n }\r\n if ('resourceId' in item) {\r\n return `progress-${item.resourceId || 'no-id'}-${index}`;\r\n }\r\n // For history items, use filePath + time for uniqueness\r\n return `history-${item.filePath}-${'time' in item ? item.time : index}-${index}`;\r\n },\r\n []\r\n );\r\n\r\n return (\r\n \r\n {\r\n if (selectedItem?.scrollToIndex !== undefined) {\r\n // Clear the scrollToIndex since we couldn't scroll to the specific item\r\n dispatch(activityCenterActions.clearScrollToIndex());\r\n }\r\n // User attempted to scroll to an index that has not been rendered yet\r\n // Default to scroll to the bottom of the rendered list\r\n flatListRef.current?.scrollToEnd();\r\n }}\r\n // When search is active, the FlatList's header (the photo grid) can grow\r\n // large enough that RNW's `removeClippedSubviews` clips header content\r\n // before the user can scroll to it. Disable clipping while searching to\r\n // avoid the empirically-observed scroll-stuck behavior in that mode.\r\n removeClippedSubviews={!isSearchActive}\r\n keyExtractor={keyExtractor}\r\n accessibilityRole={isMacOS ? ('group' as AccessibilityRole) : ('list' as AccessibilityRole)}\r\n accessibilityLabel={translate('activityListAccessibleName')}\r\n ListHeaderComponent={SearchPhotoGrid}\r\n renderItem={renderItem}\r\n />\r\n \r\n );\r\n};\r\n","import React, { useCallback } from 'react';\r\nimport {\r\n TextStyle,\r\n View,\r\n ViewStyle,\r\n Image,\r\n ImageStyle,\r\n Platform,\r\n AccessibilityRole,\r\n NativeSyntheticEvent,\r\n NativeMouseEvent\r\n} from 'react-native';\r\nimport {\r\n ISearchResultItem,\r\n IItemHistory,\r\n HistoryItemMenuAction,\r\n IShowMoreOptionsTooltipProps,\r\n ActivityCenterUIAction\r\n} from '../types';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { CommonPressable } from '../../common/components/CommonPressable';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { useAppDispatch } from '../../hooks';\r\nimport { useSearchEventHandler } from '../dataHandler/SearchEventHandler';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport { HtmlText } from '../../common/components/HtmlText';\r\nimport { useCommonStyles } from '../../common/themes/ICommonTheme';\r\n\r\ninterface ISearchResultItemStyles {\r\n container: ViewStyle;\r\n containerHover: ViewStyle;\r\n body: ViewStyle;\r\n fileNameText: TextStyle;\r\n subtitleText: TextStyle;\r\n folderLinkText: TextStyle;\r\n timeText: TextStyle;\r\n fileIcon: ImageStyle;\r\n thumbnail: ImageStyle;\r\n thumbnailContainer: ViewStyle;\r\n metadataContainer: ViewStyle;\r\n moreIconContainer: ViewStyle;\r\n moreIconContainerHover: ViewStyle;\r\n overflowIcon: ImageStyle;\r\n margin: ViewStyle;\r\n descriptionContainer: ViewStyle;\r\n}\r\n\r\nconst isMacOS = Platform.OS === 'macos';\r\n\r\nexport const useSearchResultItemStyles: ThemedStylesHook = createThemedStylesHook<\r\n ITheme,\r\n ISearchResultItemStyles\r\n>(themeManager, (theme: ITheme) => {\r\n return {\r\n container: {\r\n flexDirection: 'row',\r\n flex: 1,\r\n padding: 5,\r\n margin: 0,\r\n width: '100%',\r\n alignItems: 'center'\r\n },\r\n containerHover: {\r\n backgroundColor: theme.itemHistoryHoverBackground\r\n },\r\n body: {\r\n display: 'flex',\r\n paddingHorizontal: 10,\r\n flex: 1\r\n },\r\n fileNameText: {\r\n fontSize: 14,\r\n color: theme.searchTextColor\r\n },\r\n subtitleText: {\r\n fontSize: 12\r\n },\r\n folderLinkText: {\r\n fontSize: 12\r\n },\r\n timeText: {\r\n fontSize: 10,\r\n color: theme.subtitleColor,\r\n marginTop: 2\r\n },\r\n fileIcon: {\r\n width: 48,\r\n height: 48\r\n },\r\n thumbnail: {\r\n width: 48,\r\n height: 48,\r\n borderRadius: 4\r\n },\r\n thumbnailContainer: {\r\n width: 48,\r\n height: 48,\r\n borderRadius: 4,\r\n overflow: 'hidden'\r\n },\r\n metadataContainer: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n marginTop: 2\r\n },\r\n moreIconContainer: {\r\n width: 38,\r\n height: 38,\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n backgroundColor: 'transparent',\r\n marginRight: 5\r\n },\r\n moreIconContainerHover: {\r\n backgroundColor: theme.overflowIconContainerColor\r\n },\r\n overflowIcon: {\r\n width: 36,\r\n height: 36,\r\n tintColor: theme.overflowIconColor\r\n },\r\n margin: {\r\n margin: 5\r\n },\r\n descriptionContainer: {\r\n marginTop: 4,\r\n flexShrink: 1,\r\n flexDirection: 'row',\r\n flexWrap: 'nowrap'\r\n }\r\n };\r\n});\r\n\r\nexport interface ISearchResultItemProps {\r\n item: ISearchResultItem;\r\n onPress?: (item: ISearchResultItem) => void;\r\n toggleSelectedItem?: (\r\n item: IItemHistory | ISearchResultItem,\r\n top: number,\r\n expectedMenuHeight?: number,\r\n left?: number\r\n ) => void;\r\n index: number;\r\n total: number;\r\n innerRef?: React.RefObject;\r\n isSelected?: boolean;\r\n}\r\n\r\n/**\r\n * Renders the small thumbnail at the start of a search result row. If\r\n * `thumbnailUrl` is provided we render it; otherwise we fall back to the\r\n * generic file-type icon.\r\n */\r\nconst SearchResultThumbnail: React.FC<{ item: ISearchResultItem }> = React.memo(({ item }) => {\r\n const styles = useSearchResultItemStyles();\r\n\r\n if (item.thumbnailUrl !== undefined) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (item.icon !== undefined) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n return null;\r\n});\r\n\r\nexport const SearchResultItem: React.FC = React.memo(\r\n ({ item, onPress, toggleSelectedItem, index, total, innerRef, isSelected }) => {\r\n const styles = useSearchResultItemStyles();\r\n const commonStyles = useCommonStyles();\r\n const { t: translate } = useTranslation();\r\n const dispatch = useAppDispatch();\r\n const searchEvents = useSearchEventHandler();\r\n const [isButtonHovering, setIsButtonHovering] = React.useState(false);\r\n\r\n // Handle double-click - open the file.\r\n // React Native does not expose a cross-platform onDoublePress and the OS\r\n // double-click speed setting is not surfaced to JS. We use a fixed 300ms\r\n // window which matches the OneDrive client convention used elsewhere.\r\n const lastClickTimeRef = React.useRef(0);\r\n const doubleClickDelay = 300;\r\n\r\n const itemRef = React.useRef(item);\r\n itemRef.current = item;\r\n const onPressRef = React.useRef(onPress);\r\n onPressRef.current = onPress;\r\n\r\n const handleDoubleClick = useCallback(() => {\r\n dispatch(activityCenterActions.dismissContextMenus());\r\n const currentTime = new Date().getTime();\r\n if (currentTime - lastClickTimeRef.current < doubleClickDelay) {\r\n searchEvents.entityAction({\r\n entityType: itemRef.current.fileType,\r\n uiAction: ActivityCenterUIAction.SearchResultClicked\r\n });\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.SearchResultClicked));\r\n if (onPressRef.current) {\r\n onPressRef.current(itemRef.current);\r\n } else {\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({\r\n action: HistoryItemMenuAction.Open,\r\n path: itemRef.current.filePath\r\n })\r\n );\r\n }\r\n }\r\n lastClickTimeRef.current = currentTime;\r\n }, [dispatch, searchEvents]);\r\n\r\n // Handle overflow button press - show context menu\r\n const handleItemPress = useCallback(() => {\r\n if (toggleSelectedItem) {\r\n const itemTopPadding = 40;\r\n innerRef?.current?.measure((x, y, width, height, pageX, pageY) => {\r\n toggleSelectedItem(item, pageY + itemTopPadding, undefined, pageX);\r\n });\r\n }\r\n }, [item, toggleSelectedItem, innerRef]);\r\n\r\n // Handle hover for tooltip\r\n const handleItemHover = useCallback(\r\n (isHovering: boolean, event?: NativeSyntheticEvent) => {\r\n if (isHovering) {\r\n const itemTopPadding = 20;\r\n innerRef?.current?.measure((x, y, width, height, pageX, pageY) => {\r\n const toolTipOptions: IShowMoreOptionsTooltipProps = {\r\n showTooltip: isHovering,\r\n top: pageY + itemTopPadding\r\n };\r\n dispatch(activityCenterActions.setMoreOptionsTooltipVisibility(toolTipOptions));\r\n });\r\n } else {\r\n dispatch(activityCenterActions.setMoreOptionsTooltipVisibility({ showTooltip: false, top: 0 }));\r\n }\r\n\r\n if (!event && isHovering) {\r\n setIsButtonHovering(true);\r\n } else {\r\n setIsButtonHovering(false);\r\n }\r\n },\r\n [innerRef, dispatch]\r\n );\r\n\r\n // Handle folder link press\r\n const handleFolderPress = useCallback(() => {\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({\r\n action: HistoryItemMenuAction.OpenItemFolder,\r\n path: item.filePath\r\n })\r\n );\r\n }, [item.resourceId, item.filePath, dispatch]);\r\n\r\n // Build action string with inline folder link, matching the ItemHistory pattern:\r\n // use a localized string with a '{0}' placeholder replaced by the folder link. The string\r\n // is retrieved via t() and then has its placeholder substituted with HTML markup that\r\n // HtmlText then renders as a clickable link. (skipOnVariables is true by default so the\r\n // unsubstituted placeholder survives the translate call.)\r\n const inlineFolderLink = `${item.uploadedTo}`;\r\n const folderLink = translate('searchResultAvailableIn').replace('{0}', inlineFolderLink);\r\n\r\n // Keys 0 and 1 are positional placeholders required by the translation string.\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n const itemIndexString = translate('historyListItemIndexAccessibleTextV2', { 0: index + 1, 1: total });\r\n const accessibleLabel = `${item.fileName}, ${translate('searchResultAvailableIn').replace(\r\n '{0}',\r\n item.uploadedTo\r\n )}, ${item.timeAgo}. ${itemIndexString}`;\r\n\r\n return (\r\n \r\n {(isPressed: boolean, isHovering: boolean) => (\r\n \r\n {/* File icon or thumbnail */}\r\n \r\n \r\n \r\n\r\n {/* Body content */}\r\n \r\n {/* File name */}\r\n \r\n {item.fileName}\r\n \r\n\r\n {/* Action text with folder link (matching history item format) */}\r\n \r\n \r\n \r\n\r\n {/* Time ago */}\r\n {item.timeAgo ? {item.timeAgo} : null}\r\n \r\n\r\n {/* Overflow button for context menu */}\r\n {item.isActionable && toggleSelectedItem ? (\r\n \r\n {(isPressed, hoveringIcon) => {\r\n let containerStyle = styles.moreIconContainer;\r\n if (hoveringIcon) {\r\n containerStyle = { ...containerStyle, ...styles.moreIconContainerHover };\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n );\r\n }\r\n);\r\n\r\nSearchResultItem.displayName = 'SearchResultItem';\r\n","import React from 'react';\r\nimport { CommonText } from './CommonText';\r\nimport { commonThemeManager, ICommonTheme } from '../themes/ICommonTheme';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../themes/themes';\r\nimport { Link } from './Link';\r\nimport { StyleProp, TextStyle, View, ViewStyle } from 'react-native';\r\nimport { SpaceSizeCalculator } from './SpaceSizeCalculator';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { commonActions, selectIsSpacelessLanguage } from '../redux/commonSlice';\r\nimport { selectViewActivated } from '../redux/selectors';\r\nimport { useLogBvtInfoEffect } from '../redux/logHooks';\r\n\r\n// Helper component to render a string with supported HTML tags as React Native elements.\r\n// Supports the usage of the following:\r\n// - Line breaks. 'Line one.
Line two.'\r\n// - '

' is NOT supported.\r\n// - Bold text. 'An example of bold text.'\r\n// - Only one in-line link is supported, preferably at the end of the string.\r\n// - i.e. 'You are using OneDrive. Learn more'\r\n// - Multiple links are NOT supported.\r\n// - In-line links with normal text afterwards are partially supported. Normal text after an in-line link may\r\n// render entirely on the next line. See the example below to observe how the text after the link renders as\r\n// a single block, rather than its contents being split into multiple lines.\r\n//\r\n// Incorrect expectation:\r\n// _________________________________________________________________\r\n// |You are using OneDrive. Learn about OneDrive. Even more |\r\n// |text here. |\r\n// |_______________________________________________________________|\r\n//\r\n// Actual rendering behavior:\r\n// _________________________________________________________________\r\n// |You are using OneDrive. Learn about OneDrive. |\r\n// |Even more text here. |\r\n// |_______________________________________________________________|\r\n//\r\n// - Any link that overflows to the next line will be rendered entirely on the next line, rather than being split across lines.\r\n// Incorrect expectation:\r\n// _________________________________________________________________\r\n// |You are using OneDrive. With more text here. Learn about |\r\n// |OneDrive. |\r\n// |_______________________________________________________________|\r\n//\r\n// Actual rendering behavior:\r\n// _________________________________________________________________\r\n// |You are using OneDrive. With more text here. |\r\n// |Learn about OneDrive. |\r\n// |_______________________________________________________________|\r\n\r\nconst DEFAULT_SPACE_SIZE = 3;\r\n\r\ninterface IHtmlTextStyles {\r\n columnContainerStyle: ViewStyle;\r\n rowContainerStyle: ViewStyle;\r\n}\r\nconst useHtmlTextStyles: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n IHtmlTextStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n return {\r\n columnContainerStyle: {\r\n flexDirection: 'column',\r\n columnGap: DEFAULT_SPACE_SIZE,\r\n rowGap: 0,\r\n display: 'flex',\r\n flexBasis: 'auto'\r\n },\r\n rowContainerStyle: {\r\n flexGrow: 1,\r\n display: 'flex',\r\n flexBasis: 'auto',\r\n flexWrap: 'wrap',\r\n flexDirection: 'row',\r\n columnGap: 3,\r\n rowGap: 0\r\n }\r\n };\r\n});\r\n\r\ninterface IHtmlText {\r\n htmlString: string;\r\n textStyle: StyleProp;\r\n linkStyle?: StyleProp;\r\n onLinkPress?: () => void;\r\n testID?: string;\r\n linkTestID?: string;\r\n customRowContainerStyle?: StyleProp;\r\n}\r\n\r\ninterface IHtmlLink {\r\n url: string;\r\n text: string;\r\n textStyle: StyleProp;\r\n linkStyle?: StyleProp;\r\n onLinkPress?: () => void;\r\n testID?: string;\r\n exactTestID?: boolean;\r\n i: number;\r\n}\r\n\r\nconst HtmlLink = (props: IHtmlLink): JSX.Element => {\r\n const { url, i, text, textStyle, linkStyle, onLinkPress, testID, exactTestID } = props;\r\n const dispatch = useAppDispatch();\r\n const activeView = useAppSelector(selectViewActivated);\r\n // The property url is liable to change between renders if the string contains multiple links, so we will\r\n // capture it in a memoized callback to make sure it never changes from its original value.\r\n const defaultLinkCallback = React.useCallback(() => {\r\n if (url !== '' && url !== '#') {\r\n dispatch(commonActions.onAction({ action: url, view: activeView || 'HTML_LINK' }));\r\n }\r\n }, []);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport const HtmlText = (props: IHtmlText): JSX.Element => {\r\n const styles = useHtmlTextStyles();\r\n const { htmlString, textStyle, linkStyle, onLinkPress, testID, customRowContainerStyle, linkTestID } =\r\n props;\r\n const [columnGap, setColumnGap] = React.useState(3);\r\n const isSpacelessLanguage = useAppSelector(selectIsSpacelessLanguage);\r\n const accessibleString = htmlString\r\n .replace(/()|()|(<\\/b>)|()|(<\\/strong>)|(]*>)/, '')\r\n .replace(/(<\\/a>)/, '');\r\n\r\n // Emit BVT rendering info for the container testID so tests can read the\r\n // full HTML-stripped string via the container's testID without having to\r\n // discover the dynamically-generated `${testID}${i}-${k}` CommonText leaf\r\n // testIDs that this component splits its text into.\r\n useLogBvtInfoEffect({ testId: testID || '', text: accessibleString });\r\n\r\n const onSetSpaceSize = (size: number): void => {\r\n // Set the column gap to the default space size (3) by default if the provided size is incorrectly calculated as zero.\r\n setColumnGap(size > 0 ? size : DEFAULT_SPACE_SIZE);\r\n };\r\n\r\n let bold = false;\r\n let link = false;\r\n let currentLine = 0;\r\n let linkUrl = '';\r\n const linesOfText: JSX.Element[][] = [];\r\n linesOfText.push([]);\r\n htmlString\r\n .split(/()|()|(<\\/b>)|()|(<\\/strong>)|(]*>)|(<\\/a>)/)\r\n .map((element, i) => {\r\n const isElementValid = element !== undefined && element !== '';\r\n if (element === '
') {\r\n currentLine++;\r\n linesOfText.push([]);\r\n } else if (element === '' || element === '') {\r\n bold = true;\r\n } else if (element === '' || element === '') {\r\n bold = false;\r\n } else if (element?.match(/]*>/)) {\r\n link = true;\r\n linkUrl = element.replace('', '');\r\n } else if (element?.match(/<\\/a>/)) {\r\n link = false;\r\n linkUrl = '';\r\n } else if (link && isElementValid) {\r\n linesOfText[currentLine].push(\r\n \r\n );\r\n } else if (isElementValid) {\r\n const boldStyle: TextStyle | undefined = bold ? { fontWeight: '600' } : undefined;\r\n let splitElement: string[] = [];\r\n if (isSpacelessLanguage) {\r\n // For spaceless languages (i.e. Japanese), we will use a regex to split apart each individual character\r\n // or continuous runs of non-CJK characters.\r\n const regex =\r\n /[\\p{Open_Punctuation}\\p{Close_Punctuation}]*([\\p{Script_Extensions=Hani}\\p{Script_Extensions=Hira}\\p{Script_Extensions=Kana}]|[^\\p{Script_Extensions=Hani}\\p{Script_Extensions=Hira}\\p{Script_Extensions=Kana}\\s]+)[\\p{Terminal_Punctuation}\\p{Sentence_Terminal}\\s]*/gu;\r\n const allMatchesIter = [...element.matchAll(regex)];\r\n for (const match of allMatchesIter) {\r\n splitElement.push(match[0]); // Full match\r\n }\r\n } else {\r\n // Otherwise, assume we can rely on whitespace to separate each word.\r\n splitElement = element.split(/(\\s)/);\r\n }\r\n\r\n splitElement.map((subElement, k) => {\r\n const isSpace = subElement === ' ';\r\n\r\n // During a regex split, many undefined/empty elements are included in the resulting array\r\n // from splitting apart individual characters. These should simply be skipped/ignored.\r\n //\r\n // Spaces should still be accounted for though if we are using a 'spaceless' language.\r\n if (!subElement || subElement === '' || (isSpace && !isSpacelessLanguage)) {\r\n return null;\r\n }\r\n\r\n // Manually add a margin to account for leading and trailing spaces since RN truncates them during render.\r\n // Only add a right margin if the current sub-element is not a space itself to avoid rendering a double-space.\r\n const rightMarginToRender = !isSpace && subElement.endsWith(' ') ? columnGap : 0;\r\n const leftMarginToRender = subElement.startsWith(' ') ? columnGap : 0;\r\n return (\r\n subElement !== '' &&\r\n linesOfText[currentLine].push(\r\n \r\n {subElement}\r\n \r\n )\r\n );\r\n });\r\n }\r\n // Return null for empty elements, or removed HTML tags. Null elements are filtered out of the final array below,\r\n // which ensures that they do not contribute to excess spacing or tab-stops.\r\n return null;\r\n });\r\n\r\n // Spaceless languages split each character into their own elements, so we should not render any gaps between\r\n // elements if a spaceless language is being used.\r\n const gapToRender = isSpacelessLanguage ? 0 : columnGap;\r\n\r\n const allLines = linesOfText.map((lineOfText, i) => {\r\n const lineTestID = testID + `Line${i}`;\r\n return (\r\n \r\n {lineOfText.length === 0 ? (\r\n \r\n {' '}\r\n \r\n ) : (\r\n lineOfText\r\n )}\r\n \r\n );\r\n });\r\n\r\n return (\r\n \r\n \r\n {allLines}\r\n \r\n );\r\n};\r\n","import * as React from 'react';\r\nimport {\r\n View,\r\n ViewStyle,\r\n TextStyle,\r\n AccessibilityState,\r\n NativeSyntheticEvent,\r\n NativeMouseEvent,\r\n StyleProp\r\n} from 'react-native';\r\nimport { CommonPressable } from './CommonPressable';\r\nimport { commonThemeManager, ICommonTheme, useCommonStyles } from '../themes/ICommonTheme';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../themes/themes';\r\nimport { CommonText, ITextProps } from './CommonText';\r\nimport { ThemeName } from '../themes/themeUtils';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { formatAccessibilityInfo } from '../helpers/helpers';\r\n\r\ninterface ILinkProps {\r\n /**\r\n * Text to be displayed as a link\r\n */\r\n text: string;\r\n /**\r\n * Callback function passed to the onPress handler\r\n */\r\n onPress: () => void;\r\n /**\r\n * Set to true if this is an inline link (Inline links should have underlines\r\n * for readability). Defaults to false.\r\n */\r\n inlineLink?: boolean;\r\n /**\r\n * Accessibility label for the link (optional)\r\n */\r\n accessibilityLabel?: string;\r\n /**\r\n * Accessibility hint for the link (optional)\r\n */\r\n accessibilityHint?: string;\r\n /**\r\n * Accessibility state for the link (optional)\r\n */\r\n accessibilityState?: AccessibilityState;\r\n /**\r\n * ID used to find element in jest tests (optional)\r\n */\r\n testID?: string;\r\n /**\r\n * Custom link styling (Optional)\r\n */\r\n customStyles?: ViewStyle[];\r\n /**\r\n * Custom link text styling (Optional)\r\n */\r\n customTextStyles?: StyleProp;\r\n /**\r\n * Custon tab index for this link (Optional)\r\n */\r\n tabIndex?: number;\r\n /**\r\n * Optional prop for link to have customContents (Optional)\r\n */\r\n customContents?: React.ReactNode;\r\n /**\r\n * Optional prop for content displayed on the right of the Link text (Optional)\r\n */\r\n customRightContents?: React.ReactNode;\r\n /**\r\n * Set this to false if this component is in the CommonModal. Used to determine if this component\r\n * should be made un-focusable when the modal is active. Defaults to true. (Optional)\r\n */\r\n unfocusableWhenModalActive?: boolean;\r\n /**\r\n * Whether or not the link is focusable. Defaults to true. (Optional)\r\n */\r\n focusable?: boolean;\r\n /**\r\n * Set this to pass additional properties to the underlying CommonText component. (Optional)\r\n * i.e. { numberOfLines: 1, ellipsizeMode: 'tail' }\r\n */\r\n additionalTextProps?: ITextProps;\r\n}\r\n\r\ninterface ILinkStyles {\r\n linkDefault: TextStyle;\r\n linkHover: TextStyle;\r\n linkPressed: TextStyle;\r\n inlineLinkHover: TextStyle;\r\n inlineLinkPressed: TextStyle;\r\n hoverBackground: TextStyle;\r\n row: ViewStyle;\r\n}\r\n\r\nconst useLinkStyles: ThemedStylesHook = createThemedStylesHook(\r\n commonThemeManager,\r\n (theme: ICommonTheme) => {\r\n const isHighContrast =\r\n theme.themeName === ThemeName.HighContrastDark || theme.themeName === ThemeName.HighContrastLight;\r\n return {\r\n linkDefault: {\r\n color: theme.link.linkTextColor,\r\n padding: 6,\r\n paddingHorizontal: 12\r\n },\r\n linkHover: {\r\n color: theme.link.linkHover,\r\n padding: 6,\r\n paddingHorizontal: 12\r\n },\r\n inlineLinkHover: {\r\n color: theme.link.linkHover\r\n },\r\n inlineLinkPressed: {\r\n color: theme.link.linkPressed\r\n },\r\n linkPressed: {\r\n color: theme.link.linkPressed,\r\n padding: 6,\r\n paddingHorizontal: 12\r\n },\r\n hoverBackground: {\r\n borderRadius: 3,\r\n backgroundColor: isHighContrast ? theme.dialog.backgroundColor : theme.link.linkHoverBackgroundColor,\r\n borderColor: 'transparent'\r\n },\r\n row: {\r\n flexDirection: 'row',\r\n alignItems: 'center'\r\n }\r\n };\r\n }\r\n);\r\n\r\n/**\r\n * Creates clickable and styled Text component to act as a link\r\n * @param {Interface} ILinkProps\r\n */\r\nexport function Link(props: ILinkProps): JSX.Element {\r\n const {\r\n text,\r\n inlineLink,\r\n onPress: propsOnPress,\r\n customStyles,\r\n customTextStyles,\r\n accessibilityLabel,\r\n accessibilityHint,\r\n accessibilityState,\r\n tabIndex,\r\n customContents,\r\n customRightContents,\r\n testID,\r\n unfocusableWhenModalActive\r\n } = props;\r\n const commonStyles = useCommonStyles();\r\n const styles = useLinkStyles();\r\n const [isKeyboardHovering, setIsKeyboardHovering] = React.useState(false);\r\n const { t: translate } = useTranslation();\r\n const linkRoleLabel = translate('linkAccessibilityRole');\r\n\r\n const handleLinkHover = (isHovering: boolean, event?: NativeSyntheticEvent): void => {\r\n // If event is undefined, it means that the hover event is triggered by keyboard\r\n if (!event) {\r\n setIsKeyboardHovering(isHovering);\r\n } else {\r\n setIsKeyboardHovering(false);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {(isPressed, isHovering) => {\r\n // Determine base style\r\n const linkStyleBase = inlineLink ? commonStyles.inlineLinkText : commonStyles.linkText;\r\n\r\n // Determine additional styles based on link state\r\n let linkStateStyle = styles.linkDefault;\r\n if (isPressed && !inlineLink) {\r\n linkStateStyle = styles.linkPressed;\r\n } else if (isPressed && inlineLink) {\r\n linkStateStyle = styles.inlineLinkPressed;\r\n } else if (isHovering && !inlineLink) {\r\n linkStateStyle = styles.linkHover;\r\n } else if (isHovering && inlineLink) {\r\n linkStateStyle = styles.inlineLinkHover;\r\n } else if (inlineLink) {\r\n linkStateStyle = commonStyles.inlineLink;\r\n }\r\n\r\n if (isKeyboardHovering) {\r\n linkStateStyle = { ...linkStateStyle, textDecorationLine: 'underline' };\r\n }\r\n\r\n return (\r\n \r\n {customContents}\r\n \r\n {text}\r\n \r\n {customRightContents}\r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { CommonText } from './CommonText';\r\nimport { LayoutChangeEvent, StyleProp, TextStyle, View } from 'react-native';\r\n\r\n// SpaceSizeCalculator is a helper component that calculates the width of a space character in the given text style.\r\n// It does this by rendering a text element with the character \"A\" and a space character, and measuring the width of the\r\n// rendered element. The width of the space character is then calculated by subtracting the width of the \"A\" character\r\n// from the total width of the rendered element. This width is then passed back to the parent component through the\r\n// onSetSpaceSize callback.\r\n//\r\n// This is necessary because the core RN Text component does not support rendering trailing spaces.\r\n//\r\n// NOTE: The size of the space character may not be 100% accurate in all cases, but it should only be off by 1 or 2 pixels at most.\r\nexport interface ISpaceSizeCalculator {\r\n textStyle: StyleProp;\r\n onSetSpaceSize: (size: number) => void;\r\n}\r\n\r\nexport const SpaceSizeCalculator = (props: ISpaceSizeCalculator): JSX.Element => {\r\n const [text, setText] = React.useState('A');\r\n const [aSize, setASize] = React.useState(undefined);\r\n const [spaceSize, setSpaceSize] = React.useState(undefined);\r\n const onLayout = React.useCallback(\r\n (event: LayoutChangeEvent) => {\r\n // The first layout change event will be for the \"A\" character to get its width. After the width of the \"A\" character\r\n // is known, we can add a leading space character. This will let us measure the width of the view again, where we can\r\n // calculate the width of the space character by subtracting the width of the \"A\" character from the latest view width.\r\n const { width } = event.nativeEvent.layout;\r\n if (aSize === undefined) {\r\n setASize(width);\r\n setText(' A');\r\n } else if (spaceSize === undefined) {\r\n const newSpaceSize = width - aSize;\r\n setSpaceSize(newSpaceSize);\r\n props.onSetSpaceSize(newSpaceSize);\r\n }\r\n },\r\n [aSize, text, spaceSize]\r\n );\r\n\r\n // The view is rendered with absolute positioning offscreen with transparent Text color to avoid showing weird visual artifacts to users.\r\n return (\r\n \r\n \r\n {text}\r\n \r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { TextStyle, View, ViewStyle, Image, ImageStyle } from 'react-native';\r\nimport { ActivityItemType, IProgressItem } from '../types';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { useCommonStyles } from '../../common/themes/ICommonTheme';\r\nimport { CommonPressable } from '../../common/components/CommonPressable';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { ProgressBar } from '../../settingsView/components/StorageSetting';\r\nimport { useTranslation } from 'react-i18next';\r\nimport CalculateProgressBarWidth from '../utils/helpers';\r\n\r\ninterface IProgressItemStyles {\r\n container: ViewStyle;\r\n containerHover: ViewStyle;\r\n secondaryText: TextStyle;\r\n body: ViewStyle;\r\n acItemBodyStyle: ViewStyle;\r\n margin: ViewStyle;\r\n oveflowIcon: ImageStyle;\r\n fileIcon: ImageStyle;\r\n progressBarContainer: ViewStyle;\r\n colorBarNormal: ViewStyle;\r\n colorBarError: TextStyle;\r\n customIconMargin: ViewStyle;\r\n customTextStyles: TextStyle;\r\n}\r\n\r\nexport const useProgressItemStyles: ThemedStylesHook = createThemedStylesHook<\r\n ITheme,\r\n IProgressItemStyles\r\n>(themeManager, (theme: ITheme) => {\r\n return {\r\n container: {\r\n flexDirection: 'row',\r\n flex: 1,\r\n padding: 5,\r\n margin: 0,\r\n width: '100%',\r\n alignItems: 'center'\r\n },\r\n containerHover: {\r\n backgroundColor: theme.itemHistoryHoverBackground\r\n },\r\n secondaryText: {\r\n color: theme.subtitleColor,\r\n fontSize: 12\r\n },\r\n acItemBodyStyle: {\r\n display: 'flex',\r\n paddingHorizontal: 10,\r\n flex: 1\r\n },\r\n body: {\r\n display: 'flex'\r\n },\r\n margin: {\r\n margin: 5\r\n },\r\n oveflowIcon: {\r\n width: 26,\r\n height: 26\r\n },\r\n fileIcon: {\r\n width: 48,\r\n height: 48\r\n },\r\n progressBarContainer: {\r\n width: '100%',\r\n marginVertical: 5\r\n },\r\n colorBarNormal: {\r\n backgroundColor: theme.progressBarColor\r\n },\r\n colorBarError: {\r\n color: theme.errorTextColor\r\n },\r\n customIconMargin: {\r\n marginRight: 10\r\n },\r\n customTextStyles: {\r\n maxWidth: 400\r\n }\r\n };\r\n});\r\n\r\ninterface IProgressItemProps {\r\n item: IProgressItem;\r\n customIconStyle?: ImageStyle;\r\n disableHover?: boolean;\r\n waitingToSync?: boolean;\r\n errorFound?: boolean;\r\n actionTextOverride?: string;\r\n}\r\n\r\nexport const GetItemProcessingString = (\r\n item: IProgressItem,\r\n translate: (id: string, placeholders?: { [key: string]: string }) => string\r\n): string => {\r\n let result = '';\r\n switch (item.activityItemType) {\r\n case ActivityItemType.Downloading: {\r\n if (item.processName === '') {\r\n result = translate('activityListProgressDownloading');\r\n } else {\r\n result = item.processName;\r\n }\r\n break;\r\n }\r\n case ActivityItemType.Uploading:\r\n default: {\r\n result = translate('activityListProgressUploading');\r\n break;\r\n }\r\n }\r\n return result;\r\n};\r\n\r\nexport const ProgressItem = ({\r\n item,\r\n customIconStyle,\r\n disableHover,\r\n waitingToSync,\r\n errorFound,\r\n actionTextOverride\r\n}: IProgressItemProps): JSX.Element => {\r\n const commonStyles = useCommonStyles();\r\n const styles = useProgressItemStyles();\r\n const { t: translate } = useTranslation();\r\n\r\n const processingString = GetItemProcessingString(item, translate);\r\n /* eslint-disable @typescript-eslint/naming-convention */\r\n const progressData = translate('activityListProgressV2', {\r\n 0: item.completedSize,\r\n 1: item.completedSizeUnit,\r\n 2: item.totalSize,\r\n 3: item.totalSizeUnit\r\n });\r\n\r\n // if errorFound, we show the error message instead of the progress data\r\n // else if waitingToSync, we show the waiting message\r\n // else we show the progress data\r\n let actionString = '';\r\n\r\n if (errorFound) {\r\n actionString = translate('shareLoadingError');\r\n } else if (actionTextOverride !== undefined) {\r\n actionString = actionTextOverride;\r\n } else if (waitingToSync) {\r\n actionString = translate('shareLoadingWaitingToSync');\r\n } else {\r\n actionString = `${processingString} ${progressData}`;\r\n }\r\n\r\n const barWidth = CalculateProgressBarWidth(item, waitingToSync || false);\r\n\r\n return (\r\n <>\r\n {}}\r\n testID='progressItem'\r\n accessibilityRole='button'\r\n accessibilityLabel={item.fileName}\r\n accessibilityHint={item.fileName}\r\n >\r\n {(isPressed, isHovering) => {\r\n let containerStyle = styles.container;\r\n if (!disableHover && isHovering) {\r\n containerStyle = { ...containerStyle, ...styles.containerHover };\r\n }\r\n\r\n return (\r\n \r\n \r\n {item.icon && (\r\n \r\n )}\r\n \r\n \r\n \r\n {item.fileName}\r\n \r\n {!errorFound && (\r\n \r\n \r\n \r\n )}\r\n \r\n {actionString}\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n};\r\n","import { IProgressItem } from '../types';\r\n\r\nconst CalculateProgressBarWidth = (item: IProgressItem, waitingToSync: boolean): number => {\r\n // If waiting to sync, show a minimal progress bar width to indicate activity\r\n if (waitingToSync) {\r\n return 1;\r\n }\r\n\r\n const completedSizeBytes = item.completedSizeBytes || 0;\r\n const totalSizeBytes = item.totalSizeBytes || 1; // prevent division by zero\r\n return Math.round(Math.min(1, completedSizeBytes / totalSizeBytes) * 230);\r\n};\r\n\r\nexport default CalculateProgressBarWidth;\r\n","import * as React from 'react';\r\nimport { TextStyle } from 'react-native';\r\nimport { ImageStyle, Linking, View, ViewStyle } from 'react-native';\r\nimport { CommonContext, QuotaState } from '../../common/loader/models/CommonContext';\r\nimport { useSettingsStyles } from '../themes/settingsStyles';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { CommonButton } from '../../common/components/CommonButton';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { Link } from '../../common/components/Link';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface IStorageProps {\r\n /**\r\n * Number that represents used storage (bytes).\r\n */\r\n storageUsedInBytes: number;\r\n /**\r\n * Number that represents total storage (bytes).\r\n */\r\n storageTotalInBytes: number;\r\n /**\r\n * String that determines color fill of bar.\r\n */\r\n quotaState: QuotaState;\r\n /**\r\n * String displayed on top of storage bar.\r\n */\r\n storageName: string;\r\n /**\r\n * Display name of button under storage bar.\r\n */\r\n buttonName: string;\r\n /**\r\n * Function to open popup when 'Upgrade Button' is pressed\r\n */\r\n onPress: () => void;\r\n /**\r\n * Display string of amount of quota used\r\n */\r\n quotaUsageLabel: string;\r\n /**\r\n * Accessibility label for quota bar (percentage used)\r\n */\r\n quotaBarAccessibilityLabel: string;\r\n /**\r\n * Accessibility label for button\r\n */\r\n buttonAccessibilityLabel: string;\r\n /**\r\n * Boolean to check if it is business isntance\r\n */\r\n isODB: boolean;\r\n /**\r\n * Check to see if diamond icon should be displayed in Get More Storage button.\r\n * Defaults to false. (Optional)\r\n */\r\n isDiamondIconInGMSButtonEnabled?: boolean;\r\n /**\r\n * Boolean to check if compact view is enabled\r\n */\r\n compactView?: boolean;\r\n /**\r\n * custom width for grey bar\r\n */\r\n greyBarWidth?: number;\r\n}\r\n\r\n// Create types for storage styles.\r\ninterface IStorageStyles {\r\n wholeBar: ViewStyle;\r\n greyBar: ViewStyle;\r\n colorBar: ViewStyle;\r\n colorBarNormal: ViewStyle;\r\n colorBarWarning: ViewStyle;\r\n colorBarError: ViewStyle;\r\n textView: ViewStyle;\r\n storageText: TextStyle;\r\n storageButton: ViewStyle;\r\n quotaUsedMargin: ViewStyle;\r\n colorTextWarning: TextStyle;\r\n colorTextError: TextStyle;\r\n icon: ImageStyle;\r\n wholeBarCompact: ViewStyle;\r\n colorBarCompact: ViewStyle;\r\n}\r\n\r\n// Create storage styles.\r\nconst useStorageSettingStyles: ThemedStylesHook = createThemedStylesHook<\r\n ITheme,\r\n IStorageStyles\r\n>(themeManager, (theme: ITheme) => {\r\n return {\r\n wholeBar: {\r\n marginBottom: 8\r\n },\r\n greyBar: {\r\n height: 1,\r\n width: 200,\r\n borderRadius: 2,\r\n backgroundColor: theme.storageTotalBar\r\n },\r\n colorBar: {\r\n height: 5,\r\n borderRadius: 2,\r\n position: 'relative',\r\n top: -3 // This overlaps the colored bar on top of the grey bar\r\n },\r\n colorBarNormal: {\r\n backgroundColor: theme.storageNormal\r\n },\r\n colorBarWarning: {\r\n backgroundColor: theme.storageBarWarning\r\n },\r\n //Same Color for Full, Overlimit\r\n colorBarError: {\r\n backgroundColor: theme.storageBarError\r\n },\r\n wholeBarCompact: {\r\n marginBottom: 0\r\n },\r\n colorBarCompact: {\r\n height: 3,\r\n top: -2\r\n },\r\n textView: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n justifyContent: 'space-between',\r\n flexWrap: 'wrap',\r\n maxWidth: 200\r\n },\r\n storageText: {\r\n fontWeight: '500',\r\n color: theme.bodyTextColor\r\n },\r\n storageButton: {\r\n marginTop: -15,\r\n marginBottom: 20,\r\n alignSelf: 'flex-start'\r\n },\r\n quotaUsedMargin: {\r\n marginBottom: 21\r\n },\r\n colorTextWarning: {\r\n color: theme.storageBarWarning\r\n },\r\n colorTextError: {\r\n color: theme.storageBarError\r\n },\r\n icon: {\r\n width: 20,\r\n height: 20,\r\n marginLeft: 5,\r\n marginTop: 5,\r\n marginBottom: 3,\r\n tintColor: theme.bodyTextColor\r\n }\r\n };\r\n});\r\n\r\nconst bytesPerGigabyte: number = 1073741824;\r\n\r\n// Convert storageUsed to gigabytes and round\r\nexport const roundStorageUsedGB = (storageUsed: number): string => {\r\n return (storageUsed / bytesPerGigabyte).toFixed(1);\r\n};\r\n// Convert storageTotal to gigabytes\r\nexport const roundStorageTotalGB = (storageTotal: number): string => {\r\n return (storageTotal / bytesPerGigabyte).toFixed(0);\r\n};\r\n\r\n// Calculate bar width using storageUsed : storageTotal ratio\r\nexport const calculateBarWidth = (\r\n storageUsed: number,\r\n storageTotal: number,\r\n greyBarWidth: number\r\n): number => {\r\n const baseWidth = greyBarWidth;\r\n const storageUsedGB = storageUsed / bytesPerGigabyte;\r\n const storageTotalGB = storageTotal / bytesPerGigabyte;\r\n if (storageUsedGB === 0 || storageTotalGB === 0) {\r\n return 0;\r\n } else {\r\n // In case storageUsedGB / storageTotalGB exceed 1(100%) we want to cap it at 100% to prevent Quotabar overflow\r\n return Math.round(Math.min(1, storageUsedGB / storageTotalGB) * baseWidth);\r\n }\r\n};\r\n\r\nexport const ProgressBar = (props: {\r\n fillWidth: number;\r\n fillColor: ViewStyle;\r\n accessibilityLabel: string;\r\n accessible: boolean;\r\n compactView?: boolean;\r\n greyBarWidth?: number;\r\n}): JSX.Element => {\r\n const { fillWidth, fillColor, accessibilityLabel, accessible, compactView, greyBarWidth } = props;\r\n const styles = useStorageSettingStyles();\r\n\r\n const wholeBarStyle: ViewStyle = compactView ? styles.wholeBarCompact : styles.wholeBar;\r\n const greyBarStyle: ViewStyle = compactView ? { width: greyBarWidth } : styles.greyBar;\r\n const colorBarStyle: ViewStyle = compactView ? styles.colorBarCompact : styles.colorBar;\r\n\r\n return (\r\n \r\n {/* Progress Bar Background, greyBar */}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n/**\r\n * Creates storage component with visual storage indicator and upgrade plan button.\r\n * @param {Interface} IStorageProps - The button name, text, storageUsed, and storageTotal for a\r\n * storage setting.\r\n */\r\nexport function StorageSetting(props: IStorageProps): JSX.Element {\r\n const {\r\n storageUsedInBytes,\r\n storageTotalInBytes,\r\n quotaState,\r\n storageName,\r\n quotaBarAccessibilityLabel,\r\n quotaUsageLabel,\r\n buttonName,\r\n onPress,\r\n buttonAccessibilityLabel,\r\n isODB,\r\n isDiamondIconInGMSButtonEnabled = false,\r\n compactView = false,\r\n greyBarWidth = 200\r\n } = props;\r\n const commonContext = React.useContext(CommonContext);\r\n const { t: translate } = useTranslation();\r\n const styles = useStorageSettingStyles();\r\n const settingsStyles = useSettingsStyles();\r\n const barWidth = calculateBarWidth(storageUsedInBytes, storageTotalInBytes, greyBarWidth);\r\n const isModalVisible = commonContext.isCommonModalVisible;\r\n const oneDriveManageStorageLink = 'https://go.microsoft.com/fwlink/?linkid=2204952&usqClient=OneDrive​';\r\n\r\n // Changes color depending on storage state from data layer.\r\n let colorStyle: ViewStyle = styles.colorBarNormal;\r\n let linkText: TextStyle = {};\r\n let storageText = storageName;\r\n\r\n // Nearing and Critical are warnings/non-blocking states, use yellow background.\r\n // Full and Overlimit are errors/blocking states, use red background.\r\n switch (quotaState) {\r\n case QuotaState.Nearing:\r\n case QuotaState.Critical:\r\n storageText = translate('settingsUsqNearing');\r\n colorStyle = styles.colorBarWarning;\r\n linkText = styles.colorTextWarning;\r\n break;\r\n case QuotaState.Full:\r\n case QuotaState.OverLimit:\r\n storageText = translate('settingsUsqFull');\r\n colorStyle = styles.colorBarError;\r\n linkText = styles.colorTextError;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n const commonTextStyle = [\r\n settingsStyles.caption,\r\n compactView ? { marginBottom: 0 } : styles.quotaUsedMargin\r\n ];\r\n\r\n let commonSubheaderTextStyle: ViewStyle;\r\n\r\n if (compactView) {\r\n commonSubheaderTextStyle = {\r\n ...settingsStyles.subheaderText,\r\n marginBottom: 5\r\n };\r\n } else if (settingsStyles.subheaderText.marginBottom) {\r\n commonSubheaderTextStyle = {\r\n ...settingsStyles.subheaderText,\r\n marginBottom: settingsStyles.subheaderText.marginBottom\r\n };\r\n } else {\r\n commonSubheaderTextStyle = {\r\n ...settingsStyles.subheaderText,\r\n marginBottom: 0\r\n };\r\n }\r\n\r\n return (\r\n \r\n \r\n {storageText}\r\n \r\n \r\n {/* This should be a shortened sentence describing how much percentage of quota is used. */}\r\n {isODB ? (\r\n \r\n {quotaUsageLabel}\r\n \r\n ) : (\r\n {\r\n await Linking.openURL(oneDriveManageStorageLink);\r\n }}\r\n />\r\n )}\r\n\r\n {buttonName !== '' ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n );\r\n}\r\n","import { ThemeManager } from '../../common/themes/themes';\r\nimport { LightTheme } from './LightTheme';\r\nimport { DarkTheme } from './DarkTheme';\r\nimport { createHighContrastTheme } from './HighContrast';\r\nimport { ICommonTheme } from '../../common/themes/ICommonTheme';\r\n\r\nexport interface ITheme extends ICommonTheme {\r\n componentAccentColor: string;\r\n innerFrameBackgroundColor: string;\r\n innerContainerColor: string;\r\n secondaryContainerColor: string;\r\n selectedTabColor: string;\r\n selectedTabAccent: string;\r\n selectedTabText: string;\r\n pressedTabColor: string;\r\n pressedTabText: string;\r\n tabIconColor: string;\r\n tabIconSelectedColor: string;\r\n borderColor: string;\r\n storageTotalBar: string;\r\n storageNormal: string;\r\n storageBarWarning: string;\r\n storageBarError: string;\r\n descriptionColor: string;\r\n warningBannerBackground: string;\r\n}\r\n\r\n// Define themes for this app\r\nexport const themeManager: ThemeManager = new ThemeManager(\r\n LightTheme,\r\n DarkTheme,\r\n createHighContrastTheme\r\n);\r\n","import { Basic, ColorsWithTransparency, Fabric, Neutrals, QuotaLight } from '../../common/assets/colors';\r\nimport { CommonLightTheme } from '../../common/themes/CommonLightTheme';\r\nimport { ITheme } from './ITheme';\r\n\r\n// light theme color palette\r\nexport const LightTheme: ITheme = {\r\n ...CommonLightTheme,\r\n componentAccentColor: Basic.blueMid2,\r\n innerFrameBackgroundColor: Neutrals.gray19,\r\n innerContainerColor: ColorsWithTransparency.white70,\r\n secondaryContainerColor: Fabric.neutralLighter,\r\n selectedTabColor: ColorsWithTransparency.black03,\r\n selectedTabAccent: Basic.blueMid2,\r\n selectedTabText: ColorsWithTransparency.black89,\r\n pressedTabColor: ColorsWithTransparency.black02,\r\n pressedTabText: ColorsWithTransparency.black61,\r\n tabIconColor: ColorsWithTransparency.black89, // Same as body text color\r\n tabIconSelectedColor: ColorsWithTransparency.black89, // Same as body text color\r\n borderColor: ColorsWithTransparency.black05,\r\n storageTotalBar: ColorsWithTransparency.black60, // Same as description color\r\n storageNormal: QuotaLight.normalPrimary,\r\n storageBarWarning: Basic.brown,\r\n storageBarError: QuotaLight.critical,\r\n descriptionColor: ColorsWithTransparency.black60,\r\n warningBannerBackground: Basic.yellowPale\r\n};\r\n","import { Basic, ColorsWithTransparency, Neutrals, QuotaDark } from '../../common/assets/colors';\r\nimport { CommonDarkTheme } from '../../common/themes/CommonDarkTheme';\r\nimport { ITheme } from './ITheme';\r\n\r\n// dark theme color palette\r\nexport const DarkTheme: ITheme = {\r\n ...CommonDarkTheme,\r\n componentAccentColor: Basic.blueLight2,\r\n innerFrameBackgroundColor: Neutrals.gray191,\r\n innerContainerColor: ColorsWithTransparency.white05,\r\n secondaryContainerColor: ColorsWithTransparency.gray30,\r\n selectedTabColor: ColorsWithTransparency.white0605,\r\n selectedTabAccent: Basic.blueLight2,\r\n selectedTabText: Neutrals.white,\r\n pressedTabColor: ColorsWithTransparency.white04,\r\n pressedTabText: ColorsWithTransparency.white79,\r\n tabIconColor: Neutrals.white, // Same as body text color\r\n tabIconSelectedColor: Neutrals.white, // Same as body text color\r\n borderColor: ColorsWithTransparency.black10,\r\n storageTotalBar: ColorsWithTransparency.white60, // Same as description color\r\n storageNormal: QuotaDark.normalPrimary,\r\n storageBarWarning: QuotaDark.nearing,\r\n storageBarError: QuotaDark.critical,\r\n descriptionColor: ColorsWithTransparency.white60,\r\n warningBannerBackground: Basic.yellowDark\r\n};\r\n","import { ISystemHighContrastTheme, ThemeName } from '../../common/themes/themeUtils';\r\nimport { ITheme } from './ITheme';\r\nimport { createCommonHighContrastTheme } from '../../common/themes/CommonHighContrastTheme';\r\n\r\n/**\r\n * High Contrast themes come in from Windows dynamically as a limited color pallete,\r\n * this needs to be mapped to our ITheme type.\r\n */\r\nexport function createHighContrastTheme(systemTheme: ISystemHighContrastTheme, themeName: ThemeName): ITheme {\r\n return {\r\n ...createCommonHighContrastTheme(systemTheme, themeName),\r\n componentAccentColor: systemTheme.HighlightColor,\r\n innerFrameBackgroundColor: systemTheme.WindowColor,\r\n innerContainerColor: systemTheme.WindowColor,\r\n secondaryContainerColor: systemTheme.WindowColor,\r\n selectedTabColor: systemTheme.HighlightColor,\r\n selectedTabAccent: systemTheme.HighlightTextColor,\r\n selectedTabText: systemTheme.HighlightTextColor,\r\n pressedTabColor: systemTheme.HighlightColor,\r\n pressedTabText: systemTheme.HighlightTextColor,\r\n tabIconColor: systemTheme.WindowTextColor,\r\n tabIconSelectedColor: systemTheme.WindowColor,\r\n borderColor: systemTheme.WindowTextColor,\r\n storageTotalBar: systemTheme.WindowTextColor,\r\n storageNormal: systemTheme.HotlightColor,\r\n storageBarWarning: systemTheme.HotlightColor,\r\n storageBarError: systemTheme.HotlightColor,\r\n descriptionColor: systemTheme.WindowTextColor,\r\n warningBannerBackground: systemTheme.WindowColor\r\n };\r\n}\r\n","import { ITheme, themeManager } from './ITheme';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ImageStyle, TextStyle, ViewStyle } from 'react-native';\r\nimport { defaultFontFamily } from '../../common/types';\r\n\r\n// Defines types for global styles.\r\nexport interface ISettingsStyles {\r\n subheaderText: TextStyle;\r\n secondaryText: TextStyle;\r\n tabTitleBase: TextStyle;\r\n tabTitleNormal: TextStyle;\r\n disabledTabTitle: TextStyle;\r\n selectedTabTitle: TextStyle;\r\n pressedTabTitle: TextStyle;\r\n bodyStrong: TextStyle;\r\n caption: TextStyle;\r\n title: TextStyle;\r\n fullWidth: ViewStyle;\r\n smallLink: TextStyle;\r\n section: ViewStyle;\r\n groupPolicyIconWrapper: ViewStyle;\r\n groupPolicyIconStyle: ImageStyle;\r\n}\r\n// Creates styles used throughout the Sync app.\r\nexport const useSettingsStyles: ThemedStylesHook = createThemedStylesHook<\r\n ITheme,\r\n ISettingsStyles\r\n>(themeManager, (theme: ITheme) => {\r\n // Font sizes\r\n const bodyText = 14;\r\n const smallText = 12;\r\n const largeText = 28;\r\n\r\n // Font weights\r\n const semibold = '600';\r\n const medium = '500';\r\n const normal = '400';\r\n\r\n // NOTE: Do NOT customize line height, as this will make the \"Text size\" Windows setting not work\r\n // as well - multiline text may be crammed together.\r\n\r\n return {\r\n subheaderText: {\r\n marginBottom: 12,\r\n color: theme.bodyTextColor,\r\n fontSize: bodyText,\r\n fontWeight: medium,\r\n fontFamily: defaultFontFamily\r\n },\r\n secondaryText: {\r\n fontWeight: normal,\r\n fontSize: bodyText,\r\n color: theme.descriptionColor,\r\n fontFamily: defaultFontFamily\r\n },\r\n tabTitleBase: {\r\n flex: 1,\r\n justifyContent: 'center',\r\n textAlign: 'left',\r\n fontSize: bodyText,\r\n paddingLeft: 16,\r\n fontWeight: normal,\r\n fontFamily: defaultFontFamily\r\n },\r\n tabTitleNormal: {\r\n color: theme.bodyTextColor\r\n },\r\n disabledTabTitle: {\r\n color: theme.button.buttonTextDisabled\r\n },\r\n selectedTabTitle: {\r\n color: theme.selectedTabText\r\n },\r\n pressedTabTitle: {\r\n color: theme.pressedTabText\r\n },\r\n bodyStrong: {\r\n fontWeight: semibold,\r\n fontSize: bodyText,\r\n fontFamily: defaultFontFamily\r\n },\r\n caption: {\r\n fontWeight: normal,\r\n fontSize: smallText,\r\n color: theme.descriptionColor,\r\n fontFamily: defaultFontFamily\r\n },\r\n title: {\r\n color: theme.bodyTextColor,\r\n fontWeight: medium,\r\n fontSize: largeText,\r\n fontFamily: defaultFontFamily\r\n },\r\n fullWidth: {\r\n width: '100%'\r\n },\r\n smallLink: {\r\n fontSize: smallText\r\n },\r\n section: {\r\n marginTop: 24\r\n },\r\n groupPolicyIconWrapper: {\r\n flexDirection: 'row',\r\n alignItems: 'center'\r\n },\r\n groupPolicyIconStyle: {\r\n width: 14,\r\n height: 14,\r\n marginRight: 5,\r\n tintColor: theme.descriptionColor\r\n }\r\n };\r\n});\r\n","import React from 'react';\r\nimport {\r\n TextStyle,\r\n View,\r\n ViewStyle,\r\n Image,\r\n GestureResponderEvent,\r\n ImageStyle,\r\n NativeSyntheticEvent,\r\n NativeMouseEvent,\r\n Platform,\r\n AccessibilityRole\r\n} from 'react-native';\r\nimport {\r\n ActivityCenterUIAction,\r\n ActivityItemType,\r\n HistoryItemMenuAction,\r\n IItemHistory,\r\n ISearchResultItem,\r\n IShowMoreOptionsTooltipProps\r\n} from '../types';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { useCommonStyles } from '../../common/themes/ICommonTheme';\r\nimport { CommonPressable } from '../../common/components/CommonPressable';\r\nimport { useAppDispatch } from '../../hooks';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport { useTranslation } from 'react-i18next';\r\nimport CPKeyboardEvent from '../utils/CPKeyboardEvent';\r\nimport { HtmlText } from '../../common/components/HtmlText';\r\n\r\ninterface IItemHistoryStyles {\r\n container: ViewStyle;\r\n containerHover: ViewStyle;\r\n subtitleText: TextStyle;\r\n subtitleTextColorHover: TextStyle;\r\n timeText: TextStyle;\r\n subtitleTextColor: TextStyle;\r\n body: ViewStyle;\r\n margin: ViewStyle;\r\n moreIconContainer: ViewStyle;\r\n oveflowIcon: ImageStyle;\r\n fileIcon: ImageStyle;\r\n thumbnailRounded: ImageStyle;\r\n folderLinkText: TextStyle;\r\n moreIconContainerHover: ViewStyle;\r\n descriptionContainer: ViewStyle;\r\n}\r\n\r\nconst isMacOS = Platform.OS === 'macos';\r\n\r\nexport const useItemHistoryStyles: ThemedStylesHook = createThemedStylesHook<\r\n ITheme,\r\n IItemHistoryStyles\r\n>(themeManager, (theme: ITheme) => {\r\n return {\r\n container: {\r\n flexDirection: 'row',\r\n flex: 1,\r\n padding: 5,\r\n margin: 0,\r\n width: '100%',\r\n alignItems: 'center'\r\n },\r\n containerHover: {\r\n backgroundColor: theme.itemHistoryHoverBackground\r\n },\r\n subtitleText: {\r\n fontSize: 12\r\n },\r\n timeText: {\r\n marginTop: 2,\r\n fontSize: 10\r\n },\r\n subtitleTextColorHover: {\r\n color: theme.subtitleHoverColor\r\n },\r\n subtitleTextColor: {\r\n color: theme.subtitleColor\r\n },\r\n body: {\r\n display: 'flex',\r\n paddingHorizontal: 10,\r\n flex: 1\r\n },\r\n margin: {\r\n margin: 5\r\n },\r\n moreIconContainer: {\r\n width: 38,\r\n height: 38,\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n backgroundColor: 'transparent',\r\n marginRight: 5\r\n },\r\n moreIconContainerHover: {\r\n backgroundColor: theme.overflowIconContainerColor\r\n },\r\n oveflowIcon: {\r\n width: 36,\r\n height: 36,\r\n tintColor: theme.overflowIconColor\r\n },\r\n fileIcon: {\r\n width: 48,\r\n height: 48\r\n },\r\n thumbnailRounded: {\r\n borderRadius: 6\r\n },\r\n folderLinkText: {\r\n fontSize: 12\r\n },\r\n descriptionContainer: {\r\n marginTop: 4,\r\n flexShrink: 1,\r\n flexDirection: 'row',\r\n flexWrap: 'nowrap'\r\n }\r\n };\r\n});\r\n\r\nexport interface IItemHistoryProps {\r\n item: IItemHistory;\r\n toggleSelectedItem: (\r\n item: IItemHistory | ISearchResultItem,\r\n top: number,\r\n expectedMenuHeight?: number,\r\n left?: number\r\n ) => void;\r\n index: number;\r\n total: number;\r\n /**\r\n * Ref to use for this component (Optional)\r\n */\r\n innerRef?: React.RefObject;\r\n /**\r\n * Custom handler for key presses on this component (Optional)\r\n */\r\n onKeyDown?: (event: CPKeyboardEvent) => void;\r\n\r\n /**\r\n * Whether this item is currently selected (has context menu open)\r\n */\r\n isSelected?: boolean;\r\n /**\r\n * Whether this item is currently auto-selected\r\n */\r\n autoSelected?: boolean;\r\n}\r\n\r\n// Constants for context menu positioning and sizing\r\nconst ITEM_TOP_PADDING = 40; // Padding to adjust the context menu position so that it appears below the item\r\nconst MENU_BUTTON_HEIGHT = 35; // Height of a single menu button\r\nconst MENU_PADDING_SINGLE = 10; // Padding for single button menu (archived files)\r\nconst MENU_PADDING_MULTIPLE = 5; // Padding for multiple button menu (regular files)\r\nconst MENU_BUTTON_COUNT_STANDARD = 5; // Number of buttons in standard (non-archived) menu\r\nconst FALLBACK_ITEM_HEIGHT = 60; // Used by BVT press, which has no gesture event to measure from\r\n\r\n//React.FC\r\nexport const ItemHistory: React.FC = React.memo(\r\n ({ item, toggleSelectedItem, total, index, onKeyDown, innerRef, isSelected, autoSelected }) => {\r\n const commonStyles = useCommonStyles();\r\n const dispatch = useAppDispatch();\r\n const styles = useItemHistoryStyles();\r\n const { t: translate } = useTranslation();\r\n const [isButtonHovering, setIsButtonHovering] = React.useState(false);\r\n\r\n const handleItemPress = (event?: GestureResponderEvent): void => {\r\n // Calculate expected menu height based on item type\r\n // Archived files show only 1 button (Reactivate), regular files show multiple options\r\n const isArchivedFile =\r\n item.activityItemType === ActivityItemType.Archived ||\r\n item.activityItemType === ActivityItemType.Reactivating;\r\n const expectedMenuHeight = isArchivedFile\r\n ? MENU_BUTTON_HEIGHT + MENU_PADDING_SINGLE // 1 button + padding\r\n : MENU_BUTTON_HEIGHT * MENU_BUTTON_COUNT_STANDARD + MENU_PADDING_MULTIPLE; // five buttons plus padding\r\n\r\n if (!event || !innerRef?.current?.measure) {\r\n toggleSelectedItem(item, ITEM_TOP_PADDING + index * FALLBACK_ITEM_HEIGHT, expectedMenuHeight);\r\n return;\r\n }\r\n\r\n innerRef.current.measure((x, y, width, height, pageX, pageY) => {\r\n toggleSelectedItem(item, pageY + ITEM_TOP_PADDING, expectedMenuHeight);\r\n });\r\n };\r\n\r\n let lastClickTime = 0;\r\n const doubleClickDelay = 300; // maximum time allowed between two clicks to count as a double-click (in milliseconds)\r\n\r\n const handleDoubleClick = React.useCallback(() => {\r\n dispatch(activityCenterActions.dismissContextMenus());\r\n if (item.activityItemType === ActivityItemType.Deleted) {\r\n return;\r\n }\r\n\r\n const currentTime = new Date().getTime();\r\n if (currentTime - lastClickTime < doubleClickDelay) {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.HistoryItemActivated));\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({\r\n path: item.filePath,\r\n action: HistoryItemMenuAction.Open\r\n })\r\n );\r\n }\r\n\r\n lastClickTime = currentTime;\r\n }, [item.filePath, item.activityItemType]);\r\n\r\n const handleItemHover = React.useCallback(\r\n (isHovering: boolean, event?: NativeSyntheticEvent) => {\r\n // If the event is undefined, it means that the hover event is triggered by keyboard\r\n // If the event is defined, it means that the hover event is triggered by mouse\r\n // isHovering is true if the mouse is hovering over the item or if the item is focused using the keyboard\r\n if (isHovering) {\r\n const itemTopPadding = 20; // Padding to adjust the tooltip position\r\n innerRef?.current?.measure((x, y, width, height, pageX, pageY) => {\r\n const toolTipOptions: IShowMoreOptionsTooltipProps = {\r\n showTooltip: isHovering,\r\n top: pageY + itemTopPadding\r\n };\r\n dispatch(activityCenterActions.setMoreOptionsTooltipVisibility(toolTipOptions));\r\n });\r\n } else {\r\n // Hide the tooltip if isHovering is false (keyboard focus lost or mouse hover out event)\r\n dispatch(activityCenterActions.setMoreOptionsTooltipVisibility({ showTooltip: false, top: 0 }));\r\n }\r\n\r\n // Keep items that have been hovered over using the keyboard in the state\r\n if (!event && isHovering) {\r\n setIsButtonHovering(true);\r\n } else {\r\n setIsButtonHovering(false);\r\n }\r\n },\r\n [isButtonHovering, innerRef]\r\n );\r\n\r\n let actionString = '';\r\n // Only show linked folder name if it is not a deleted item\r\n const inlineFolderLink =\r\n ActivityItemType.Deleted !== item.activityItemType\r\n ? `${item.folderName}`\r\n : '';\r\n /* eslint-disable @typescript-eslint/naming-convention */\r\n // Remove the formatting variable from the action string.\r\n // We do not replace '%%' with the folder name here, because the it is displayed as a separate link.\r\n // e.g if the actionString is \"Uploaded to %%\", then it will become \"Uploaded to\"\r\n actionString = `${item.actionString.replace('%%', inlineFolderLink)}`;\r\n\r\n const itemIndexString = translate('historyListItemIndexAccessibleTextV2', { 0: index + 1, 1: total });\r\n const accessibleItemHistoryLabel = `${item.fileName}. ${item.actionString.replace(\r\n '%%',\r\n item.folderName\r\n )}. ${item.time}. ${itemIndexString}`;\r\n\r\n const handleLinkPress = React.useCallback(() => {\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({\r\n path: item.filePath,\r\n action: HistoryItemMenuAction.OpenItemFolder\r\n })\r\n );\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.OpenItemFolder));\r\n }, [item.filePath]);\r\n\r\n return (\r\n <>\r\n \r\n {(isPressed, isHovering) => {\r\n let containerStyle = styles.container;\r\n let subtitleColor = styles.subtitleTextColor;\r\n if (isHovering || isButtonHovering) {\r\n containerStyle = { ...containerStyle, ...styles.containerHover };\r\n subtitleColor = styles.subtitleTextColorHover;\r\n }\r\n if (isSelected && autoSelected) {\r\n containerStyle = { ...containerStyle, ...styles.containerHover, ...commonStyles.viewOutline };\r\n }\r\n const description = (\r\n <>\r\n \r\n \r\n \r\n \r\n {item.time}\r\n \r\n \r\n );\r\n\r\n return (\r\n \r\n \r\n {item.imageFileName ? (\r\n \r\n ) : item.thumbnailUrl || item.icon ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n {item.fileName}\r\n \r\n {description}\r\n \r\n {item.isActionable ? (\r\n \r\n {(isPressed, hoveringIcon) => {\r\n let containerStyle = styles.moreIconContainer;\r\n if (hoveringIcon) {\r\n containerStyle = { ...containerStyle, ...styles.moreIconContainerHover };\r\n }\r\n //Apply thick border to show items selected by copilot ACM action\r\n if (isSelected && autoSelected) {\r\n containerStyle = {\r\n ...containerStyle,\r\n ...styles.moreIconContainerHover,\r\n ...commonStyles.viewOutline\r\n };\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n ) : null}\r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n }\r\n);\r\n","import React, { useCallback } from 'react';\r\nimport { View, Image, ImageStyle, ViewStyle, TextStyle, AccessibilityRole } from 'react-native';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { ISearchResultItem, HistoryItemMenuAction, ActivityCenterUIAction } from '../types';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { CommonPressable } from '../../common/components/CommonPressable';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport {\r\n selectSearchFilter,\r\n selectSearchGalleryItems,\r\n selectShouldShowAllGallery\r\n} from '../redux/activityCenterSelectors';\r\nimport { useSearchEventHandler } from '../dataHandler/SearchEventHandler';\r\n\r\n// Grid layout constants\r\nconst COLUMNS = 3;\r\nconst ROWS_COLLAPSED = 2;\r\nconst COLLAPSED_TILE_LIMIT = COLUMNS * ROWS_COLLAPSED; // 6\r\nconst TILE_SPACING = 4;\r\nconst TILE_RADIUS = 10;\r\n\r\nconst HORIZONTAL_PADDING = 10;\r\nconst TILE_BORDER_WIDTH = 0.5;\r\n\r\ninterface ISearchPhotoGridStyles {\r\n container: ViewStyle;\r\n row: ViewStyle;\r\n tileWrapper: ViewStyle;\r\n tile: ViewStyle;\r\n tilePressed: ViewStyle;\r\n thumbnail: ImageStyle;\r\n videoBadge: ViewStyle;\r\n videoBadgeIcon: ImageStyle;\r\n videoBadgeIconColor: TextStyle;\r\n showMoreOverlay: ViewStyle;\r\n showMoreText: TextStyle;\r\n showMoreCount: TextStyle;\r\n placeholder: ViewStyle;\r\n}\r\n\r\nexport const useSearchPhotoGridStyles: ThemedStylesHook = createThemedStylesHook<\r\n ITheme,\r\n ISearchPhotoGridStyles\r\n>(themeManager, (theme: ITheme) => {\r\n return {\r\n container: {\r\n paddingHorizontal: HORIZONTAL_PADDING,\r\n paddingVertical: 8\r\n },\r\n row: {\r\n flexDirection: 'row',\r\n marginBottom: TILE_SPACING\r\n },\r\n tileWrapper: {\r\n flex: 1,\r\n aspectRatio: 1,\r\n marginHorizontal: TILE_SPACING / 2\r\n },\r\n tile: {\r\n width: '100%',\r\n height: '100%',\r\n borderRadius: TILE_RADIUS,\r\n overflow: 'hidden',\r\n backgroundColor: theme.searchInputBackground,\r\n borderWidth: TILE_BORDER_WIDTH,\r\n borderColor: theme.photoTileBorder\r\n },\r\n tilePressed: {\r\n opacity: 0.85\r\n },\r\n thumbnail: {\r\n width: '100%',\r\n height: '100%',\r\n borderRadius: TILE_RADIUS\r\n },\r\n videoBadge: {\r\n position: 'absolute',\r\n top: 4,\r\n left: 4,\r\n width: 18,\r\n height: 18,\r\n borderRadius: 9,\r\n backgroundColor: theme.photoGridOverlayBackground,\r\n alignItems: 'center',\r\n justifyContent: 'center'\r\n },\r\n videoBadgeIcon: {\r\n width: 10,\r\n height: 10\r\n },\r\n // Holds only the badge glyph's color so the component can forward it to\r\n // . VideoBadgePlay.svg uses fill=\"currentColor\". We\r\n // pair the glyph with `photoGridOverlayText` (which is paired with\r\n // `photoGridOverlayBackground` by construction in every theme,\r\n // including HC where the badge background is WindowColor and a\r\n // hard-coded white fill would disappear on HC White palettes).\r\n videoBadgeIconColor: {\r\n color: theme.photoGridOverlayText\r\n },\r\n showMoreOverlay: {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n right: 0,\r\n bottom: 0,\r\n backgroundColor: theme.photoGridOverlayBackground,\r\n borderRadius: TILE_RADIUS,\r\n overflow: 'hidden',\r\n alignItems: 'center',\r\n justifyContent: 'center'\r\n },\r\n showMoreText: {\r\n color: theme.photoGridOverlayText,\r\n fontSize: 13,\r\n fontWeight: '600'\r\n },\r\n showMoreCount: {\r\n color: theme.photoGridOverlayText,\r\n fontSize: 18,\r\n fontWeight: '700',\r\n marginBottom: 2\r\n },\r\n placeholder: {\r\n flex: 1,\r\n aspectRatio: 1,\r\n marginHorizontal: TILE_SPACING / 2\r\n }\r\n };\r\n});\r\n\r\ninterface IPhotoTileProps {\r\n item: ISearchResultItem;\r\n onPress: (item: ISearchResultItem) => void;\r\n accessibilityLabel: string;\r\n}\r\n\r\nconst PhotoTile: React.FC = React.memo(({ item, onPress, accessibilityLabel }) => {\r\n const styles = useSearchPhotoGridStyles();\r\n const { t: translate } = useTranslation();\r\n const handlePress = useCallback(() => onPress(item), [item, onPress]);\r\n\r\n const sourceUri = item.thumbnailUrl ?? item.icon;\r\n const isVideo = item.fileType === 'video';\r\n\r\n return (\r\n \r\n \r\n {(isPressed: boolean) => (\r\n \r\n {sourceUri ? (\r\n \r\n ) : null}\r\n {isVideo ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n )}\r\n \r\n \r\n );\r\n});\r\n\r\ninterface IShowMorePhotoTileProps {\r\n /**\r\n * The item rendered as the photo background under the \"+N\" overlay. PM\r\n * requested that the last tile in the grid be a real photo (not an empty\r\n * neutral tile) with the count on top. This is also the affordance to\r\n * expand the grid — pressing it switches the filter to 'photos'.\r\n */\r\n item: ISearchResultItem;\r\n countLabel: string;\r\n onPress: () => void;\r\n accessibilityLabel: string;\r\n}\r\n\r\nconst ShowMorePhotoTile: React.FC = React.memo(\r\n ({ item, countLabel, onPress, accessibilityLabel }) => {\r\n const styles = useSearchPhotoGridStyles();\r\n const sourceUri = item.thumbnailUrl ?? item.icon;\r\n\r\n return (\r\n \r\n \r\n {(isPressed: boolean) => (\r\n \r\n {sourceUri ? (\r\n \r\n ) : null}\r\n \r\n {countLabel}\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n }\r\n);\r\n\r\n/**\r\n * Renders a 3-column grid of gallery search results (photos + videos) above\r\n * the linear search list.\r\n *\r\n * - When the active filter is \"photos\" OR the entire result set is gallery\r\n * items (`shouldShowAllGallery`): shows ALL gallery results with no\r\n * overlay tile — the grid is essentially the whole results pane.\r\n * - When the active filter is anything else AND there are more than 6 gallery\r\n * items: shows the first 5 items + a \"Show more\" tile in the 6th position\r\n * that uses the 6th item as its photo background, with a \"+N\" overlay\r\n * where N = totalGallery - 5 (the 6th item plus everything beyond it).\r\n * Pressing it switches the filter to \"photos\" — which causes the grid to\r\n * expand to all gallery items via the rule above.\r\n * - Otherwise (filter not photos, <= 6 items): shows all items with no overlay.\r\n * - Videos render with a small play-glyph badge in the top-left corner.\r\n * - Renders nothing when there are no gallery results.\r\n */\r\nexport const SearchPhotoGrid: React.FC = () => {\r\n const dispatch = useAppDispatch();\r\n const galleryItems = useAppSelector(selectSearchGalleryItems);\r\n const filter = useAppSelector(selectSearchFilter);\r\n const shouldShowAllGallery = useAppSelector(selectShouldShowAllGallery);\r\n const styles = useSearchPhotoGridStyles();\r\n const { t: translate } = useTranslation();\r\n const searchEvents = useSearchEventHandler();\r\n\r\n const handlePhotoPress = useCallback(\r\n (item: ISearchResultItem) => {\r\n searchEvents.entityAction({\r\n entityType: item.fileType,\r\n uiAction: ActivityCenterUIAction.SearchResultClicked\r\n });\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.SearchResultClicked));\r\n dispatch(\r\n activityCenterActions.handleHistoryItemAction({\r\n action: HistoryItemMenuAction.Open,\r\n path: item.filePath\r\n })\r\n );\r\n },\r\n [dispatch, searchEvents]\r\n );\r\n\r\n const handleShowMore = useCallback(() => {\r\n dispatch(activityCenterActions.setSearchFilter('photos'));\r\n }, [dispatch]);\r\n\r\n if (galleryItems.length === 0) {\r\n return null;\r\n }\r\n\r\n const isPhotosFilterActive = filter === 'photos';\r\n const isExpanded = isPhotosFilterActive || shouldShowAllGallery;\r\n const hasOverflow = galleryItems.length > COLLAPSED_TILE_LIMIT;\r\n // The grid shows the \"Show more\" overlay tile only when collapsed AND we\r\n // have more items than fit in two rows of three.\r\n const showShowMoreTile = !isExpanded && hasOverflow;\r\n // Collapsed view: 5 normal photo tiles + 1 overlay tile (using the 6th item\r\n // as its background photo). Expanded view: render every item plainly.\r\n const visiblePhotos = showShowMoreTile ? galleryItems.slice(0, COLLAPSED_TILE_LIMIT - 1) : galleryItems;\r\n // The overlay reads \"+N\" where N is the number of items represented by the\r\n // overlay tile itself + everything hidden behind it. Since the overlay\r\n // occupies the 6th slot but stands in for items 6, 7, 8, …, N = total - 5.\r\n const overlayItem = showShowMoreTile ? galleryItems[COLLAPSED_TILE_LIMIT - 1] : undefined;\r\n const hiddenCount = galleryItems.length - (COLLAPSED_TILE_LIMIT - 1);\r\n\r\n // Build rows of <= COLUMNS items.\r\n const totalCells = visiblePhotos.length + (showShowMoreTile ? 1 : 0);\r\n const rows: JSX.Element[] = [];\r\n for (let rowStart = 0; rowStart < totalCells; rowStart += COLUMNS) {\r\n const cells: JSX.Element[] = [];\r\n for (let col = 0; col < COLUMNS; col++) {\r\n const cellIndex = rowStart + col;\r\n if (cellIndex < visiblePhotos.length) {\r\n const item = visiblePhotos[cellIndex];\r\n // Keys 0 and 1 are positional placeholders required by the translation string.\r\n /* eslint-disable @typescript-eslint/naming-convention */\r\n const accessibilityLabel = `${item.fileName}. ${translate('historyListItemIndexAccessibleTextV2', {\r\n 0: cellIndex + 1,\r\n 1: galleryItems.length\r\n })}`;\r\n /* eslint-enable @typescript-eslint/naming-convention */\r\n cells.push(\r\n \r\n );\r\n } else if (cellIndex === visiblePhotos.length && showShowMoreTile && overlayItem !== undefined) {\r\n // Keys 0 is the positional placeholder for the \"+N more\" translation.\r\n /* eslint-disable @typescript-eslint/naming-convention */\r\n const accessibilityLabel = translate('searchPhotoGridShowMoreAccessibility', {\r\n 0: hiddenCount\r\n });\r\n /* eslint-enable @typescript-eslint/naming-convention */\r\n cells.push(\r\n \r\n );\r\n } else {\r\n // Empty placeholder to keep tiles in the last partial row left-aligned and\r\n // sized consistently with the other rows.\r\n cells.push();\r\n }\r\n }\r\n rows.push(\r\n \r\n {cells}\r\n \r\n );\r\n }\r\n\r\n return {rows};\r\n};\r\n","import React from 'react';\r\nimport { FlatList, View } from 'react-native';\r\nimport { ICoAuthLockedItem } from '../types';\r\nimport { CoAuthLockedItem } from './CoAuthLockedItem';\r\n\r\nexport const ActivityCenterCoAuthLockedItems = ({ items }: { items: ICoAuthLockedItem[] }): JSX.Element => {\r\n return (\r\n \r\n } />\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { TextStyle, View, ViewStyle, Image, ImageStyle } from 'react-native';\r\nimport { ICoAuthLockedItem } from '../types';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { useCommonStyles } from '../../common/themes/ICommonTheme';\r\nimport { CommonPressable } from '../../common/components/CommonPressable';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { ProgressBar } from '../../common/components/ProgressBar';\r\nimport { useTranslation } from 'react-i18next';\r\n\r\ninterface ICoAuthLockedItemStyles {\r\n container: ViewStyle;\r\n containerHover: ViewStyle;\r\n secondaryText: TextStyle;\r\n body: ViewStyle;\r\n margin: ViewStyle;\r\n oveflowIcon: ImageStyle;\r\n fileIcon: ImageStyle;\r\n progressBarContainer: ViewStyle;\r\n colorBarNormal: ViewStyle;\r\n}\r\n\r\nexport const useProgressItemStyles: ThemedStylesHook = createThemedStylesHook<\r\n ITheme,\r\n ICoAuthLockedItemStyles\r\n>(themeManager, (theme: ITheme) => {\r\n return {\r\n container: {\r\n flexDirection: 'row',\r\n flex: 1,\r\n padding: 5,\r\n margin: 0,\r\n width: '100%',\r\n alignItems: 'center'\r\n },\r\n containerHover: {\r\n backgroundColor: theme.itemHistoryHoverBackground\r\n },\r\n secondaryText: {\r\n color: theme.subtitleColor,\r\n fontSize: 12\r\n },\r\n body: {\r\n display: 'flex',\r\n paddingHorizontal: 10,\r\n flex: 1\r\n },\r\n margin: {\r\n margin: 5\r\n },\r\n oveflowIcon: {\r\n width: 26,\r\n height: 26\r\n },\r\n fileIcon: {\r\n width: 48,\r\n height: 48\r\n },\r\n progressBarContainer: {\r\n width: '100%',\r\n marginVertical: 5\r\n },\r\n colorBarNormal: {\r\n backgroundColor: theme.progressBarColor\r\n }\r\n };\r\n});\r\n\r\ninterface ICoAuthLockedItemProps {\r\n item: ICoAuthLockedItem;\r\n}\r\n\r\nexport const CoAuthLockedItem = ({ item }: ICoAuthLockedItemProps): JSX.Element => {\r\n const commonStyles = useCommonStyles();\r\n const styles = useProgressItemStyles();\r\n const { t: translate } = useTranslation();\r\n\r\n const processingString = translate('activityListCoAuthLocked');\r\n\r\n return (\r\n <>\r\n {}}\r\n testID='coAuthLockedItem'\r\n accessibilityRole='button'\r\n accessibilityLabel={item.fileName}\r\n accessibilityHint={item.fileName}\r\n >\r\n {(isPressed, isHovering) => {\r\n let containerStyle = styles.container;\r\n if (isHovering) {\r\n containerStyle = { ...containerStyle, ...styles.containerHover };\r\n }\r\n\r\n return (\r\n \r\n \r\n {item.icon && }\r\n \r\n \r\n \r\n {item.fileName}\r\n \r\n \r\n \r\n \r\n \r\n {processingString}\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { View, ViewStyle, Animated, Easing } from 'react-native';\r\nimport { commonThemeManager, ICommonTheme } from '../themes/ICommonTheme';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../themes/themes';\r\n\r\ninterface IProgressBarProps {\r\n /**\r\n * Boolean to check if compact view is enabled\r\n */\r\n compactView?: boolean;\r\n /**\r\n * custom width for grey bar\r\n */\r\n greyBarWidth: number;\r\n fillWidth?: number;\r\n fillColor: ViewStyle;\r\n accessibilityLabel: string;\r\n accessible: boolean;\r\n indeterminate?: boolean;\r\n}\r\n\r\ninterface IProgressBarStyles {\r\n wholeBar: ViewStyle;\r\n greyBar: ViewStyle;\r\n colorBar: ViewStyle;\r\n colorBarNormal: ViewStyle;\r\n colorBarWarning: ViewStyle;\r\n colorBarError: ViewStyle;\r\n wholeBarCompact: ViewStyle;\r\n colorBarCompact: ViewStyle;\r\n progress: ViewStyle;\r\n}\r\n\r\nconst useProgressBarStyles: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n IProgressBarStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n return {\r\n wholeBar: {\r\n marginBottom: 8\r\n },\r\n greyBar: {\r\n height: 1,\r\n width: 200,\r\n borderRadius: 2,\r\n backgroundColor: theme.progressBar.progressTotalBar\r\n },\r\n colorBar: {\r\n height: 5,\r\n borderRadius: 2,\r\n position: 'relative',\r\n top: -3 // This overlaps the colored bar on top of the grey bar\r\n },\r\n //Same color for Nearing, Critical\r\n colorBarNormal: {\r\n backgroundColor: theme.progressBar.progressNormal\r\n },\r\n colorBarWarning: {\r\n backgroundColor: theme.progressBar.progressBarWarning\r\n },\r\n //Same Color for Full, Overlimit\r\n colorBarError: {\r\n backgroundColor: theme.progressBar.progressBarError\r\n },\r\n wholeBarCompact: {\r\n marginBottom: 0\r\n },\r\n colorBarCompact: {\r\n height: 3,\r\n top: -2\r\n },\r\n progress: {\r\n height: '100%',\r\n borderRadius: 3 // Rounded corners\r\n }\r\n };\r\n});\r\n\r\nexport const ProgressBar = React.memo((props: IProgressBarProps): JSX.Element => {\r\n const { fillWidth, fillColor, accessibilityLabel, accessible, compactView, greyBarWidth, indeterminate } =\r\n props;\r\n const styles = useProgressBarStyles();\r\n\r\n const wholeBarStyle: ViewStyle = compactView ? styles.wholeBarCompact : styles.wholeBar;\r\n const greyBarStyle: ViewStyle = compactView ? { width: greyBarWidth } : styles.greyBar;\r\n const colorBarStyle: ViewStyle = compactView ? styles.colorBarCompact : styles.colorBar;\r\n\r\n const progress = new Animated.Value(0);\r\n const indeterminateBarWidth = 70;\r\n const progressBarEnd = greyBarWidth - indeterminateBarWidth;\r\n\r\n const startAnimation = React.useCallback(() => {\r\n return Animated.timing(progress, {\r\n toValue: progressBarEnd,\r\n duration: 5000,\r\n useNativeDriver: true,\r\n easing: Easing.inOut(Easing.ease)\r\n });\r\n }, [progress]);\r\n\r\n React.useEffect(() => {\r\n const loopedAnimation = Animated.loop(startAnimation());\r\n loopedAnimation.start();\r\n }, [startAnimation]);\r\n\r\n return (\r\n \r\n \r\n {/* Progress Bar Background, greyBar */}\r\n \r\n {!indeterminate ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n});\r\n","import React, { useEffect, useState } from 'react';\r\nimport { ImageStyle, View, ViewStyle, Animated, Easing, TextStyle, AccessibilityInfo } from 'react-native';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../../settingsView/themes/ITheme';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { useCommonStyles } from '../../common/themes/ICommonTheme';\r\nimport { useAppSelector } from '../../hooks';\r\nimport {\r\n selectSyncStatus,\r\n selectVisualState,\r\n selectCoAuthLockedItems,\r\n selectIsOffline\r\n} from '../redux/activityCenterSelectors';\r\nimport { GlobalSyncStatus, SyncUIState } from '../types';\r\nimport { VisualStates } from '../../common/types';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport {\r\n IActivityCenterRestStateStringsExperiment,\r\n isACRestStateExperimentEnabled\r\n} from '../experimentation/ActivityCenterRestStateStringsExperiment';\r\nimport { applyExperience } from '../../common/experimentation/applyExperiments';\r\n\r\ninterface ISyncStatusStyles {\r\n componentContainer: ViewStyle;\r\n iconContainer: ViewStyle;\r\n iconStyle: ImageStyle;\r\n textStyling: TextStyle;\r\n}\r\nexport const useSyncStatusStyles: ThemedStylesHook = createThemedStylesHook<\r\n ITheme,\r\n ISyncStatusStyles\r\n>(themeManager, (theme: ITheme) => {\r\n return {\r\n componentContainer: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n marginHorizontal: 16,\r\n marginBottom: 8\r\n },\r\n iconContainer: {\r\n marginLeft: 4,\r\n marginRight: 8\r\n },\r\n iconStyle: {\r\n width: 12,\r\n height: 12\r\n },\r\n textStyling: {\r\n marginLeft: 4,\r\n fontSize: 12\r\n }\r\n };\r\n});\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\nconst getSyncStatusText = (\r\n globalSyncStatus: GlobalSyncStatus,\r\n translate: (id: string, placeholders?: { [key: string]: string }) => string\r\n): string => {\r\n if (!globalSyncStatus) {\r\n return '';\r\n }\r\n let statusText = '';\r\n let resourceId = 'activitySummarySyncingPrimarySingular';\r\n const syncState = globalSyncStatus?.SyncState;\r\n const fileCount = globalSyncStatus.ProgressFileCount ?? 0;\r\n const multipleFiles = fileCount > 1;\r\n\r\n if (globalSyncStatus.CompletedSize === 0) {\r\n if (syncState === SyncUIState.Uploading) {\r\n resourceId = 'activitySummaryPreparingUpload';\r\n } else if (syncState === SyncUIState.Downloading) {\r\n resourceId = 'activitySummaryPreparingDownload';\r\n } else if (syncState === SyncUIState.Transferring) {\r\n resourceId = 'activityListProgressReviewingChanges';\r\n }\r\n statusText = translate(resourceId);\r\n } else {\r\n if (syncState === SyncUIState.Uploading) {\r\n resourceId = multipleFiles ? 'activitySummaryUploadingV2' : 'activitySummaryUploadingSingularV2';\r\n } else if (syncState === SyncUIState.Downloading) {\r\n resourceId = multipleFiles ? 'activitySummaryDownloadingV2' : 'activitySummaryDownloadingSingularV2';\r\n } else if (syncState === SyncUIState.Transferring) {\r\n resourceId = multipleFiles\r\n ? 'activitySummarySyncingPrimaryV2'\r\n : 'activitySummarySyncingPrimarySingularV2';\r\n }\r\n\r\n const syncInfo = [\r\n globalSyncStatus.BytesTransferredSize,\r\n globalSyncStatus.BytesTransferredUnits,\r\n globalSyncStatus.BytesTotalSize,\r\n globalSyncStatus.BytesTotalUnits\r\n ];\r\n if (multipleFiles) {\r\n statusText = translate(resourceId, {\r\n 0: globalSyncStatus.ProgressFileCount.toString(),\r\n 1: syncInfo[0],\r\n 2: syncInfo[1],\r\n 3: syncInfo[2],\r\n 4: syncInfo[3]\r\n });\r\n } else {\r\n statusText = translate(resourceId, {\r\n 0: syncInfo[0],\r\n 1: syncInfo[1],\r\n 2: syncInfo[2],\r\n 3: syncInfo[3]\r\n });\r\n }\r\n }\r\n return statusText;\r\n};\r\n\r\ntype SyncStatusIconName = 'SyncStatusSynced' | 'SyncStatusSyncing' | 'SyncStatusOffline';\r\n\r\nconst getSyncStatusIconName = (\r\n visualState: VisualStates | undefined,\r\n syncStatus: GlobalSyncStatus\r\n): SyncStatusIconName => {\r\n if (visualState === VisualStates.Online) {\r\n if (\r\n syncStatus?.SyncState === SyncUIState.UpToDate ||\r\n syncStatus?.SyncState === SyncUIState.CoAuthLockedOnly\r\n ) {\r\n return 'SyncStatusSynced';\r\n } else {\r\n return 'SyncStatusSyncing';\r\n }\r\n }\r\n return 'SyncStatusOffline';\r\n};\r\n\r\nconst getRestStateExperimentSyncStatusIconName = (\r\n visualState: VisualStates | undefined,\r\n syncStatus: GlobalSyncStatus\r\n): SyncStatusIconName => {\r\n if (visualState === VisualStates.Online) {\r\n if (\r\n syncStatus?.SyncState === SyncUIState.UpToDate ||\r\n syncStatus?.SyncState === SyncUIState.CoAuthLockedOnly ||\r\n syncStatus?.SyncState === SyncUIState.MetadataSending ||\r\n syncStatus?.SyncState === SyncUIState.MetadataReceiving ||\r\n syncStatus?.SyncState === SyncUIState.Looking ||\r\n (syncStatus?.SyncState === SyncUIState.Processing &&\r\n syncStatus?.ProcessingFileCount === 0 &&\r\n syncStatus?.ProgressFileCount === 0)\r\n ) {\r\n return 'SyncStatusSynced';\r\n } else {\r\n return 'SyncStatusSyncing';\r\n }\r\n }\r\n return 'SyncStatusOffline';\r\n};\r\n\r\nconst BRAND_NAME = 'OneDrive';\r\n\r\nexport const SyncStatus: () => JSX.Element = () => {\r\n const styles = useSyncStatusStyles();\r\n const commonStyles = useCommonStyles();\r\n\r\n const syncStatus = useAppSelector(selectSyncStatus);\r\n const visualState = useAppSelector(selectVisualState)?.VisualState;\r\n const visualStateText = useAppSelector(selectVisualState)?.VisualStateText;\r\n const coAuthLockedItems = useAppSelector(selectCoAuthLockedItems);\r\n const classEnabled = !!visualStateText && visualStateText.trim() !== '';\r\n const { t: translate } = useTranslation();\r\n let statusText = translate('flyoutSyncStatusUpToDate');\r\n const fileCount = syncStatus?.ProgressFileCount ?? 0;\r\n let syncState = syncStatus?.SyncState;\r\n // processingFileCount is passed down as number from the cpp, where it can contains decimal values\r\n // we want to avoid user to see decimal values like 3.000000, which Math.floor can remove decimal values and just show 3\r\n const processingFileCount = Math.floor(\r\n syncStatus && syncStatus.ProcessingFileCount ? syncStatus.ProcessingFileCount : 0\r\n );\r\n const isConnected = visualState === VisualStates.Online || visualState === VisualStates.Error;\r\n const isOffline = useAppSelector(selectIsOffline);\r\n\r\n const icon = getSyncStatusIconName(visualState, syncStatus);\r\n const experimentIcon = getRestStateExperimentSyncStatusIconName(visualState, syncStatus);\r\n\r\n const rotateValue = useState(new Animated.Value(0))[0];\r\n\r\n const rotation = rotateValue.interpolate({\r\n inputRange: [0, 1],\r\n outputRange: ['0deg', '360deg']\r\n });\r\n\r\n const rotationStyle = {\r\n transform: [{ rotate: rotation }]\r\n };\r\n\r\n const handleRotation: () => void = () => {\r\n rotateValue.setValue(0);\r\n Animated.loop(\r\n Animated.timing(rotateValue, {\r\n toValue: 1,\r\n duration: 1500,\r\n easing: Easing.linear,\r\n useNativeDriver: true\r\n })\r\n ).start();\r\n };\r\n\r\n if (\r\n syncState === SyncUIState.Downloading ||\r\n syncState === SyncUIState.Uploading ||\r\n syncState === SyncUIState.Transferring\r\n ) {\r\n if (fileCount === 0) {\r\n syncState = SyncUIState.Processing;\r\n }\r\n }\r\n\r\n // If there are CoAuth locked files displayed on the activity center\r\n // and if the status is CoAuthLockedOnly\r\n // display 'Close files to finish syncing' as the status text\r\n const checkForCoAuthLockedFiles = (): void => {\r\n if (coAuthLockedItems && coAuthLockedItems.length > 0) {\r\n if (coAuthLockedItems.length === 1) {\r\n statusText = translate('activityCenterCoAuthLockedFile');\r\n } else {\r\n statusText = translate('activityCenterCoAuthLockedFiles');\r\n }\r\n }\r\n };\r\n\r\n const getRestStateExperimentStatusTextId = (syncState: SyncUIState | undefined): string => {\r\n let status = translate('flyoutSyncStatusUpToDateV2');\r\n switch (syncState) {\r\n case SyncUIState.Downloading:\r\n case SyncUIState.Uploading:\r\n case SyncUIState.Transferring:\r\n if (processingFileCount !== 0 || syncStatus?.ProgressFileCount !== 0) {\r\n status = getSyncStatusText(syncStatus, translate);\r\n }\r\n break;\r\n case SyncUIState.CrossScopeMoving:\r\n status = translate('activitySummaryCrossScopeMoving');\r\n break;\r\n case SyncUIState.Processing:\r\n if (processingFileCount === 0 && syncStatus?.ProgressFileCount === 0) {\r\n break;\r\n } else if (processingFileCount === 1) {\r\n status = translate('flyoutProcessingCountSingular');\r\n } else {\r\n status = translate('flyoutProcessingCountPrimaryV2', {\r\n 0: processingFileCount.toString()\r\n });\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n return status;\r\n };\r\n\r\n switch (syncState) {\r\n case SyncUIState.Downloading:\r\n case SyncUIState.Uploading:\r\n case SyncUIState.Transferring:\r\n statusText = getSyncStatusText(syncStatus, translate);\r\n break;\r\n case SyncUIState.CrossScopeMoving:\r\n statusText = translate('activitySummaryCrossScopeMoving');\r\n break;\r\n case SyncUIState.MetadataSending:\r\n statusText = translate('activitySummaryMetadataSending');\r\n break;\r\n case SyncUIState.MetadataReceiving:\r\n statusText = translate('activitySummaryMetadataReceiving');\r\n break;\r\n case SyncUIState.Processing:\r\n if (processingFileCount === 0) {\r\n statusText = translate('flyoutProcessingPrimary');\r\n } else if (processingFileCount === 1) {\r\n statusText = translate('flyoutProcessingCountSingular');\r\n } else {\r\n statusText = translate('flyoutProcessingCountPrimaryV2', {\r\n 0: processingFileCount.toString()\r\n });\r\n }\r\n checkForCoAuthLockedFiles();\r\n break;\r\n case SyncUIState.Looking:\r\n if (isConnected) {\r\n statusText = translate('flyoutLookingPrimary');\r\n }\r\n break;\r\n case SyncUIState.CoAuthLockedOnly:\r\n checkForCoAuthLockedFiles();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n useEffect(() => {\r\n AccessibilityInfo.announceForAccessibility(statusText);\r\n }, [statusText]);\r\n\r\n const offlineText = translate('activityHeaderOnedriveNotConnected', {\r\n 1: BRAND_NAME\r\n });\r\n\r\n const standardStringsExperience: IActivityCenterRestStateStringsExperiment = {\r\n ecsRampID: undefined,\r\n statusText: isOffline ? offlineText : statusText,\r\n icon: icon,\r\n isEnabled: () => true\r\n };\r\n\r\n const experimentStringsExperience: IActivityCenterRestStateStringsExperiment = {\r\n ecsRampID: 3624,\r\n statusText: getRestStateExperimentStatusTextId(syncState),\r\n icon: experimentIcon,\r\n isEnabled: isACRestStateExperimentEnabled\r\n };\r\n\r\n const registeredExperiences = [standardStringsExperience, experimentStringsExperience];\r\n const experience = applyExperience<\r\n IActivityCenterRestStateStringsExperiment,\r\n IActivityCenterRestStateStringsExperiment\r\n >(registeredExperiences);\r\n\r\n // Final icon selection: use VisualState to determine syncing vs synced icon\r\n let displayIcon: SyncStatusIconName = experience.icon as SyncStatusIconName;\r\n if (classEnabled) {\r\n if (visualState === VisualStates.Syncing) {\r\n displayIcon = 'SyncStatusSyncing';\r\n } else {\r\n displayIcon = 'SyncStatusSynced';\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n if (displayIcon === 'SyncStatusSyncing') {\r\n handleRotation();\r\n } else {\r\n rotateValue.stopAnimation();\r\n rotateValue.setValue(0);\r\n }\r\n }, [displayIcon]);\r\n\r\n return (\r\n \r\n \r\n {/* \r\n When useNativeDriver:false, the animation is smooth \r\n and the icon resets to its original state without manually checking here. But jest tests fail due to infinite loop.\r\n \r\n When useNativeDriver:true, the icon does not reset to its original state. But jest tests pass.\r\n Hence, we are using useNativeDriver:true and manually resetting the icon to its original state.\r\n */}\r\n\r\n {displayIcon !== 'SyncStatusSyncing' ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {classEnabled ? visualStateText : experience.statusText}\r\n \r\n \r\n );\r\n};\r\n","import {\r\n useECSRampEnabled,\r\n useKillSwitchSafe,\r\n useRampEnabled\r\n} from '../../common/redux/updateRingSettingsHooks';\r\n\r\nexport interface IActivityCenterRestStateStringsExperiment {\r\n ecsRampID: number | undefined;\r\n statusText: string;\r\n icon: string;\r\n isEnabled: () => boolean;\r\n}\r\n\r\nexport const isACRestStateExperimentEnabled = (): boolean => {\r\n const isRampEnabled = useRampEnabled(2744) ?? false;\r\n const isECSRampEnabled = useECSRampEnabled(3624) ?? false;\r\n const isSafe = useKillSwitchSafe(3624) ?? true;\r\n return (isRampEnabled || isECSRampEnabled) && isSafe;\r\n};\r\n","import { IExitDialogExperienceProps } from './exitDialogExperience';\r\nimport { dataModel } from '../redux/commonSlice';\r\nimport { useEffect } from 'react';\r\n\r\n// To use applyExperience you must define an Interface for your experience.\r\n// Your interface can contain any number of props, but must contain the following:\r\n//\r\n// ecsRampID: number;\r\n// isEnabled: () => boolean;\r\n\r\n// Here is an example interface for the ExitDialog\r\n//\r\n// export interface IExitDialogExperienceProps {\r\n// ecsRampID: number;\r\n// title?: string;\r\n// description?: string;\r\n// content?: JSX.Element;\r\n// leftButton?: JSX.Element;\r\n// rightButton?: JSX.Element;\r\n// isEnabled: () => boolean;\r\n// }\r\n\r\n// Then add your Interface to the Experience type below.\r\n//\r\n// Example: type Experience = IExitDialogExperienceProps | IMyNewExperienceProps;\r\n\r\n// To use applyExperience, call applyExperiences with a list of registered experiences and define the type.\r\n//\r\n// Example:\r\n// const registeredExperiences = [StandardExperience, ExitSurveyExperience];\r\n// const experience = applyExperience(registeredExperiences);\r\ntype Experience = IExitDialogExperienceProps;\r\n\r\nconst useRecordECSTelemetry = (ecsRampID: number | undefined): void => {\r\n useEffect(() => {\r\n if (ecsRampID) {\r\n dataModel.recordECSExperimentTelemetry(ecsRampID);\r\n }\r\n }, []);\r\n};\r\n\r\nexport const applyExperience = (experiences: T[]): R => {\r\n let result: R = experiences[0] as R;\r\n\r\n experiences.forEach((experience) => {\r\n if (experience.isEnabled()) {\r\n result = { ...result, ...(experience as R) };\r\n }\r\n useRecordECSTelemetry(experience.ecsRampID);\r\n });\r\n return result;\r\n};\r\n","import React, { useCallback, useState } from 'react';\r\nimport {\r\n View,\r\n TextInput,\r\n ViewStyle,\r\n TextStyle,\r\n Pressable,\r\n ImageStyle,\r\n NativeSyntheticEvent,\r\n TextInputKeyPressEventData\r\n} from 'react-native';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { createThemedStylesHook, ThemedStylesHook, useCurrentThemeName } from '../../common/themes/themes';\r\nimport { ThemeName } from '../../common/themes/themeUtils';\r\nimport useHighContrastAppTheme from '../../common/themes/HighContrastAppThemeHook';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport { CommonTextInput } from '../../common/components/CommonTextInput';\r\n\r\nconst DEBOUNCE_MS = 300;\r\n\r\ninterface ISearchInputStyles {\r\n container: ViewStyle;\r\n containerFocused: ViewStyle;\r\n icon: ViewStyle;\r\n input: TextStyle;\r\n clearButton: ViewStyle;\r\n clearIcon: ImageStyle;\r\n}\r\n\r\nexport const useSearchInputStyles: ThemedStylesHook = createThemedStylesHook<\r\n ITheme,\r\n ISearchInputStyles\r\n>(themeManager, (theme: ITheme) => {\r\n return {\r\n // Win11-style search field: flat (no visible border) tinted surface with a\r\n // 4px radius. We keep the bottom border-equivalent via a 1px transparent\r\n // border that turns into the focus outline so high-contrast & keyboard\r\n // focus indication still work cleanly across platforms.\r\n container: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n backgroundColor: theme.searchInputBackground,\r\n borderRadius: 4,\r\n borderWidth: 1,\r\n borderColor: 'transparent',\r\n paddingHorizontal: 10,\r\n height: 32,\r\n marginHorizontal: 12,\r\n marginVertical: 8\r\n },\r\n containerFocused: {\r\n borderColor: theme.searchInputBorder\r\n },\r\n icon: {\r\n marginRight: 8,\r\n opacity: 0.6,\r\n width: 16,\r\n height: 16\r\n },\r\n input: {\r\n flex: 1,\r\n fontSize: 14,\r\n color: theme.searchTextColor,\r\n margin: 0,\r\n borderWidth: 0,\r\n borderColor: 'transparent',\r\n borderRadius: 0,\r\n backgroundColor: 'transparent',\r\n paddingVertical: 0,\r\n paddingHorizontal: 0,\r\n height: 18\r\n },\r\n clearButton: {\r\n width: 20,\r\n height: 20,\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginLeft: 4\r\n },\r\n clearIcon: {\r\n width: 10,\r\n height: 10,\r\n opacity: 0.6\r\n }\r\n };\r\n});\r\n\r\n// Placeholder color must be returned as a plain string (not part of a StyleSheet)\r\n// because TextInput's `placeholderTextColor` prop accepts ColorValue, not a style.\r\nconst useSearchPlaceholderColor = (): string => {\r\n const themeName = useCurrentThemeName();\r\n const highContrastColors = useHighContrastAppTheme();\r\n\r\n return React.useMemo(() => {\r\n let currentTheme: ITheme;\r\n if (\r\n highContrastColors &&\r\n (themeName === ThemeName.HighContrastDark || themeName === ThemeName.HighContrastLight)\r\n ) {\r\n currentTheme = themeManager.createHighContrastTheme(highContrastColors, themeName);\r\n } else if (themeName === ThemeName.Dark) {\r\n currentTheme = themeManager.darkTheme;\r\n } else {\r\n currentTheme = themeManager.lightTheme;\r\n }\r\n return currentTheme.searchPlaceholderColor;\r\n }, [themeName, highContrastColors]);\r\n};\r\n\r\nexport interface ISearchInputProps {\r\n value: string;\r\n onChangeText: (text: string) => void;\r\n onSearchSubmit: (text: string) => void;\r\n onClear: () => void;\r\n /**\r\n * Leaves search mode entirely and returns the Activity Center to its default\r\n * view. Distinct from `onClear`, which only empties the query but keeps the\r\n * user in search mode.\r\n */\r\n onExitSearch: () => void;\r\n onFocus?: () => void;\r\n placeholder?: string;\r\n}\r\n\r\nconst SearchInputComponent: React.FC = ({\r\n value,\r\n onChangeText,\r\n onSearchSubmit,\r\n onClear,\r\n onExitSearch,\r\n onFocus,\r\n placeholder\r\n}) => {\r\n const { t: translate } = useTranslation();\r\n const styles = useSearchInputStyles();\r\n const placeholderColor = useSearchPlaceholderColor();\r\n const [localValue, setLocalValue] = useState(value);\r\n const [isFocused, setIsFocused] = useState(false);\r\n const debounceTimerRef = React.useRef(null);\r\n const isMountedRef = React.useRef(true);\r\n const inputRef = React.useRef(null);\r\n // Tracks the most recent value we emitted upward (via onChangeText). If\r\n // the incoming `value` prop ever differs from this, it means the parent\r\n // (or some other source — e.g. clicking a recent-search row) changed the\r\n // query out-of-band and we must mirror it into our local TextInput state.\r\n const lastEmittedRef = React.useRef(value);\r\n\r\n // Handle text change with debounce for search, immediate for query state\r\n const handleTextChange = useCallback(\r\n (text: string) => {\r\n // Strip newlines to enforce single-line behavior with multiline TextInput\r\n const sanitized = text.replace(/[\\n\\r]/g, '');\r\n setLocalValue(sanitized);\r\n lastEmittedRef.current = sanitized;\r\n onChangeText(sanitized);\r\n\r\n // Clear existing debounce timer\r\n if (debounceTimerRef.current) {\r\n clearTimeout(debounceTimerRef.current);\r\n }\r\n\r\n // If text is cleared (e.g., via native clear button), call onClear immediately\r\n if (sanitized === '') {\r\n onClear();\r\n return;\r\n }\r\n\r\n // Only fire the search after the user stops typing\r\n debounceTimerRef.current = setTimeout(() => {\r\n if (isMountedRef.current && sanitized.trim().length > 0) {\r\n onSearchSubmit(sanitized);\r\n }\r\n }, DEBOUNCE_MS);\r\n },\r\n [onChangeText, onSearchSubmit, onClear]\r\n );\r\n\r\n const handleClear = useCallback(() => {\r\n setLocalValue('');\r\n lastEmittedRef.current = '';\r\n onChangeText('');\r\n onClear();\r\n }, [onChangeText, onClear]);\r\n\r\n // Trailing-button / Escape behavior is progressive so there is always an\r\n // explicit way out of search mode: with a query typed it clears the query\r\n // and keeps focus in the box; with the box already empty it leaves search\r\n // mode and returns the AC to its default view.\r\n const handleDismiss = useCallback(() => {\r\n if (localValue.length > 0) {\r\n handleClear();\r\n return;\r\n }\r\n onExitSearch();\r\n }, [localValue, handleClear, onExitSearch]);\r\n\r\n // Sync local value when the prop changes from a source other than our own\r\n // typing. This covers external clears (value -> '') AND external sets\r\n // (e.g. clicking a recent-search row dispatches setSearchQuery('foo')).\r\n React.useEffect(() => {\r\n if (value !== lastEmittedRef.current) {\r\n lastEmittedRef.current = value;\r\n setLocalValue(value);\r\n }\r\n }, [value]);\r\n\r\n // Cleanup debounce timer on unmount, and blur the input first to drain any\r\n // pending focus request before the underlying XAML element is destroyed.\r\n React.useEffect(() => {\r\n return () => {\r\n isMountedRef.current = false;\r\n inputRef.current?.blur();\r\n if (debounceTimerRef.current) {\r\n clearTimeout(debounceTimerRef.current);\r\n }\r\n };\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n {\r\n setIsFocused(true);\r\n onFocus?.();\r\n }}\r\n onBlur={() => setIsFocused(false)}\r\n textInputProps={{\r\n value: localValue,\r\n onChangeText: handleTextChange,\r\n placeholderTextColor: placeholderColor,\r\n autoCapitalize: 'none',\r\n autoCorrect: false,\r\n multiline: true,\r\n numberOfLines: 1,\r\n blurOnSubmit: true,\r\n scrollEnabled: false,\r\n maxLength: 100,\r\n onKeyPress: (e: NativeSyntheticEvent) => {\r\n if (e.nativeEvent.key === 'Escape') {\r\n e.preventDefault?.();\r\n handleDismiss();\r\n }\r\n }\r\n }}\r\n />\r\n 0 ? translate('clearSearch') : translate('closeSearch')}\r\n testID='searchClearButton'\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n// Custom comparison for React.memo. We re-render whenever any prop changes,\r\n// including `value`, so that external dispatches (e.g. clicking a recent\r\n// search row, programmatic clears) propagate into the TextInput. The\r\n// in-component sync useEffect uses `lastEmittedRef` to ignore prop echoes\r\n// of our own typing, so re-rendering on `value` change is essentially a\r\n// no-op while the user types and is required for external sync.\r\nconst arePropsEqual = (prevProps: ISearchInputProps, nextProps: ISearchInputProps): boolean => {\r\n return (\r\n prevProps.value === nextProps.value &&\r\n prevProps.onChangeText === nextProps.onChangeText &&\r\n prevProps.onSearchSubmit === nextProps.onSearchSubmit &&\r\n prevProps.onClear === nextProps.onClear &&\r\n prevProps.onExitSearch === nextProps.onExitSearch &&\r\n prevProps.placeholder === nextProps.placeholder\r\n );\r\n};\r\n\r\n// Memoize with custom comparison to prevent re-renders during typing\r\nexport const SearchInput = React.memo(SearchInputComponent, arePropsEqual);\r\n","import * as React from 'react';\r\nimport { TextInput, ViewStyle, KeyboardTypeOptions, TextInputProps } from 'react-native';\r\nimport { ICommonTheme, commonThemeManager } from '../../common/themes/ICommonTheme';\r\nimport { createThemedStylesHook, ThemedStylesHook, useCurrentThemeName } from '../themes/themes';\r\nimport { ThemeName } from '../themes/themeUtils';\r\nimport useHighContrastAppTheme from '../themes/HighContrastAppThemeHook';\r\nimport { CommonText } from './CommonText';\r\nimport { AppKeyContext, IBvtSetTextRequest } from '../types';\r\nimport { useAppSelector } from '../../hooks';\r\nimport { selectBvtSetTextRequest } from '../redux/selectors';\r\nimport { isMacOS, MAC_SHAPE } from '../themes/macTokens';\r\n\r\ninterface ICommonTextInputStyles {\r\n textInputStyle: ViewStyle;\r\n textInputDisabled: ViewStyle;\r\n textInputColors: ViewStyle;\r\n textInputDisabledColors: ViewStyle;\r\n textInputFocusedColors: ViewStyle;\r\n}\r\n\r\nconst useCommonTextInputStyles: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n ICommonTextInputStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n // On Mac, only refine the corner radius. Do NOT change borderWidth /\r\n // minHeight / padding — the FRE WelcomeFlyoutOverlay hardcodes\r\n // `bottom: 143` based on the email input's rendered height, and any\r\n // tweak that shifts that height misaligns the dropdown vs the input.\r\n const macInput: ViewStyle = isMacOS\r\n ? {\r\n borderRadius: MAC_SHAPE.textInputRadius\r\n }\r\n : {};\r\n return {\r\n textInputStyle: {\r\n marginLeft: 10,\r\n marginRight: 10,\r\n borderRadius: 4,\r\n ...macInput\r\n },\r\n textInputColors: {\r\n borderColor: theme.textInput.textInputBorderColor,\r\n backgroundColor: theme.textInput.textInputBackgroundColor,\r\n color: theme.textInput.textInputTextColor\r\n },\r\n textInputDisabled: {\r\n marginLeft: 10,\r\n borderColor: theme.textInput.textInputBorderColor,\r\n marginRight: 10,\r\n ...macInput\r\n },\r\n textInputDisabledColors: {\r\n backgroundColor: theme.textInput.textInputDisabledBackgroundColor,\r\n color: theme.textInput.textInputDisabledTextColor\r\n },\r\n textInputFocusedColors: {\r\n borderColor: theme.textInput.textInputBorderFocusedColor,\r\n backgroundColor: theme.textInput.textInputFocusBackgroundColor,\r\n color: theme.textInput.textInputTextColor\r\n }\r\n };\r\n});\r\n\r\nconst useCommonTextInputPlaceholderColors = (): { normal: string; disabled: string; focused: string } => {\r\n const themeName = useCurrentThemeName();\r\n const highContrastColors = useHighContrastAppTheme();\r\n\r\n return React.useMemo(() => {\r\n let currentTheme: ICommonTheme;\r\n\r\n if (\r\n highContrastColors &&\r\n (themeName === ThemeName.HighContrastDark || themeName === ThemeName.HighContrastLight)\r\n ) {\r\n currentTheme = commonThemeManager.createHighContrastTheme(highContrastColors, themeName);\r\n } else if (themeName === ThemeName.Dark) {\r\n currentTheme = commonThemeManager.darkTheme;\r\n } else {\r\n currentTheme = commonThemeManager.lightTheme;\r\n }\r\n\r\n return {\r\n normal: currentTheme.textInput.textInputPlaceholderTextColor,\r\n disabled: currentTheme.textInput.textInputDisabledTextColor,\r\n focused: currentTheme.textInput.textInputPlaceholderFocusedTextColor\r\n };\r\n }, [themeName, highContrastColors]);\r\n};\r\n\r\nexport enum Location {\r\n Before,\r\n After\r\n}\r\n\r\ninterface ICommonTextInputProps {\r\n /**\r\n * Accessibility hint for the TextInput. Defaults to the empty string. (Optional)\r\n */\r\n accessibilityHint?: string;\r\n /**\r\n * Accessibility label for the TextInput. Defaults to the empty string. (Optional)\r\n */\r\n accessibilityLabel?: string;\r\n /**\r\n * Whether the component should be disabled. Defaults to enabled. (Optional)\r\n */\r\n disabled?: boolean;\r\n /**\r\n * Event handler for when text input changes end. Commonly used to validate contents. By default\r\n * this is a no-op. (Optional)\r\n */\r\n onEndEditing?: (value: string, setValue: React.Dispatch>) => void;\r\n /**\r\n * Event handler for when the text input's text changes. By default this calls\r\n * setValue(newValue). (Optional)\r\n */\r\n onChangeText?: (newValue: string, setValue: React.Dispatch>) => void;\r\n /**\r\n * The text that should appear in the label (Optional)\r\n */\r\n labelText?: string;\r\n /**\r\n * Indicates whether the label for the text input should be before or after the input box. (Optional)\r\n */\r\n labelLocation?: Location;\r\n /**\r\n * Initial value of the TextInput. Defaults to the empty string. (Optional)\r\n */\r\n initialValue?: string;\r\n /**\r\n * Custom TextInput styling (Optional)\r\n */\r\n customStyles?: ViewStyle;\r\n /**\r\n * Test ID for TextInput\r\n */\r\n testID?: string;\r\n /**\r\n * Whether the text input should be multiline. Defaults to false. (Optional)\r\n */\r\n multiline?: boolean;\r\n /**\r\n * Optional callback to be called when the text input is submitted. (Optional)\r\n */\r\n onSubmitEditing?: () => void;\r\n /**\r\n * Keyboard type for software keyboard. Defaults to 'default'. (Optional)\r\n */\r\n autoFocus?: boolean;\r\n /**\r\n * Whether or not the text input is focusable.\r\n * Defaults to true. (Optional)\r\n */\r\n focusable?: boolean;\r\n /**\r\n * Flag to indicate if input should be focused on mount. (Optional)\r\n */\r\n keyboardType?: KeyboardTypeOptions;\r\n /**\r\n * Placeholder text to show on the input field when it is empty (Optional)\r\n */\r\n placeholder?: string;\r\n /**\r\n * When this changes, sets the text input value to this. The user can then freely modify it. (Optional)\r\n */\r\n autoSuggestValue?: string;\r\n /**\r\n * Ref for accessing the inner text input component\r\n */\r\n innerRef?: React.Ref;\r\n onFocus?: () => void;\r\n onBlur?: () => void;\r\n /**\r\n * Used for passing any/all additional TextInputProps to the underlying TextInput component.\r\n */\r\n textInputProps?: TextInputProps;\r\n}\r\n\r\nexport const CommonTextInput = (props: ICommonTextInputProps): JSX.Element => {\r\n const {\r\n accessibilityHint,\r\n accessibilityLabel,\r\n testID,\r\n multiline = false,\r\n autoFocus,\r\n focusable = true,\r\n customStyles,\r\n disabled,\r\n initialValue,\r\n keyboardType = 'default',\r\n labelLocation,\r\n labelText,\r\n placeholder,\r\n autoSuggestValue,\r\n innerRef,\r\n onEndEditing,\r\n onChangeText,\r\n onSubmitEditing,\r\n onFocus,\r\n onBlur\r\n } = props;\r\n const styles = useCommonTextInputStyles();\r\n const placeholderColors = useCommonTextInputPlaceholderColors();\r\n const [isFocused, setIsFocused] = React.useState(false);\r\n const [value, setValue] = React.useState(initialValue || '');\r\n\r\n // Only set this once, let the user change it if they wish\r\n React.useEffect(() => {\r\n if (autoSuggestValue) {\r\n setValue(autoSuggestValue);\r\n }\r\n }, [autoSuggestValue]);\r\n\r\n let baseInputStyle = styles.textInputStyle;\r\n let colorStyle = styles.textInputColors;\r\n if (disabled) {\r\n baseInputStyle = styles.textInputDisabled;\r\n colorStyle = styles.textInputDisabledColors;\r\n } else if (isFocused) {\r\n colorStyle = styles.textInputFocusedColors;\r\n }\r\n\r\n /**\r\n * Use a ref to keep track of the current text value so that we can call the provided onEndEditing callback with the\r\n * most up-to-date value when the component is unmounted (due to the window being closed, for example).\r\n */\r\n const valRef = React.useRef(undefined);\r\n React.useEffect(() => {\r\n valRef.current = value;\r\n }, [value]);\r\n\r\n /**\r\n * Set up a cleanup effect with no dependencies so it only fires once in place of componentWillUnmount.\r\n * The cleanup can read the most up-to-date text box value from the ref set up above, without taking a dependency.\r\n */\r\n React.useEffect(() => {\r\n return () => {\r\n if (onEndEditing) {\r\n onEndEditing(valRef.current || '', setValue);\r\n }\r\n };\r\n }, []);\r\n\r\n const handleEndEditing = (): void => {\r\n if (onEndEditing) {\r\n onEndEditing(value, setValue);\r\n }\r\n };\r\n\r\n const handleTextChange = (newValue: string): void => {\r\n if (onChangeText) {\r\n onChangeText(newValue, setValue);\r\n } else {\r\n setValue(newValue);\r\n }\r\n };\r\n\r\n // BVT-only: a test can call the `InvokeReactNativeSetText` route helper to\r\n // set the value of any CommonTextInput by viewName + testID. The route fires\r\n // the `bvtSetText` RN message, which CommonMessageHandler dispatches into the\r\n // common redux state. Each new dispatch produces a fresh request object, so\r\n // useEffect re-fires even when the requested text is unchanged. The dispatch\r\n // itself is guarded by `isBVTRunning` in CommonMessageHandler, so\r\n // in production builds bvtSetTextRequest is always undefined and this effect\r\n // never runs.\r\n const appKey = React.useContext(AppKeyContext);\r\n const bvtSetTextRequest = useAppSelector(selectBvtSetTextRequest) as IBvtSetTextRequest | undefined;\r\n React.useEffect(() => {\r\n if (bvtSetTextRequest && bvtSetTextRequest.viewName === appKey && bvtSetTextRequest.testId === testID) {\r\n handleTextChange(bvtSetTextRequest.text);\r\n }\r\n // handleTextChange is a fresh closure each render but is invoked synchronously;\r\n // we intentionally do not include it in deps to avoid double-firing.\r\n }, [appKey, bvtSetTextRequest, testID]);\r\n\r\n const handleSubmitEditing = (): void => {\r\n if (onSubmitEditing) {\r\n onSubmitEditing();\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {labelLocation === Location.Before ? {labelText} : null}\r\n {\r\n setIsFocused(true);\r\n if (onFocus !== undefined) {\r\n onFocus();\r\n }\r\n }}\r\n onBlur={() => {\r\n setIsFocused(false);\r\n if (onBlur !== undefined) {\r\n onBlur();\r\n }\r\n }}\r\n keyboardType={keyboardType}\r\n onEndEditing={handleEndEditing}\r\n onChangeText={handleTextChange}\r\n onSubmitEditing={handleSubmitEditing}\r\n autoFocus={autoFocus}\r\n value={value}\r\n editable={!disabled}\r\n placeholder={placeholder}\r\n placeholderTextColor={\r\n disabled\r\n ? placeholderColors.disabled\r\n : isFocused\r\n ? placeholderColors.focused\r\n : placeholderColors.normal\r\n }\r\n focusable={!disabled && focusable}\r\n accessible={true}\r\n accessibilityState={{ disabled: disabled }}\r\n accessibilityHint={accessibilityHint}\r\n accessibilityLabel={accessibilityLabel}\r\n testID={testID || ''}\r\n multiline={multiline}\r\n ref={innerRef}\r\n {...props.textInputProps}\r\n />\r\n {labelLocation === Location.After ? {labelText} : null}\r\n \r\n );\r\n};\r\n","import React, { useCallback } from 'react';\r\nimport { View, ViewStyle, TextStyle } from 'react-native';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CommonPressable } from '../../common/components/CommonPressable';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { SearchFilterType } from '../types';\r\n\r\ninterface ISearchFilterTabsStyles {\r\n container: ViewStyle;\r\n tabsWrapper: ViewStyle;\r\n tab: ViewStyle;\r\n tabSelected: ViewStyle;\r\n tabContent: ViewStyle;\r\n tabIcon: ViewStyle;\r\n tabText: TextStyle;\r\n tabTextSelected: TextStyle;\r\n}\r\n\r\nexport const useSearchFilterTabsStyles: ThemedStylesHook = createThemedStylesHook<\r\n ITheme,\r\n ISearchFilterTabsStyles\r\n>(themeManager, (theme: ITheme) => {\r\n return {\r\n container: {\r\n paddingHorizontal: 12,\r\n paddingBottom: 8\r\n },\r\n tabsWrapper: {\r\n flexDirection: 'row',\r\n gap: 8\r\n },\r\n tab: {\r\n flex: 1,\r\n paddingHorizontal: 12,\r\n paddingVertical: 6,\r\n borderRadius: 16,\r\n backgroundColor: theme.filterTabBackground\r\n },\r\n tabSelected: {\r\n backgroundColor: theme.filterTabSelectedBackground\r\n },\r\n tabContent: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'center'\r\n },\r\n tabIcon: {\r\n width: 16,\r\n height: 16\r\n },\r\n tabText: {\r\n fontSize: 13,\r\n color: theme.filterTabText\r\n },\r\n tabTextSelected: {\r\n color: theme.filterTabSelectedText\r\n }\r\n };\r\n});\r\n\r\nexport interface ISearchFilterTabsProps {\r\n selectedFilter: SearchFilterType;\r\n availableFilters: SearchFilterType[];\r\n onFilterChange: (filter: SearchFilterType) => void;\r\n}\r\n\r\ninterface IFilterTab {\r\n key: SearchFilterType;\r\n labelKey: string;\r\n /**\r\n * Icon registered in IconsList. Omitted for \"All\" since there's no single-product icon\r\n * that represents every result type.\r\n */\r\n iconName?: string;\r\n}\r\n\r\n// Pill icons. The product (M365) glyphs come from the existing word/excel/powerpoint\r\n// SVG assets; \"Photos\" uses the generic photo glyph (a media-style icon, not a per-file\r\n// thumbnail). \"All\" intentionally has no icon.\r\nconst FILTER_TABS: IFilterTab[] = [\r\n { key: 'all', labelKey: 'searchFilterAll' },\r\n { key: 'documents', labelKey: 'searchFilterDocuments', iconName: 'word' },\r\n { key: 'photos', labelKey: 'searchFilterPhotos', iconName: 'photoIcon20x20' },\r\n { key: 'presentations', labelKey: 'searchFilterPresentations', iconName: 'powerpoint' },\r\n { key: 'spreadsheets', labelKey: 'searchFilterSpreadsheets', iconName: 'excel' }\r\n];\r\n\r\nconst TAB_ICON_SIZE = 16;\r\n\r\nconst SearchFilterTabsComponent: React.FC = ({\r\n selectedFilter,\r\n availableFilters,\r\n onFilterChange\r\n}) => {\r\n const { t: translate } = useTranslation();\r\n const styles = useSearchFilterTabsStyles();\r\n\r\n const handleFilterPress = useCallback(\r\n (filter: SearchFilterType) => {\r\n onFilterChange(filter);\r\n },\r\n [onFilterChange]\r\n );\r\n\r\n const visibleTabs = FILTER_TABS.filter((tab) => availableFilters.includes(tab.key));\r\n\r\n // Don't render if only \"All\" is available — no filtering needed\r\n if (visibleTabs.length <= 1) {\r\n return null;\r\n }\r\n\r\n return (\r\n \r\n \r\n {visibleTabs.map((tab) => {\r\n const isSelected = selectedFilter === tab.key;\r\n // CommonPressable takes a single ViewStyle for customStyle (not an\r\n // array), so flatten the conditional selected style here.\r\n const tabStyle: ViewStyle = isSelected ? { ...styles.tab, ...styles.tabSelected } : styles.tab;\r\n return (\r\n handleFilterPress(tab.key)}\r\n accessibilityRole='tab'\r\n accessibilityState={{ selected: isSelected }}\r\n accessibilityLabel={translate(tab.labelKey)}\r\n testID={`searchFilterTab_${tab.key}`}\r\n >\r\n {() => (\r\n \r\n {tab.iconName ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n {translate(tab.labelKey)}\r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nexport const SearchFilterTabs = React.memo(SearchFilterTabsComponent);\r\n","import React from 'react';\r\nimport { ImageStyle, TextStyle, View, ViewStyle, Image } from 'react-native';\r\nimport { ErrorActionType, IActivityCenterErrorProps } from '../types';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { useCommonStyles } from '../../common/themes/ICommonTheme';\r\nimport { CommonPressable } from '../../common/components/CommonPressable';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { CommonButton } from '../../common/components/CommonButton';\r\nimport { Link } from '../../common/components/Link';\r\nimport { Variants } from '../../common/types';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CheckBoxItem } from '../../common/components/CheckBox';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport { selectActivityCenterErrors } from '../redux/activityCenterSelectors';\r\nimport CPKeyboardEvent from '../utils/CPKeyboardEvent';\r\n\r\ninterface IItemErrorStyles {\r\n container: ViewStyle;\r\n fileIcon: ImageStyle;\r\n boldText: TextStyle;\r\n secondaryText: TextStyle;\r\n body: ViewStyle;\r\n margin: ViewStyle;\r\n buttonContainer: ViewStyle;\r\n contentContainer: ViewStyle;\r\n errorContainer: ViewStyle;\r\n warningContainer: ViewStyle;\r\n quietContainer: ViewStyle;\r\n linkText: TextStyle;\r\n linkColor: TextStyle;\r\n linkQuietColor: TextStyle;\r\n checkbox: ViewStyle;\r\n checkBoxContainer: ViewStyle;\r\n}\r\n\r\nexport const useItemErrorStyles: ThemedStylesHook = createThemedStylesHook<\r\n ITheme,\r\n IItemErrorStyles\r\n>(themeManager, (theme: ITheme) => {\r\n return {\r\n container: {\r\n marginHorizontal: 12,\r\n paddingVertical: 3,\r\n borderRadius: 3,\r\n borderWidth: 1,\r\n borderColor: theme.acmBorderShadeColor\r\n },\r\n errorContainer: {\r\n backgroundColor: theme.errorBackgroundColor\r\n },\r\n warningContainer: {\r\n backgroundColor: theme.acmWarningBackgroundColor\r\n },\r\n quietContainer: {\r\n backgroundColor: theme.acmLessLoudBackgroundColor\r\n },\r\n fileIcon: {\r\n width: 40,\r\n height: 40,\r\n marginTop: 5\r\n },\r\n boldText: {\r\n fontSize: 14,\r\n marginTop: 8,\r\n marginBottom: 5,\r\n fontWeight: '600'\r\n },\r\n secondaryText: {\r\n fontSize: 12\r\n },\r\n body: {\r\n flexDirection: 'row',\r\n margin: 5,\r\n width: '90%'\r\n },\r\n margin: {\r\n margin: 5\r\n },\r\n buttonContainer: {\r\n flexDirection: 'row',\r\n marginTop: 11,\r\n marginBottom: 7\r\n },\r\n contentContainer: {\r\n paddingRight: 30,\r\n paddingLeft: 10\r\n },\r\n linkText: {\r\n fontSize: 12,\r\n fontWeight: '400'\r\n },\r\n linkColor: {\r\n color: theme.linkColor\r\n },\r\n linkQuietColor: {\r\n color: theme.link.linkTextColor\r\n },\r\n // Checkbox container style to forcefully reduce the margin between the checkbox and the surrounding content\r\n // This is necessary because the default margin is too large for the checkbox to be aligned with content\r\n checkBoxContainer: {\r\n marginBottom: -6,\r\n marginTop: -2\r\n },\r\n // Checkbox style to reduce the size of the checkbox\r\n checkbox: {\r\n transform: [{ scaleX: 0.8 }, { scaleY: 0.8 }],\r\n marginLeft: -10,\r\n paddingTop: -10\r\n }\r\n };\r\n});\r\n\r\ninterface IItemErrorProps {\r\n item: IActivityCenterErrorProps | undefined;\r\n index?: number;\r\n isSingleError?: boolean;\r\n /**\r\n * Ref to use for this component (Optional)\r\n */\r\n innerRef?: React.RefObject;\r\n /**\r\n * Custom handler for key presses on this component (Optional)\r\n */\r\n onKeyDown?: (event: CPKeyboardEvent) => void;\r\n}\r\n\r\nexport const ItemError: React.FC = React.memo(\r\n ({ item, isSingleError, index, innerRef, onKeyDown }) => {\r\n const commonStyles = useCommonStyles();\r\n const dispatch = useAppDispatch();\r\n const styles = useItemErrorStyles();\r\n const { t: translate } = useTranslation();\r\n const [isCheckboxChecked, setCheckBoxValue] = React.useState(false);\r\n const errors = useAppSelector(selectActivityCenterErrors);\r\n\r\n if (!item) {\r\n return <>;\r\n }\r\n let containerStyle = styles.container;\r\n let linkStyles = styles.linkText;\r\n let primaryButtonVariant = Variants.Primary;\r\n\r\n if (isSingleError) {\r\n primaryButtonVariant = Variants.Danger;\r\n if (item.isQuietError) {\r\n primaryButtonVariant = Variants.Primary;\r\n linkStyles = { ...linkStyles, ...styles.linkQuietColor };\r\n containerStyle = { ...containerStyle, ...styles.quietContainer };\r\n } else if (item.isWarning) {\r\n linkStyles = { ...linkStyles, ...styles.linkColor };\r\n containerStyle = { ...containerStyle, ...styles.warningContainer };\r\n } else {\r\n containerStyle = { ...containerStyle, ...styles.errorContainer };\r\n }\r\n }\r\n\r\n let fileStyles = styles.fileIcon;\r\n // File icons are smaller when there are multiple errors\r\n if (!isSingleError) {\r\n fileStyles = { ...fileStyles, width: 30, height: 30 };\r\n }\r\n\r\n const handleCheckBoxChange = (id: number): void => {\r\n setCheckBoxValue(!isCheckboxChecked);\r\n };\r\n\r\n const handleSecondLinkPress = (): void => {\r\n dispatch(\r\n activityCenterActions.handleErrorAction({\r\n action: ErrorActionType.SecondLink,\r\n index: index || 0,\r\n isCheckboxChecked\r\n })\r\n );\r\n };\r\n\r\n /* eslint-disable @typescript-eslint/naming-convention */\r\n const issuesIndexAccessibilityLabel = translate('errorViewListItemIndexAccessibleTextV2', {\r\n 0: index ? index + 1 : 1,\r\n 1: errors.totalErrors\r\n });\r\n const accessibilityLabel = isSingleError\r\n ? item.primaryText + ',' + item.secondaryText + ' ' + item.tertiaryText?.textAccessible\r\n : item.primaryText +\r\n ', ' +\r\n item.secondaryText +\r\n ' ' +\r\n item.tertiaryText?.textAccessible +\r\n ', ' +\r\n issuesIndexAccessibilityLabel;\r\n const indexedTestID = (baseTestID: string): string =>\r\n isSingleError ? baseTestID : `${baseTestID}${index ?? 0}`;\r\n return (\r\n \r\n {\r\n dispatch(\r\n activityCenterActions.handleErrorAction({\r\n action: ErrorActionType.MainBody,\r\n index: index || 0,\r\n isCheckboxChecked\r\n })\r\n );\r\n }}\r\n testID={indexedTestID('itemErrorButton')}\r\n accessibilityRole='button'\r\n onKeyDown={onKeyDown ? onKeyDown : undefined}\r\n innerRef={innerRef}\r\n accessibilityLabel={`${accessibilityLabel}`}\r\n >\r\n {(isPressed, isHovering) => {\r\n return (\r\n \r\n \r\n {item.imageFileName ? (\r\n \r\n ) : item.icon ? (\r\n \r\n ) : null}\r\n \r\n \r\n \r\n {item.primaryText}\r\n \r\n \r\n {item.secondaryText}\r\n \r\n\r\n {item.tertiaryText?.text && (\r\n \r\n {item.tertiaryText.text.replace(/�/g, '')}\r\n \r\n )}\r\n {item.learnMoreLink || item.linkText ? (\r\n \r\n dispatch(\r\n activityCenterActions.handleErrorAction({\r\n action: ErrorActionType.LearnMoreLink,\r\n index: index || 0,\r\n isCheckboxChecked\r\n })\r\n )\r\n }\r\n inlineLink={true}\r\n />\r\n ) : null}\r\n {item.secondLink?.url ? (\r\n \r\n ) : null}\r\n {item.checkboxText && (\r\n \r\n )}\r\n \r\n {item.buttonOne.text && item.buttonOne.actionParameter && (\r\n \r\n dispatch(\r\n activityCenterActions.handleErrorAction({\r\n action: ErrorActionType.PrimaryButton,\r\n index: index || 0,\r\n isCheckboxChecked\r\n })\r\n )\r\n }\r\n />\r\n )}\r\n {item.buttonTwo.text && item.buttonTwo.actionParameter && (\r\n \r\n dispatch(\r\n activityCenterActions.handleErrorAction({\r\n action: ErrorActionType.SecondaryButton,\r\n index: index || 0,\r\n isCheckboxChecked\r\n })\r\n )\r\n }\r\n />\r\n )}\r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n }\r\n);\r\n","import React from 'react';\r\nimport { View, ViewStyle, TextStyle, Platform } from 'react-native';\r\nimport { CommonPressable } from './CommonPressable';\r\nimport { CommonText } from './CommonText';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../themes/themes';\r\nimport { ICommonTheme, commonThemeManager, useCommonStyles } from '../themes/ICommonTheme';\r\nimport CheckBox from '@react-native-community/checkbox';\r\nimport CPKeyboardEvent from '../../activityCenterView/utils/CPKeyboardEvent';\r\nimport { Checkbox } from '@fluentui-react-native/checkbox';\r\n\r\n/**\r\n * Defines props of CheckBox component.\r\n */\r\nexport interface ICheckBoxProps {\r\n /**\r\n * The ID For this checkbox\r\n */\r\n id: number;\r\n /**\r\n * Visual text label for this checkbox\r\n */\r\n name: string;\r\n /**\r\n * Whether this checkbox is currently selected\r\n */\r\n selected: boolean;\r\n /**\r\n * Whether this checkbox is disabled\r\n */\r\n disabled: boolean;\r\n /**\r\n * The accessibility hint for this checkbox (Optional)\r\n */\r\n hint?: string;\r\n /**\r\n * Handler for when this checkbox is clicked or activated by keyboard\r\n */\r\n onClick: (id: number) => void;\r\n /**\r\n * Ref to use for this component (Optional)\r\n */\r\n innerRef?: React.RefObject;\r\n /**\r\n * Custom handler for key presses on this component (Optional)\r\n */\r\n onKeyDown?: (event: CPKeyboardEvent) => void;\r\n /**\r\n * Custom test ID string for this button to aid with automation (Optional)\r\n */\r\n testID?: string;\r\n /**\r\n * Should the checkbox be smaller than the default size\r\n * with smaller text\r\n */\r\n small?: boolean;\r\n\r\n /**\r\n * Custom styles for the checkbox container\r\n * (Optional)\r\n */\r\n customContainerStyle?: ViewStyle;\r\n\r\n /**\r\n * Custom styles for the checkbox\r\n * (Optional)\r\n */\r\n customCheckboxStyle?: ViewStyle;\r\n}\r\n\r\ninterface ICheckBoxStyles {\r\n defaultTextStyle: TextStyle;\r\n smallTextStyle: TextStyle;\r\n macCheckboxContainer: ViewStyle;\r\n macLabelPressable: ViewStyle;\r\n container: ViewStyle;\r\n}\r\n\r\nconst useCheckBoxStyles: ThemedStylesHook = createThemedStylesHook<\r\n ICommonTheme,\r\n ICheckBoxStyles\r\n>(commonThemeManager, (theme: ICommonTheme) => {\r\n return {\r\n defaultTextStyle: {\r\n marginLeft: 0,\r\n color: theme.bodyTextColor,\r\n textAlign: 'left',\r\n flexShrink: 1\r\n },\r\n smallTextStyle: {\r\n marginLeft: 0,\r\n color: theme.bodyTextColor,\r\n fontSize: 12,\r\n textAlign: 'left',\r\n flexShrink: 1\r\n },\r\n macCheckboxContainer: {\r\n width: 24,\r\n height: 24,\r\n alignItems: 'center',\r\n justifyContent: 'center'\r\n },\r\n // On macOS the label lives inside a CommonPressable, and it is that pressable -- not the\r\n // label -- which is the flex item in the row. React Native defaults flexShrink to 0 (unlike\r\n // web CSS, which defaults to 1), so without this the pressable keeps its full intrinsic\r\n // width, the label never receives a constrained width, and flexShrink on the text alone has\r\n // no effect. The Windows variant does not need this because there the label is a direct\r\n // child of the row.\r\n macLabelPressable: {\r\n flexShrink: 1\r\n },\r\n container: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center'\r\n }\r\n };\r\n});\r\n\r\nfunction MacCheckBoxItem(props: ICheckBoxProps): JSX.Element {\r\n const {\r\n id,\r\n name,\r\n selected,\r\n disabled,\r\n onClick: propsOnClick,\r\n innerRef,\r\n testID,\r\n small,\r\n customContainerStyle\r\n } = props;\r\n const styles = useCheckBoxStyles();\r\n const commonStyles = useCommonStyles();\r\n const onClick = (): void => {\r\n propsOnClick(id);\r\n };\r\n const textStyle = small ? styles.smallTextStyle : styles.defaultTextStyle;\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n if (event.nativeEvent.code === 'Space') {\r\n // Don't propagate the event - it's already handled by the checkbox\r\n event.preventDefault();\r\n }\r\n }}\r\n testID={testID}\r\n >\r\n {() => {\r\n return {name};\r\n }}\r\n \r\n \r\n );\r\n}\r\n\r\nfunction WinCheckBoxItem(props: ICheckBoxProps): JSX.Element {\r\n const {\r\n id,\r\n name,\r\n selected,\r\n disabled,\r\n onClick: propsOnClick,\r\n innerRef,\r\n testID,\r\n small,\r\n customContainerStyle,\r\n customCheckboxStyle\r\n } = props;\r\n const styles = useCheckBoxStyles();\r\n const commonStyles = useCommonStyles();\r\n const onClick = (): void => {\r\n propsOnClick(id);\r\n };\r\n const textStyle = small ? styles.smallTextStyle : styles.defaultTextStyle;\r\n\r\n return (\r\n {\r\n if (event.nativeEvent.code === 'Space') {\r\n // Don't propagate the event - it's already handled by the checkbox\r\n event.preventDefault();\r\n }\r\n }}\r\n testID={testID}\r\n >\r\n {() => {\r\n const checkbox = (\r\n \r\n );\r\n\r\n return (\r\n \r\n {checkbox}\r\n {name}\r\n \r\n );\r\n }}\r\n \r\n );\r\n}\r\n\r\nexport function CheckBoxItem(props: ICheckBoxProps): JSX.Element {\r\n if (Platform.OS === 'macos') {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n}\r\n","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n'use strict';\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar nullthrows_1 = __importDefault(require(\"nullthrows\"));\nvar react_1 = __importDefault(require(\"react\"));\nvar react_native_1 = require(\"react-native\");\nvar WindowsCheckBoxComponent_1 = __importDefault(require(\"./WindowsCheckBoxComponent\"));\n// @ts-ignore setAndForwardRef type does not exist in @types/react-native\nvar setAndForwardRef_1 = __importDefault(require(\"./setAndForwardRef\"));\nvar CheckBox = /** @class */ (function (_super) {\n __extends(CheckBox, _super);\n function CheckBox() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._nativeRef = null;\n _this._setNativeRef = setAndForwardRef_1.default({\n getForwardedRef: function () { return _this.props.forwardedRef; },\n setLocalRef: function (ref) {\n _this._nativeRef = ref;\n },\n });\n _this._onChange = function (event) {\n var onValueChange = _this.props.onValueChange;\n var value = event.nativeEvent.value;\n // @ts-ignore\n nullthrows_1.default(_this._nativeRef).setNativeProps({ value: value });\n onValueChange && onValueChange(value);\n };\n return _this;\n }\n CheckBox.prototype.render = function () {\n // Do not use onValueChange directly from props\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n var _a = this.props, style = _a.style, onValueChange = _a.onValueChange, props = __rest(_a, [\"style\", \"onValueChange\"]);\n return (react_1.default.createElement(WindowsCheckBoxComponent_1.default, __assign({}, props, { \n // @ts-ignore TODO: implement the type of WindowsCheckBoxNativeComponent\n style: [styles.rctCheckBox, style], ref: this._setNativeRef, onChange: this._onChange })));\n };\n return CheckBox;\n}(react_1.default.Component));\nvar styles = react_native_1.StyleSheet.create({\n rctCheckBox: {\n height: 32,\n width: 32,\n backgroundColor: 'transparent',\n },\n});\nvar CheckBoxWithRef = react_1.default.forwardRef(function CheckBoxWithRef(props, ref) {\n return react_1.default.createElement(CheckBox, __assign({}, props, { forwardedRef: ref }));\n});\nexports.default = CheckBoxWithRef;\n","// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT License.\n'use strict';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar react_native_1 = require(\"react-native\");\nexports.default = react_native_1.requireNativeComponent('RNCCheckboxWindows');\n","\"use strict\";\n/**\n * Imported from RN .71\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n/**\n * This is a helper function for when a component needs to be able to forward a ref\n * to a child component, but still needs to have access to that component as part of\n * its implementation.\n *\n * Its main use case is in wrappers for native components.\n *\n * Usage:\n *\n * class MyView extends React.Component {\n * _nativeRef = null;\n *\n * _setNativeRef = setAndForwardRef({\n * getForwardedRef: () => this.props.forwardedRef,\n * setLocalRef: ref => {\n * this._nativeRef = ref;\n * },\n * });\n *\n * render() {\n * return ;\n * }\n * }\n *\n * const MyViewWithRef = React.forwardRef((props, ref) => (\n * \n * ));\n *\n * module.exports = MyViewWithRef;\n */\nfunction setAndForwardRef(_a) {\n var getForwardedRef = _a.getForwardedRef, setLocalRef = _a.setLocalRef;\n return function forwardRef(ref) {\n var forwardedRef = getForwardedRef();\n setLocalRef(ref);\n // Forward to user ref prop (if one has been specified)\n if (typeof forwardedRef === 'function') {\n // Handle function-based refs. String-based refs are handled as functions.\n forwardedRef(ref);\n }\n else if (typeof forwardedRef === 'object' && forwardedRef != null) {\n // Handle createRef-based refs\n forwardedRef = ref;\n }\n };\n}\nexports.default = setAndForwardRef;\n","/** @jsxRuntime classic */\n/** @jsx withSlots */\nimport * as React from 'react';\nimport { View } from 'react-native';\nimport { filterViewProps } from '@fluentui-react-native/adapters';\nimport { useAsToggle, useAsPressable, useViewCommandFocus, useKeyProps, useOnPressWithFocus, } from '@fluentui-react-native/interactive-hooks';\nimport { Text } from '@fluentui-react-native/text';\nimport { foregroundColorTokens, textTokens, borderTokens, getPaletteFromTheme } from '@fluentui-react-native/tokens';\nimport { backgroundColorTokens } from '@fluentui-react-native/tokens';\nimport { withSlots } from '@uifabricshared/foundation-composable';\nimport { compose } from '@uifabricshared/foundation-compose';\nimport { mergeSettings } from '@uifabricshared/foundation-settings';\nimport { settings, checkboxSelectActionLabel } from './Checkbox.settings';\nimport { checkboxName } from './Checkbox.types';\n/**\n * @deprecated This will be removed when the package moves to 1.0.0.\n * Please see MIGRATION.md for details on how to move to the new Checkbox.\n */\nexport const Checkbox = compose({\n displayName: checkboxName,\n usePrepareProps: (userProps, useStyling) => {\n const defaultComponentRef = React.useRef(null);\n const { accessible, accessibilityLabel, accessibilityRole, ariaLabel, checked, defaultChecked, boxSide, label, onChange, componentRef = defaultComponentRef, focusable, ...rest } = userProps;\n // Warns defaultChecked and checked being mutually exclusive.\n if (defaultChecked != undefined && checked != undefined) {\n console.warn('defaultChecked and checked are mutually exclusive to one another. Use one or the other.');\n }\n // Re-usable hook for toggle components.\n const [isChecked, toggleChecked] = useAsToggle(defaultChecked, checked, onChange);\n // Ensure focus is placed on checkbox after click\n const toggleCheckedWithFocus = useOnPressWithFocus(componentRef, toggleChecked);\n const pressable = useAsPressable({ onPress: toggleCheckedWithFocus, ...rest });\n const buttonRef = useViewCommandFocus(componentRef);\n // Handles the \"Space\" key toggling the Checkbox\n const onKeyProps = useKeyProps(toggleChecked, ' ');\n const state = {\n ...pressable.state,\n disabled: !!userProps.disabled,\n checked: isChecked,\n boxAtEnd: boxSide == undefined || boxSide == 'start' ? false : true,\n };\n // Grab the styling information from the userProps, referencing the state as well as the props.\n const styleProps = useStyling(userProps, (override) => state[override] || userProps[override]);\n // Used when creating accessibility properties in mergeSettings below\n const onAccessibilityAction = React.useCallback((event) => {\n switch (event.nativeEvent.actionName) {\n case 'Toggle':\n toggleChecked();\n break;\n }\n }, [toggleChecked, userProps, state, pressable.props]);\n const slotProps = mergeSettings(styleProps, {\n root: {\n rest,\n ref: buttonRef,\n ...pressable.props,\n accessible: accessible ?? true,\n accessibilityRole: accessibilityRole ?? 'checkbox',\n accessibilityLabel: accessibilityLabel ?? label,\n accessibilityState: { disabled: state.disabled, checked: state.checked },\n accessibilityActions: [{ name: 'Toggle', label: checkboxSelectActionLabel }],\n focusable: focusable ?? !state.disabled,\n onAccessibilityAction: onAccessibilityAction,\n enableFocusRing: false,\n ...onKeyProps,\n },\n // Temporary checkmark until SVG functionality\n checkmark: { children: '✓' },\n content: { children: label },\n });\n return { slotProps, state };\n },\n render: (Slots, renderData, ...children) => {\n return (withSlots(Slots.root, null,\n renderData?.state.boxAtEnd && withSlots(Slots.content, null),\n withSlots(Slots.checkbox, null,\n withSlots(Slots.checkmark, null)),\n !renderData?.state.boxAtEnd && withSlots(Slots.content, null),\n children));\n },\n settings,\n slots: {\n root: View,\n checkbox: { slotType: View, filter: filterViewProps },\n checkmark: Text,\n content: Text,\n },\n styles: {\n root: [],\n checkbox: [\n backgroundColorTokens,\n borderTokens,\n [\n { source: 'checkboxBackgroundColor', lookup: getPaletteFromTheme, target: 'backgroundColor' },\n { source: 'checkboxBorderColor', lookup: getPaletteFromTheme, target: 'borderColor' },\n ],\n ],\n checkmark: [\n foregroundColorTokens,\n [\n { source: 'checkmarkColor', lookup: getPaletteFromTheme, target: 'color' },\n { source: 'checkmarkVisibility', target: 'opacity' },\n ],\n ],\n content: [foregroundColorTokens, textTokens, [{ source: 'textBorderColor', lookup: getPaletteFromTheme, target: 'borderColor' }]],\n },\n});\nexport default Checkbox;\n//# sourceMappingURL=Checkbox.js.map","/* eslint-disable */\nimport { composable, } from '@uifabricshared/foundation-composable';\nimport { initializeStyling, getOptionsFromObj } from './useStyling';\nimport { immutableMerge } from '@fluentui-react-native/framework-base';\n/**\n * Merge current and base options together to form the new object definition. These objects will merge with the\n * exception of settings which will be appended\n *\n * @param inputComponent - input component\n * @param base - component to use as a baseline (if it exists)\n */\nfunction _getComponentOptions(inputComponent, base) {\n if (base) {\n const mergedSettings = { settings: [].concat(base.settings || [], inputComponent.settings || []).filter((v) => v) };\n return immutableMerge(base, inputComponent, mergedSettings);\n }\n return inputComponent;\n}\n/**\n * Assembles a higher order component, optionally composing a base HOC or base primitive control. The compose pattern\n * allows a greater degree of customization than is available via props and allows for customization without adding\n * additional layers to the react hierarchy.\n *\n * @param inputComponent - component definition for the component to be created. See IComposeOptions for more details.\n * @param base - optional base component to compose, this can be an intrinsic, a stock element, or another composable\n */\nexport function compose(inputComponent, base) {\n // get merged options for the component\n const options = _getComponentOptions(inputComponent, base && getOptionsFromObj(base));\n // set up the styling injection function\n options.useStyling = initializeStyling(options);\n // use composable to create the function implementation\n const Component = composable(options);\n // attach extra information to the returned function component\n Component.displayName = options.displayName;\n Object.assign(Component, options.statics);\n // set up the customize handler\n Component.customize = (...settings) => {\n return compose({ settings }, Component);\n };\n // set up the compose handler\n Component.compose = (newOptions) => {\n return compose(newOptions, Component);\n };\n // now return the newly created component\n return Component;\n}\n//# sourceMappingURL=compose.js.map","/**\n * built in handlers for the module\n */\nconst _builtinHandlers = {\n appendArray: (...objs) => {\n return [].concat(...objs);\n },\n};\n/**\n * This processes the various type options for merge core and turns them into a MergeConfig\n * @param options - options passed into immutableMergeCore\n */\nfunction normalizeOptions(options) {\n return typeof options === 'boolean'\n ? [{ object: options }, options]\n : typeof options === 'number'\n ? [{ object: options >= 0 ? options : true }, options !== 0]\n : [options, true];\n}\n/**\n * Provide a more sensible type result that expands upon the built in typeof operator\n * In particular this will differentiate arrays and nulls from standard objects\n * @param val - value to check type\n */\nfunction getEntityType(val) {\n switch (typeof val) {\n case 'object':\n if (val === null) {\n return 'null';\n }\n else if (Array.isArray(val)) {\n return 'array';\n }\n return 'object';\n default:\n return typeof val;\n }\n}\n/** resolve custom handlers if they are applicable */\nfunction resolveIfHandler(option) {\n return typeof option === 'function' ? option : typeof option === 'string' ? _builtinHandlers[option] : undefined;\n}\n/** pass array configurations down, this allows for saying all arrays should be appended rather than replaced */\nfunction getTypesMixin(config) {\n return config.array ? { array: config.array } : {};\n}\n/** resolve the object behaviors for configuration */\nfunction resolveForObject(option, mixin) {\n if (typeof option === 'boolean') {\n // booleans won't recurse if false, otherwise recurse infinitely\n return option ? { object: option, ...mixin } : mixin;\n }\n else if (typeof option === 'number') {\n // numbers get decremented or set to false if we've reached zero. Negative values will have been converted to boolean true\n return option === 0 ? mixin : { object: option - 1, ...mixin };\n }\n else {\n // otherwise it is an object type so just pass the child object through\n return option;\n }\n}\n/**\n * Figure out the handler for this property.\n * It will either be a function, a config object to pass to a recursive call, or undefined\n * in the undefined case, this key will be left as-is\n */\nfunction getHandlerForPropertyOfType(config, propKey, propType) {\n let result = undefined;\n const option = config[propKey] !== undefined ? config[propKey] : config[propType] !== undefined ? config[propType] : undefined;\n if (option !== undefined) {\n // try to resolve the option as a handler, either function or built-in first. This is the only option that is valid for non-object types.\n result = resolveIfHandler(option);\n // if it is an object then resolve boolean, number or config types\n if (result === undefined && propType === 'object') {\n result = resolveForObject(option, getTypesMixin(config));\n }\n }\n return result;\n}\n/**\n * Assign properties of source objects to a new target object. This is just a type wrapper around Object.assign\n * @param objs - array of objects to merge\n * @returns the result of object assign on the objects, typed to T\n */\nfunction assignToNewObject(...objs) {\n return Object.assign({}, ...objs);\n}\n/**\n * Filter a set of unknown values to only include those that extend ObjectBase\n * @param values - array of values to filter\n * @returns the filtered set of values\n */\nexport function filterToObjects(values) {\n return values.filter((v) => v && getEntityType(v) === 'object' && Object.getOwnPropertyNames(v).length > 0);\n}\n/**\n * This will merge two or more objects together using an immutable style merge pattern. If there is only one object or\n * if there is only one object with values, that object itself will be returned, with two or more objects the keys within will\n * be first merged with Object.assign and then optionally will recurse to merge sub objects as specified by the options.\n *\n * Note that this tries hard to not create extra objects, because of this merging an object with an empty object will not\n * create a new object.\n *\n * @param mergeOptions - options driving behavior of the merge. See MergeOptions for a description\n * @param singleMode - normally if there is only one branch to follow in the merge the routine will not recurse. If single mode\n * is true the routine will progress through all branches of the hierarchy. Useful if using a processor function that needs to be run.\n * @param objs - an array of objects to merge together\n */\nfunction immutableMergeWorker(mergeOptions, singleMode, ...objs) {\n const setToMerge = filterToObjects(objs);\n const [options, mightRecurse] = normalizeOptions(mergeOptions);\n const processSingle = singleMode && setToMerge.length === 1;\n // there is work to do if there is more than one object to merge or if we are processing single objects\n if (setToMerge.length > 1 || (processSingle && setToMerge.length === 1)) {\n // now assign everything to get the normal property precedence (and merge all the keys)\n let result = processSingle ? undefined : assignToNewObject(...setToMerge);\n const processSet = result || setToMerge[0];\n for (const key in processSet) {\n if (processSet.hasOwnProperty(key)) {\n // only process if there is potential work to do\n if (mightRecurse) {\n const originalVal = processSet[key];\n const entityType = getEntityType(originalVal);\n const handler = getHandlerForPropertyOfType(options, key, entityType);\n if (handler !== undefined) {\n const values = setToMerge.map((set) => set[key]).filter((v) => v !== undefined);\n const updatedVal = typeof handler === 'function'\n ? handler(...values)\n : immutableMergeWorker(handler, singleMode, ...filterToObjects(values));\n if (updatedVal !== originalVal) {\n result = result || assignToNewObject(...setToMerge);\n result[key] = updatedVal;\n }\n }\n }\n // delete undefined keys from the object, otherwise there is no easy way to delete keys\n if (!processSingle && result[key] === undefined) {\n delete result[key];\n }\n }\n }\n // in the single processing case return the original if nothing changed, otherwise return result\n return result || processSet;\n }\n return setToMerge.length > 0 ? setToMerge[0] : undefined;\n}\n/**\n * Recursively immutable merge sets of objects infinitely deep. This behaves like a standard deep merge with arrays replacing\n * one another rather than appending. If appending arrays is desireable this can be configured via immutableMergeCore\n *\n * @param objs - variable input array of typed objects to merge\n */\nexport function immutableMerge(...objs) {\n return immutableMergeWorker(true, false, ...objs);\n}\n/**\n * Version of immutable merge that can be configured to behave in a variety of manners. See the documentation for details.\n *\n * @param options - configuration options for the merge, this dictates what keys will be handled in what way\n * @param objs - set of objects to merge together\n */\nexport function immutableMergeCore(options, ...objs) {\n return immutableMergeWorker(options, false, ...objs);\n}\n/**\n * Process one or more immutable objects ensuring that handlers are called on every entry that applies. If a single object\n * is passed in and no changes are made, that object will be returned. If updates happen from the handlers it will return the\n * minimally mutated object.\n *\n * The use case for this might be a style transformation on a deeply nested object. If no changes are made the object won't be\n * updated but in the case where something needs to be transformed this will perform the minimal mutations.\n *\n * @param processors - set of processor functions for handling keys\n * @param objs - one or more objects to process. If multiple objects are passed they will be merged\n */\nexport function processImmutable(options, ...objs) {\n return immutableMergeWorker(options, true, ...objs);\n}\n//# sourceMappingURL=Merge.js.map","import { getCacheEntry } from './getCacheEntry';\n/** base node used to remember references when a globalKey is set */\nconst _baseEntry = {};\n/**\n * Primary functional worker used to implement the caching pattern\n *\n * @param entry - entry to use as the base of the cache traversal\n * @param factory - generally a function who's results will be cached, and returned via the set of keys\n * @param keys - an ordered array of values of any type, used as keys to look up the entry\n */\nfunction getMemoValueWorker(entry, factory, keys) {\n const foundEntry = getCacheEntry(entry, keys);\n // check the key being set, not the value to disambiguate an undefined factory result/value from never having run the factory\n if (!Object.prototype.hasOwnProperty.call(foundEntry, 'value')) {\n foundEntry.value = typeof factory === 'function' ? factory() : factory;\n }\n return [foundEntry.value, (fact, args) => getMemoValueWorker(foundEntry, fact, args)];\n}\n/**\n * Get a memo cache instance, this can either be completely self-contained or associated with a global key\n *\n * @param globalKey - optional object reference to use as a key for this cache. If specified it can be used\n * to retrieve the same cache from the global call. If not specified the returned cache will be completely isolated.\n */\nexport function getMemoCache(globalKey) {\n const entry = globalKey ? getCacheEntry(_baseEntry, [globalKey]) : {};\n return (fact, args) => getMemoValueWorker(entry, fact, args);\n}\n/**\n * Get a typed memo cache instance, this can either be completely self-contained or associated with a global key\n *\n * @param globalKey - optional object reference to use as a key for this cache. If specified it can be used\n * to retrieve the same cache from the global call. If not specified the returned cache will be completely isolated.\n */\nexport function getTypedMemoCache(globalKey) {\n const entry = globalKey ? getCacheEntry(_baseEntry, [globalKey]) : {};\n return (fact, args) => getMemoValueWorker(entry, fact, args);\n}\n//# sourceMappingURL=getMemoCache.js.map","/**\n * Step one level deeper in the cache, based on the key value from the current location\n *\n * @param entry - base entry to work from\n * @param val - value to use as the key for progressing to the next level of the cache\n */\nfunction jumpToCacheEntry(entry, val) {\n if (val === undefined || val === null) {\n // undefined or null just routes directly to the empty object. This avoids the issues of string collisions with 'null' or 'undefined'\n // when using the string key map, it also avoids creating the WeakMap (since null is technically typoef object), particularly in cases\n // where null is just being set on non-object types.\n return (entry.empty ??= {});\n }\n if (typeof val === 'object' || typeof val === 'function') {\n // objects and functions will be treated as key values in a WeakMap\n const byObj = (entry.obj ??= new WeakMap());\n return byObj.get(val) || byObj.set(val, {}).get(val);\n }\n // otherwise convert everything to a string and store it in the str object (using it as a map)\n const key = val + '';\n const byString = (entry.str ??= {});\n return (byString[key] ??= {});\n}\n/**\n * Given a base entry, either traverse or build the cache tree that matches the provided args\n *\n * @param entry - entry to use as the base of the cache walk\n * @param args - array of arguments to use to progress deeper into the cache\n */\nexport function getCacheEntry(entry, args) {\n // in the case where the args array exists and is > 0 length:\n // - walk the cache from entry, like a linked list, jumping to the next entry by key, building it up as you go\n // - otherwise if there are no args just use the noargs branch\n return args && args.length > 0\n ? args.reduce((previous, arg) => jumpToCacheEntry(previous, arg), entry)\n : (entry.noargs ??= {});\n}\n//# sourceMappingURL=getCacheEntry.js.map","import * as ReactJSX from 'react/jsx-runtime';\nimport { renderForJsxRuntime } from './component-patterns/render';\nexport function jsx(type, props, key) {\n return renderForJsxRuntime(type, props, key, ReactJSX.jsx);\n}\nexport function jsxs(type, props, key) {\n return renderForJsxRuntime(type, props, key, ReactJSX.jsxs);\n}\n//# sourceMappingURL=jsx-runtime.js.map","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1 {\n return cache(() => fn(...(args || [])), args)[0];\n };\n // now return that closure strongly typed as the function.\n return closure;\n}\n//# sourceMappingURL=memoize.js.map","import { immutableMergeCore, filterToObjects } from '../immutable-merge/Merge';\nimport { mergeStyles } from './mergeStyles';\n/**\n * Props will not deeply merge with the exception of a style property. Also className needs to be handled specially.\n */\nconst mergePropsOptions = {\n className: (...names) => names.filter((v) => v && typeof v === 'string').join(' '),\n style: mergeStyles,\n};\n/**\n * Merge props together, flattening and merging styles as appropriate\n * @param props - props to merge together\n */\nexport function mergeProps(...props) {\n return immutableMergeCore(mergePropsOptions, ...filterToObjects(props));\n}\n//# sourceMappingURL=mergeProps.js.map","import { immutableMerge } from '../immutable-merge/Merge';\nimport { getMemoCache } from '../memo-cache/getMemoCache';\n/**\n * Take a react-native style, which may be a recursive array, and return as a flattened\n * style. This is analagous to the flatten routine that is part of the style sheet API\n *\n * @param style - StyleProp to flatten, this can be a TStyle or an array\n */\nexport function flattenStyle(style) {\n return Array.isArray(style) ? immutableMerge(...style.map((v) => flattenStyle(v))) : style || {};\n}\n/**\n * Merge styles together into a single flat object and optionally finalize them, can also be used to finalize a single style\n *\n * @param styles - array of styles to merge together. The styles will be flattened as part of the process\n */\nexport function mergeAndFlattenStyles(...styles) {\n // baseline merge and flatten the objects\n return immutableMerge(...styles.map((styleProp) => {\n return flattenStyle(styleProp);\n }));\n}\nconst _styleCache = getMemoCache();\nexport function mergeStyles(...styles) {\n // filter the style set to just objects (which might be arrays or plain style objects)\n const inputs = styles.filter((s) => typeof s === 'object');\n // now memo the results if there is more than one element or if the one element is an array\n return inputs.length > 1 || (inputs.length === 1 && Array.isArray(inputs[0]))\n ? _styleCache(() => mergeAndFlattenStyles(undefined, ...inputs), inputs)[0]\n : inputs[0] || {};\n}\n//# sourceMappingURL=mergeStyles.js.map","/**\n * @jsxRuntime classic\n * @jsx withSlots\n */\nimport * as React from 'react';\nimport { withSlots } from './withSlots';\nfunction asArray(val) {\n return Array.isArray(val) ? val : [val];\n}\n/**\n * Take a staged render function and make a real component out of it\n *\n * @param staged - staged render function to wrap into a staged component\n * @param memo - optional flag to enable wrapping the created component in a React.memo HOC\n */\nexport function stagedComponent(staged, memo) {\n const component = (props) => {\n const { children, ...rest } = props;\n return staged(rest)({}, asArray(children));\n };\n const stagedComponent = memo ? React.memo(component) : component;\n Object.assign(stagedComponent, { _staged: staged });\n return stagedComponent;\n}\n/**\n * Take a two stage render function and make a real component out of it, attaching the staged render function\n * so it can be split if used in that manner.\n * @param staged - two stage render function to wrap into a staged component\n */\nexport function twoStageComponent(staged) {\n return Object.assign((props) => {\n const { children, ...outerProps } = props;\n const innerProps = { children };\n const Inner = staged(outerProps);\n return withSlots(Inner, { ...innerProps });\n }, { _twoStageRender: staged });\n}\n//# sourceMappingURL=stagedComponent.js.map","import { renderForClassicRuntime } from './render';\n/**\n * This function is required for any module that uses slots.\n *\n * This function is a slot resolver that automatically evaluates slot functions to generate React elements.\n * A byproduct of this resolver is that it removes slots from the React hierarchy by bypassing React.createElement.\n *\n * To use this function on a per-file basis, use the jsx directive targeting withSlots.\n * This directive must be the FIRST LINE in the file to work correctly.\n * Usage of this pragma also requires withSlots import statement.\n *\n * See React.createElement\n */\n// Can't use typeof on React.createElement since it's overloaded. Approximate createElement's signature for now and widen as needed.\nexport function withSlots(reactType, props, ...children) {\n // if it is a non-string type with _canCompose set just call the function directly, otherwise call createElement as normal\n return renderForClassicRuntime(reactType, props, ...children);\n}\n//# sourceMappingURL=withSlots.js.map","/* eslint-disable */\nimport { getThemedSettings } from '@uifabricshared/themed-settings';\nimport { getSettings, returnAsSlotProps } from '@uifabricshared/theming-ramp';\nimport { processTokens, buildComponentTokens } from '@uifabricshared/foundation-tokens';\nimport { useTheme } from '@fluentui-react-native/theme-types';\nimport { defaultFluentTheme } from '@fluentui-react-native/default-theme';\nimport { getMemoCache } from '@fluentui-react-native/framework-base';\n/* tslint:disable-next-line no-any */\nexport function getOptionsFromObj(obj) {\n const objType = obj && typeof obj;\n return ((objType === 'object' || objType === 'function') && obj.__composable) || undefined;\n}\nfunction _getSettingsFromTheme(theme, name) {\n return getSettings(theme, name);\n}\nfunction _getHasToken(slots) {\n const slotTokens = {};\n Object.keys(slots).forEach((slotName) => {\n const slot = slots[slotName];\n const slotType = (typeof slot !== 'object' ? slot : slot.slotType);\n const options = getOptionsFromObj(slotType);\n slotTokens[slotName] = (options && options.resolvedTokens && options.resolvedTokens.tokenKeys) || undefined;\n });\n return (target, key) => {\n return slotTokens[target] && slotTokens[target].hasOwnProperty(key);\n };\n}\nfunction useStylingCore(props, options, instanceMemoCache, lookupOverride) {\n // get the theme value from the context (or the default theme if it is not set)\n const theme = useTheme() || defaultFluentTheme;\n // resolve the array of settings for these options\n lookupOverride = lookupOverride || props;\n const { settings, getMemoValue } = getThemedSettings(options.settings, theme, instanceMemoCache, lookupOverride, _getSettingsFromTheme);\n // finish by processing the tokens and turning IComponentSettings into ISlotProps (this removes things like _overrides)\n return returnAsSlotProps(processTokens(props, theme, settings, options.resolvedTokens, getMemoValue));\n}\n/**\n * return a useStyling implementation, in the form of IUseComposeStyling, based on the passed in styleSettings. The\n * styleSettings will be captured in the created closure and will be set up to enable the appropriate levels of caching.\n *\n * @param options - style settings to configure this function. Note that this should be scoped to a single component.\n * @param name - optional base name to use as a cache key\n */\nexport function initializeStyling(options) {\n // process the tokens and get them ready to render\n const { styles, slots } = options;\n options.resolvedTokens = buildComponentTokens(styles, _getHasToken(slots));\n // memo cache root for this component, keyed on options\n const getMemoValue = getMemoCache(options);\n // create a useStyling implementation for this component type (per type, not per instance)\n return (props, lookupOverride) => {\n return useStylingCore(props, options, getMemoValue, lookupOverride);\n };\n}\n//# sourceMappingURL=useStyling.js.map","import * as React from 'react';\nexport const ThemeContext = React.createContext(undefined);\nexport const useTheme = () => React.useContext(ThemeContext);\n//# sourceMappingURL=context.js.map","/** helper to strip out the component settings specific bits from the returned structure */\nexport function returnAsSlotProps(target) {\n if (target) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { _overrides, _precedence, ...settings } = target;\n return settings;\n }\n return target;\n}\n/**\n *\n * @param theme - theme used to retrieve settings\n * @param name - name of the settings entry to retrieve\n * @param overrides - optional override lookup object to conditionally apply overrides\n */\nexport function getSettings(theme, name) {\n return (theme.components && theme.components[name]) || undefined;\n}\n//# sourceMappingURL=SettingsWorker.js.map","/* eslint-disable */\nimport { mergeSettingsCollection } from '@uifabricshared/foundation-settings';\nimport { immutableMergeCore } from '@fluentui-react-native/framework-base';\nfunction _settingsHandler(...objs) {\n return mergeSettingsCollection(...objs);\n}\nconst _themeMergeOptions = {\n object: true,\n settings: _settingsHandler,\n};\n/**\n * Resolve `partialTheme` into a fully specified theme, using `theme` to fill\n * in any missing values.\n */\nexport function resolvePartialTheme(theme, partialTheme) {\n let newTheme = immutableMergeCore(_themeMergeOptions, theme, partialTheme);\n if (newTheme === theme) {\n newTheme = { ...newTheme };\n }\n return newTheme;\n}\n//# sourceMappingURL=Theme.js.map","/* eslint-disable */\nimport { immutableMergeCore } from '@fluentui-react-native/framework-base';\nimport { mergeProps } from '@fluentui-react-native/framework-base';\n/**\n * an individual settings block is a set of slotProps, with an additional collection of tokens.\n */\nconst _mergeSettingsOptions = {\n // tokens should be merged but not recurse\n tokens: 0,\n // all other objects should be treated as props\n object: mergeProps,\n // overrides have a collection of objects which each are treated as settings\n get _overrides() {\n return { object: this };\n },\n};\n/**\n * A collection of settings simply applies settings down one level\n */\nconst _mergeCollectionOptions = {\n object: _mergeSettingsOptions,\n};\n/**\n * Merge settings together. This routine should work for IComponentSettings types or ISlotProps\n * @param settings - settings to merge together\n */\nexport function mergeSettings(...settings) {\n return immutableMergeCore(_mergeSettingsOptions, ...settings);\n}\n/**\n * Merge collections of settings together. This can handle theme resolution or merging sets of overrides\n * @param collections - the settings collections to merge\n */\nexport function mergeSettingsCollection(...collections) {\n return immutableMergeCore(_mergeCollectionOptions, ...collections);\n}\nexport function getActiveOverrides(target, lookup) {\n const hasOverride = typeof lookup === 'function' ? lookup : (o) => lookup[o];\n return (target && target._precedence && target._precedence.filter((o) => hasOverride(o))) || [];\n}\n/**\n * Apply overrides to `target`, producing a new settings object if any need to be applied.\n *\n * `overrideLookup` is an object where keys will be looked up in the order specified by the precedence array.\n * The values inside this structure can be any type but will cause the override to apply if they are truthy\n */\nexport function resolveSettingsOverrides(target, overrideLookup) {\n let result = target;\n const { _overrides, _precedence } = target;\n if (overrideLookup && _overrides && _precedence) {\n const overrides = getActiveOverrides(target, overrideLookup);\n for (const override of overrides) {\n result = mergeSettings(result, result._overrides[override]);\n }\n }\n return result;\n}\n/**\n * Turn a settings object into a slot props object.\n * @param target - settings block to strip the settings specific information from\n */\nexport function slotPropsFromSettings(target) {\n const { _overrides, _precedence, ...slotProps } = target;\n return slotProps;\n}\n//# sourceMappingURL=Settings.js.map","import { memoize } from '@fluentui-react-native/framework-base';\nimport { getAliasTokens, getShadowTokens } from '@fluentui-react-native/theme-tokens';\nimport { mapPipelineToShadow, mapPipelineToTheme } from '@fluentui-react-native/theming-utils';\nfunction createColorAliasTokensWorker(mode) {\n const aliasTokens = getAliasTokens(mode);\n return mapPipelineToTheme(aliasTokens);\n}\nexport const createColorAliasTokens = memoize(createColorAliasTokensWorker);\nfunction createShadowAliasTokensWorker(mode) {\n const aliasTokens = getShadowTokens(mode);\n return mapPipelineToShadow(aliasTokens);\n}\nexport const createShadowAliasTokens = memoize(createShadowAliasTokensWorker);\n//# sourceMappingURL=createAliasTokens.js.map","export { default as globalTokens } from './tokens-global';\nexport { getAliasTokens, getShadowTokens } from './getTokens';\n//# sourceMappingURL=index.js.map","import hcShadowTokens from '@fluentui-react-native/design-tokens-win32/hc/tokens-shadow.json';\nimport darkAliasTokens from '@fluentui-react-native/design-tokens-windows/dark/tokens-aliases.json';\nimport darkShadowTokens from '@fluentui-react-native/design-tokens-windows/dark/tokens-shadow.json';\nimport lightAliasTokens from '@fluentui-react-native/design-tokens-windows/light/tokens-aliases.json';\nimport lightShadowTokens from '@fluentui-react-native/design-tokens-windows/light/tokens-shadow.json';\nimport { assertNever } from 'assert-never';\nimport { hcAliasTokens } from './highContrast/tokens-alias';\nexport function getAliasTokens(mode) {\n if (mode === 'light') {\n return lightAliasTokens;\n }\n else if (mode === 'dark' || mode === 'darkElevated') {\n return darkAliasTokens;\n }\n else if (mode === 'highContrast') {\n return hcAliasTokens;\n }\n else {\n assertNever(mode);\n }\n return lightAliasTokens;\n}\nexport function getShadowTokens(mode) {\n if (mode === 'light') {\n return lightShadowTokens;\n }\n else if (mode === 'dark') {\n return darkShadowTokens;\n }\n // HC mode.\n return hcShadowTokens;\n}\n//# sourceMappingURL=getTokens.js.map","import { PlatformColor } from 'react-native';\nimport aliasTokens from '@fluentui-react-native/design-tokens-win32/hc/tokens-aliases.json';\nexport const hcAliasTokens = processAliasTokens(aliasTokens);\nfunction processAliasTokens(aliasTokens) {\n for (const key in aliasTokens) {\n for (const innerKey in aliasTokens[key]) {\n const entry = aliasTokens[key][innerKey];\n if (typeof entry === 'string' && entry.includes('PlatformColor')) {\n const color = 'SystemColor' + entry.substring(14, entry.length - 1) + 'Color';\n // eslint-disable-next-line @react-native/platform-colors\n aliasTokens[key][innerKey] = PlatformColor(color);\n }\n }\n }\n return aliasTokens;\n}\n//# sourceMappingURL=tokens-alias.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assertNever = assertNever;\n/**\n * Helper function for exhaustive checks of discriminated unions.\n * https://basarat.gitbooks.io/typescript/docs/types/discriminated-unions.html\n *\n * @example\n *\n * type A = {type: 'a'};\n * type B = {type: 'b'};\n * type Union = A | B;\n *\n * function doSomething(arg: Union) {\n * if (arg.type === 'a') {\n * return something;\n * }\n *\n * if (arg.type === 'b') {\n * return somethingElse;\n * }\n *\n * // TS will error if there are other types in the union\n * // Will throw an Error when called at runtime.\n * // Use `assertNever(arg, true)` instead to fail silently.\n * return assertNever(arg);\n * }\n */\nfunction assertNever(value, errorMessageOrNoThrow) {\n if (typeof errorMessageOrNoThrow === 'string') {\n throw new Error(errorMessageOrNoThrow);\n }\n if (typeof errorMessageOrNoThrow === 'function') {\n throw new Error(errorMessageOrNoThrow(value));\n }\n if (errorMessageOrNoThrow) {\n return value;\n }\n throw new Error(\"Unhandled discriminated union member: \".concat(JSON.stringify(value)));\n}\nexports.default = assertNever;\n","import globalTokens from '@fluentui-react-native/design-tokens-windows/light/tokens-global.json';\nexport default globalTokens;\n//# sourceMappingURL=tokens-global.js.map","import { Appearance } from 'react-native';\nimport { AppTheme } from 'react-native-windows';\nexport function getCurrentAppearance(appearance, fallback) {\n if (appearance === undefined) {\n return fallback;\n }\n const isDynamic = appearance === 'dynamic';\n if (isDynamic) {\n if (!AppTheme || !Appearance) {\n return fallback;\n }\n if (AppTheme.isHighContrast) {\n return 'highContrast';\n }\n else {\n return Appearance.getColorScheme(); // light or dark\n }\n }\n else {\n return appearance;\n }\n}\n//# sourceMappingURL=getCurrentAppearance.windows.js.map","import { AppTheme } from 'react-native-windows';\n/**\n * Used to set isHighContrast state for FURN\n * Specifically for macOS, where you cannot ask for HC state,\n * so you have to store the value to keep track of it.\n *\n * @platform macOS\n * @param isHighContrast New value of high contrast state\n */\nexport function setIsHighContrast(_isHighContrast) {\n // noop, stub for windows;\n}\n/**\n * Gives the state of high contrast in FURN.\n * On win32, the t parameter is required, but on other platforms\n * it's not needed.\n *\n * @param t The Theme object. Required on win32.\n */\nexport function isHighContrast(_t) {\n return AppTheme.isHighContrast;\n}\n//# sourceMappingURL=isHighContrast.windows.js.map","export function mapPipelineToTheme(pipelineOutput) {\n return {\n neutralForeground1: pipelineOutput.neutralForeground1.rest,\n neutralForeground1Hover: pipelineOutput.neutralForeground1.hover,\n neutralForeground1Pressed: pipelineOutput.neutralForeground1.pressed,\n neutralForeground1Selected: pipelineOutput.neutralForeground1.selected,\n neutralForeground2: pipelineOutput.neutralForeground2.rest,\n neutralForeground2Hover: pipelineOutput.neutralForeground2.hover,\n neutralForeground2Pressed: pipelineOutput.neutralForeground2.pressed,\n neutralForeground2Selected: pipelineOutput.neutralForeground2.selected,\n neutralForeground2BrandHover: pipelineOutput.neutralForeground2.brandHover,\n neutralForeground2BrandPressed: pipelineOutput.neutralForeground2.brandPressed,\n neutralForeground2BrandSelected: pipelineOutput.neutralForeground2.brandSelected,\n neutralForeground3: pipelineOutput.neutralForeground3.rest,\n neutralForeground3Hover: pipelineOutput.neutralForeground3.hover,\n neutralForeground3Pressed: pipelineOutput.neutralForeground3.pressed,\n neutralForeground3Selected: pipelineOutput.neutralForeground3.selected,\n neutralForeground3BrandHover: pipelineOutput.neutralForeground3.brandHover,\n neutralForeground3BrandPressed: pipelineOutput.neutralForeground3.brandPressed,\n neutralForeground3BrandSelected: pipelineOutput.neutralForeground3.brandSelected,\n neutralForeground4: pipelineOutput.neutralForeground4.rest,\n neutralForegroundDisabled: pipelineOutput.neutralForegroundDisabled.rest,\n brandForegroundLink: pipelineOutput.brandForegroundLink.rest,\n brandForegroundLinkHover: pipelineOutput.brandForegroundLink.hover,\n brandForegroundLinkPressed: pipelineOutput.brandForegroundLink.pressed,\n brandForegroundLinkSelected: pipelineOutput.brandForegroundLink.selected,\n compoundBrandForeground1: pipelineOutput.compoundBrandForeground1.rest,\n compoundBrandForeground1Hover: pipelineOutput.compoundBrandForeground1.hover,\n compoundBrandForeground1Pressed: pipelineOutput.compoundBrandForeground1.pressed,\n brandForeground1: pipelineOutput.brandForeground1.rest,\n brandForeground1Disabled: pipelineOutput.brandForeground1.disabled,\n brandForeground1Pressed: pipelineOutput.brandForeground1.pressed,\n brandForeground2: pipelineOutput.brandForeground2.rest,\n neutralForegroundInverted: pipelineOutput.neutralForegroundInverted.rest,\n neutralForegroundOnBrand: pipelineOutput.neutralForegroundOnBrand.rest,\n neutralForegroundOnBrandHover: pipelineOutput.neutralForegroundOnBrand.hover,\n neutralForegroundOnBrandPressed: pipelineOutput.neutralForegroundOnBrand.pressed,\n neutralForegroundOnBrandSelected: pipelineOutput.neutralForegroundOnBrand.selected,\n neutralForegroundInvertedLink: pipelineOutput.neutralForegroundInvertedLink.rest,\n neutralForegroundInvertedLinkHover: pipelineOutput.neutralForegroundInvertedLink.hover,\n neutralForegroundInvertedLinkPressed: pipelineOutput.neutralForegroundInvertedLink.pressed,\n neutralForegroundInvertedLinkSelected: pipelineOutput.neutralForegroundInvertedLink.selected,\n neutralBackground1: pipelineOutput.neutralBackground1.rest,\n neutralBackground1Hover: pipelineOutput.neutralBackground1.hover,\n neutralBackground1Pressed: pipelineOutput.neutralBackground1.pressed,\n neutralBackground1Selected: pipelineOutput.neutralBackground1.selected,\n neutralBackground2: pipelineOutput.neutralBackground2.rest,\n neutralBackground2Hover: pipelineOutput.neutralBackground2.hover,\n neutralBackground2Pressed: pipelineOutput.neutralBackground2.pressed,\n neutralBackground2Selected: pipelineOutput.neutralBackground2.selected,\n neutralBackground3: pipelineOutput.neutralBackground3.rest,\n neutralBackground3Hover: pipelineOutput.neutralBackground3.hover,\n neutralBackground3Pressed: pipelineOutput.neutralBackground3.pressed,\n neutralBackground3Selected: pipelineOutput.neutralBackground3.selected,\n neutralBackground4: pipelineOutput.neutralBackground4.rest,\n neutralBackground4Hover: pipelineOutput.neutralBackground4.hover,\n neutralBackground4Pressed: pipelineOutput.neutralBackground4.pressed,\n neutralBackground4Selected: pipelineOutput.neutralBackground4.selected,\n neutralBackground5: pipelineOutput.neutralBackground5.rest,\n neutralBackground5Hover: pipelineOutput.neutralBackground5.hover,\n neutralBackground5Pressed: pipelineOutput.neutralBackground5.pressed,\n neutralBackground5Selected: pipelineOutput.neutralBackground5.selected,\n neutralBackground6: pipelineOutput.neutralBackground6.rest,\n neutralBackgroundInverted: pipelineOutput.neutralBackgroundInverted.rest,\n subtleBackground: pipelineOutput.subtleBackground.rest,\n subtleBackgroundHover: pipelineOutput.subtleBackground.hover,\n subtleBackgroundPressed: pipelineOutput.subtleBackground.pressed,\n subtleBackgroundSelected: pipelineOutput.subtleBackground.selected,\n transparentBackground: pipelineOutput.transparentBackground.rest,\n transparentBackgroundHover: pipelineOutput.transparentBackground.hover,\n transparentBackgroundPressed: pipelineOutput.transparentBackground.pressed,\n transparentBackgroundSelected: pipelineOutput.transparentBackground.selected,\n neutralBackgroundDisabled: pipelineOutput.neutralBackgroundDisabled.rest,\n neutralStencil1: pipelineOutput.neutralStencil1.rest,\n neutralStencil2: pipelineOutput.neutralStencil2.rest,\n brandBackground: pipelineOutput.brandBackground.rest,\n brandBackgroundHover: pipelineOutput.brandBackground.hover,\n brandBackgroundPressed: pipelineOutput.brandBackground.pressed,\n brandBackgroundDisabled: pipelineOutput.brandBackground.disabled,\n brandBackgroundSelected: pipelineOutput.brandBackground.selected,\n compoundBrandBackground1: pipelineOutput.compoundBrandBackground1.rest,\n compoundBrandBackground1Hover: pipelineOutput.compoundBrandBackground1.hover,\n compoundBrandBackground1Pressed: pipelineOutput.compoundBrandBackground1.pressed,\n brandBackgroundStatic: pipelineOutput.brandBackgroundStatic.rest,\n brandBackground2: pipelineOutput.brandBackground2.rest,\n neutralStrokeAccessible: pipelineOutput.neutralStrokeAccessible.rest,\n neutralStrokeAccessibleHover: pipelineOutput.neutralStrokeAccessible.hover,\n neutralStrokeAccessiblePressed: pipelineOutput.neutralStrokeAccessible.pressed,\n neutralStrokeAccessibleSelected: pipelineOutput.neutralStrokeAccessible.selected,\n neutralStroke1: pipelineOutput.neutralStroke1.rest,\n neutralStroke1Hover: pipelineOutput.neutralStroke1.hover,\n neutralStroke1Pressed: pipelineOutput.neutralStroke1.pressed,\n neutralStroke1Selected: pipelineOutput.neutralStroke1.selected,\n neutralStroke2: pipelineOutput.neutralStroke2.rest,\n neutralStroke3: pipelineOutput.neutralStroke3.rest,\n brandStroke1: pipelineOutput.brandStroke1.rest,\n brandStroke2: pipelineOutput.brandStroke2.rest,\n compoundBrandStroke1: pipelineOutput.compoundBrandStroke1.rest,\n compoundBrandStroke1Hover: pipelineOutput.compoundBrandStroke1.hover,\n compoundBrandStroke1Pressed: pipelineOutput.compoundBrandStroke1.pressed,\n neutralStrokeDisabled: pipelineOutput.neutralStrokeDisabled.rest,\n transparentStroke: pipelineOutput.transparentStroke.rest,\n transparentStrokeInteractive: pipelineOutput.transparentStroke.hover,\n transparentStrokeDisabled: pipelineOutput.transparentStroke.disabled,\n strokeFocus1: pipelineOutput.strokeFocus1.rest,\n strokeFocus2: pipelineOutput.strokeFocus2.rest,\n dangerBackground1: pipelineOutput.dangerBackground1.rest,\n dangerBackground2: pipelineOutput.dangerBackground2.rest,\n dangerBackground3: pipelineOutput.dangerBackground3.rest,\n dangerForeground1: pipelineOutput.dangerForeground1.rest,\n dangerForeground2: pipelineOutput.dangerForeground2.rest,\n dangerForeground3: pipelineOutput.dangerForeground3.rest,\n dangerForegroundInverted: pipelineOutput.dangerForegroundInverted.rest,\n dangerBorderActive: pipelineOutput.dangerBorderActive.rest,\n dangerBorder1: pipelineOutput.dangerBorder1.rest,\n dangerBorder2: pipelineOutput.dangerBorder2.rest,\n successBackground1: pipelineOutput.successBackground1.rest,\n successBackground2: pipelineOutput.successBackground2.rest,\n successBackground3: pipelineOutput.successBackground3.rest,\n successForeground1: pipelineOutput.successForeground1.rest,\n successForeground2: pipelineOutput.successForeground2.rest,\n successForeground3: pipelineOutput.successForeground3.rest,\n successForegroundInverted: pipelineOutput.successForegroundInverted.rest,\n successBorderActive: pipelineOutput.successBorderActive.rest,\n successBorder1: pipelineOutput.successBorder1.rest,\n successBorder2: pipelineOutput.successBorder2.rest,\n warningBackground1: pipelineOutput.warningBackground1.rest,\n warningBackground2: pipelineOutput.warningBackground2.rest,\n warningBackground3: pipelineOutput.warningBackground3.rest,\n warningForeground1: pipelineOutput.warningForeground1.rest,\n warningForeground2: pipelineOutput.warningForeground2.rest,\n warningForeground3: pipelineOutput.warningForeground3.rest,\n warningForegroundInverted: pipelineOutput.warningForegroundInverted.rest,\n warningBorderActive: pipelineOutput.warningBorderActive.rest,\n warningBorder1: pipelineOutput.warningBorder1.rest,\n warningBorder2: pipelineOutput.warningBorder2.rest,\n severeBackground1: pipelineOutput.severeBackground1.rest,\n severeBackground2: pipelineOutput.severeBackground2.rest,\n severeBackground3: pipelineOutput.severeBackground3.rest,\n severeForeground1: pipelineOutput.severeForeground1.rest,\n severeForeground2: pipelineOutput.severeForeground2.rest,\n severeForeground3: pipelineOutput.severeForeground3.rest,\n severeBorderActive: pipelineOutput.severeBorderActive.rest,\n severeBorder1: pipelineOutput.severeBorder1.rest,\n severeBorder2: pipelineOutput.severeBorder2.rest,\n outofofficeBackground1: pipelineOutput.outofofficeBackground1.rest,\n outofofficeBackground2: pipelineOutput.outofofficeBackground2.rest,\n outofofficeBackground3: pipelineOutput.outofofficeBackground3.rest,\n outofofficeForeground1: pipelineOutput.outofofficeForeground1.rest,\n outofofficeForeground2: pipelineOutput.outofofficeForeground2.rest,\n outofofficeForeground3: pipelineOutput.outofofficeForeground3.rest,\n outofofficeBorderActive: pipelineOutput.outofofficeBorderActive.rest,\n outofofficeBorder1: pipelineOutput.outofofficeBorder1.rest,\n outofofficeBorder2: pipelineOutput.outofofficeBorder2.rest,\n };\n}\nexport function mapFontPipelineToTheme(pipelineOutput) {\n return {\n caption1: createVariantValue(pipelineOutput.caption1),\n body1: createVariantValue(pipelineOutput.body1),\n body1Strong: createVariantValue(pipelineOutput.body1Strong),\n body2: createVariantValue(pipelineOutput.body2),\n body2Strong: createVariantValue(pipelineOutput.body2Strong),\n subtitle1: createVariantValue(pipelineOutput.subtitle1),\n subtitle1Strong: createVariantValue(pipelineOutput.subtitle1Strong),\n subtitle2: createVariantValue(pipelineOutput.subtitle2),\n subtitle2Strong: createVariantValue(pipelineOutput.subtitle2Strong),\n title1: createVariantValue(pipelineOutput.title1),\n title1Strong: createVariantValue(pipelineOutput.title1Strong),\n largeTitle: createVariantValue(pipelineOutput.largeTitle),\n display: createVariantValue(pipelineOutput.display),\n };\n}\nfunction createVariantValue(variant) {\n return { face: 'primary', size: variant.fontSize, weight: variant.fontWeight };\n}\n//# sourceMappingURL=mapPipelineToTheme.js.map","/**\n * Given design token pipeline output for shadow tokens, creates an object that can be used in Theme object.\n * @param pipelineOutputShadow Assumes that this is the object in the tokens-shadow.json file of the pipeline output\n * @returns Object containing shadow tokens\n */\nexport function mapPipelineToShadow(pipelineOutputShadow) {\n return {\n shadow2: { ambient: pipelineOutputShadow.shadow2[0], key: pipelineOutputShadow.shadow2[1] },\n shadow4: { ambient: pipelineOutputShadow.shadow4[0], key: pipelineOutputShadow.shadow4[1] },\n shadow8: { ambient: pipelineOutputShadow.shadow8[0], key: pipelineOutputShadow.shadow8[1] },\n shadow16: { ambient: pipelineOutputShadow.shadow16[0], key: pipelineOutputShadow.shadow16[1] },\n shadow28: { ambient: pipelineOutputShadow.shadow28[0], key: pipelineOutputShadow.shadow28[1] },\n shadow64: { ambient: pipelineOutputShadow.shadow64[0], key: pipelineOutputShadow.shadow64[1] },\n shadow2brand: { ambient: pipelineOutputShadow.shadowBrand2[0], key: pipelineOutputShadow.shadowBrand2[1] },\n shadow4brand: { ambient: pipelineOutputShadow.shadowBrand4[0], key: pipelineOutputShadow.shadowBrand4[1] },\n shadow8brand: { ambient: pipelineOutputShadow.shadowBrand8[0], key: pipelineOutputShadow.shadowBrand8[1] },\n shadow16brand: { ambient: pipelineOutputShadow.shadowBrand16[0], key: pipelineOutputShadow.shadowBrand16[1] },\n shadow28brand: { ambient: pipelineOutputShadow.shadowBrand28[0], key: pipelineOutputShadow.shadowBrand28[1] },\n shadow64brand: { ambient: pipelineOutputShadow.shadowBrand64[0], key: pipelineOutputShadow.shadowBrand64[1] },\n };\n}\n//# sourceMappingURL=mapPipelineToShadow.js.map","import { Appearance } from 'react-native';\nimport { ThemeReference } from '@fluentui-react-native/theme';\nimport { getCurrentAppearance } from '@fluentui-react-native/theming-utils';\nimport assertNever from 'assert-never';\nimport { defaultFluentDarkTheme, defaultFluentHighConstrastTheme, defaultFluentTheme } from './defaultTheme';\nexport function createDefaultTheme(options = {}) {\n const themeRef = new ThemeReference({}, () => {\n const current = getCurrentAppearance(options.appearance, options.defaultAppearance || 'light');\n switch (current) {\n case 'light':\n return defaultFluentTheme;\n case 'dark':\n return defaultFluentDarkTheme;\n case 'darkElevated':\n return defaultFluentDarkTheme;\n case 'highContrast':\n return defaultFluentHighConstrastTheme;\n default:\n assertNever(current);\n }\n });\n if (Appearance && options.appearance === 'dynamic') {\n Appearance.addChangeListener(() => {\n themeRef.invalidate();\n });\n }\n return themeRef;\n}\n//# sourceMappingURL=createDefaultTheme.js.map","import * as React from 'react';\nimport { ThemeContext } from '@fluentui-react-native/theme-types';\nexport const ThemeProvider = (props) => {\n const { theme: themeRef, children } = props;\n const [theme, setThemeState] = React.useState(() => themeRef.theme);\n React.useEffect(() => {\n // If the theme passed by prop is different, we directly update state. We also add a listener to update state if there's a change within the passed theme.\n setThemeState(themeRef.theme);\n const onInvalidate = () => {\n setThemeState(themeRef.theme);\n };\n themeRef.addOnThemeChanged(onInvalidate);\n return () => {\n themeRef.removeOnThemeChanged(onInvalidate);\n };\n }, [themeRef, setThemeState]);\n return React.createElement(ThemeContext.Provider, { value: theme }, children);\n};\n//# sourceMappingURL=ThemeProvider.js.map","import { mergeTheme } from './mergeTheme';\n/**\n * Provides a wrapper around a theme object, allowing the ability to create a theme from another theme, to listen to theme\n * changes, and to update the theme.\n *\n * This is the object that is designed to be handed to a theme provider, such that it can listen for changes and set the\n * value into context again.\n */\nexport class ThemeReference {\n themeData = undefined;\n recipes;\n listeners = [];\n getParent;\n parentRef = undefined;\n /**\n * Create the theme reference, either as a plain wrapper, or a wrapper with additional transforms and/or merging\n * @param base - can be either another ThemeReference object, or a fully specified theme\n * @param recipes - any number of recipes to be applied on top of the theme object\n */\n constructor(base, ...recipes) {\n this.listeners = [];\n this.recipes = recipes;\n this.parentRef = base instanceof ThemeReference ? base : undefined;\n if (this.parentRef) {\n const onChanged = () => {\n this.invalidate();\n };\n this.parentRef.addOnThemeChanged(onChanged);\n }\n this.getParent = () => (this.parentRef ? this.parentRef.theme : base);\n }\n /**\n * get the internal theme object, which will be created on-demand\n */\n get theme() {\n if (!this.themeData) {\n let theme = this.getParent();\n for (const recipe of this.recipes) {\n theme = mergeTheme(theme, typeof recipe === 'function' ? recipe(theme) : recipe);\n }\n this.themeData = theme;\n }\n return this.themeData;\n }\n /**\n * register a new listener for theme changes\n */\n addOnThemeChanged(listener) {\n this.listeners.push(listener);\n }\n /**\n * remove a previously registered listener\n */\n removeOnThemeChanged(listener) {\n this.listeners = this.listeners.filter((v) => v !== listener);\n }\n /**\n * invalidate the theme, causing it to be regenerated. This can happen via notifications from the parent, but\n * can also be called directly if a functional transform needs to be re-run\n */\n invalidate() {\n this.themeData = undefined;\n for (const listener of this.listeners) {\n listener();\n }\n }\n /**\n * update the recipes (but not the base) in the theme. This will also implicitly invalidate the theme\n * since the recipes changed.\n */\n update(...recipes) {\n this.recipes = recipes || [];\n this.invalidate();\n }\n}\n//# sourceMappingURL=themeReference.js.map","import { immutableMerge } from '@fluentui-react-native/framework-base';\nexport function mergeTheme(base, partial) {\n return immutableMerge(base, partial);\n}\n//# sourceMappingURL=mergeTheme.js.map","import { Platform } from 'react-native';\nimport { globalTokens } from '@fluentui-react-native/theme-tokens';\nimport { createShadowAliasTokens } from './createAliasTokens';\nimport { getStockWebHCPalette } from './defaultColors';\nimport { getStockWebPalette, getStockWebDarkPalette } from './stockWebPalette';\nfunction _defaultTypography() {\n const defaultsDict = {\n sizes: {\n caption: globalTokens.font.size100,\n secondary: globalTokens.font.size200,\n body: globalTokens.font.size300,\n subheader: globalTokens.font.size400,\n header: globalTokens.font.size500,\n hero: globalTokens.font.size700,\n heroLarge: globalTokens.font.size900,\n },\n weights: {\n regular: globalTokens.font.weight.regular,\n semiBold: globalTokens.font.weight.semibold,\n },\n families: {\n primary: 'Segoe UI',\n secondary: 'Segoe UI',\n cursive: 'System',\n monospace: 'System',\n numeric: 'System',\n sansSerif: 'System',\n serif: 'System',\n },\n variants: {\n captionStandard: { face: 'primary', size: 'caption', weight: 'regular' },\n secondaryStandard: { face: 'primary', size: 'secondary', weight: 'regular' },\n secondarySemibold: { face: 'primary', size: 'secondary', weight: 'semiBold' },\n bodyStandard: { face: 'primary', size: 'body', weight: 'regular' },\n bodySemibold: { face: 'primary', size: 'body', weight: 'semiBold' },\n subheaderStandard: { face: 'primary', size: 'subheader', weight: 'regular' },\n subheaderSemibold: { face: 'primary', size: 'subheader', weight: 'semiBold' },\n headerStandard: { face: 'primary', size: 'header', weight: 'regular' },\n headerSemibold: { face: 'primary', size: 'header', weight: 'semiBold' },\n heroStandard: { face: 'primary', size: 'hero', weight: 'regular' },\n heroSemibold: { face: 'primary', size: 'hero', weight: 'semiBold' },\n heroLargeStandard: { face: 'primary', size: 'heroLarge', weight: 'regular' },\n heroLargeSemibold: { face: 'primary', size: 'heroLarge', weight: 'semiBold' },\n // mocked out\n caption1: { face: 'primary', size: 'caption', weight: 'regular' },\n caption1Strong: { face: 'primary', size: 'caption', weight: 'semiBold' },\n body1: { face: 'primary', size: 'secondary', weight: 'regular' },\n body1Strong: { face: 'primary', size: 'secondary', weight: 'semiBold' },\n body2: { face: 'primary', size: 'body', weight: 'regular' },\n body2Strong: { face: 'primary', size: 'body', weight: 'semiBold' },\n subtitle1: { face: 'primary', size: 'header', weight: 'regular' },\n subtitle1Strong: { face: 'primary', size: 'header', weight: 'semiBold' },\n subtitle2: { face: 'primary', size: 'subheader', weight: 'regular' },\n subtitle2Strong: { face: 'primary', size: 'subheader', weight: 'semiBold' },\n title1: { face: 'primary', size: 'hero', weight: 'regular' },\n title1Strong: { face: 'primary', size: 'hero', weight: 'semiBold' },\n largeTitle: { face: 'primary', size: 'heroLarge', weight: 'regular' },\n display: { face: 'primary', size: 'heroLarge', weight: 'semiBold' },\n },\n };\n if (Platform.OS === 'macos' || Platform.OS === 'ios') {\n const familiesDictApple = {\n primary: 'System',\n secondary: 'System',\n cursive: 'System',\n monospace: 'System',\n numeric: 'System',\n sansSerif: 'System',\n serif: 'System',\n };\n defaultsDict.families = familiesDictApple;\n }\n return defaultsDict;\n}\nexport function defaultSpacing() {\n return { s2: '4px', s1: '8px', m: '16px', l1: '20px', l2: '32px' };\n}\nexport const defaultFluentTheme = {\n colors: getStockWebPalette(),\n typography: _defaultTypography(),\n spacing: defaultSpacing(),\n shadows: createShadowAliasTokens('light'),\n components: {},\n host: { appearance: 'light' },\n};\nexport const defaultFluentDarkTheme = {\n colors: getStockWebDarkPalette(),\n typography: defaultFluentTheme.typography,\n shadows: createShadowAliasTokens('dark'),\n spacing: defaultFluentTheme.spacing,\n components: {},\n host: { appearance: 'dark' },\n};\nexport const defaultFluentHighConstrastTheme = {\n colors: getStockWebHCPalette(),\n typography: defaultFluentTheme.typography,\n shadows: createShadowAliasTokens('highContrast'),\n spacing: defaultFluentTheme.spacing,\n components: {},\n host: { appearance: 'highContrast' },\n};\n//# sourceMappingURL=defaultTheme.js.map","/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { globalTokens } from '@fluentui-react-native/theme-tokens';\nimport { createColorAliasTokens } from './createAliasTokens';\nimport { paletteFromFabricColors } from './defaultColors';\nexport function getStockWebPalette() {\n return {\n ...paletteFromFabricColors({\n black: globalTokens.color.black,\n neutralDark: '#201f1e',\n neutralPrimary: '#323130',\n neutralPrimaryAlt: '#3b3a39',\n neutralSecondary: '#605e5c',\n neutralSecondaryAlt: '#8a8886',\n neutralTertiary: '#a19f9d',\n neutralTertiaryAlt: '#c8c6c4',\n neutralQuaternary: '#d2d0ce',\n neutralQuaternaryAlt: '#e1dfdd',\n neutralLight: '#edebe9',\n neutralLighter: '#f3f2f1',\n neutralLighterAlt: '#faf9f8',\n white: globalTokens.color.white,\n // Shared Colors\n red: globalTokens.color.red.primary,\n redDark: globalTokens.color.burgundy.primary,\n // @ts-ignore\n accent: globalTokens.color.brand80,\n blackTranslucent40: 'rgba(0,0,0,.4)',\n // Colors to be deprecated\n // @ts-ignore\n themeDarker: globalTokens.color.brand40,\n // @ts-ignore\n themeDark: globalTokens.color.brand60,\n // @ts-ignore\n themeDarkAlt: globalTokens.color.brand70,\n // @ts-ignore\n themePrimary: globalTokens.color.brand80,\n // @ts-ignore\n themeSecondary: globalTokens.color.brand90,\n // @ts-ignore\n themeTertiary: globalTokens.color.brand120,\n // @ts-ignore\n themeLight: globalTokens.color.brand140,\n // @ts-ignore\n themeLighter: globalTokens.color.brand150,\n // @ts-ignore\n themeLighterAlt: globalTokens.color.brand160,\n }),\n ...createColorAliasTokens('light'),\n };\n}\nexport function getStockWebDarkPalette() {\n return {\n ...paletteFromFabricColors({\n // colors taken from fluentui DarkCustomizations.ts\n black: globalTokens.color.white,\n neutralDark: '#faf9f8',\n neutralPrimary: '#f3f2f1',\n neutralPrimaryAlt: '#c8c6c4',\n neutralSecondary: '#a19f9d',\n neutralSecondaryAlt: '#979693',\n neutralTertiary: '#797775',\n neutralTertiaryAlt: '#484644',\n neutralQuaternary: '#3b3a39',\n neutralQuaternaryAlt: '#323130',\n neutralLight: '#292827',\n neutralLighter: '#252423',\n neutralLighterAlt: '#201f1e',\n white: '#1b1a19',\n red: globalTokens.color.red.primary,\n // @ts-ignore\n accent: globalTokens.color.brand40,\n redDark: '#f1707b',\n blackTranslucent40: 'rgba(0,0,0,.4)',\n // Colors to be deprecated\n // @ts-ignore\n themeDarker: globalTokens.color.brand110,\n // @ts-ignore\n themeDark: globalTokens.color.brand100,\n // @ts-ignore\n themeDarkAlt: globalTokens.color.brand100,\n // @ts-ignore\n themePrimary: globalTokens.color.brand90,\n // @ts-ignore\n themeSecondary: globalTokens.color.brand90,\n // @ts-ignore\n themeTertiary: globalTokens.color.brand60,\n // @ts-ignore\n themeLight: globalTokens.color.brand50,\n // @ts-ignore\n themeLighter: globalTokens.color.brand40,\n // @ts-ignore\n themeLighterAlt: globalTokens.color.brand30,\n }, true),\n ...createColorAliasTokens('dark'),\n };\n}\n//# sourceMappingURL=stockWebPalette.js.map","import { createColorAliasTokens } from './createAliasTokens';\n/**\n * Generate a palette from a set of fabric web colors, like those output from the theme designer.\n *\n * @param palette - fabric web palette definition. This allows initializing our color values in the same\n * manner the fabric web does it\n */\nexport function paletteFromFabricColors(p, isInverted) {\n return {\n background: p.white,\n bodyStandoutBackground: p.neutralLighterAlt,\n bodyFrameBackground: p.white,\n bodyFrameDivider: p.neutralLight,\n bodyText: p.neutralPrimary,\n bodyTextChecked: p.black,\n subText: p.neutralSecondary,\n bodyDivider: p.neutralLight,\n disabledBackground: isInverted ? p.neutralQuaternaryAlt : p.neutralLighter,\n disabledText: p.neutralTertiary,\n disabledBodyText: p.neutralTertiary,\n focusBorder: p.neutralSecondary,\n variantBorder: p.neutralLight,\n errorText: !isInverted ? p.redDark : '#ff5f5f',\n inputBorder: p.neutralTertiary,\n inputBackground: p.white,\n inputFocusBorderAlt: p.themePrimary,\n inputText: p.neutralPrimary,\n inputPlaceholderText: p.neutralSecondary,\n buttonBackground: p.neutralLighter,\n buttonBackgroundChecked: p.neutralTertiaryAlt,\n buttonBackgroundHovered: p.neutralLight,\n buttonBackgroundPressed: p.neutralLight,\n buttonBackgroundDisabled: p.neutralLighter,\n buttonBorder: p.neutralSecondaryAlt,\n buttonText: isInverted ? p.black : p.neutralPrimary,\n buttonTextHovered: isInverted ? p.neutralPrimary : p.neutralDark,\n buttonTextChecked: p.neutralDark,\n buttonTextPressed: p.neutralDark,\n buttonTextDisabled: p.neutralTertiary,\n buttonBorderDisabled: p.neutralLighter,\n buttonBorderFocused: p.neutralSecondaryAlt,\n primaryButtonBackground: p.themePrimary,\n primaryButtonBackgroundHovered: p.themeDarkAlt,\n primaryButtonBackgroundPressed: p.themeDark,\n primaryButtonBackgroundDisabled: p.neutralLighter,\n primaryButtonBorder: 'transparent',\n primaryButtonBorderFocused: 'transparent',\n primaryButtonText: p.white,\n primaryButtonTextHovered: p.white,\n primaryButtonTextPressed: p.white,\n primaryButtonTextDisabled: p.neutralQuaternary,\n accentButtonBackground: p.accent,\n menuBackground: isInverted ? p.neutralLighter : p.white,\n menuDivider: isInverted ? p.neutralTertiaryAlt : p.neutralTertiaryAlt,\n menuIcon: isInverted ? p.themeDarkAlt : p.themePrimary,\n menuItemBackgroundHovered: isInverted ? p.neutralQuaternaryAlt : p.neutralLighter,\n menuItemBackgroundPressed: isInverted ? p.neutralQuaternary : p.neutralLight,\n menuItemText: p.neutralPrimary,\n menuItemTextHovered: p.neutralDark,\n listHeaderBackgroundHovered: p.neutralLighter,\n listHeaderBackgroundPressed: p.neutralLight,\n actionLink: p.neutralPrimary,\n link: p.themePrimary,\n linkHovered: p.themeDarker,\n linkPressed: p.themeDark,\n // Control Color Tokens\n defaultBackground: p.neutralLighter,\n defaultBorder: p.neutralSecondaryAlt,\n defaultContent: isInverted ? p.black : p.neutralPrimary,\n defaultIcon: isInverted ? p.black : p.neutralPrimary,\n defaultHoveredBackground: p.neutralLight,\n defaultHoveredBorder: p.neutralSecondaryAlt,\n defaultHoveredContent: isInverted ? p.neutralPrimary : p.neutralDark,\n defaultHoveredIcon: isInverted ? p.neutralPrimary : p.neutralDark,\n defaultFocusedBackground: p.neutralLight,\n defaultFocusedBorder: p.neutralSecondaryAlt,\n defaultFocusedContent: isInverted ? p.neutralPrimary : p.neutralDark,\n defaultFocusedIcon: isInverted ? p.neutralPrimary : p.neutralDark,\n defaultPressedBackground: p.neutralLight,\n defaultPressedBorder: p.neutralSecondaryAlt,\n defaultPressedContent: p.neutralDark,\n defaultPressedIcon: p.neutralDark,\n defaultDisabledBackground: p.neutralLighter,\n defaultDisabledBorder: p.neutralLighter,\n defaultDisabledContent: p.neutralTertiary,\n defaultDisabledIcon: p.neutralTertiary,\n ghostBackground: p.white,\n ghostBorder: p.white,\n ghostContent: p.neutralPrimary,\n ghostIcon: p.neutralPrimary,\n ghostHoveredBackground: p.neutralLighter,\n ghostHoveredBorder: p.neutralLighter,\n ghostHoveredContent: p.neutralDark,\n ghostHoveredIcon: p.neutralDark,\n ghostFocusedBackground: p.neutralLighter,\n ghostFocusedBorder: p.neutralSecondaryAlt,\n ghostFocusedContent: p.neutralDark,\n ghostFocusedIcon: p.neutralDark,\n ghostPressedBackground: p.neutralLight,\n ghostPressedBorder: p.neutralLight,\n ghostPressedContent: p.neutralDark,\n ghostPressedIcon: p.neutralDark,\n ghostDisabledBackground: p.white,\n ghostDisabledBorder: p.white,\n ghostDisabledContent: p.neutralTertiary,\n ghostDisabledIcon: p.neutralTertiary,\n brandedBackground: p.themePrimary,\n brandedDisabledBorder: p.neutralLighter,\n defaultCheckedBackground: p.neutralTertiaryAlt,\n defaultCheckedContent: p.neutralDark,\n defaultCheckedHoveredBackground: p.neutralLight,\n defaultCheckedHoveredContent: isInverted ? p.neutralPrimary : p.neutralDark,\n ghostCheckedBackground: p.neutralLight,\n ghostCheckedContent: p.black,\n ghostCheckedHoveredBackground: p.neutralLighter,\n ghostCheckedHoveredContent: p.neutralDark,\n ghostCheckedHoveredBorder: p.neutralDark,\n ghostSecondaryContent: p.neutralSecondary,\n ghostFocusedSecondaryContent: p.neutralSecondary,\n ghostHoveredSecondaryContent: p.neutralSecondary,\n ghostPressedSecondaryContent: p.neutralSecondary,\n brandedSecondaryContent: p.neutralLighterAlt,\n brandedFocusedSecondaryContent: p.neutralLighterAlt,\n brandedHoveredSecondaryContent: p.neutralLighterAlt,\n brandedPressedSecondaryContent: p.neutralLighterAlt,\n defaultHoveredSecondaryContent: p.neutralTertiary,\n defaultPressedSecondaryContent: p.neutralTertiary,\n checkmarkColor: p.white,\n checkboxBackground: p.themePrimary,\n checkboxBackgroundDisabled: p.neutralLighter,\n checkboxBorderColor: p.neutralSecondaryAlt,\n personaActivityRing: p.white,\n personaActivityGlow: p.themePrimary,\n };\n}\nexport function getStockWebHCPalette() {\n return {\n background: '#000000',\n bodyStandoutBackground: '#000000',\n bodyFrameBackground: '#000000',\n bodyFrameDivider: '#000000',\n bodyText: '#ffffff',\n bodyTextChecked: '#000000',\n subText: '#ffffff',\n bodyDivider: '#ffffff',\n disabledBackground: '#000000',\n disabledText: '#3ff23f',\n disabledBodyText: '#3ff23f',\n focusBorder: '#ffffff',\n variantBorder: '#ffffff',\n errorText: '#ffffff',\n inputBorder: '#ffffff',\n inputBackground: '#000000',\n inputFocusBorderAlt: '#ffffff',\n inputText: '#ffffff',\n inputPlaceholderText: '#ffffff',\n buttonBackground: '#000000',\n buttonBackgroundChecked: '#1aebff',\n buttonBackgroundHovered: '#1aebff',\n buttonBackgroundPressed: '#1aebff',\n buttonBackgroundDisabled: '#000000',\n buttonBorder: '#ffffff',\n buttonText: '#ffffff',\n buttonTextHovered: '#000000',\n buttonTextChecked: '#000000',\n buttonTextPressed: '#000000',\n buttonTextDisabled: '#3ff23f',\n buttonBorderDisabled: '#3ff23f',\n buttonBorderFocused: '#ffffff',\n primaryButtonBackground: '#000000',\n primaryButtonBackgroundHovered: '#1aebff',\n primaryButtonBackgroundPressed: '#1aebff',\n primaryButtonBackgroundDisabled: '#000000',\n primaryButtonBorder: '#ffffff',\n primaryButtonBorderFocused: '#ffffff',\n primaryButtonText: '#ffffff',\n primaryButtonTextHovered: '#000000',\n primaryButtonTextPressed: '#000000',\n primaryButtonTextDisabled: '#3ff23f',\n accentButtonBackground: '#000000',\n menuBackground: '#000000',\n menuDivider: '#ffffff',\n menuIcon: '#ffffff',\n menuItemBackgroundHovered: '#1aebff',\n menuItemBackgroundPressed: '#1aebff',\n menuItemText: '#ffffff',\n menuItemTextHovered: '#000000',\n listHeaderBackgroundHovered: '#1aebff',\n listHeaderBackgroundPressed: '#1aebff',\n actionLink: '#ffff00',\n link: '#ffff00',\n linkHovered: '#ffffff',\n linkPressed: '#ffffff',\n // Control Color Tokens\n defaultBackground: '#000000',\n defaultBorder: '#ffffff',\n defaultContent: '#ffffff',\n defaultIcon: '#ffffff',\n defaultHoveredBackground: '#1aebff',\n defaultHoveredBorder: '#1aebff',\n defaultHoveredContent: '#000000',\n defaultHoveredIcon: '#000000',\n defaultFocusedBackground: '#000000',\n defaultFocusedBorder: '#ffffff',\n defaultFocusedContent: '#ffffff',\n defaultFocusedIcon: '#ffffff',\n defaultPressedBackground: '#1aebff',\n defaultPressedBorder: '#1aebff',\n defaultPressedContent: '#000000',\n defaultPressedIcon: '#000000',\n defaultDisabledBackground: '#000000',\n defaultDisabledBorder: '#3ff23f',\n defaultDisabledContent: '#3ff23f',\n defaultDisabledIcon: '#3ff23f',\n ghostBackground: '#000000',\n ghostBorder: '#000000',\n ghostContent: '#ffffff',\n ghostIcon: '#ffffff',\n ghostHoveredBackground: '#1aebff',\n ghostHoveredBorder: '#1aebff',\n ghostHoveredContent: '#000000',\n ghostHoveredIcon: '#000000',\n ghostFocusedBackground: '#000000',\n ghostFocusedBorder: '#ffffff',\n ghostFocusedContent: '#ffffff',\n ghostFocusedIcon: '#ffffff',\n ghostPressedBackground: '#1aebff',\n ghostPressedBorder: '#1aebff',\n ghostPressedContent: '#000000',\n ghostPressedIcon: '#000000',\n ghostDisabledBackground: '#000000',\n ghostDisabledBorder: '#000000',\n ghostDisabledContent: '#3ff23f',\n ghostDisabledIcon: '#3ff23f',\n brandedBackground: '#000000',\n brandedDisabledBorder: '#3ff23f',\n defaultCheckedBackground: '#1aebff',\n defaultCheckedContent: '#000000',\n defaultCheckedHoveredBackground: '#1aebff',\n defaultCheckedHoveredContent: '#000000',\n ghostCheckedBackground: '#1aebff',\n ghostCheckedContent: '#000000',\n ghostCheckedHoveredBackground: '#1aebff',\n ghostCheckedHoveredContent: '#000000',\n ghostCheckedHoveredBorder: '#000000',\n ghostSecondaryContent: '#ffffff',\n ghostFocusedSecondaryContent: '#ffffff',\n ghostHoveredSecondaryContent: '#000000',\n ghostPressedSecondaryContent: '#000000',\n brandedSecondaryContent: '#ffffff',\n brandedFocusedSecondaryContent: '#ffffff',\n brandedHoveredSecondaryContent: '#000000',\n brandedPressedSecondaryContent: '#000000',\n defaultHoveredSecondaryContent: '#000000',\n defaultPressedSecondaryContent: '#000000',\n checkmarkColor: '#ffffff',\n checkboxBackground: '#000000',\n checkboxBackgroundDisabled: '#000000',\n checkboxBorderColor: '#ffffff',\n personaActivityRing: '#ffffff',\n personaActivityGlow: 'transparent',\n ...createColorAliasTokens('highContrast'),\n };\n}\n//# sourceMappingURL=defaultColors.js.map","import { mergeSettings, getActiveOverrides, resolveSettingsOverrides } from '@uifabricshared/foundation-settings';\n/**\n * Merges the various settings for a component together\n * @param customSettings - the array of settings to apply for this object\n * @param theme - the theme to use for value lookups and component definitions\n * @param getFromTheme - helper function to retrieve settings from a theme\n */\nexport function mergeBaseSettings(customSettings, theme, getFromTheme) {\n return customSettings\n ? mergeSettings(...customSettings.map((entry) => {\n if (typeof entry === 'string') {\n return (getFromTheme && getFromTheme(theme, entry)) || undefined;\n }\n else if (typeof entry === 'function') {\n return entry(theme);\n }\n return entry;\n }))\n : undefined;\n}\n/**\n * Resolve the stack of settings, applying any applicable overrides, while caching the results. Also returns the cache key\n * so it can be used as a prefix for additional caching layers\n *\n * @param customSettings - array of settings entries to merge\n * @param theme - theme used to look up named settings\n * @param memoValue - a GetMemoValue function to use as the root of caching\n * @param hasOverride - override lookup type for looking up whether an override should be applied to the settings\n * @param getFromTheme - routine to look up the named entries in the theme. They will be skipped if not specified.\n */\nexport function getThemedSettings(customSettings, theme, memoValue, hasOverride, getFromTheme) {\n // resolve the settings for this component, keyed on the theme\n let [settings, getMemoValue] = memoValue(() => mergeBaseSettings(customSettings, theme, getFromTheme), [theme]);\n // if overrides are set, resolve the override settings, keyed on the applied overrides\n const overrides = getActiveOverrides(settings, hasOverride);\n if (overrides.length > 0) {\n [settings, getMemoValue] = getMemoValue(() => resolveSettingsOverrides(settings, hasOverride), overrides);\n }\n // return the merged settings and a query routine to go deeper in the cache\n return { settings, getMemoValue };\n}\n//# sourceMappingURL=CustomSettings.js.map","import { mergeProps } from '@fluentui-react-native/framework-base';\nfunction _copyToken(props, key, target, targetObj) {\n if (props[key] !== undefined) {\n targetObj[target || key] = props[key];\n }\n}\nfunction _lookupOrCopyToken(props, theme, entry, style) {\n const { source: key, lookup } = entry;\n if (props[key] !== undefined) {\n const lookupResult = lookup && lookup(theme);\n let val = props[key];\n if (typeof val === 'string' && lookupResult && lookupResult[val] !== undefined) {\n val = lookupResult[val];\n }\n style[entry.target || key] = val;\n }\n}\nfunction _processSlotEntries(props, theme, mapping) {\n const slotProps = {};\n if (mapping.toStyle.length > 0) {\n const slotStyle = {};\n for (const entry of mapping.toStyle) {\n _lookupOrCopyToken(props, theme, entry, slotStyle);\n }\n if (Object.keys(slotStyle).length > 0) {\n slotProps.style = slotStyle;\n }\n }\n for (const entry of mapping.toTokens) {\n _copyToken(props, entry.source, entry.target, slotProps);\n }\n return slotProps;\n}\nfunction _processStyleFunctions(functions, tokenProps, theme) {\n if (functions && functions.length > 0) {\n return mergeProps(...functions.map((fn) => fn(tokenProps, theme)));\n }\n return undefined;\n}\n/**\n * This is the worker function that does the work of either retrieving a cached props/style from the cache\n * or building up the new props/style set\n */\nfunction _getCachedPropsForSlot(props, tokenProps, theme, slotName, getMemoValue, keys, mappings, finalizer) {\n // get the cache key for this entry\n const { tokens, tokenKeys, deltas } = tokenProps;\n return getMemoValue(() => {\n let newProps = mergeProps(props, slotName === 'root' ? tokenKeys : undefined, _processSlotEntries(tokens, theme, mappings), _processStyleFunctions(mappings.functions, tokens, theme));\n if (finalizer) {\n newProps = finalizer(newProps, slotName);\n }\n return newProps;\n }, [slotName, ...keys.map((val) => (deltas[val] !== undefined ? deltas[val] : ''))])[0];\n}\n/**\n * This function runs at component definition time (once for every component type) and\n * processes the styleFactories on each of the slots and builds up handler functions that\n * obtain or build the cached props.\n *\n * @param factories - collection of slot style factories\n * @param hasToken - a function that returns whether or not a slot supports a given token\n */\nexport function buildComponentTokens(factories, hasToken) {\n const tokenKeys = {};\n const handlers = {};\n // iterate through each factory and generate a handler for it. Note that even if no styleFactories\n // are provided within it will still generate the handler to do style caching and finalization\n Object.getOwnPropertyNames(factories).forEach((slot) => {\n const factoriesBase = factories[slot];\n const mappings = { toStyle: [], toTokens: [], functions: [] };\n const { toStyle, toTokens, functions } = mappings;\n const slotKeys = {};\n // if there are style factories provided split them into ones that target tokens and ones that target styles\n if (factoriesBase) {\n const factorySet = Array.isArray(factoriesBase) ? factoriesBase : [factoriesBase];\n for (const set of factorySet) {\n if (typeof set === 'function') {\n functions.push(set);\n set._keys.forEach((key) => {\n slotKeys[key] = undefined;\n });\n }\n else {\n const setArray = Array.isArray(set) ? set : [set];\n for (const operation of setArray) {\n slotKeys[operation.source] = undefined;\n const target = operation.target || operation.source;\n if (hasToken && hasToken(slot, target)) {\n toTokens.push(operation);\n }\n else {\n toStyle.push(operation);\n }\n }\n }\n }\n }\n // add the collected keys to the root token keys\n Object.assign(tokenKeys, slotKeys);\n // create the closure for the handler and return that in the object\n handlers[slot] = (props, tokenProps, theme, slotName, getValue) => {\n const keys = Object.getOwnPropertyNames(slotKeys);\n return _getCachedPropsForSlot(props, tokenProps, theme, slotName, getValue, keys, mappings);\n };\n });\n return { tokenKeys, handlers };\n}\n//# sourceMappingURL=Token.function.js.map","/**\n * Take the input props and props from settings and return a merged set of token props (a single source\n * of truth) as well as an abbreviated collection with tokens that have been overridden from the user\n * props\n *\n * @param props - user props passed in to render\n * @param rootSlotProps - props for the root slot, this will have any tokens loaded from settings\n * @param tokenKeys - an object that contains the set of keys we care about for tokens on this component\n */\nfunction _getTokenPropInfo(props, tokensSlot, tokenKeys) {\n const tokens = { ...tokensSlot };\n const deltas = {};\n for (const key in tokenKeys) {\n if (props[key] !== undefined && props[key] !== tokens[key]) {\n deltas[key] = tokens[key] = props[key];\n }\n }\n return { tokens, deltas, tokenKeys };\n}\n/**\n * Run through the end to end token workflow for render. This will resolve the tokens and attempt to preempt style creation\n * by referencing values in the cache\n *\n * @param props - user props passed in and copied into a mutable object, these have precedence\n * @param theme - theme to get styling info from\n * @param slotProps - starting slotProps, the root entry may have token defaults filled in\n * @param tokenInfo - the set of token props as well as the shortened set that have been overridden\n * @param prefix - cache key to append token info to, this generally refers to the settings\n * @param cache - cache which holds the slotProps if they have been built before\n * @param displayName - optional component display name, used for class building\n * @param finalizer - optional function to process styles before caching happens\n */\nexport function processTokens(props, theme, slotProps, tokenInfo, cache) {\n // merge in tokens and build up the cache key which are the tokens overridden by the user\n slotProps = slotProps || {};\n const rootSlotProps = slotProps.tokens || {};\n const { handlers, tokenKeys } = tokenInfo;\n const tokenPropInfo = _getTokenPropInfo(props, rootSlotProps, tokenKeys);\n const resolvedSlotProps = { tokens: tokenPropInfo.tokens || {} };\n Object.getOwnPropertyNames(handlers).forEach((slotName) => {\n const handler = handlers[slotName];\n resolvedSlotProps[slotName] = handler(slotProps[slotName] || {}, tokenPropInfo, theme, slotName, cache);\n });\n // return the cache entry\n return resolvedSlotProps;\n}\n//# sourceMappingURL=Token.js.map","export const getPaletteFromTheme = (theme) => {\n return theme.colors;\n};\nexport const foregroundColorTokens = [{ source: 'color', lookup: getPaletteFromTheme }];\nexport const backgroundColorTokens = [\n { source: 'backgroundColor', lookup: getPaletteFromTheme },\n];\nexport const colorTokens = [...foregroundColorTokens, ...backgroundColorTokens];\n//# sourceMappingURL=color-tokens.js.map","import { getPaletteFromTheme } from './color-tokens';\nimport { tokenBuilder } from './tokenBuilder';\nexport const borderTokens = [\n { source: 'borderColor', lookup: getPaletteFromTheme },\n { source: 'borderWidth' },\n { source: 'borderRadius' },\n { source: 'borderStyle' },\n];\nexport const borderStyles = tokenBuilder('borderColor', 'borderRadius', 'borderStyle', 'borderWidth');\n//# sourceMappingURL=border-tokens.js.map","export function tokenBuilder(...keys) {\n const from = (tokens) => {\n const style = {};\n keys\n .filter((key) => tokens[key] !== undefined)\n .forEach((key) => {\n style[key] = tokens[key];\n });\n return style;\n };\n return { from, keys };\n}\n//# sourceMappingURL=tokenBuilder.js.map","import { styleFunction } from './token.function';\nexport const fontStyles = {\n from: ({ fontDynamicTypeRamp, fontFamily, fontLetterSpacing, fontLineHeight, fontMaximumSize, fontSize, fontStyle, fontWeight, textDecorationLine, variant, }, { typography }) => {\n const { families, sizes, weights, variants } = typography;\n if (fontDynamicTypeRamp !== undefined ||\n fontFamily !== undefined ||\n fontLetterSpacing !== undefined ||\n fontLineHeight !== undefined ||\n fontMaximumSize !== undefined ||\n fontSize !== undefined ||\n fontWeight !== undefined ||\n variant !== undefined) {\n return {\n fontFamily: families[fontFamily] ?? fontFamily ?? families[variants[variant]?.face] ?? variants[variant]?.face,\n fontSize: sizes[fontSize] ?? fontSize ?? sizes[variants[variant]?.size] ?? variants[variant]?.size,\n fontStyle: fontStyle,\n fontWeight: weights[fontWeight] ?? fontWeight ?? weights[variants[variant]?.weight] ?? variants[variant]?.weight,\n lineHeight: fontLineHeight ?? variants[variant]?.lineHeight,\n letterSpacing: fontLetterSpacing ?? variants[variant]?.letterSpacing,\n dynamicTypeRamp: fontDynamicTypeRamp ?? variants[variant]?.dynamicTypeRamp,\n maximumFontSize: fontMaximumSize,\n textDecorationLine,\n };\n }\n return {};\n },\n keys: [\n 'fontDynamicTypeRamp',\n 'fontFamily',\n 'fontLineHeight',\n 'fontLetterSpacing',\n 'fontMaximumSize',\n 'fontSize',\n 'fontStyle',\n 'fontWeight',\n 'variant',\n 'textDecorationLine',\n ],\n};\nfunction _buildTextStyles(tokens, theme) {\n return {\n style: fontStyles.from(tokens, theme),\n };\n}\nexport const textTokens = styleFunction(_buildTextStyles, fontStyles.keys);\n//# sourceMappingURL=text-tokens.js.map","/**\n * Helper to make it easy to create a style factory function. Function statics are super convenient\n * but kind of annoying to set up\n *\n * @param fn - function to decorate with keys\n * @param keys - keys to append as a static to the function\n */\nexport function styleFunction(fn, keys) {\n fn._keys = keys;\n return fn;\n}\n//# sourceMappingURL=token.function.js.map","import { tokenBuilder } from './tokenBuilder';\nexport const layoutTokens = [\n { source: 'width' },\n { source: 'height' },\n { source: 'minWidth' },\n { source: 'maxWidth' },\n { source: 'minHeight' },\n { source: 'maxHeight' },\n { source: 'padding' },\n { source: 'paddingHorizontal' },\n { source: 'paddingVertical' },\n { source: 'paddingStart' },\n { source: 'paddingEnd' },\n];\nexport const layoutStyles = tokenBuilder('width', 'height', 'minWidth', 'maxWidth', 'minHeight', 'maxHeight', 'padding', 'paddingHorizontal', 'paddingVertical', 'paddingStart', 'paddingEnd');\n//# sourceMappingURL=layout-tokens.js.map","import { tokenBuilder } from './tokenBuilder';\nexport const shadowTokens = [\n { source: 'shadowColor' },\n { source: 'shadowOffset' },\n { source: 'shadowOpacity' },\n { source: 'shadowRadius' },\n { source: 'elevation' },\n];\nexport const shadowStyles = tokenBuilder('shadowColor', 'shadowOffset', 'shadowOpacity', 'shadowRadius');\n//# sourceMappingURL=shadow-tokens.js.map","/* eslint-disable */\nimport { useCompoundPrepare } from './Composable.slots';\nimport { renderSlot } from '@fluentui-react-native/framework-base';\nimport { mergeSettings } from '@uifabricshared/foundation-settings';\nexport function atomicRender(Slots, _renderData, ...children) {\n return renderSlot(Slots.root, undefined, ...children);\n}\nexport function atomicUsePrepareProps(props, useStyling) {\n const slotProps = mergeSettings(useStyling(props), { root: props });\n return { slotProps };\n}\n/**\n * Ensure the composable is set up correctly, fill in missing functions and turn slots into\n * object format rather than the shorthand format.\n *\n * @param options - partial options definition to turn into full options\n */\nfunction _validateOptions(options) {\n const numSlots = (options.slots && Object.getOwnPropertyNames(options.slots).length) || 0;\n if (!numSlots) {\n throw 'A composable component must have at least one slot specified';\n }\n else if (numSlots > 1) {\n if (!options.render) {\n throw 'A composable component with multiple slots cannot use the default render implementation';\n }\n }\n // ensure slots are in slot with filter format\n for (const key in options.slots) {\n const slot = options.slots[key];\n if (slot && (typeof slot !== 'object' || !slot.slotType)) {\n options.slots[key] = { slotType: slot };\n }\n }\n if (!options.useStyling) {\n options.useStyling = () => {\n return {};\n };\n }\n // use atomic handlers for usePrepareProps / render if necessary\n options.render = options.render || atomicRender;\n options.usePrepareProps = options.usePrepareProps || atomicUsePrepareProps;\n // return options as the full type rather than a partial\n return options;\n}\n/**\n * Create a component that can be composed into other objects to remove extra levels from the tree\n *\n * @param options - composable options which define the behavior of the component\n */\nexport function composable(definition) {\n // ensure we are correctly configured\n const options = _validateOptions(definition);\n // create the actual implementation\n const render = (userProps) => {\n // split out children, they will be excluded from the prop preparation phase\n const { children, ...props } = userProps;\n // prepare the props, all the way down the tree, also build the slots\n const { renderData, Slots } = useCompoundPrepare(props, options);\n // now do the render, adding the children back in\n return options.render(Slots, renderData, children);\n };\n render.displayName = options.displayName;\n render.__composable = options;\n return render;\n}\n/**\n * Helper to create a composable implementation of a simple atomic component\n *\n * @param target - slot type to create an atomic component from\n * @param usePrepareProps - prop processing implementation.\n * @param filter - optional filter. If set it allows stripping properties before they are passed to target\n */\nexport function atomic(target, usePrepareProps, filter) {\n return composable({\n usePrepareProps,\n slots: { root: { slotType: target, filter } },\n render: atomicRender,\n });\n}\n//# sourceMappingURL=Composable.js.map","/* eslint-disable */\nimport * as React from 'react';\nimport { mergeSettings } from '@uifabricshared/foundation-settings';\nimport { mergeProps } from '@fluentui-react-native/framework-base';\nfunction _mergeAndFilterProps(propsBase, propsExtra, filter) {\n // do a basic merge, not mutating if nothing changed\n let props = mergeProps(propsBase, propsExtra);\n if (filter && props) {\n const removeMask = {};\n Object.getOwnPropertyNames(props).forEach((key) => {\n if (!filter(key)) {\n removeMask[key] = undefined;\n }\n });\n props = mergeProps(props, removeMask);\n }\n return props;\n}\n/**\n * Helper function to add the _canCompose settings to a given render function\n * @param fn - function to decorate with _canCompose\n */\nfunction _createSlotRenderFunction(fn) {\n fn._canCompose = true;\n return fn;\n}\nfunction createSlotRenderInfo(composable, slotInfo) {\n const renderInfo = { composable, slotInfo };\n const slots = composable && composable.slots;\n if (slots) {\n const Slots = (renderInfo.Slots = {});\n const childInfo = (renderInfo.childInfo = {});\n Object.getOwnPropertyNames(slots).forEach((slot) => {\n const { slotType, filter } = slots[slot];\n const composable = (typeof slotType !== 'string' && slotType.__composable) ||\n undefined;\n const childRenderInfo = (childInfo[slot] = createSlotRenderInfo(composable, slots[slot]));\n if (composable) {\n // create the actual closure for rendering handing it a reference to the render info\n Slots[slot] = _createSlotRenderFunction((extraProps, ...children) => {\n const { renderData, Slots } = childRenderInfo;\n if (filter || extraProps) {\n const toMerge = { root: _mergeAndFilterProps(renderData.slotProps.root, extraProps, filter) };\n renderData.slotProps = mergeSettings(renderData.slotProps, toMerge);\n }\n return composable.render(Slots, renderData, ...children);\n });\n }\n else {\n // non-composable components should just render directly\n Slots[slot] = _createSlotRenderFunction((extraProps, ...children) => {\n const props = _mergeAndFilterProps(childRenderInfo.renderData.slotProps.root, extraProps, filter);\n return React.createElement(slotType, props, ...children);\n });\n }\n });\n }\n return renderInfo;\n}\nfunction useUpdateRenderData(props, info) {\n // update the render data for this level of the hierarchy\n if (info.composable) {\n const { usePrepareProps, useStyling } = info.composable;\n info.renderData = usePrepareProps(props, useStyling) || {};\n }\n else {\n info.renderData = { slotProps: { root: props } };\n }\n // now traverse to children if needed\n const childInfo = info.childInfo;\n if (childInfo) {\n const slotProps = info.renderData.slotProps || {};\n Object.getOwnPropertyNames(childInfo).forEach((child) => {\n useUpdateRenderData(slotProps[child], childInfo[child]);\n });\n }\n // return the updated renderData and cached Slots\n return { renderData: info.renderData, Slots: info.Slots };\n}\n/**\n * Driver function for the prop preparation phase of rendering a composable control\n *\n * @param props - user props send to prepare props\n * @param composable - composable for this component\n */\nexport function useCompoundPrepare(props, composable) {\n // create the slot render info (which may be a tree) and store it into state once. Note that this will also create any\n // needed closures for the slots to ensure they don't get recreated over the lifetime of the component\n const renderInfo = React.useMemo(() => createSlotRenderInfo(composable), []);\n // process the props of the tree using the created/retrieved renderInfo\n return useUpdateRenderData(props, renderInfo);\n}\n//# sourceMappingURL=Composable.slots.js.map","/**\n * @deprecated This will be removed when the package moves to 1.0.0.\n * Please see MIGRATION.md for details on how to move to the new Checkbox.\n */\nexport const checkboxName = 'Checkbox';\n//# sourceMappingURL=Checkbox.types.js.map","import { memoize } from '@fluentui-react-native/framework-base';\nexport const getAccessibilityState = memoize(getAccessibilityStateWorker);\nexport function getAccessibilityStateWorker(disabled, accessibilityState) {\n if (accessibilityState) {\n return { disabled: disabled, ...accessibilityState };\n }\n return { disabled: disabled };\n}\n//# sourceMappingURL=getAccessibilityState.js.map","export const isGestureResponderEvent = (e) => {\n if ('touches' in e.nativeEvent) {\n return true;\n }\n return false;\n};\nexport const isMouseEvent = (e) => {\n if ('pageX' in e.nativeEvent) {\n return true;\n }\n return false;\n};\nexport const isKeyPressEvent = (e) => {\n if ('key' in e.nativeEvent) {\n return true;\n }\n return false;\n};\nexport const isAccessibilityActionEvent = (e) => {\n if ('actionName' in e.nativeEvent) {\n return true;\n }\n return false;\n};\n//# sourceMappingURL=events.types.js.map","/**\n * A collection of internal types from react-native that are not currently exposed in TypeScript\n */\nexport function normalizeRect(size) {\n return typeof size === 'number' ? { bottom: size, left: size, right: size, top: size } : size;\n}\n//# sourceMappingURL=InternalTypes.js.map","import * as React from 'react';\nimport { Platform } from 'react-native';\nimport { memoize } from '@fluentui-react-native/framework-base';\nconst shouldAllowShiftCtrlKeys = Platform.OS === 'win32';\n/**\n * Verifies if nativeEvent contains modifier key. The modifier keys that should\n * be taken into account differ based on platform\n * @param nativeEvent\n * @returns `true` if one or more of modifier keys are `true`\n */\nconst isModifierKey = (nativeEvent) => {\n if (shouldAllowShiftCtrlKeys) {\n return nativeEvent && (nativeEvent.alt || nativeEvent.altKey || nativeEvent.meta || nativeEvent.metaKey);\n }\n else {\n return (nativeEvent &&\n (nativeEvent.alt ||\n nativeEvent.altKey ||\n nativeEvent.ctrl ||\n nativeEvent.ctrlKey ||\n nativeEvent.meta ||\n nativeEvent.metaKey ||\n nativeEvent.shift ||\n nativeEvent.shiftKey));\n }\n};\nfunction keyPressCallback(userCallback, ...keys) {\n const onKeyEvent = (e) => {\n if (userCallback !== undefined && !isModifierKey(e.nativeEvent) && (keys === undefined || keys.includes(e.nativeEvent.key))) {\n userCallback(e);\n e.stopPropagation();\n }\n };\n return onKeyEvent;\n}\nfunction getKeyUpPropsWorker(userCallback, ...keys) {\n const keyboardProps = Platform.select({\n ios: undefined,\n android: undefined,\n macos: {\n onKeyUp: keyPressCallback(userCallback, ...keys),\n validKeysUp: keys,\n },\n windows: {\n /**\n * https://github.com/microsoft/react-native-windows/issues/11049\n * Windows doesn't filter on `key` but on `code`, which is quite different ('A' vs 'KeyA' or 'GamepadA').\n * While this discrepancy is present, let's not specify `keyUpEvents`.\n */\n onKeyUp: keyPressCallback(userCallback, ...keys),\n },\n // win32\n default: {\n onKeyUp: keyPressCallback(userCallback, ...keys),\n keyUpEvents: keys.map((keyCode) => {\n return { key: keyCode };\n }),\n },\n });\n return keyboardProps;\n}\nfunction getKeyDownPropsWorker(userCallback, ...keys) {\n const keyboardProps = Platform.select({\n ios: undefined,\n android: undefined,\n macos: {\n onKeyDown: keyPressCallback(userCallback, ...keys),\n validKeysDown: keys,\n },\n windows: {\n /**\n * https://github.com/microsoft/react-native-windows/issues/11049\n * Windows doesn't filter on `key` but on `code`, which is quite different ('A' vs 'KeyA' or 'GamepadA').\n * While this discrepancy is present, let's not specify `keyDownEvents`.\n */\n onKeyDown: keyPressCallback(userCallback, ...keys),\n },\n // win32\n default: {\n onKeyDown: keyPressCallback(userCallback, ...keys),\n keyDownEvents: keys.map((keyCode) => {\n return { key: keyCode };\n }),\n },\n });\n return keyboardProps;\n}\n/**\n * Re-usable hook for an onKeyUp event.\n * @param userCallback The function you want to be called once the key has been activated on key up\n * @param keys A string of the key you want to perform some action on. If undefined, always invokes userCallback\n * @returns KeyPressProps: An object containing the correct platform specific props to handle key press\n */\nexport const useKeyUpProps = memoize(getKeyUpPropsWorker);\n/**\n * Re-usable hook for an onKeyDown event.\n * @param userCallback The function you want to be called once the key has been activated on key down\n * @param keys A string of the key you want to perform some action on. If undefined, always invokes userCallback\n * @returns KeyPressProps: An object containing the correct platform specific props to handle key press\n */\nexport const useKeyDownProps = memoize(getKeyDownPropsWorker);\n/** Exposes the behavior of useKeyProps for the current platform as a boolean */\nexport const preferKeyDownForKeyEvents = Platform.select({\n macos: true,\n default: false,\n});\n/**\n * Re-usable hook for keyboard events. on macOS, this is onKeyDown, while on windows this is onKeyUp.\n * @param userCallback The function you want to be called once the key has been activated on key down\n * @param keys A string of the key you want to perform some action on. If undefined, always invokes userCallback\n * @returns KeyPressProps: An object containing the correct platform specific props to handle key press\n */\nexport const useKeyProps = preferKeyDownForKeyEvents ? useKeyDownProps : useKeyUpProps;\n/**\n * Re-usable hook for an onKeyDown event.\n * @param userCallback The function you want to be called once the key has been activated on key up\n * @param keys A string of the key you want to perform some action on. If undefined, always invokes userCallback\n * @returns onKeyEvent() - Callback to determine if key was pressed, if so, call userCallback\n * @deprecated use the hook `useKeyProps` instead\n */\nexport function useKeyCallback(userCallback, ...keys) {\n const onKeyEvent = React.useCallback((e) => {\n if (userCallback !== undefined && (keys === undefined || keys.includes(e.nativeEvent.key))) {\n userCallback(e);\n e.stopPropagation();\n }\n }, [keys, userCallback]);\n return onKeyEvent;\n}\n//# sourceMappingURL=useKeyProps.js.map","import * as React from 'react';\nimport { usePressability } from './usePressability';\n/**\n * hover specific state and callback helper\n */\nfunction useHoverHelper(props) {\n const [hoverState, setHoverState] = React.useState({ hovered: false });\n const onHoverIn = React.useCallback((e) => {\n setHoverState({ hovered: true });\n if (props.onHoverIn) {\n props.onHoverIn(e);\n }\n }, [setHoverState, props.onHoverIn]);\n const onHoverOut = React.useCallback((e) => {\n setHoverState({ hovered: false });\n if (props.onHoverOut) {\n props.onHoverOut(e);\n }\n }, [setHoverState, props.onHoverOut]);\n return [{ onHoverIn, onHoverOut }, hoverState];\n}\n/**\n * focus specific state and callback helper\n */\nfunction useFocusHelper(props) {\n const [focusState, setFocusState] = React.useState({ focused: false });\n const onFocus = React.useCallback((e) => {\n setFocusState({ focused: true });\n if (props.onFocus) {\n props.onFocus(e);\n }\n }, [setFocusState, props.onFocus]);\n const onBlur = React.useCallback((e) => {\n setFocusState({ focused: false });\n if (props.onBlur) {\n props.onBlur(e);\n }\n }, [setFocusState, props.onBlur]);\n return [{ onFocus, onBlur }, focusState];\n}\n/**\n * press specific state and callback helper\n */\nfunction usePressHelper(props) {\n const [pressState, setPressState] = React.useState({ pressed: false });\n const onPressIn = React.useCallback((e) => {\n setPressState({ pressed: true });\n if (props.onPressIn) {\n props.onPressIn(e);\n }\n }, [setPressState, props.onPressIn]);\n const onPressOut = React.useCallback((e) => {\n setPressState({ pressed: false });\n if (props.onPressOut) {\n props.onPressOut(e);\n }\n }, [setPressState, props.onPressOut]);\n return [{ onPressIn, onPressOut }, pressState];\n}\n/**\n * A more focused version of useAsPressable, if only one state is needed. Note that if two or more states are needed then useAsPressable is better\n * as each of these calls will create a new instance of the Pressability class.\n * @param props - input props for the component\n */\nexport function useFocusState(props) {\n const [focusProps, focusState] = useFocusHelper(props);\n return [{ ...props, ...usePressability({ ...props, ...focusProps }) }, focusState];\n}\n/**\n * A more focused version of useAsPressable, if only one state is needed. Note that if two or more states are needed then useAsPressable is better\n * as each of these calls will create a new instance of the Pressability class.\n * @param props - input props for the component\n */\nexport function usePressState(props) {\n const [pressProps, pressState] = usePressHelper(props);\n return [{ ...props, ...usePressability({ ...props, ...pressProps }) }, pressState];\n}\n/**\n * A more focused version of useAsPressable, if only one state is needed. Note that if two or more states are needed then useAsPressable is better\n * as each of these calls will create a new instance of the Pressability class.\n * @param props - input props for the component\n */\nexport function useHoverState(props) {\n const [hoverProps, hoverState] = useHoverHelper(props);\n return [{ ...props, ...usePressability({ ...props, ...hoverProps }) }, hoverState];\n}\n/**\n * useAsPressable wraps the usePressability hook that will be available in RN 0.63 and beyond. Once this library is on a recent enough\n * version of react-native this implementation can switch to using the official version.\n *\n * The useAsPressable hook adds a simple state change function for listening to hover, press, and focus events on the base pressability implementation\n * @param props - input props for the component, mixed in with pressable and pressability options\n */\nexport function useAsPressable(props) {\n const [hoverProps, hoverState] = useHoverHelper(props);\n const [focusProps, focusState] = useFocusHelper(props);\n const [pressProps, pressState] = usePressHelper(props);\n const pressabilityProps = usePressability({ ...props, ...hoverProps, ...focusProps, ...pressProps });\n return {\n props: { ...props, ...pressabilityProps },\n state: { ...hoverState, ...focusState, ...pressState },\n };\n}\n//# sourceMappingURL=useAsPressable.js.map","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n'use strict';\nimport { useEffect, useRef } from 'react';\nimport { Pressability } from './Pressability/Pressability';\nexport function usePressability(config) {\n const pressabilityRef = useRef(null);\n if (pressabilityRef.current == null) {\n pressabilityRef.current = new Pressability(config);\n }\n const pressability = pressabilityRef.current;\n // On the initial mount, this is a no-op. On updates, `pressability` will be\n // re-configured to use the new configuration.\n useEffect(() => {\n pressability.configure(config);\n }, [config, pressability]);\n // On unmount, reset pending state and timers inside `pressability`. This is\n // a separate effect because we do not want to reset when `config` changes.\n useEffect(() => {\n return () => {\n pressability.reset();\n };\n }, [pressability]);\n return pressability.getEventHandlers();\n}\n//# sourceMappingURL=usePressability.js.map","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n'use strict';\nimport { Platform, UIManager } from 'react-native';\nimport invariant from 'invariant';\nimport { isHoverEnabled } from './HoverState';\nimport { normalizeRect } from './InternalTypes';\nconst Transitions = {\n NOT_RESPONDER: {\n DELAY: 'ERROR',\n RESPONDER_GRANT: 'RESPONDER_INACTIVE_PRESS_IN',\n RESPONDER_RELEASE: 'ERROR',\n RESPONDER_TERMINATED: 'ERROR',\n ENTER_PRESS_RECT: 'ERROR',\n LEAVE_PRESS_RECT: 'ERROR',\n LONG_PRESS_DETECTED: 'ERROR',\n },\n RESPONDER_INACTIVE_PRESS_IN: {\n DELAY: 'RESPONDER_ACTIVE_PRESS_IN',\n RESPONDER_GRANT: 'ERROR',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_IN',\n LEAVE_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_OUT',\n LONG_PRESS_DETECTED: 'ERROR',\n },\n RESPONDER_INACTIVE_PRESS_OUT: {\n DELAY: 'RESPONDER_ACTIVE_PRESS_OUT',\n RESPONDER_GRANT: 'ERROR',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_IN',\n LEAVE_PRESS_RECT: 'RESPONDER_INACTIVE_PRESS_OUT',\n LONG_PRESS_DETECTED: 'ERROR',\n },\n RESPONDER_ACTIVE_PRESS_IN: {\n DELAY: 'ERROR',\n RESPONDER_GRANT: 'ERROR',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_IN',\n LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_OUT',\n LONG_PRESS_DETECTED: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n },\n RESPONDER_ACTIVE_PRESS_OUT: {\n DELAY: 'ERROR',\n RESPONDER_GRANT: 'ERROR',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_IN',\n LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_PRESS_OUT',\n LONG_PRESS_DETECTED: 'ERROR',\n },\n RESPONDER_ACTIVE_LONG_PRESS_IN: {\n DELAY: 'ERROR',\n RESPONDER_GRANT: 'ERROR',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',\n LONG_PRESS_DETECTED: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n },\n RESPONDER_ACTIVE_LONG_PRESS_OUT: {\n DELAY: 'ERROR',\n RESPONDER_GRANT: 'ERROR',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n LEAVE_PRESS_RECT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',\n LONG_PRESS_DETECTED: 'ERROR',\n },\n ERROR: {\n DELAY: 'NOT_RESPONDER',\n RESPONDER_GRANT: 'RESPONDER_INACTIVE_PRESS_IN',\n RESPONDER_RELEASE: 'NOT_RESPONDER',\n RESPONDER_TERMINATED: 'NOT_RESPONDER',\n ENTER_PRESS_RECT: 'NOT_RESPONDER',\n LEAVE_PRESS_RECT: 'NOT_RESPONDER',\n LONG_PRESS_DETECTED: 'NOT_RESPONDER',\n },\n};\nconst isActiveSignal = (signal) => signal === 'RESPONDER_ACTIVE_PRESS_IN' || signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';\nconst isActivationSignal = (signal) => signal === 'RESPONDER_ACTIVE_PRESS_OUT' || signal === 'RESPONDER_ACTIVE_PRESS_IN';\nconst isPressInSignal = (signal) => signal === 'RESPONDER_INACTIVE_PRESS_IN' || signal === 'RESPONDER_ACTIVE_PRESS_IN' || signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';\nconst isTerminalSignal = (signal) => signal === 'RESPONDER_TERMINATED' || signal === 'RESPONDER_RELEASE';\nconst DEFAULT_LONG_PRESS_DELAY_MS = 370; // 500 - 130\nconst DEFAULT_PRESS_DELAY_MS = 130;\nconst DEFAULT_PRESS_RECT_OFFSETS = {\n bottom: 30,\n left: 20,\n right: 20,\n top: 20,\n};\nfunction normalizeDelay(delay, min = 0, fallback = 0) {\n return Math.max(min, delay ?? fallback);\n}\nconst getTouchFromPressEvent = (event) => {\n const { changedTouches, touches } = event.nativeEvent;\n if (touches != null && touches.length > 0) {\n return touches[0];\n }\n if (changedTouches != null && changedTouches.length > 0) {\n return changedTouches[0];\n }\n return event.nativeEvent;\n};\n/**\n * Pressability implements press handling capabilities.\n *\n * =========================== Pressability Tutorial ===========================\n *\n * The `Pressability` class helps you create press interactions by analyzing the\n * geometry of elements and observing when another responder (e.g. ScrollView)\n * has stolen the touch lock. It offers hooks for your component to provide\n * interaction feedback to the user:\n *\n * - When a press has activated (e.g. highlight an element)\n * - When a press has deactivated (e.g. un-highlight an element)\n * - When a press sould trigger an action, meaning it activated and deactivated\n * while within the geometry of the element without the lock being stolen.\n *\n * A high quality interaction isn't as simple as you might think. There should\n * be a slight delay before activation. Moving your finger beyond an element's\n * bounds should trigger deactivation, but moving the same finger back within an\n * element's bounds should trigger reactivation.\n *\n * In order to use `Pressability`, do the following:\n *\n * 1. Instantiate `Pressability` and store it on your component's state.\n *\n * state = {\n * pressability: new Pressability({\n * // ...\n * }),\n * };\n *\n * 2. Choose the rendered component who should collect the press events. On that\n * element, spread `pressability.getEventHandlers()` into its props.\n *\n * return (\n * \n * );\n *\n * 3. Reset `Pressability` when your component unmounts.\n *\n * componentWillUnmount() {\n * this.state.pressability.reset();\n * }\n *\n * ==================== Pressability Implementation Details ====================\n *\n * `Pressability` only assumes that there exists a `HitRect` node. The `PressRect`\n * is an abstract box that is extended beyond the `HitRect`.\n *\n * # Geometry\n *\n * ┌────────────────────────┐\n * │ ┌──────────────────┐ │ - Presses start anywhere within `HitRect`, which\n * │ │ ┌────────────┐ │ │ is expanded via the prop `hitSlop`.\n * │ │ │ VisualRect │ │ │\n * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time\n * │ │ HitRect │ │ before letting up, `VisualRect` activates for\n * │ └──────────────────┘ │ as long as the press stays within `PressRect`.\n * │ PressRect o │\n * └────────────────────│───┘\n * Out Region └────── `PressRect`, which is expanded via the prop\n * `pressRectOffset`, allows presses to move\n * beyond `HitRect` while maintaining activation\n * and being eligible for a \"press\".\n *\n * # State Machine\n *\n * ┌───────────────┐ ◀──── RESPONDER_RELEASE\n * │ NOT_RESPONDER │\n * └───┬───────────┘ ◀──── RESPONDER_TERMINATED\n * │\n * │ RESPONDER_GRANT (HitRect)\n * │\n * ▼\n * ┌─────────────────────┐ ┌───────────────────┐ ┌───────────────────┐\n * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ T + DELAY │ RESPONDER_ACTIVE_ │\n * │ PRESS_IN ├────────▶ │ PRESS_IN ├────────────▶ │ LONG_PRESS_IN │\n * └─┬───────────────────┘ └─┬─────────────────┘ └─┬─────────────────┘\n * │ ▲ │ ▲ │ ▲\n * │LEAVE_ │ │LEAVE_ │ │LEAVE_ │\n * │PRESS_RECT │ENTER_ │PRESS_RECT │ENTER_ │PRESS_RECT │ENTER_\n * │ │PRESS_RECT │ │PRESS_RECT │ │PRESS_RECT\n * ▼ │ ▼ │ ▼ │\n * ┌─────────────┴───────┐ ┌─────────────┴─────┐ ┌─────────────┴─────┐\n * │ RESPONDER_INACTIVE_ │ DELAY │ RESPONDER_ACTIVE_ │ │ RESPONDER_ACTIVE_ │\n * │ PRESS_OUT ├────────▶ │ PRESS_OUT │ │ LONG_PRESS_OUT │\n * └─────────────────────┘ └───────────────────┘ └───────────────────┘\n *\n * T + DELAY => LONG_PRESS_DELAY + DELAY\n *\n * Not drawn are the side effects of each transition. The most important side\n * effect is the invocation of `onPress` and `onLongPress` that occur when a\n * responder is release while in the \"press in\" states.\n */\nexport class Pressability {\n _config;\n _eventHandlers = null;\n _hoverInDelayTimeout = null;\n _hoverOutDelayTimeout = null;\n _isHovered = false;\n _longPressDelayTimeout = null;\n _pressDelayTimeout = null;\n _pressOutDelayTimeout = null;\n _responderID = null;\n _responderRegion = null;\n _touchActivatePosition;\n _touchState = 'NOT_RESPONDER';\n constructor(config) {\n this.configure(config);\n }\n configure(config) {\n this._config = config;\n }\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n reset() {\n this._cancelHoverInDelayTimeout();\n this._cancelHoverOutDelayTimeout();\n this._cancelLongPressDelayTimeout();\n this._cancelPressDelayTimeout();\n this._cancelPressOutDelayTimeout();\n }\n /**\n * Returns a set of props to spread into the interactive element.\n */\n getEventHandlers() {\n if (this._eventHandlers == null) {\n this._eventHandlers = this._createEventHandlers();\n }\n return this._eventHandlers;\n }\n _createEventHandlers() {\n const focusEventHandlers = {\n onBlur: (event) => {\n const { onBlur } = this._config;\n if (onBlur != null) {\n onBlur(event);\n }\n },\n onFocus: (event) => {\n const { onFocus } = this._config;\n if (onFocus != null) {\n onFocus(event);\n }\n },\n };\n const responderEventHandlers = {\n onStartShouldSetResponder: () => {\n const { disabled } = this._config;\n if (disabled == null) {\n return true;\n }\n return !disabled;\n },\n onResponderGrant: (event) => {\n event.persist();\n this._cancelPressOutDelayTimeout();\n this._responderID = event.currentTarget;\n this._touchState = 'NOT_RESPONDER';\n this._receiveSignal('RESPONDER_GRANT', event);\n const delayPressIn = normalizeDelay(this._config.delayPressIn, 0, DEFAULT_PRESS_DELAY_MS);\n if (delayPressIn > 0) {\n this._pressDelayTimeout = setTimeout(() => {\n this._receiveSignal('DELAY', event);\n }, delayPressIn);\n }\n else {\n this._receiveSignal('DELAY', event);\n }\n const delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n this._longPressDelayTimeout = setTimeout(() => {\n this._handleLongPress(event);\n }, delayLongPress + delayPressIn);\n },\n onResponderMove: (event) => {\n if (this._config.onPressMove != null) {\n this._config.onPressMove(event);\n }\n // Region may not have finished being measured, yet.\n const responderRegion = this._responderRegion;\n if (responderRegion == null) {\n return;\n }\n const touch = getTouchFromPressEvent(event);\n if (touch == null) {\n this._cancelLongPressDelayTimeout();\n this._receiveSignal('LEAVE_PRESS_RECT', event);\n return;\n }\n if (this._touchActivatePosition != null) {\n const deltaX = this._touchActivatePosition.pageX - touch.pageX;\n const deltaY = this._touchActivatePosition.pageY - touch.pageY;\n if (Math.hypot(deltaX, deltaY) > 10) {\n this._cancelLongPressDelayTimeout();\n }\n }\n if (this._isTouchWithinResponderRegion(touch, responderRegion)) {\n this._receiveSignal('ENTER_PRESS_RECT', event);\n }\n else {\n this._cancelLongPressDelayTimeout();\n this._receiveSignal('LEAVE_PRESS_RECT', event);\n }\n },\n onResponderRelease: (event) => {\n this._receiveSignal('RESPONDER_RELEASE', event);\n },\n onResponderTerminate: (event) => {\n this._receiveSignal('RESPONDER_TERMINATED', event);\n },\n onResponderTerminationRequest: () => {\n const { cancelable } = this._config;\n return cancelable || true;\n },\n onClick: (event) => {\n const { onPress } = this._config;\n if (onPress != null) {\n onPress(event);\n }\n },\n };\n const mouseEventHandlers = Platform.OS === 'ios' || Platform.OS === 'android'\n ? null\n : {\n onMouseEnter: (event) => {\n if (isHoverEnabled()) {\n this._isHovered = true;\n this._cancelHoverOutDelayTimeout();\n const { onHoverIn } = this._config;\n if (onHoverIn != null) {\n const delayHoverIn = normalizeDelay(this._config.delayHoverIn);\n if (delayHoverIn > 0) {\n this._hoverInDelayTimeout = setTimeout(() => {\n onHoverIn(event);\n }, delayHoverIn);\n }\n else {\n onHoverIn(event);\n }\n }\n }\n },\n onMouseLeave: (event) => {\n if (this._isHovered) {\n this._isHovered = false;\n this._cancelHoverInDelayTimeout();\n const { onHoverOut } = this._config;\n if (onHoverOut != null) {\n const delayHoverOut = normalizeDelay(this._config.delayHoverOut);\n if (delayHoverOut > 0) {\n this._hoverInDelayTimeout = setTimeout(() => {\n onHoverOut(event);\n }, delayHoverOut);\n }\n else {\n onHoverOut(event);\n }\n }\n }\n },\n };\n return {\n ...focusEventHandlers,\n ...responderEventHandlers,\n ...mouseEventHandlers,\n };\n }\n /**\n * Receives a state machine signal, performs side effects of the transition\n * and stores the new state. Validates the transition as well.\n */\n _receiveSignal(signal, event) {\n const prevState = this._touchState;\n const nextState = Transitions[prevState][signal];\n if (this._responderID == null && signal === 'RESPONDER_RELEASE') {\n return;\n }\n invariant(nextState != null && nextState !== 'ERROR', 'Pressability: Invalid signal `%s` for state `%s` on responder: %s', signal, prevState, typeof this._responderID === 'number' ? this._responderID : '<>');\n if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n this._touchState = nextState;\n }\n }\n /**\n * Performs a transition between touchable states and identify any activations\n * or deactivations (and callback invocations).\n */\n _performTransitionSideEffects(prevState, nextState, signal, event) {\n if (isTerminalSignal(signal)) {\n this._touchActivatePosition = null;\n this._cancelLongPressDelayTimeout();\n }\n const isInitialTransition = prevState === 'NOT_RESPONDER' && nextState === 'RESPONDER_INACTIVE_PRESS_IN';\n const isActivationTransiton = !isActivationSignal(prevState) && isActivationSignal(nextState);\n if (isInitialTransition || isActivationTransiton) {\n this._measureResponderRegion();\n }\n if (isPressInSignal(prevState) && signal === 'LONG_PRESS_DETECTED') {\n const { onLongPress } = this._config;\n if (onLongPress != null) {\n onLongPress(event);\n }\n }\n const isPrevActive = isActiveSignal(prevState);\n const isNextActive = isActiveSignal(nextState);\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n }\n else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n if (isPressInSignal(prevState) && signal === 'RESPONDER_RELEASE') {\n const { onLongPress, onPress /*, android_disableSound */ } = this._config;\n if (onPress != null) {\n const isPressCanceledByLongPress = onLongPress != null && prevState === 'RESPONDER_ACTIVE_LONG_PRESS_IN' && this._shouldLongPressCancelPress();\n if (!isPressCanceledByLongPress) {\n // If we never activated (due to delays), activate and deactivate now.\n if (!isNextActive && !isPrevActive) {\n this._activate(event);\n this._deactivate(event);\n }\n /*\n if (Platform.OS === 'android' && android_disableSound !== true) {\n SoundManager.playTouchSound();\n }\n */\n onPress(event);\n }\n }\n }\n this._cancelPressDelayTimeout();\n }\n _activate(event) {\n const { onPressIn } = this._config;\n const touch = getTouchFromPressEvent(event);\n this._touchActivatePosition = {\n pageX: touch.pageX,\n pageY: touch.pageY,\n };\n if (onPressIn != null) {\n onPressIn(event);\n }\n }\n _deactivate(event) {\n const { onPressOut } = this._config;\n if (onPressOut != null) {\n const delayPressOut = normalizeDelay(this._config.delayPressOut);\n if (delayPressOut > 0) {\n this._pressOutDelayTimeout = setTimeout(() => {\n onPressOut(event);\n }, delayPressOut);\n }\n else {\n onPressOut(event);\n }\n }\n }\n _measureResponderRegion() {\n if (this._responderID == null) {\n return;\n }\n if (typeof this._responderID === 'number') {\n UIManager.measure(this._responderID, this._measureCallback);\n }\n else {\n const measure = this?._responderID?.measure;\n if (typeof measure === 'function' && this._measureCallback) {\n this?._responderID?.measure(this._measureCallback);\n }\n }\n }\n _measureCallback = (left, top, width, height, pageX, pageY) => {\n if (!left && !top && !width && !height && !pageX && !pageY) {\n return;\n }\n this._responderRegion = {\n bottom: pageY + height,\n left: pageX,\n right: pageX + width,\n top: pageY,\n };\n };\n _isTouchWithinResponderRegion(touch /* PropertyType */, responderRegion) {\n const hitSlop = normalizeRect(this._config.hitSlop);\n const pressRectOffset = normalizeRect(this._config.pressRectOffset);\n let regionBottom = responderRegion.bottom;\n let regionLeft = responderRegion.left;\n let regionRight = responderRegion.right;\n let regionTop = responderRegion.top;\n if (hitSlop != null) {\n if (hitSlop.bottom != null) {\n regionBottom += hitSlop.bottom;\n }\n if (hitSlop.left != null) {\n regionLeft -= hitSlop.left;\n }\n if (hitSlop.right != null) {\n regionRight += hitSlop.right;\n }\n if (hitSlop.top != null) {\n regionTop -= hitSlop.top;\n }\n }\n regionBottom += pressRectOffset?.bottom ?? DEFAULT_PRESS_RECT_OFFSETS.bottom;\n regionLeft -= pressRectOffset?.left ?? DEFAULT_PRESS_RECT_OFFSETS.left;\n regionRight += pressRectOffset?.right ?? DEFAULT_PRESS_RECT_OFFSETS.right;\n regionTop -= pressRectOffset?.top ?? DEFAULT_PRESS_RECT_OFFSETS.top;\n return touch.pageX > regionLeft && touch.pageX < regionRight && touch.pageY > regionTop && touch.pageY < regionBottom;\n }\n _handleLongPress(event) {\n if (this._touchState === 'RESPONDER_ACTIVE_PRESS_IN' || this._touchState === 'RESPONDER_ACTIVE_LONG_PRESS_IN') {\n this._receiveSignal('LONG_PRESS_DETECTED', event);\n }\n }\n _shouldLongPressCancelPress() {\n return true;\n }\n _cancelHoverInDelayTimeout() {\n if (this._hoverInDelayTimeout != null) {\n clearTimeout(this._hoverInDelayTimeout);\n this._hoverInDelayTimeout = null;\n }\n }\n _cancelHoverOutDelayTimeout() {\n if (this._hoverOutDelayTimeout != null) {\n clearTimeout(this._hoverOutDelayTimeout);\n this._hoverOutDelayTimeout = null;\n }\n }\n _cancelLongPressDelayTimeout() {\n if (this._longPressDelayTimeout != null) {\n clearTimeout(this._longPressDelayTimeout);\n this._longPressDelayTimeout = null;\n }\n }\n _cancelPressDelayTimeout() {\n if (this._pressDelayTimeout != null) {\n clearTimeout(this._pressDelayTimeout);\n this._pressDelayTimeout = null;\n }\n }\n _cancelPressOutDelayTimeout() {\n if (this._pressOutDelayTimeout != null) {\n clearTimeout(this._pressOutDelayTimeout);\n this._pressOutDelayTimeout = null;\n }\n }\n}\n//# sourceMappingURL=Pressability.js.map","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @flow strict-local\n * @format\n */\n'use strict';\nimport { Platform } from 'react-native';\nlet isEnabled = false;\nif (Platform.OS === 'web') {\n const canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\n if (canUseDOM) {\n /**\n * Web browsers emulate mouse events (and hover states) after touch events.\n * This code infers when the currently-in-use modality supports hover\n * (including for multi-modality devices) and considers \"hover\" to be enabled\n * if a mouse movement occurs more than 1 second after the last touch event.\n * This threshold is long enough to account for longer delays between the\n * browser firing touch and mouse events on low-powered devices.\n */\n const HOVER_THRESHOLD_MS = 1000;\n let lastTouchTimestamp = 0;\n const enableHover = () => {\n if (isEnabled || Date.now() - lastTouchTimestamp < HOVER_THRESHOLD_MS) {\n return;\n }\n isEnabled = true;\n };\n const disableHover = () => {\n lastTouchTimestamp = Date.now();\n if (isEnabled) {\n isEnabled = false;\n }\n };\n document.addEventListener('touchstart', disableHover, true);\n document.addEventListener('touchmove', disableHover, true);\n document.addEventListener('mousemove', enableHover, true);\n }\n}\nelse if (Platform.OS === 'windows' || Platform.OS === 'win32' || Platform.OS === 'macos') {\n isEnabled = true;\n}\nexport function isHoverEnabled() {\n return isEnabled;\n}\n//# sourceMappingURL=HoverState.js.map","import * as React from 'react';\n/* Re-usable hook for toggle components.\n * This hook configures the checked state, the callback to toggle the component\n * It handles the controlled/uncontrolled functionality of the toggle component.\n *\n * PROPS: defaultChecked - Default checked state. Mutually exclusive to ‘checked’. This should come from userProps\n * checked - Checked state. Mutually exclusive to 'defaultChecked'. This should come from userProps\n * userCallback() - Callback provided by userProps when the checked (toggle) state changes\n * RETURNS:\n * onChange() - Callback to toggle the component\n * state.isChecked - Whether or not component is currently checked or selected\n */\nexport function useAsToggle(defaultChecked, checked, userCallback) {\n const [isChecked, setChecked] = React.useState(defaultChecked ?? checked);\n const onChange = React.useCallback(() => {\n userCallback && userCallback(!isChecked);\n setChecked(!isChecked);\n }, [isChecked, setChecked]);\n return [checked ?? isChecked, onChange];\n}\n//# sourceMappingURL=useAsToggle.js.map","import * as React from 'react';\nimport { useControllableValue } from './useControllableValue';\n/* Re-usable hook for toggle components.\n * This hook configures the checked state, the callback to toggle the component\n * It handles the controlled/uncontrolled functionality of the toggle component.\n *\n * PROPS: defaultChecked - Default checked state. Mutually exclusive to ‘checked’. This should come from userProps\n * checked - Checked state. Mutually exclusive to 'defaultChecked'. This should come from userProps\n * userCallback() - Callback provided by userProps when the checked (toggle) state changes\n * RETURNS:\n * onChange() - Callback to toggle the component\n * state.isChecked - Whether or not component is currently checked or selected\n */\nexport function useAsToggleWithEvent(defaultChecked, checked, userCallback) {\n const [isChecked, setChecked] = useControllableValue(checked, defaultChecked);\n const onChange = React.useCallback((e) => {\n userCallback && userCallback(e, !isChecked);\n setChecked(!isChecked);\n }, [isChecked, setChecked, userCallback]);\n return [isChecked, onChange];\n}\n//# sourceMappingURL=useAsToggleWithEvent.js.map","import * as React from 'react';\nimport { useConst } from './useConst';\nexport function useControllableValue(controlledValue, defaultUncontrolledValue, onChange) {\n const [value, setValue] = React.useState(defaultUncontrolledValue);\n const isControlled = useConst(controlledValue !== undefined);\n const currentValue = isControlled ? controlledValue : value;\n // Duplicate the current value and onChange in refs so they're accessible from\n // setValueOrCallOnChange without creating a new callback every time\n const valueRef = React.useRef(currentValue);\n const onChangeRef = React.useRef(onChange);\n React.useEffect(() => {\n valueRef.current = currentValue;\n onChangeRef.current = onChange;\n });\n // To match the behavior of the setter returned by React.useState, this callback's identity\n // should never change. This means it MUST NOT directly reference variables that can change.\n const setValueOrCallOnChange = useConst(() => (update, ev) => {\n // Assuming here that TValue is not a function, because a controllable value will typically\n // be something a user can enter as input\n const newValue = typeof update === 'function' ? update(valueRef.current) : update;\n if (onChangeRef.current) {\n onChangeRef.current(ev, newValue);\n }\n if (!isControlled) {\n setValue(newValue);\n }\n });\n return [currentValue, setValueOrCallOnChange];\n}\n//# sourceMappingURL=useControllableValue.js.map","import * as React from 'react';\n/**\n * Hook to initialize and return a constant value. Unlike `React.useMemo`, this is guaranteed to\n * always return the same value (and if the initializer is a function, only call it once).\n * This is similar to setting a private member in a class constructor.\n *\n * If the value should ever change based on dependencies, use `React.useMemo` instead.\n *\n * @param initialValue - Initial value, or function to get the initial value. Similar to `useState`,\n * only the value/function passed in the first time this is called is respected.\n * @returns The value. The identity of this value will always be the same.\n */\nexport function useConst(initialValue) {\n // Use useRef to store the value because it's the least expensive built-in hook that works here\n // (we could also use `const [value] = React.useState(initialValue)` but that's more expensive\n // internally due to reducer handling which we don't need)\n const ref = React.useRef();\n if (ref.current === undefined) {\n // Box the value in an object so we can tell if it's initialized even if the initializer\n // returns/is undefined\n ref.current = {\n value: typeof initialValue === 'function' ? initialValue() : initialValue,\n };\n }\n return ref.current.value;\n}\n//# sourceMappingURL=useConst.js.map","import * as React from 'react';\nimport { Platform } from 'react-native';\n/**\n * Sets focus on the focusRef after calling the userCallback for onPress, if that is an expected behavior on the platform\n * @param focusRef the ref used to set focus, generally the ref of the component that is being pressed\n * @param userCallback user-provided callback for onPress behavior\n * @returns Hook that sets focus, then calls the user callback\n */\nexport function useOnPressWithFocus(focusRef, userCallback) {\n const onPressWithFocus = React.useCallback((args) => {\n const platformSupportsFocus = ['windows', 'win32', 'macos'].includes(Platform.OS);\n const takesFocusOnClick = ['windows', 'win32'].includes(Platform.OS);\n if (platformSupportsFocus && takesFocusOnClick) {\n focusRef?.current?.focus();\n }\n userCallback?.(args);\n }, [userCallback, focusRef]);\n return onPressWithFocus;\n}\n//# sourceMappingURL=useOnPressWithFocus.js.map","import * as React from 'react';\n/**\n * hover specific state and callback helper\n */\nexport function useHoverHelper(props) {\n const [hoverState, setHoverState] = React.useState({ hovered: false });\n const { onHoverIn, onHoverOut } = props;\n const _onHoverIn = React.useCallback((e) => {\n setHoverState({ hovered: true });\n onHoverIn?.(e);\n }, [setHoverState, onHoverIn]);\n const _onHoverOut = React.useCallback((e) => {\n setHoverState({ hovered: false });\n onHoverOut?.(e);\n }, [setHoverState, onHoverOut]);\n return [{ onHoverIn: _onHoverIn, onHoverOut: _onHoverOut }, hoverState];\n}\n/**\n * focus specific state and callback helper\n */\nexport function useFocusHelper(props) {\n const [focusState, setFocusState] = React.useState({ focused: false });\n const { onFocus, onBlur } = props;\n const _onFocus = React.useCallback((e) => {\n setFocusState({ focused: true });\n onFocus?.(e);\n }, [setFocusState, onFocus]);\n const _onBlur = React.useCallback((e) => {\n setFocusState({ focused: false });\n onBlur?.(e);\n }, [setFocusState, onBlur]);\n return [{ onFocus: _onFocus, onBlur: _onBlur }, focusState];\n}\n/**\n * press specific state and callback helper\n */\nexport function usePressHelper(props) {\n const [pressState, setPressState] = React.useState({ pressed: false });\n const { onPressIn, onPressOut } = props;\n const _onPressIn = React.useCallback((e) => {\n setPressState({ pressed: true });\n onPressIn?.(e);\n }, [setPressState, onPressIn]);\n const _onPressOut = React.useCallback((e) => {\n setPressState({ pressed: false });\n onPressOut?.(e);\n }, [setPressState, onPressOut]);\n return [{ onPressIn: _onPressIn, onPressOut: _onPressOut }, pressState];\n}\n/**\n * This routine hooks the props to pass to a Pressable component to obtain the current state of the Pressable as well as generating\n * state change updates when those props change. This allows a parent component to control the render of the whole component rather than having\n * to split the code between a child function or style function.\n *\n * @param props - props to pass to a Pressable component\n * @returns - modified props to pass into the Pressable as well as the current state with regards to hover, focus, and press\n */\nexport function usePressableState(props) {\n const { onPressIn, onPressOut, onHoverIn, onHoverOut, onFocus, onBlur, ...rest } = props;\n const [hoverProps, hoverState] = useHoverHelper({ onHoverIn, onHoverOut });\n const [focusProps, focusState] = useFocusHelper({ onFocus, onBlur });\n const [pressProps, pressState] = usePressHelper({ onPressIn, onPressOut });\n return { props: { ...hoverProps, ...focusProps, ...pressProps, ...rest }, state: { ...hoverState, ...focusState, ...pressState } };\n}\n//# sourceMappingURL=usePressableState.js.map","import * as React from 'react';\n// This hook updates the selected button and calls the client's onChange callback with the new button\nexport function useSelectedKey(defaultSelectedKey, userCallback) {\n const [selectedKey, setSelectedKey] = React.useState(defaultSelectedKey);\n const onKeySelect = React.useCallback((key) => {\n setSelectedKey(key);\n userCallback && userCallback(key);\n }, [setSelectedKey, userCallback]);\n return { onKeySelect, selectedKey };\n}\n//# sourceMappingURL=useSelectedKey.hooks.js.map","import * as React from 'react';\nimport { setAndForwardRef } from './setAndForwardRef';\n/**\n * We need the win32 version of this hook to work around an lack of a UIManager.focus implementation.\n * On other platforms this hook is unnecessary.\n * @param forwardRef - The componentRef from your component's props where you're exposing a imperative focus method.\n * @returns The inner View-type you're rendering that you want to dispatch to & focus on.\n */\nexport function useViewCommandFocus(forwardedRef) {\n /**\n * Set up the forwarding ref to enable adding the focus method.\n */\n const focusRef = React.useRef();\n const _setNativeRef = setAndForwardRef({\n getForwardedRef: () => forwardedRef,\n setLocalRef: (localRef) => {\n focusRef.current = localRef;\n },\n });\n return _setNativeRef;\n}\n//# sourceMappingURL=useViewCommandFocus.js.map","/**\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @format\n * @flow\n */\n'use strict';\n/**\n * This is a helper function for when a component needs to be able to forward a ref\n * to a child component, but still needs to have access to that component as part of\n * its implementation.\n *\n * Its main use case is in wrappers for native components.\n *\n * Usage:\n *\n * class MyView extends React.Component {\n * _nativeRef = null;\n *\n * _setNativeRef = setAndForwardRef({\n * getForwardedRef: () => this.props.forwardedRef,\n * setLocalRef: ref => {\n * this._nativeRef = ref;\n * },\n * });\n *\n * render() {\n * return ;\n * }\n * }\n *\n * export const MyViewWithRef = React.forwardRef((props, ref) => (\n * \n * ));\n */\nexport function setAndForwardRef({ getForwardedRef, setLocalRef }) {\n return function forwardRef(ref) {\n const forwardedRef = getForwardedRef();\n setLocalRef(ref);\n // Forward to user ref prop (if one has been specified)\n if (typeof forwardedRef === 'function') {\n // Handle function-based refs. String-based refs are handled as functions.\n forwardedRef(ref);\n }\n else if (typeof forwardedRef === 'object' && forwardedRef != null) {\n // Handle createRef-based refs\n forwardedRef.current = ref;\n }\n };\n}\n//# sourceMappingURL=setAndForwardRef.js.map","import { checkboxName } from './Checkbox.types';\nexport const checkboxSelectActionLabel = 'Toggle the Checkbox';\n/* Default values for Win32/Windows */\nexport const settings = [\n {\n tokens: {\n borderColor: 'menuItemText',\n color: 'menuItemText',\n backgroundColor: 'menuBackground',\n textBorderColor: 'transparent',\n },\n root: {\n style: {\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'row',\n minHeight: 14,\n marginTop: 0,\n position: 'relative',\n },\n },\n checkbox: {\n style: {\n borderStyle: 'solid',\n borderWidth: 1,\n minHeight: 14,\n minWidth: 14,\n marginEnd: 4,\n },\n },\n checkmark: {\n style: {\n aspectRatio: 1,\n position: 'relative',\n opacity: 0,\n fontSize: 10,\n textAlign: 'center',\n textAlignVertical: 'center',\n top: -1,\n },\n },\n content: {\n variant: 'bodyStandard',\n style: {\n borderStyle: 'solid',\n borderWidth: 2,\n marginTop: 3,\n },\n },\n _precedence: ['disabled', 'boxAtEnd', 'hovered', 'focused', 'pressed', 'checked'],\n _overrides: {\n focused: {\n tokens: {\n backgroundColor: 'menuItemBackgroundHovered',\n textBorderColor: 'focusBorder',\n checkmarkColor: 'menuItemTextHovered',\n },\n },\n checked: {\n checkmark: {\n style: {\n opacity: 1,\n },\n },\n },\n hovered: {\n tokens: {\n backgroundColor: 'menuItemBackgroundHovered',\n checkmarkColor: 'menuItemTextHovered',\n },\n },\n disabled: {\n tokens: {\n borderColor: 'buttonBorderDisabled',\n color: 'disabledBodyText',\n backgroundColor: 'background',\n },\n },\n boxAtEnd: {\n checkbox: {\n style: {\n marginStart: 4,\n marginEnd: 0,\n },\n },\n },\n pressed: {\n tokens: {\n backgroundColor: 'menuItemBackgroundPressed',\n },\n },\n },\n },\n checkboxName,\n];\n//# sourceMappingURL=Checkbox.settings.js.map","const _viewMask = {\n children: true,\n accessibilityActions: true,\n accessibilityElementsHidden: true,\n accessibilityHint: true,\n accessibilityIgnoresInvertColors: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLanguage: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityPosInSet: true,\n accessibilityRole: true,\n accessibilitySetSize: true,\n accessibilityState: true,\n accessibilityValue: true,\n accessibilityViewIsModal: true,\n accessible: true,\n collapsable: true,\n enableFocusRing: true,\n focusable: true,\n hasTVPreferredFocus: true,\n hitSlop: true,\n id: true,\n importantForAccessibility: true,\n isTVSelectable: true,\n keyDownEvents: true,\n keyUpEvents: true,\n nativeID: true,\n needsOffscreenAlphaCompositing: true,\n onAccessibilityAction: true,\n onAccessibilityEscape: true,\n onAccessibilityTap: true,\n onKeyDown: true,\n onKeyDownCapture: true,\n onKeyUp: true,\n onKeyUpCapture: true,\n onLayout: true,\n onMagicTap: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMoveShouldSetResponder: true,\n onMoveShouldSetResponderCapture: true,\n onPointerCancel: true,\n onPointerCancelCapture: true,\n onPointerDown: true,\n onPointerDownCapture: true,\n onPointerEnter: true,\n onPointerEnterCapture: true,\n onPointerLeave: true,\n onPointerLeaveCapture: true,\n onPointerMove: true,\n onPointerMoveCapture: true,\n onPointerUp: true,\n onPointerUpCapture: true,\n onResponderEnd: true,\n onResponderGrant: true,\n onResponderMove: true,\n onResponderReject: true,\n onResponderRelease: true,\n onResponderStart: true,\n onResponderTerminate: true,\n onResponderTerminationRequest: true,\n onStartShouldSetResponder: true,\n onStartShouldSetResponderCapture: true,\n onTouchCancel: true,\n onTouchEnd: true,\n onTouchEndCapture: true,\n onTouchMove: true,\n onTouchStart: true,\n pointerEvents: true,\n removeClippedSubviews: true,\n renderToHardwareTextureAndroid: true,\n role: true,\n shouldRasterizeIOS: true,\n style: true,\n tabIndex: true,\n testID: true,\n tooltip: true,\n tvParallaxMagnification: true,\n tvParallaxProperties: true,\n tvParallaxShiftDistanceX: true,\n tvParallaxShiftDistanceY: true,\n tvParallaxTiltAngle: true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-disabled': true,\n 'aria-expanded': true,\n 'aria-hidden': true,\n 'aria-label': true,\n 'aria-labelledby': true,\n 'aria-level': true,\n 'aria-live': true,\n 'aria-modal': true,\n 'aria-posinset': true,\n 'aria-selected': true,\n 'aria-setsize': true,\n 'aria-valuemax': true,\n 'aria-valuemin': true,\n 'aria-valuenow': true,\n 'aria-valuetext': true,\n};\nconst _textMask = {\n accessibilityActions: true,\n accessibilityElementsHidden: true,\n accessibilityHint: true,\n accessibilityIgnoresInvertColors: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLanguage: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityPosInSet: true,\n accessibilityRole: true,\n accessibilitySetSize: true,\n accessibilityState: true,\n accessibilityValue: true,\n accessibilityViewIsModal: true,\n accessible: true,\n adjustsFontSizeToFit: true,\n allowFontScaling: true,\n android_hyphenationFrequency: true,\n children: true,\n dataDetectorType: true,\n disabled: true,\n dynamicTypeRamp: false,\n ellipsizeMode: true,\n id: true,\n importantForAccessibility: true,\n lineBreakMode: true,\n lineBreakStrategyIOS: true,\n maxFontSizeMultiplier: true,\n minimumFontScale: true,\n nativeID: true,\n numberOfLines: true,\n onAccessibilityAction: true,\n onAccessibilityEscape: true,\n onAccessibilityTap: true,\n onLayout: true,\n onLongPress: true,\n onMagicTap: true,\n onPress: true,\n onPressIn: true,\n onPressOut: true,\n onTextLayout: true,\n role: true,\n selectable: true,\n selectionColor: true,\n style: true,\n suppressHighlighting: true,\n testID: true,\n textBreakStrategy: true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-disabled': true,\n 'aria-expanded': true,\n 'aria-hidden': true,\n 'aria-label': true,\n 'aria-labelledby': true,\n 'aria-level': true,\n 'aria-live': true,\n 'aria-modal': true,\n 'aria-posinset': true,\n 'aria-selected': true,\n 'aria-setsize': true,\n 'aria-valuemax': true,\n 'aria-valuemin': true,\n 'aria-valuenow': true,\n 'aria-valuetext': true,\n};\nconst _imageMask = {\n children: true,\n accessibilityActions: true,\n accessibilityElementsHidden: true,\n accessibilityHint: true,\n accessibilityIgnoresInvertColors: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLanguage: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityPosInSet: true,\n accessibilityRole: true,\n accessibilitySetSize: true,\n accessibilityState: true,\n accessibilityValue: true,\n accessibilityViewIsModal: true,\n accessible: true,\n alt: true,\n blurRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n capInsets: true,\n crossOrigin: true,\n defaultSource: true,\n fadeDuration: true,\n height: true,\n id: true,\n importantForAccessibility: true,\n loadingIndicatorSource: true,\n nativeID: true,\n onAccessibilityAction: true,\n onAccessibilityEscape: true,\n onAccessibilityTap: true,\n onError: true,\n onLayout: true,\n onLoad: true,\n onLoadEnd: true,\n onLoadStart: true,\n onMagicTap: true,\n onPartialLoad: true,\n onProgress: true,\n progressiveRenderingEnabled: true,\n referrerPolicy: true,\n resizeMethod: true,\n resizeMode: true,\n role: true,\n source: true,\n src: true,\n srcSet: true,\n style: true,\n testID: true,\n tintColor: true,\n width: true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-disabled': true,\n 'aria-expanded': true,\n 'aria-hidden': true,\n 'aria-label': true,\n 'aria-labelledby': true,\n 'aria-level': true,\n 'aria-live': true,\n 'aria-modal': true,\n 'aria-posinset': true,\n 'aria-selected': true,\n 'aria-setsize': true,\n 'aria-valuemax': true,\n 'aria-valuemin': true,\n 'aria-valuenow': true,\n 'aria-valuetext': true,\n};\nexport function filterViewProps(propName) {\n return _viewMask[propName];\n}\nexport function filterTextProps(propName) {\n return _textMask[propName];\n}\nexport function filterImageProps(propName) {\n return _imageMask[propName];\n}\n//# sourceMappingURL=adapters.windows.js.map","import { Text } from './Text';\nexport const Caption1 = Text.customize({\n variant: 'caption1',\n});\nexport const Caption1Strong = null; // Not supported on windows\nexport const Caption2 = null; // Not supported on windows\nexport const Body1 = Text.customize({\n variant: 'body1',\n});\nexport const Body1Strong = Text.customize({\n variant: 'body1Strong',\n});\nexport const Body2 = Text.customize({\n variant: 'body2',\n});\nexport const Body2Strong = Text.customize({\n variant: 'body2Strong',\n});\nexport const Subtitle1 = Text.customize({\n variant: 'subtitle1',\n});\nexport const Subtitle1Strong = Text.customize({\n variant: 'subtitle1Strong',\n});\nexport const Subtitle2 = Text.customize({\n variant: 'subtitle2',\n});\nexport const Subtitle2Strong = Text.customize({\n variant: 'subtitle2Strong',\n});\nexport const Title1 = Text.customize({\n variant: 'title1',\n});\nexport const Title1Strong = Text.customize({\n variant: 'title1Strong',\n});\nexport const Title2 = null; // Not supported on windows\nexport const Title3 = null; // Not supported on windows\nexport const LargeTitle = Text.customize({\n variant: 'largeTitle',\n});\nexport const Display = Text.customize({\n variant: 'display',\n});\n//# sourceMappingURL=Variants.windows.js.map","/** @jsxRuntime classic */\n/** @jsx withSlots */\nimport React from 'react';\nimport { I18nManager, Platform, Text as RNText } from 'react-native';\nimport { fontStyles, withSlots, useFluentTheme, mergeStyles, compressible, patchTokens } from '@fluentui-react-native/framework';\nimport { useKeyProps } from '@fluentui-react-native/interactive-hooks';\nimport { globalTokens } from '@fluentui-react-native/theme-tokens';\nimport { textName } from './Text.types';\nimport { useTextTokens } from './TextTokens';\nconst emptyProps = {};\nexport const Text = compressible((props, useTokens) => {\n if (props === undefined) {\n props = emptyProps;\n }\n // split out color and variant from props\n const { align = undefined, block, color, componentRef, font, italic, numberOfLines, onAccessibilityTap, onKeyUp, onKeyDown, keyUpEvents, keyDownEvents, onPress, size, strikethrough, style, truncate = false, underline, variant, weight, wrap = true, ...rest } = props;\n const theme = useFluentTheme();\n // get the tokens from the theme\n let [tokens, cache] = useTokens(theme);\n const textAlign = I18nManager.isRTL\n ? align === 'start'\n ? 'right'\n : align === 'end'\n ? 'left'\n : align\n : align === 'start'\n ? 'left'\n : align === 'end'\n ? 'right'\n : align;\n const textOnPress = React.useCallback((e) => {\n if (onPress) {\n onPress(e);\n }\n e.stopPropagation();\n }, [onPress]);\n const keyProps = useKeyProps(textOnPress, ' ', 'Enter');\n const onAccTap = React.useCallback((event) => {\n onAccessibilityTap ? onAccessibilityTap() : onPress(event);\n }, [onPress, onAccessibilityTap]);\n // override tokens from props\n [tokens, cache] = patchTokens(tokens, cache, {\n color,\n variant,\n fontFamily: font == 'base' ? 'primary' : font,\n fontMaximumSize: tokens.maximumFontSize,\n fontSize: globalTokens.font['size' + size],\n fontWeight: globalTokens.font.weight[weight],\n // leave it undefined for tokens to be set by user\n fontStyle: italic ? 'italic' : undefined,\n textAlign: textAlign,\n textDecorationLine: underline && strikethrough ? 'underline line-through' : underline ? 'underline' : strikethrough ? 'line-through' : undefined,\n });\n // now build the text style from tokens that can be shared between different Text instances\n const [tokenStyle] = cache(() => ({\n margin: 0,\n color: tokens.color,\n fontStyle: tokens.fontStyle,\n textAlign: tokens.textAlign,\n textDecorationLine: tokens.textDecorationLine,\n ...fontStyles.from(tokens, theme),\n }), ['color', 'fontStyle', 'textAlign', 'textDecorationLine', ...fontStyles.keys]);\n // Safety measure: Dynamic Type is an iOS-specific thing\n const dynamicTypeVariant = Platform.OS === 'ios' ? tokenStyle.dynamicTypeRamp : undefined;\n let maxFontSizeScaleAdjustment = emptyProps;\n // tokenStyle.fontSize can also be a string (e.g., \"14px\").\n // Therefore, we only support scaling for number-based size values in order to avoid any messy calculations.\n if (dynamicTypeVariant !== undefined && typeof tokenStyle.fontSize === 'number' && tokenStyle.maximumFontSize !== undefined) {\n maxFontSizeScaleAdjustment = {\n maxFontSizeMultiplier: tokenStyle.maximumFontSize / tokenStyle.fontSize,\n };\n }\n const isWinPlatform = Platform.OS === ('win32' || 'windows');\n const filteredProps = {\n onKeyUp: isWinPlatform ? onKeyUp : undefined,\n keyUpEvents: isWinPlatform ? keyUpEvents : undefined,\n validKeysUp: undefined,\n onKeyDown: isWinPlatform ? onKeyDown : undefined,\n keyDownEvents: isWinPlatform ? keyDownEvents : undefined,\n validKeysDown: undefined,\n onAccessibilityTap: isWinPlatform ? onAccTap : undefined,\n };\n // return a continuation function that allows this text to be compressed\n return (extra, children) => {\n const mergedProps = {\n ...rest,\n ...keyProps,\n ...filteredProps,\n ...extra,\n ...maxFontSizeScaleAdjustment,\n onPress,\n numberOfLines: numberOfLines ?? (truncate || !wrap ? 1 : 0),\n style: mergeStyles(tokenStyle, props.style, extra?.style),\n };\n // RN TextStyle doesn't recognize these properties.\n // Don't let them leak through or RN will complain about invalid props.\n delete mergedProps.style.dynamicTypeRamp;\n delete mergedProps.style.maximumFontSize;\n return (withSlots(RNText, { ref: componentRef, ellipsizeMode: !wrap && !truncate ? 'clip' : 'tail', ...mergedProps }, children));\n };\n}, useTextTokens);\nText.displayName = textName;\nexport default Text;\n//# sourceMappingURL=Text.js.map","import { buildUseTokens as buildUseTokensCore } from '@fluentui-react-native/use-tokens';\nimport { themeHelper } from './themeHelper';\nexport { applyTokenLayers, applyPropsToTokens, customizable, patchTokens } from '@fluentui-react-native/use-tokens';\nexport function buildUseTokens(...tokens) {\n return buildUseTokensCore(themeHelper.getComponentInfo, ...tokens);\n}\n//# sourceMappingURL=useTokens.js.map","export function applyPropsToTokens(props, tokens, cache, keys) {\n for (const key of keys) {\n const sourceValue = props[key];\n const setValue = sourceValue === tokens[key] ? undefined : sourceValue;\n [tokens, cache] = cache(() => (setValue === undefined ? tokens : { ...tokens, [key]: setValue }), [setValue]);\n }\n return [tokens, cache];\n}\n//# sourceMappingURL=applyPropsToTokens.js.map","import { immutableMerge } from '@fluentui-react-native/framework-base';\n/**\n * Apply token layers, building them up applied layer by applied layer, using the cache to store intermediate\n * values\n *\n * @param tokens - input tokens which may have layers to apply\n * @param states - array of states to check for, ordered by precedence\n * @param subCache - cache scoped to the root object with no layers applied\n * @param hasLayer - a function which returns whether a given layer should be applied\n */\nexport function applyTokenLayers(tokens, states, subCache, hasLayer) {\n let final = { tokens, subCache };\n if (states && states.length > 0) {\n // now walk the overrides that are set, merging in props, caching results, and getting a new sub cache\n final = states\n .filter((val) => hasLayer(val))\n .reduce((previous, layerName) => {\n const layer = previous.tokens[layerName];\n const [tokens, subCache] = previous.subCache(() => (layer && typeof layer === 'object' ? immutableMerge(previous.tokens, layer) : previous.tokens), [layer]);\n return { tokens, subCache };\n }, final);\n }\n return [final.tokens, final.subCache];\n}\n//# sourceMappingURL=applyTokenLayers.js.map","import { immutableMerge } from '@fluentui-react-native/framework-base';\nimport { getMemoCache } from '@fluentui-react-native/framework-base';\n/**\n * Tokens are defined as either:\n * TTokens - an object\n * string - a name to look up in the theme\n * function - a function to run against the theme to produce tokens\n *\n * This function maps any of these types into a specific TTokens object. A string is first lookup up in the theme, returning a function\n * or object. If the type is a function this will be invoked with the theme to generate the tokens object.\n *\n * @param tokenEntry - token entry to start with\n * @param theme - theme to use for queries\n * @param getComponentInfo - helper to use to lookup the component in the theme\n */\nfunction mapToTokens(tokenEntry, theme, getComponentInfo) {\n if (typeof tokenEntry === 'string') {\n tokenEntry = (getComponentInfo && getComponentInfo(theme, tokenEntry)) || {};\n }\n if (typeof tokenEntry === 'function') {\n tokenEntry = tokenEntry(theme);\n }\n return tokenEntry;\n}\n/**\n * Construct a useStyling hook which returns styled slot props based on props and tokens defined in options and in the theme\n *\n * @param options - options which drive behavior for the generated styling hook\n * @param themeHelper - injected theme functionality\n */\nexport function buildUseTokens(getComponentInfo, ...tokens) {\n // create a cache instance for use in this particular call to buildUseTokens\n const cache = getMemoCache();\n // the core function simply merges layers together, looking up component definitions in the theme as well as executing any\n // theme functions. This turns the tokens into an array of token objects that then get merged together\n const useTokensCore = (theme) => {\n // get the base styles all merged together, these will only depend on internal tokens and theme\n return cache(() => immutableMerge(...tokens.map((value) => mapToTokens(value, theme, getComponentInfo))), [theme]);\n };\n // attach a customize function to generate a new use\n useTokensCore.customize = (...newTokens) => {\n const mergedTokens = [...tokens, ...newTokens];\n return buildUseTokens(getComponentInfo, ...mergedTokens);\n };\n return useTokensCore;\n}\n//# sourceMappingURL=buildUseTokens.js.map","/**\n * Function helper for easily creating a customizable component based on the useTokens hook\n *\n * @param injectable - a function component implementation, written in (props, useTokens) => JSX.Element form\n * @param useTokens - a hook function, generally built via buildUseTokens, used to retrieve design tokens for the component\n *\n * @returns - a function component that has a static function called customize attached. Customize will return a\n * new component (which can also be customized)\n */\nexport function customizable(injectable, useTokens) {\n const component = (props) => injectable(props, useTokens);\n component.customize = (...tokens) => {\n const useTokensNew = useTokens.customize(...tokens);\n return customizable(injectable, useTokensNew);\n };\n return component;\n}\n//# sourceMappingURL=customizable.js.map","/**\n * Take a set of tokens (and a memo-cache) and apply changes to those tokens from an additional set of tokens. Only keys which are\n * not undefined will be applied and if no changes are detected the token object will be unchanged.\n *\n * @param tokens - base set of tokens to apply changes to, this will not be modified\n * @param cache - cache corresponding to this set of tokens\n * @param patchValues - new values to apply, values will be obtained via keys in the object\n * @returns - a tuple consisting of a new tokens object and a new memo-cache\n */\nexport function patchTokens(tokens, cache, patchValues) {\n // reduce the patch values to the set of keys that are defined, and sort them to ensure consistent ordering\n const keys = Object.keys(patchValues)\n .filter((v) => patchValues[v] !== undefined)\n .sort();\n // for each key get an updated tokens collection based on key + value. Value alone isn't sufficient as the values\n // are not necessarily unique. i.e. { a: 'blue' } and { b: 'blue' } would cache to the same without the key\n for (const key of keys) {\n [tokens, cache] = cache(() => ({ ...tokens, [key]: patchValues[key] }), [key, patchValues[key]]);\n }\n // return the updated tokens and cache (if there were any keys applied)\n return [tokens, cache];\n}\n//# sourceMappingURL=patchTokens.js.map","import { useFluentTheme } from './useFluentTheme';\nexport const themeHelper = {\n useTheme: () => useFluentTheme(),\n getComponentInfo: (theme, name) => {\n const components = theme.components || {};\n return components[name];\n },\n};\n//# sourceMappingURL=themeHelper.js.map","import { defaultFluentTheme } from '@fluentui-react-native/default-theme';\nimport { useTheme } from '@fluentui-react-native/theme-types';\n/**\n * Attempts to obtain a theme via the react context, failing that the default fluent theme will be returned. Used to ensure some theme\n * object is provided for looking up color (and other) theme values\n * @returns - a valid Theme object\n */\nexport function useFluentTheme() {\n return useTheme() || defaultFluentTheme;\n}\n//# sourceMappingURL=useFluentTheme.js.map","import { buildUseStyling as buildUseStylingBase, buildProps as buildPropsBase } from '@fluentui-react-native/use-styling';\nimport { themeHelper } from './themeHelper';\nexport function buildProps(fn, keys) {\n return buildPropsBase(fn, keys);\n}\n/**\n * Construct a useStyling hook which returns styled slot props based on props and tokens defined in options and in the theme\n *\n * @param options - options which drive behavior for the generated styling hook\n */\nexport function buildUseStyling(options) {\n // create a cache instance for this use styling implementation\n return buildUseStylingBase(options, themeHelper);\n}\n//# sourceMappingURL=useStyling.js.map","function cacheStyleClosure(fn, keys) {\n return (tokens, theme, cache) => cache(() => fn(tokens, theme), (keys || []).map((key) => tokens[key]))[0];\n}\nfunction refineKeys(keys, mask) {\n return typeof mask === 'object' && Array.isArray(mask)\n ? keys.filter((key) => mask.findIndex((val) => val === key) !== -1)\n : mask\n ? keys\n : [];\n}\n/**\n * Standard wrapper for a function that provides props for a component based on tokens and theme.\n *\n * @param fn - function which does the work of producing props for the tokens and theme provided\n * @param keys - which token properties are used by this style, this determines the keys to use for caching\n */\nexport function buildProps(fn, keys) {\n // wrap the provided function in the standard caching layer, basing it upon the provided keys\n const result = cacheStyleClosure(fn, keys);\n // if results are being cached on keys, provide the ability to refine the function if a prop mask is specified\n result.refine =\n keys && keys.length > 0\n ? (mask) => {\n return cacheStyleClosure(fn, refineKeys(keys, mask));\n }\n : undefined;\n // return the style function decorated with the refine function\n return result;\n}\n/**\n * Utility function to check the type and refinement capabilities of a styleFunction and refine it if appropriate\n *\n * @param fn - function or props to potentially refine\n * @param mask - prop mask to use for refinement\n */\nexport function refinePropsFunctions(styles, mask) {\n const result = {};\n Object.keys(styles).forEach((key) => {\n const refine = typeof styles[key] === 'function' && styles[key].refine;\n result[key] = refine ? refine(mask) : styles[key];\n });\n return result;\n}\n//# sourceMappingURL=buildProps.js.map","import { applyPropsToTokens, applyTokenLayers, buildUseTokens } from '@fluentui-react-native/use-tokens';\nimport { refinePropsFunctions } from './buildProps';\n/**\n * Produce the final slot props for the styled hook\n *\n * @param styles - refined style functions or props to use for processing\n * @param tokens - token inputs for the style functions\n * @param theme - theme to resolve against\n * @param cache - cache to use for the base of slot caching\n */\nfunction resolveToSlotProps(styles, tokens, theme, cache) {\n const slotProps = {};\n Object.keys(styles).forEach((key) => {\n const style = styles[key];\n slotProps[key] = typeof style === 'function' ? style(tokens, theme, cache(null, [key])[1]) : style;\n });\n return slotProps;\n}\n/**\n * Construct a useStyling hook which returns styled slot props based on props and tokens defined in options and in the theme\n *\n * @param options - options which drive behavior for the generated styling hook\n * @param themeHelper - injected theme functionality\n */\nexport function buildUseStyling(options, themeHelper) {\n // create a cache instance for this use styling implementation\n const { useTheme, getComponentInfo } = themeHelper;\n const { tokens, tokensThatAreAlsoProps: tokenProps } = options;\n const styles = refinePropsFunctions(options.slotProps || {}, tokenProps);\n const useTokens = buildUseTokens(getComponentInfo, ...tokens);\n return (props, lookup) => {\n // query the theme\n const theme = useTheme();\n // get the merged tokens from the theme\n let [mergedTokens, cache] = useTokens(theme);\n // resolve overrides as appropriate\n if (options.states) {\n [mergedTokens, cache] = applyTokenLayers(mergedTokens, options.states, cache, lookup || ((val) => props[val]));\n }\n // now resolve tokens\n if (typeof tokenProps === 'object' && Array.isArray(tokenProps)) {\n [mergedTokens, cache] = applyPropsToTokens(props, mergedTokens, cache, tokenProps);\n }\n else if (tokenProps === 'all') {\n mergedTokens = { ...mergedTokens, ...props };\n }\n // finally produce slotProps from calling the style functions on each entry\n return resolveToSlotProps(styles, mergedTokens, theme, cache);\n };\n}\n//# sourceMappingURL=buildUseStyling.js.map","import { useSlot } from '@fluentui-react-native/use-slot';\nexport function buildUseSlots(options) {\n const { slots, filters = {}, useStyling } = options;\n return (...args) => {\n // get the baseline slot props to render with the slots\n const slotProps = typeof useStyling === 'function' ? useStyling(...args) : (useStyling || {});\n // build up a set of slots closures and store them in props\n const builtSlots = {};\n // for each slot go through and either cache the slot props or call part one render if it is staged\n Object.keys(slots).forEach((slotName) => {\n builtSlots[slotName] = useSlot(slots[slotName], slotProps[slotName], filters[slotName]);\n });\n // return the prebuilt closures, these will have internal references to state.results\n return builtSlots;\n };\n}\n//# sourceMappingURL=buildUseSlots.js.map","import * as React from 'react';\nimport { mergeProps } from '@fluentui-react-native/framework-base';\n/**\n *\n * @param slot - component which may or may not be built using the staged pattern\n * @returns - the staged function or undefined\n */\nfunction getStagedRender(slot) {\n return (typeof slot === 'function' && slot._staged) || undefined;\n}\n/**\n * useSlot hook function, allows authoring against pluggable slots as well as allowing components to be called as functions rather than\n * via createElement if they support it.\n *\n * @param component - any kind of component that can be rendered as part of the tree\n * @param props - props, particularly the portion that includes styles, that should be passed to the component. These will be merged with what are specified in the JSX tree\n * @param filter - optional filter that will prune the props before forwarding to the component\n * @returns\n */\nexport function useSlot(component, props, filter) {\n // extract the staged component function if that pattern is being used, will be undefined if it is a standard component\n const stagedComponent = getStagedRender(component);\n // build the secondary processing function and the result holder, done via useMemo so the function identity stays the same. Rebuilding the closure every time would invalidate render\n const [fn, results] = React.useMemo(() => {\n // create a holder object so values can be passed to the closure\n const resultHolder = {};\n // create a function that is in the right format for rendering in JSX/TSX, this has children split out\n const slotFn = (extraProps, ...children) => {\n const result = resultHolder.result;\n // result is either a function (if a staged component) or a set of props passed to useSlot (and sent here via resultHolder)\n let props = typeof result === 'function' ? extraProps : mergeProps(result, extraProps);\n // if we have a filter specified, run it creating a prop collection of { [key]: undefined } which will end up deleting the values via mergeStyles\n const propsToRemove = filter ? Object.keys(props).filter((key) => !filter(key)) : undefined;\n if (propsToRemove?.length > 0) {\n props = mergeProps(props, Object.assign({}, ...propsToRemove.map((prop) => ({ [prop]: undefined }))));\n }\n // now if result was a function then call it directly, if not go through the standard React.createElement process\n return typeof result === 'function'\n ? result(props, ...children)\n : React.createElement(component, props, ...children);\n };\n // mark the slotFn so that withSlots knows to handle it differently\n slotFn._canCompose = true;\n return [slotFn, resultHolder];\n }, [component, filter]);\n // if it is a staged component executre the first part with the props, otherwise just remember the props\n results.result = stagedComponent ? stagedComponent(props) : props;\n // return the function\n return fn;\n}\n//# sourceMappingURL=useSlot.js.map","import { composeFactory } from '@fluentui-react-native/composition';\nimport { themeHelper } from './themeHelper';\nexport function compose(options, base) {\n return composeFactory(options, themeHelper, base);\n}\n//# sourceMappingURL=compose.js.map","import { immutableMergeCore } from '@fluentui-react-native/framework-base';\nimport { stagedComponent } from '@fluentui-react-native/framework-base';\nimport { buildUseSlots } from '@fluentui-react-native/use-slots';\nimport { buildUseStyling } from '@fluentui-react-native/use-styling';\n/**\n * options get deep merged except the tokens array gets appended\n */\nconst mergeOptions = {\n tokens: 'appendArray',\n object: true,\n};\nexport function composeFactory(options, themeHelper, base) {\n // merge options together if a base is specified\n const baseOptions = base?.__options;\n options = baseOptions ? immutableMergeCore(mergeOptions, baseOptions, options) : { ...options };\n // build styling if styling options are specified\n options.useStyling = options.slotProps || options.tokens ? buildUseStyling(options, themeHelper) : () => ({});\n // build the slots hook, which will use the styling hook if it has been built\n const useSlots = buildUseSlots(options);\n // build the staged component\n const component = stagedComponent((props) => options.useRender(props, useSlots));\n // attach additional props to the returned component\n component.displayName = options.displayName;\n component.__options = options;\n component.customize = (...tokens) => composeFactory(immutableMergeCore(mergeOptions, options, { tokens: tokens }), themeHelper);\n component.compose = (customOptions) => composeFactory(immutableMergeCore(mergeOptions, options, customOptions), themeHelper);\n // attach statics if specified\n if (options.statics) {\n Object.assign(component, options.statics);\n }\n return component;\n}\n//# sourceMappingURL=composeFactory.js.map","import { stagedComponent } from '@fluentui-react-native/framework-base';\n/**\n * Utility function which can create function components that can be tree compressed (using the stagedRender pattern),\n * and also have customize functionality.\n * @param fn StagedRender function that defines your component\n * @param useTokens a hook function to build a set of tokens from a passed in theme as well as a cache object\n * @returns A tree compressed function component with the `.customize` method exposed to it\n */\nexport function compressible(fn, useTokens) {\n const injectedWrapper = (props) => fn(props, useTokens);\n const component = stagedComponent(injectedWrapper);\n component.customize = (...tokens) => {\n const useTokensNew = useTokens.customize(...tokens);\n return compressible(fn, useTokensNew);\n };\n return component;\n}\n//# sourceMappingURL=compressible.js.map","import { buildUseTokens } from '@fluentui-react-native/framework';\nimport { textName } from './Text.types';\nexport const useTextTokens = buildUseTokens((t) => ({\n variant: 'secondaryStandard',\n color: t.colors.bodyText,\n}), textName);\n//# sourceMappingURL=TextTokens.js.map","export const textName = 'Text';\n//# sourceMappingURL=Text.types.js.map","import { Text as RNText } from 'react-native';\nimport { filterTextProps } from '@fluentui-react-native/adapters';\nimport { foregroundColorTokens, textTokens } from '@fluentui-react-native/tokens';\nimport { compose } from '@uifabricshared/foundation-compose';\nimport { settings } from './Text.settings';\nimport { textName } from './Text.types';\nexport const Text = compose({\n displayName: textName,\n settings,\n slots: {\n root: { slotType: RNText, filter: filterTextProps },\n },\n styles: {\n root: [textTokens, foregroundColorTokens],\n },\n});\nexport default Text;\n//# sourceMappingURL=Text.js.map","export const textName = 'RNFText';\n//# sourceMappingURL=Text.types.js.map","import { textName } from './Text.types';\nexport const settings = [\n {\n tokens: {\n variant: 'secondaryStandard',\n color: 'bodyText',\n },\n root: {\n style: {\n margin: 0,\n },\n },\n _overrides: {\n disabled: {\n tokens: {\n color: 'disabledText',\n },\n },\n },\n _precedence: ['disabled'],\n },\n textName,\n];\n//# sourceMappingURL=Text.settings.js.map","/** @jsxRuntime classic */\n/** @jsx withSlots */\nimport * as React from 'react';\nimport { Pressable, Platform } from 'react-native';\nimport { compose, mergeProps, withSlots } from '@fluentui-react-native/framework';\nimport { TextV1 as Text } from '@fluentui-react-native/text';\nimport { Svg, Path } from 'react-native-svg';\nimport { stylingSettings, getDefaultSize } from './Checkbox.styling';\nimport { checkboxName } from './Checkbox.types';\nimport { useCheckbox } from './useCheckbox';\nexport const Checkbox = compose({\n displayName: checkboxName,\n ...stylingSettings,\n slots: {\n root: Pressable,\n checkbox: Pressable,\n checkmark: Svg,\n label: Text,\n required: Text,\n },\n useRender: (userProps, useSlots) => {\n // configure props and state for checkbox based on user props\n const Checkbox = useCheckbox(userProps);\n // grab the styled slots\n const Slots = useSlots(userProps, (layer) => Checkbox.state[layer] ||\n userProps[layer] ||\n layer === userProps['shape'] ||\n layer === userProps['size'] ||\n (!userProps['size'] && layer === getDefaultSize()));\n // now return the handler for finishing render\n return (final) => {\n const { label, required, ...mergedProps } = mergeProps(Checkbox.props, final);\n const { onPress, disabled } = mergedProps;\n const labelComponent = (withSlots(React.Fragment, null,\n withSlots(Slots.label, { key: \"label\" }, label),\n !!required && withSlots(Slots.required, null, typeof required === 'string' ? required : '*')));\n // We want a thicker checkmark in HC to make the checkmark stand out more.\n const checkmarkPath = (withSlots(Path, { fill: \"currentColor\", d: \"M9.76497 3.20474C10.0661 3.48915 10.0797 3.96383 9.79526 4.26497L5.54526 8.76497C5.40613 8.91228 5.21332 8.99703 5.01071 8.99993C4.8081 9.00282 4.61295 8.92361 4.46967 8.78033L2.21967 6.53033C1.92678 6.23744 1.92678 5.76257 2.21967 5.46967C2.51256 5.17678 2.98744 5.17678 3.28033 5.46967L4.98463 7.17397L8.70474 3.23503C8.98915 2.9339 9.46383 2.92033 9.76497 3.20474Z\" }));\n return (withSlots(Slots.root, { ...mergedProps, ...(Platform.OS == 'android' && { accessible: !disabled, focusable: !disabled }) },\n Checkbox.state.labelIsBefore && labelComponent,\n withSlots(Slots.checkbox, { accessible: false, onPress: onPress, disabled: disabled, focusable: false },\n withSlots(Slots.checkmark, { key: \"checkmark\", viewBox: \"0 0 12 12\" }, checkmarkPath)),\n !Checkbox.state.labelIsBefore && labelComponent));\n };\n },\n});\nexport default Checkbox;\n//# sourceMappingURL=Checkbox.js.map","export const checkboxName = 'Checkbox';\n//# sourceMappingURL=Checkbox.types.js.map","import { Platform } from 'react-native';\nimport { buildProps } from '@fluentui-react-native/framework';\nimport { getTextMarginAdjustment } from '@fluentui-react-native/styling-utils';\nimport { borderStyles, fontStyles } from '@fluentui-react-native/tokens';\nimport { checkboxName } from './Checkbox.types';\nimport { defaultCheckboxTokens } from './CheckboxTokens';\nexport const checkboxStates = [\n 'medium',\n 'large',\n 'circular',\n 'label',\n 'labelIsBefore',\n 'hovered',\n 'focused',\n 'pressed',\n 'checked',\n 'disabled',\n];\nconst hasPresetRententionForA11y = Platform.OS === 'android';\nexport const stylingSettings = {\n tokens: [defaultCheckboxTokens, checkboxName],\n states: checkboxStates,\n slotProps: {\n root: buildProps((tokens, theme) => ({\n style: {\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'row',\n alignSelf: 'flex-start',\n backgroundColor: tokens.backgroundColor,\n padding: tokens.padding,\n paddingHorizontal: tokens.paddingHorizontal,\n ...borderStyles.from(tokens, theme),\n },\n android_ripple: { color: tokens.rippleColor, foreground: true },\n }), ['backgroundColor', 'padding', ...borderStyles.keys, 'rippleColor']),\n label: buildProps((tokens, theme) => ({\n style: contentStyling(tokens, theme),\n }), ['spacingLabelAfter', 'spacingLabelBefore', 'color', ...fontStyles.keys]),\n checkbox: buildProps((tokens) => ({\n style: {\n height: tokens.checkboxSize,\n width: tokens.checkboxSize,\n backgroundColor: tokens.checkboxBackgroundColor,\n borderColor: tokens.checkboxBorderColor,\n borderRadius: tokens.checkboxBorderRadius,\n borderWidth: tokens.checkboxBorderWidth,\n alignItems: 'center',\n justifyContent: 'center',\n },\n ...(hasPresetRententionForA11y && {\n pressRetentionOffset: typeof tokens.padding === 'number' ? tokens.padding : typeof tokens.padding === 'string' ? parseFloat(tokens.padding) : 0, /// Retention of the press area outside of the checkbox equal to padding to match accessibility requirement\n }),\n android_ripple: { color: tokens.rippleColor, radius: tokens.checkmarkSize, foreground: true },\n }), ['checkboxBackgroundColor', 'checkboxBorderColor', 'checkboxBorderRadius', 'checkboxBorderWidth', 'checkboxSize', 'rippleColor']),\n checkmark: buildProps((tokens) => ({\n style: {\n width: tokens.checkmarkSize,\n height: tokens.checkmarkSize,\n color: tokens.checkmarkColor,\n opacity: tokens.checkmarkOpacity,\n },\n }), ['checkmarkColor', 'checkmarkSize', 'checkmarkOpacity']),\n required: buildProps((tokens, theme) => ({\n style: { color: tokens.requiredColor, paddingStart: tokens.requiredPadding, ...fontStyles.from(tokens, theme) },\n }), ['requiredColor', 'requiredPadding', ...fontStyles.keys]),\n },\n};\nexport const getDefaultSize = () => {\n return 'medium';\n};\nconst contentStyling = (tokens, theme) => {\n const textAdjustment = getTextMarginAdjustment();\n const spacingLabelAfter = tokens.spacingLabelAfter\n ? {\n marginStart: textAdjustment.marginStart + tokens.spacingLabelAfter,\n }\n : {};\n const spacingLabelBefore = tokens.spacingLabelBefore\n ? {\n marginEnd: textAdjustment.marginEnd + tokens.spacingLabelBefore,\n }\n : {};\n return {\n color: tokens.color,\n ...spacingLabelBefore,\n ...spacingLabelAfter,\n ...fontStyles.from(tokens, theme),\n };\n};\n//# sourceMappingURL=Checkbox.styling.js.map","import { globalTokens } from '@fluentui-react-native/theme-tokens';\nexport const defaultCheckboxTokens = (t) => ({\n requiredColor: t.colors.redForeground1,\n requiredPadding: globalTokens.size80,\n medium: {\n borderRadius: globalTokens.corner.radius20,\n checkboxBorderWidth: globalTokens.stroke.width10,\n checkboxBorderRadius: globalTokens.corner.radius20,\n checkboxSize: 16,\n checkmarkSize: 8,\n spacingLabelAfter: globalTokens.size120,\n label: {\n padding: globalTokens.size80,\n borderRadius: globalTokens.corner.radius40,\n spacingLabelAfter: globalTokens.size120,\n labelIsBefore: {\n spacingLabelBefore: globalTokens.size120,\n spacingLabelAfter: 0,\n },\n },\n padding: globalTokens.size40,\n variant: 'bodyStandard',\n },\n large: {\n borderRadius: globalTokens.corner.radius20,\n checkboxBorderWidth: globalTokens.stroke.width10,\n checkboxBorderRadius: globalTokens.corner.radius20,\n checkboxSize: 20,\n checkmarkSize: 10,\n spacingLabelAfter: globalTokens.size120,\n label: {\n padding: globalTokens.size80,\n borderRadius: globalTokens.corner.radius40,\n spacingLabelAfter: globalTokens.size120,\n labelIsBefore: {\n spacingLabelBefore: globalTokens.size120,\n spacingLabelAfter: 0,\n },\n },\n padding: globalTokens.size40,\n variant: 'bodyStandard',\n },\n checkboxBackgroundColor: t.colors.neutralBackground1,\n checkboxBorderColor: t.colors.neutralStrokeAccessible,\n color: t.colors.neutralForeground3,\n checkmarkOpacity: 0,\n disabled: {\n checkboxBorderColor: t.colors.neutralStrokeDisabled,\n color: t.colors.neutralForegroundDisabled,\n checkboxBackgroundColor: t.colors.neutralBackgroundDisabled,\n },\n hovered: {\n checkboxBackgroundColor: t.colors.neutralBackground1,\n checkboxBorderColor: t.colors.neutralStrokeAccessibleHover,\n color: t.colors.neutralForeground2,\n checked: {\n checkboxBackgroundColor: t.colors.compoundBrandBackground1Hover,\n checkboxBorderColor: t.colors.compoundBrandBackground1Hover,\n checkmarkColor: t.colors.neutralForegroundOnBrand,\n checkmarkOpacity: 1,\n },\n },\n pressed: {\n checkboxBackgroundColor: t.colors.neutralBackground1,\n checkboxBorderColor: t.colors.neutralStrokeAccessiblePressed,\n color: t.colors.neutralForeground1,\n checked: {\n checkboxBackgroundColor: t.colors.compoundBrandBackground1Pressed,\n checkboxBorderColor: t.colors.compoundBrandBackground1Pressed,\n checkmarkColor: t.colors.neutralForegroundOnBrand,\n checkmarkOpacity: 1,\n },\n },\n checked: {\n checkboxBackgroundColor: t.colors.compoundBrandBackground1,\n checkboxBorderColor: t.colors.compoundBrandBackground1,\n checkmarkOpacity: 1,\n checkmarkColor: t.colors.neutralForegroundOnBrand,\n disabled: {\n checkmarkColor: t.colors.neutralForegroundDisabled,\n },\n },\n circular: {\n borderRadius: globalTokens.corner.radiusCircular,\n checkboxBorderRadius: globalTokens.corner.radiusCircular,\n },\n});\n//# sourceMappingURL=CheckboxTokens.windows.js.map","const margins = { marginTop: 0, marginBottom: 0, marginStart: 0, marginEnd: 0 };\n/**\n * Adjusts the margin of text so that it's centered within the layout area of the text.\n * Be default, there is no adjustment, but some platforms may need adjustments due to\n * their font.\n * @returns Adjustment necessary for text\n */\nexport function getTextMarginAdjustment() {\n return margins;\n}\n//# sourceMappingURL=getMarginAdjustment.js.map","import * as React from 'react';\nimport { memoize } from '@fluentui-react-native/framework';\nimport { usePressableState, useKeyProps, useOnPressWithFocus, useViewCommandFocus, useAsToggleWithEvent, } from '@fluentui-react-native/interactive-hooks';\nconst defaultAccessibilityActions = [{ name: 'Toggle' }];\n/**\n * Re-usable hook for FURN Checkbox.\n * This hook configures checkbox props and state for FURN Checkbox.\n *\n * @param props user props sent to FURN Checkbox\n * @returns configured props and state for FURN Checkbox\n */\nexport const useCheckbox = (props) => {\n const defaultComponentRef = React.useRef(null);\n const { accessible, accessibilityActions, accessibilityLabel, accessibilityRole, accessibilityState, componentRef = defaultComponentRef, checked, defaultChecked, enableFocusRing, focusable, labelPosition, label, onAccessibilityAction, onChange, required, ...rest } = props;\n // Warns defaultChecked and checked being mutually exclusive.\n if (defaultChecked != undefined && checked != undefined) {\n console.warn('defaultChecked and checked are mutually exclusive to one another. Use one or the other.');\n }\n // Re-usable hook for toggle components.\n const [isChecked, toggleChecked] = useAsToggleWithEvent(defaultChecked, checked, onChange);\n // Ensure focus is placed on checkbox after click\n const toggleCheckedWithFocus = useOnPressWithFocus(componentRef, toggleChecked);\n // attach the pressable state handlers\n const pressable = usePressableState({ onPress: toggleCheckedWithFocus, ...rest });\n const buttonRef = useViewCommandFocus(componentRef);\n // Handles the \"Space\" key toggling the Checkbox\n const onKeyUpProps = useKeyProps(toggleChecked, ' ');\n const accessibilityActionsProp = accessibilityActions\n ? [...defaultAccessibilityActions, ...accessibilityActions]\n : defaultAccessibilityActions;\n const state = {\n ...pressable.state,\n disabled: !!props.disabled,\n checked: isChecked,\n labelIsBefore: labelPosition === 'before' ? true : false,\n };\n const onAccessibilityActionProp = React.useCallback((event) => {\n switch (event.nativeEvent.actionName) {\n case 'Toggle':\n toggleChecked(event);\n break;\n }\n onAccessibilityAction && onAccessibilityAction(event);\n }, [toggleChecked, onAccessibilityAction]);\n return {\n props: {\n ref: buttonRef,\n ...pressable.props,\n accessible: accessible ?? true,\n accessibilityRole: accessibilityRole ?? 'checkbox',\n accessibilityLabel: accessibilityLabel ?? label,\n accessibilityState: getAccessibilityState(state.disabled, state.checked, !!required, accessibilityState),\n accessibilityActions: accessibilityActionsProp,\n focusable: focusable ?? !state.disabled,\n onAccessibilityAction: onAccessibilityActionProp,\n enableFocusRing: enableFocusRing ?? true,\n ...onKeyUpProps,\n ...props,\n },\n state: {\n ...pressable.state,\n ...state,\n },\n };\n};\nconst getAccessibilityState = memoize(getAccessibilityStateWorker);\nfunction getAccessibilityStateWorker(disabled, checked, required, accessibilityState) {\n checked = checked ?? false; // Make the value of checked as false when checked is undefined or null for screen reader to announce 'unchecked'\n if (accessibilityState) {\n return { disabled, checked, required, ...accessibilityState };\n }\n return { disabled, checked, required };\n}\n//# sourceMappingURL=useCheckbox.js.map","import React from 'react';\r\nimport { View, Text, ViewStyle, ImageStyle, TextStyle } from 'react-native';\r\nimport { useAppDispatch } from '../../hooks';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { useCommonStyles } from '../../common/themes/ICommonTheme';\r\nimport Icon from '../../common/components/Icon';\r\nimport { CommonPressable } from '../../common/components/CommonPressable';\r\nimport { ACTIVITY_CENTER_PAGES } from '../utils/constants';\r\nimport { IActivityCenterErrorState } from '../types';\r\n\r\ninterface IActivityCenterErrorHeaderStyles {\r\n container: ViewStyle;\r\n chevronRight: ViewStyle;\r\n chevronContainer: ViewStyle;\r\n errorIcon: ImageStyle;\r\n containerHover: ViewStyle;\r\n box: ViewStyle;\r\n textContainer: ViewStyle;\r\n boldText: TextStyle;\r\n}\r\n\r\nexport const useActivityCenterErrorHeaderStyles: ThemedStylesHook =\r\n createThemedStylesHook(themeManager, (theme: ITheme) => {\r\n return {\r\n container: {\r\n paddingHorizontal: 10,\r\n paddingVertical: 15,\r\n backgroundColor: theme.errorBackgroundColor,\r\n borderRadius: 3,\r\n flexDirection: 'row'\r\n },\r\n chevronRight: {\r\n width: 10,\r\n height: 10,\r\n tintColor: theme.button.iconTintColor\r\n },\r\n chevronContainer: {\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n width: 40\r\n },\r\n errorIcon: {\r\n margin: 5,\r\n marginRight: 10\r\n },\r\n containerHover: {\r\n backgroundColor: theme.errorBackgroundHoverColor\r\n },\r\n box: {\r\n margin: 10\r\n },\r\n textContainer: {\r\n flex: 1\r\n },\r\n boldText: {\r\n fontWeight: '600'\r\n }\r\n };\r\n });\r\n\r\ninterface IActivityCenterErrorHeaderProps {\r\n errors: IActivityCenterErrorState;\r\n}\r\n\r\nexport const ActivityCenterErrorHeader: React.FC = React.memo(\r\n ({ errors }) => {\r\n const styles = useActivityCenterErrorHeaderStyles();\r\n const commonStyles = useCommonStyles();\r\n const dispatch = useAppDispatch();\r\n\r\n if (errors.totalErrors === 0) return null;\r\n\r\n const handleHeaderClick = (): void => {\r\n dispatch(activityCenterActions.setPage(ACTIVITY_CENTER_PAGES.errors));\r\n dispatch(activityCenterActions.dismissContextMenus());\r\n };\r\n\r\n return (\r\n \r\n \r\n {(isPressed, isHovering) => {\r\n let containerStyles: ViewStyle = styles.container;\r\n if (isHovering) {\r\n containerStyles = {\r\n ...containerStyles,\r\n ...styles.containerHover\r\n };\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {errors.headerText}\r\n \r\n \r\n {errors.secondaryHeaderText}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n \r\n );\r\n }\r\n);\r\n","export const ACTIVITY_CENTER_PAGES = {\r\n home: 'ac_home',\r\n errors: 'ac_errors'\r\n};\r\n\r\nexport const VIEW_NAME = 'activityCenter';\r\n","import React from 'react';\r\nimport { TextStyle, View, ViewStyle, Image } from 'react-native';\r\nimport { CommonButton } from '../../common/components/CommonButton';\r\nimport { Variants, defaultFontFamily } from '../../common/types';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { selectActivityCenterMessageData } from '../redux/activityCenterSelectors';\r\nimport { ImageStyle } from 'react-native';\r\nimport {\r\n IActivityCenterMessageData,\r\n MessageColorTheme,\r\n SurfaceClicked\r\n} from '../types/activityCenterMessageTypes';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { NotificationSource } from '../types/activityCenterMessageTypes';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { useCommonStyles } from '../../common/themes/ICommonTheme';\r\nimport { Link } from '../../common/components/Link';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { SVGIcon, SvgIconLoadViaUri } from '../../common/components/SvgIcon';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { HtmlText } from '../../common/components/HtmlText';\r\nimport { useKillSwitchSafe } from '../../common/redux/updateRingSettingsHooks';\r\n\r\ninterface IActivityCenterMessageStyles {\r\n primaryText: TextStyle;\r\n componentContainer: ViewStyle;\r\n iconContainer: ViewStyle;\r\n iconStyle: ImageStyle;\r\n dismissButtonIconStyle: ImageStyle;\r\n dismissButtonContainer: ViewStyle;\r\n buttonOneTextStyle: TextStyle;\r\n buttonTwoTextStyle: TextStyle;\r\n innerContainer?: ViewStyle;\r\n buttonContainer: ViewStyle;\r\n iconAndTextContainer: ViewStyle;\r\n buttonTwoContainer: ViewStyle;\r\n contentContainer: ViewStyle;\r\n secondaryTextContainer: ViewStyle;\r\n}\r\n\r\ninterface IActivityCenterThemeStyles {\r\n acmContainer: ViewStyle;\r\n acmContainerError: ViewStyle;\r\n acmContainerWarning: ViewStyle;\r\n buttonTwoErrorTextStyle: TextStyle;\r\n}\r\n\r\nexport const useActivityCenterErrorHeaderStyles: ThemedStylesHook =\r\n createThemedStylesHook(themeManager, (theme: ITheme) => {\r\n return {\r\n acmContainer: {\r\n backgroundColor: theme.acmBackgroundColor,\r\n borderColor: theme.acmBorderColor\r\n },\r\n acmContainerError: {\r\n backgroundColor: theme.acmErrorBackgroundColor,\r\n borderColor: theme.acmErrorBorderColor\r\n },\r\n acmContainerWarning: {\r\n backgroundColor: theme.acmWarningBackgroundColor,\r\n borderColor: theme.acmWarningBorderColor\r\n },\r\n buttonTwoErrorTextStyle: {\r\n color: theme.buttonTwoErrorTextColor\r\n }\r\n };\r\n });\r\n\r\nexport const useActivityCenterMessageStyles = (isTransparent: boolean): IActivityCenterMessageStyles => {\r\n return {\r\n primaryText: {\r\n fontSize: 15,\r\n fontWeight: '600'\r\n },\r\n componentContainer: {\r\n paddingVertical: 16,\r\n marginHorizontal: 12,\r\n marginTop: 8,\r\n flexDirection: 'row',\r\n borderWidth: 1,\r\n borderRadius: 3\r\n },\r\n iconContainer: {\r\n width: 48,\r\n height: 48,\r\n marginHorizontal: 12\r\n },\r\n iconStyle: {\r\n width: 48,\r\n height: 48,\r\n resizeMode: 'contain'\r\n },\r\n dismissButtonIconStyle: {\r\n width: 18,\r\n height: 18\r\n },\r\n buttonOneTextStyle: {\r\n fontSize: 12,\r\n paddingVertical: 5,\r\n paddingHorizontal: 12\r\n },\r\n buttonTwoTextStyle: {\r\n fontSize: 12,\r\n fontWeight: isTransparent ? 'normal' : '500',\r\n padding: 4\r\n },\r\n buttonContainer: {\r\n flexDirection: 'row',\r\n marginTop: 12,\r\n alignItems: 'center',\r\n flexWrap: 'wrap'\r\n },\r\n dismissButtonContainer: {\r\n width: 36,\r\n height: 36,\r\n padding: 3,\r\n marginTop: -15,\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n },\r\n iconAndTextContainer: {\r\n flexDirection: 'row',\r\n flex: 1\r\n },\r\n buttonTwoContainer: {\r\n marginLeft: 8\r\n },\r\n contentContainer: {\r\n display: 'flex',\r\n flexDirection: 'row'\r\n },\r\n secondaryTextContainer: {\r\n width: '100%',\r\n display: 'flex',\r\n flexBasis: 'auto',\r\n marginVertical: 2\r\n },\r\n innerContainer: {\r\n display: 'flex',\r\n flexDirection: 'column',\r\n flex: 1\r\n }\r\n };\r\n};\r\n\r\nexport const useActivityCenterMessageMegaStyles = (isTransparent: boolean): IActivityCenterMessageStyles => {\r\n return {\r\n primaryText: {\r\n fontSize: 14,\r\n fontFamily: defaultFontFamily,\r\n fontWeight: '600',\r\n alignSelf: 'center'\r\n },\r\n componentContainer: {\r\n paddingVertical: 16,\r\n marginHorizontal: 12,\r\n borderWidth: 1,\r\n borderRadius: 3,\r\n marginTop: 8,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n display: 'flex'\r\n },\r\n iconContainer: {\r\n marginVertical: 12,\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n display: 'flex'\r\n },\r\n iconStyle: {\r\n width: 250,\r\n height: 100,\r\n resizeMode: 'contain'\r\n },\r\n dismissButtonIconStyle: {\r\n width: 18,\r\n height: 18\r\n },\r\n buttonOneTextStyle: {\r\n fontSize: 12,\r\n paddingVertical: 5,\r\n paddingHorizontal: 16\r\n },\r\n buttonTwoTextStyle: {\r\n fontSize: 12,\r\n fontWeight: isTransparent ? 'normal' : 'bold',\r\n paddingTop: 4,\r\n paddingBottom: 6,\r\n paddingHorizontal: 12\r\n },\r\n innerContainer: {},\r\n buttonContainer: {\r\n marginTop: 8,\r\n alignItems: 'center'\r\n },\r\n dismissButtonContainer: {\r\n width: 36,\r\n height: 36,\r\n padding: 3,\r\n marginTop: -15,\r\n marginRight: -20,\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n },\r\n iconAndTextContainer: {\r\n width: '100%',\r\n paddingHorizontal: 20,\r\n display: 'flex',\r\n flexBasis: 'auto'\r\n },\r\n buttonTwoContainer: {\r\n marginTop: 8\r\n },\r\n contentContainer: {\r\n display: 'flex',\r\n flexDirection: 'row'\r\n },\r\n secondaryTextContainer: {\r\n width: '100%',\r\n display: 'flex',\r\n flexBasis: 'auto',\r\n marginVertical: 2\r\n }\r\n };\r\n};\r\n\r\nconst EMPTY_STRING = '';\r\n\r\nexport const isMessageDataEmpty = (data: IActivityCenterMessageData): boolean => {\r\n return (\r\n data &&\r\n data.primaryText === EMPTY_STRING &&\r\n data.secondaryText === EMPTY_STRING &&\r\n data.imageFileName === EMPTY_STRING &&\r\n data.buttonOne.buttonText === EMPTY_STRING &&\r\n data.buttonOne.buttonImageUrl === EMPTY_STRING &&\r\n data.buttonTwo.buttonText === EMPTY_STRING &&\r\n data.buttonTwo.buttonImageUrl === EMPTY_STRING &&\r\n data.source === NotificationSource.Default\r\n );\r\n};\r\n\r\nconst isImageAURL = (imageFileName: string): boolean => {\r\n return imageFileName.startsWith('http');\r\n};\r\n\r\nexport const ActivityCenterMessage: React.FC<{}> = React.memo(() => {\r\n const activityCenterMessageData = useAppSelector(selectActivityCenterMessageData);\r\n const textStyles = useCommonStyles();\r\n const acmThemeStyles = useActivityCenterErrorHeaderStyles();\r\n const dispatch = useAppDispatch();\r\n const { t: translate } = useTranslation();\r\n const isSvgUriSafe = useKillSwitchSafe(SvgIconLoadViaUri);\r\n\r\n // Any time the ACM is shown, we should record the last source and mark the ACM as viewed for telemetry purposes.\r\n React.useEffect(() => {\r\n if (\r\n activityCenterMessageData &&\r\n !isMessageDataEmpty(activityCenterMessageData) &&\r\n !activityCenterMessageData.shouldHideMessage\r\n ) {\r\n dispatch(activityCenterActions.setLastAcmSource(activityCenterMessageData.source));\r\n dispatch(activityCenterActions.setAcmViewed(true));\r\n }\r\n }, [activityCenterMessageData, dispatch]);\r\n\r\n if (!activityCenterMessageData || isMessageDataEmpty(activityCenterMessageData)) {\r\n return null;\r\n }\r\n\r\n const isTransparent = [\r\n MessageColorTheme.PremiumUpsell,\r\n MessageColorTheme.Warning,\r\n MessageColorTheme.ErrorWithConfirm,\r\n MessageColorTheme.Offline,\r\n MessageColorTheme.Default,\r\n MessageColorTheme.DefaultWithTwoButtons\r\n ].includes(activityCenterMessageData.theme);\r\n\r\n const styles = activityCenterMessageData.useMegaMode\r\n ? useActivityCenterMessageMegaStyles(isTransparent)\r\n : useActivityCenterMessageStyles(isTransparent);\r\n\r\n // In mega mode, size the hero image from the message's svgSource dimensions when provided.\r\n // PNG heroes (e.g. OD4HeroACM) render through SVGIcon's raster fallback, where the fixed\r\n // icon box would otherwise clamp/letterbox them. Honoring svgSource lets them display at the\r\n // intended size; unset dimensions fall back to the default 250x100 box.\r\n const megaIconStyle: ImageStyle = {\r\n ...(styles.iconStyle as ImageStyle),\r\n width: activityCenterMessageData.svgSourceWidth || 250,\r\n height: activityCenterMessageData.svgSourceHeight || 100\r\n };\r\n\r\n // Some hero assets (e.g. OD4HeroACM) have transparent vertical padding around the artwork. Let\r\n // the surrounding title/description overlap that padding so the ACM stays compact without\r\n // cropping the picture. Applied as negative margin only when the message opts in.\r\n const megaImageVerticalOverlap = activityCenterMessageData.megaImageVerticalOverlap || 0;\r\n\r\n const buttonOne = activityCenterMessageData.buttonOne;\r\n const buttonTwo = activityCenterMessageData.buttonTwo;\r\n const primaryAction = buttonOne.buttonActionParameter;\r\n const secondaryAction = buttonTwo.buttonActionParameter;\r\n\r\n const handlePrimaryButtonClick = (): void => {\r\n dispatch(\r\n activityCenterActions.handleResponseForCachedMessage({\r\n actionParameter: primaryAction,\r\n surfaceClicked: SurfaceClicked.Button1,\r\n dismissOnClicked: buttonOne.dismissOnClicked\r\n })\r\n );\r\n\r\n if (\r\n activityCenterMessageData.dismissOnButtonClick ||\r\n activityCenterMessageData.buttonOne.dismissOnClicked\r\n ) {\r\n dispatch(activityCenterActions.hideACM());\r\n }\r\n };\r\n\r\n const handleSecondaryButtonClick = (): void => {\r\n dispatch(\r\n activityCenterActions.handleResponseForCachedMessage({\r\n actionParameter: secondaryAction,\r\n surfaceClicked: SurfaceClicked.Button2,\r\n dismissOnClicked: buttonTwo.dismissOnClicked\r\n })\r\n );\r\n\r\n if (\r\n activityCenterMessageData.dismissOnButtonClick ||\r\n activityCenterMessageData.buttonTwo.dismissOnClicked\r\n ) {\r\n dispatch(activityCenterActions.hideACM());\r\n }\r\n };\r\n\r\n const handleDismissClick = (): void => {\r\n dispatch(activityCenterActions.hideACM());\r\n dispatch(\r\n activityCenterActions.handleResponseForCachedMessage({\r\n actionParameter: 'SC://DISMISS',\r\n surfaceClicked: SurfaceClicked.Dismiss,\r\n dismissOnClicked: true\r\n })\r\n );\r\n };\r\n\r\n let buttonVariant = Variants.Primary;\r\n switch (activityCenterMessageData.theme) {\r\n case MessageColorTheme.PremiumUpsell:\r\n buttonVariant = Variants.Success;\r\n break;\r\n case MessageColorTheme.Error:\r\n buttonVariant = Variants.Danger;\r\n break;\r\n default:\r\n buttonVariant = Variants.Primary;\r\n break;\r\n }\r\n\r\n let buttonTwoTextStyle = {};\r\n if (activityCenterMessageData.theme === MessageColorTheme.Error) {\r\n buttonTwoTextStyle = acmThemeStyles.buttonTwoErrorTextStyle;\r\n }\r\n\r\n const acButtons = (\r\n \r\n {activityCenterMessageData.buttonOne.buttonActionParameter ? (\r\n \r\n ) : null}\r\n {activityCenterMessageData.buttonTwo.buttonActionParameter &&\r\n activityCenterMessageData.theme === MessageColorTheme.DefaultWithTwoButtons ? (\r\n \r\n ) : activityCenterMessageData.buttonTwo.buttonActionParameter ? (\r\n \r\n ) : null}\r\n \r\n );\r\n\r\n let themeStyles = acmThemeStyles.acmContainer;\r\n //switch themeStyles based on theme\r\n switch (activityCenterMessageData.theme) {\r\n case MessageColorTheme.PremiumUpsell:\r\n case MessageColorTheme.Default:\r\n case MessageColorTheme.Offline:\r\n themeStyles = acmThemeStyles.acmContainer;\r\n break;\r\n case MessageColorTheme.Warning:\r\n themeStyles = acmThemeStyles.acmContainerWarning;\r\n break;\r\n case MessageColorTheme.ErrorWithConfirm:\r\n case MessageColorTheme.Error:\r\n themeStyles = acmThemeStyles.acmContainerError;\r\n break;\r\n default:\r\n themeStyles = acmThemeStyles.acmContainer;\r\n break;\r\n }\r\n\r\n const useCoreImage = isImageAURL(activityCenterMessageData.imageFileName) && !isSvgUriSafe;\r\n\r\n if (activityCenterMessageData.shouldHideMessage) {\r\n return null;\r\n } else {\r\n return (\r\n \r\n \r\n {!activityCenterMessageData.useMegaMode && (\r\n \r\n {useCoreImage ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n {activityCenterMessageData.primaryText}\r\n \r\n \r\n\r\n {!activityCenterMessageData.shouldHideDismissButton && (\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n {activityCenterMessageData.useMegaMode && (\r\n 0\r\n ? [\r\n styles.iconContainer,\r\n { marginTop: -megaImageVerticalOverlap, marginBottom: -megaImageVerticalOverlap }\r\n ]\r\n : [styles.iconContainer]\r\n }\r\n >\r\n {useCoreImage ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n )}\r\n\r\n {activityCenterMessageData.secondaryText && (\r\n \r\n )}\r\n\r\n {acButtons}\r\n \r\n \r\n \r\n );\r\n }\r\n});\r\n","import React, { useCallback } from 'react';\r\nimport { View, Pressable, ViewStyle, TextStyle, AccessibilityRole } from 'react-native';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { selectRecentSearches } from '../redux/activityCenterSelectors';\r\nimport { ActivityCenterUIAction, SEARCH_DEFAULT_MAX_RESULTS } from '../types';\r\nimport { useSearchEventHandler } from '../dataHandler/SearchEventHandler';\r\n\r\nconst HISTORY_ROW_HEIGHT = 36;\r\n\r\ninterface ISearchHistoryEmptyStateStyles {\r\n container: ViewStyle;\r\n headerRow: ViewStyle;\r\n headerText: TextStyle;\r\n clearButton: ViewStyle;\r\n clearText: TextStyle;\r\n row: ViewStyle;\r\n rowPressed: ViewStyle;\r\n rowIcon: ViewStyle;\r\n rowText: TextStyle;\r\n emptyContainer: ViewStyle;\r\n emptyTitle: TextStyle;\r\n emptySubtitle: TextStyle;\r\n}\r\n\r\nexport const useSearchHistoryEmptyStateStyles: ThemedStylesHook =\r\n createThemedStylesHook(themeManager, (theme: ITheme) => ({\r\n container: {\r\n paddingHorizontal: 12,\r\n paddingTop: 4\r\n },\r\n headerRow: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n paddingHorizontal: 4,\r\n paddingVertical: 6\r\n },\r\n headerText: {\r\n fontSize: 12,\r\n fontWeight: '600',\r\n color: theme.searchTextColor,\r\n opacity: 0.7\r\n },\r\n clearButton: {\r\n paddingHorizontal: 6,\r\n paddingVertical: 4\r\n },\r\n clearText: {\r\n fontSize: 12,\r\n color: theme.searchTextColor,\r\n opacity: 0.85\r\n },\r\n row: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n height: HISTORY_ROW_HEIGHT,\r\n paddingHorizontal: 6,\r\n borderRadius: 4\r\n },\r\n rowPressed: {\r\n backgroundColor: theme.searchInputBackground\r\n },\r\n rowIcon: {\r\n width: 14,\r\n height: 14,\r\n marginRight: 10,\r\n opacity: 0.7\r\n },\r\n rowText: {\r\n flex: 1,\r\n fontSize: 13,\r\n color: theme.searchTextColor\r\n },\r\n emptyContainer: {\r\n paddingHorizontal: 16,\r\n paddingVertical: 24,\r\n alignItems: 'center'\r\n },\r\n emptyTitle: {\r\n fontSize: 14,\r\n fontWeight: '600',\r\n color: theme.searchTextColor,\r\n marginTop: 8,\r\n textAlign: 'center'\r\n },\r\n emptySubtitle: {\r\n fontSize: 12,\r\n color: theme.searchTextColor,\r\n opacity: 0.7,\r\n marginTop: 4,\r\n textAlign: 'center'\r\n }\r\n }));\r\n\r\ninterface IHistoryRowProps {\r\n query: string;\r\n onPress: (query: string) => void;\r\n}\r\n\r\nconst HistoryRow: React.FC = React.memo(({ query, onPress }) => {\r\n const styles = useSearchHistoryEmptyStateStyles();\r\n const handlePress = useCallback(() => onPress(query), [query, onPress]);\r\n\r\n return (\r\n [styles.row, pressed && styles.rowPressed]}\r\n testID={`searchHistoryRow-${query}`}\r\n >\r\n \r\n \r\n {query}\r\n \r\n \r\n );\r\n});\r\n\r\n/**\r\n * Empty-state body shown inside the search results pane when the search box is\r\n * focused but no query has been typed yet. Renders the user's recent searches\r\n * (in-memory, up to MAX_RECENT_SEARCHES). When there are none, renders a tip.\r\n */\r\nconst SearchHistoryEmptyStateComponent: React.FC = () => {\r\n const dispatch = useAppDispatch();\r\n const { t: translate } = useTranslation();\r\n const styles = useSearchHistoryEmptyStateStyles();\r\n const recentSearches = useAppSelector(selectRecentSearches);\r\n const searchEvents = useSearchEventHandler();\r\n\r\n const handleRowPress = useCallback(\r\n (query: string) => {\r\n searchEvents.queryExecuted(query);\r\n dispatch(\r\n activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.SearchRecentSearchClicked)\r\n );\r\n dispatch(activityCenterActions.setSearchQuery(query));\r\n dispatch(activityCenterActions.performSearch({ query, maxResults: SEARCH_DEFAULT_MAX_RESULTS }));\r\n },\r\n [dispatch, searchEvents]\r\n );\r\n\r\n const handleClear = useCallback(() => {\r\n dispatch(activityCenterActions.clearRecentSearches());\r\n }, [dispatch]);\r\n\r\n if (recentSearches.length === 0) {\r\n return (\r\n \r\n \r\n {translate('searchHistoryEmptyTitle')}\r\n {translate('searchHistoryEmptySubtitle')}\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n \r\n {translate('searchHistoryHeading')}\r\n \r\n {translate('searchHistoryClear')}\r\n \r\n \r\n {recentSearches.map((q: string) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport const SearchHistoryEmptyState = React.memo(SearchHistoryEmptyStateComponent);\r\n","import React from 'react';\r\nimport { FlatList, View, TextStyle, ViewStyle, ImageStyle } from 'react-native';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { selectActivityCenterErrors } from '../redux/activityCenterSelectors';\r\nimport { ItemError } from './ItemError';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { ACTIVITY_CENTER_PAGES } from '../utils/constants';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CommonButton } from '../../common/components/CommonButton';\r\nimport { Variants } from '../../common/types';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport { useArrowKeys } from '../../common/components/accessibilityUtils';\r\n\r\ninterface IActivityCenterErrorStyles {\r\n container: ViewStyle;\r\n chevronRight: ImageStyle;\r\n homeIcon: ImageStyle;\r\n margin: ViewStyle;\r\n errorCountText: TextStyle;\r\n containerHover: ViewStyle;\r\n bubble: ViewStyle;\r\n homeIconContainer: ViewStyle;\r\n homeIconHover: ViewStyle;\r\n boldText: TextStyle;\r\n}\r\n\r\nexport const useActivityCenterErrorStyles: ThemedStylesHook =\r\n createThemedStylesHook(themeManager, (theme: ITheme) => {\r\n return {\r\n container: {\r\n display: 'flex',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n marginHorizontal: 20\r\n },\r\n chevronRight: {\r\n width: 8,\r\n height: 8,\r\n marginHorizontal: 5,\r\n tintColor: theme.button.iconTintColor\r\n },\r\n margin: {\r\n marginHorizontal: 5\r\n },\r\n errorCountText: {\r\n color: theme.errorCountTextColor\r\n },\r\n containerHover: {\r\n backgroundColor: theme.errorBackgroundHoverColor\r\n },\r\n bubble: {\r\n backgroundColor: theme.errorBubbleBackground,\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n },\r\n homeIcon: {\r\n width: 14,\r\n height: 14,\r\n tintColor: theme.button.iconTintColor\r\n },\r\n homeIconContainer: {\r\n padding: 5\r\n },\r\n homeIconHover: {\r\n backgroundColor: theme.homeIconHoverBackground\r\n },\r\n boldText: {\r\n fontWeight: '400'\r\n }\r\n };\r\n });\r\n\r\nexport const ActivityCenterErrors = (): JSX.Element => {\r\n const errors = useAppSelector(selectActivityCenterErrors);\r\n const messages = errors?.messages || [];\r\n const dispatch = useAppDispatch();\r\n const circleSize = errors.totalErrors > 9 ? 24 : 20;\r\n const styles = useActivityCenterErrorStyles();\r\n const { t: translate } = useTranslation();\r\n const { tabRefs, createHandleArrowKeys } = useArrowKeys(errors.totalErrors);\r\n\r\n const syncIssuesCountBasedAccessibleText =\r\n errors.totalErrors > 1\r\n ? translate('errorViewEntryHeaderSyncIssues')\r\n : translate('errorViewEntryHeaderSyncIssue');\r\n const syncIssuesCountBasedAccessibleLabel = `${errors.totalErrors} ${syncIssuesCountBasedAccessibleText}`;\r\n\r\n /* eslint-disable @typescript-eslint/naming-convention */\r\n const issuesHeaderAccessibleLabel = translate('errorViewExitAccessibleTextV2', {\r\n 0: syncIssuesCountBasedAccessibleLabel\r\n });\r\n\r\n const handleHomeIconHover = (isHovering: boolean): void => {\r\n dispatch(activityCenterActions.setHomeIconHovered(isHovering));\r\n };\r\n\r\n return (\r\n <>\r\n \r\n dispatch(activityCenterActions.setPage(ACTIVITY_CENTER_PAGES.home))}\r\n icon='houseIcon'\r\n customIconStyle={styles.homeIcon as ImageStyle}\r\n flexDirection='column'\r\n width={25}\r\n height={25}\r\n onHover={handleHomeIconHover}\r\n accessibilityRole='button'\r\n accessibilityLabel={issuesHeaderAccessibleLabel}\r\n variant={Variants.Transparent}\r\n testID='homeButton'\r\n />\r\n \r\n \r\n {translate('errorViewEntryHeaderSyncIssues')}{' '}\r\n \r\n \r\n \r\n {errors.totalErrors}\r\n \r\n \r\n \r\n (\r\n \r\n )}\r\n />\r\n \r\n );\r\n};\r\n","import React, { useEffect, useState } from 'react';\r\nimport { ImageStyle, View, TextStyle, ViewStyle } from 'react-native';\r\nimport { CommonButton } from '../../common/components/CommonButton';\r\nimport { Variants } from '../../common/types';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport {\r\n selectHasClickedLightbulb,\r\n selectIsKFMOnboardingEnabled,\r\n selectIsSearchOnboardingTooltipVisible,\r\n selectIsSyncingBlocked,\r\n selectVisualState,\r\n selectIsSearchBarVisible\r\n} from '../redux/activityCenterSelectors';\r\nimport { ActivityCenterUIAction } from '../types';\r\nimport { VisualStates } from '../../common/types';\r\nimport { selectIsReportABugEnabled, selectMetadata } from '../../common/redux/selectors';\r\nimport { useECSRampEnabled } from '../../common/redux/updateRingSettingsHooks';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { sendFeedbackActions } from '../../sendFeedbackView/redux/sendFeedbackSlice';\r\nimport { useSearchEventHandler } from '../dataHandler/SearchEventHandler';\r\n\r\ninterface IActivityCenterHeaderStyles {\r\n componentContainer: ViewStyle;\r\n rectangleContainer: ViewStyle;\r\n titleText: TextStyle;\r\n contextMenuContainer: ViewStyle;\r\n iconStyle: ImageStyle;\r\n notificationDot: ViewStyle;\r\n searchToggleActive: ViewStyle;\r\n}\r\n\r\nexport const useActivityCenterHeaderStyles: ThemedStylesHook =\r\n createThemedStylesHook(themeManager, (theme: ITheme) => {\r\n return {\r\n rectangleContainer: {\r\n marginHorizontal: 16\r\n },\r\n componentContainer: {\r\n alignItems: 'center',\r\n marginTop: 10,\r\n flexDirection: 'row'\r\n },\r\n titleText: {\r\n marginLeft: 6,\r\n fontSize: 14,\r\n fontWeight: '600',\r\n maxWidth: '100%'\r\n },\r\n contextMenuContainer: {\r\n position: 'absolute',\r\n top: -479,\r\n right: 20\r\n },\r\n iconStyle: {\r\n width: 20,\r\n height: 20\r\n },\r\n notificationDot: {\r\n width: 8,\r\n height: 8,\r\n borderRadius: 4,\r\n backgroundColor: theme.notificationDotColor,\r\n position: 'absolute',\r\n top: 3,\r\n right: 3\r\n },\r\n // Selected/\"toggled on\" treatment for the header search button so search\r\n // mode reads as visibly active. CommonButton's Transparent variant paints\r\n // no background at rest, which left users with no way to tell that the AC\r\n // was in search mode.\r\n searchToggleActive: {\r\n backgroundColor: theme.searchToggleActiveBackground,\r\n borderRadius: 4\r\n }\r\n };\r\n });\r\n\r\nexport interface IActivityCenterHeaderProps {\r\n onSettingsButtonClick: () => void;\r\n onSettingsHover: (isHovering: boolean) => void;\r\n}\r\n\r\n/* eslint-disable @typescript-eslint/naming-convention */\r\nexport const ActivityCenterHeader = (props: IActivityCenterHeaderProps): JSX.Element => {\r\n const { onSettingsButtonClick, onSettingsHover } = props;\r\n const styles = useActivityCenterHeaderStyles();\r\n const { t: translate } = useTranslation();\r\n const visualState = useAppSelector(selectVisualState)?.VisualState;\r\n const isSyncingBlocked = useAppSelector(selectIsSyncingBlocked);\r\n const productInstanceName = useAppSelector(selectMetadata)?.account.productInstanceName;\r\n const [title, setTitle] = useState(productInstanceName);\r\n const isReportABugEnabled = useAppSelector(selectIsReportABugEnabled);\r\n const isKFMOnboardingEnabled = useAppSelector(selectIsKFMOnboardingEnabled);\r\n const hasClickedLightbulb = useAppSelector(selectHasClickedLightbulb);\r\n const isSemanticSearchEnabled = useECSRampEnabled(6694) ?? false;\r\n const isSearchBarVisible = useAppSelector(selectIsSearchBarVisible);\r\n const isSearchOnboardingTooltipVisible = useAppSelector(selectIsSearchOnboardingTooltipVisible);\r\n const dispatch = useAppDispatch();\r\n const searchEvents = useSearchEventHandler();\r\n\r\n const BRAND_NAME = 'OneDrive';\r\n useEffect(() => {\r\n if (\r\n visualState !== undefined &&\r\n (visualState as number) <= (VisualStates.SigningIn as number) &&\r\n !isSyncingBlocked\r\n ) {\r\n setTitle(\r\n translate('activityHeaderOnedriveNotConnectedV2', {\r\n 0: BRAND_NAME\r\n })\r\n );\r\n } else {\r\n setTitle(productInstanceName);\r\n }\r\n }, [visualState, isSyncingBlocked, translate, productInstanceName]);\r\n\r\n const handleReportABug = (): void => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.HeaderReportBugClicked));\r\n dispatch(sendFeedbackActions.launchReportABug());\r\n };\r\n\r\n const onReportABugHoverChanged = (isHovering: boolean): void => {\r\n dispatch(activityCenterActions.setIsReportABugTooltipVisible(isHovering));\r\n };\r\n\r\n const handleKFMOnboarding = (): void => {\r\n dispatch(\r\n activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.HeaderKFMOnboardingClicked)\r\n );\r\n dispatch(activityCenterActions.launchKFMOnboarding());\r\n };\r\n\r\n const onKFMOnboardingHoverChanged = (isHovering: boolean): void => {\r\n dispatch(activityCenterActions.setIsKFMOnboardingTooltipVisible(isHovering));\r\n };\r\n\r\n const onHoverChanged = (isHovering: boolean): void => {\r\n onSettingsHover(isHovering);\r\n };\r\n\r\n const handleToggleSearchBar = (): void => {\r\n // Track whether we're opening or closing before the reducer flips\r\n // the bit; this drives both the AC UI-action rollup and the funnel\r\n // event. Opening fires SearchOpened, closing fires SearchClosed.\r\n const opening = !isSearchBarVisible;\r\n\r\n // Clicking the search toggle while the onboarding tooltip is visible\r\n // counts as an explicit acknowledgement. Persist the dismissal to the\r\n // per-instance registry so the tooltip does not re-appear on the next\r\n // OneDrive launch. The `toggleSearchBarVisible` reducer also flips the\r\n // in-memory `hasSeenSearchTooltip` flag synchronously so the UI updates\r\n // immediately without waiting for the registry write.\r\n if (isSearchOnboardingTooltipVisible) {\r\n dispatch(activityCenterActions.markSearchTooltipSeen());\r\n }\r\n dispatch(activityCenterActions.toggleSearchBarVisible());\r\n\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.SearchClicked));\r\n if (opening) {\r\n searchEvents.searchOpened();\r\n } else {\r\n searchEvents.searchClosed();\r\n }\r\n };\r\n\r\n const onSearchToggleHoverChanged = (isHovering: boolean): void => {\r\n dispatch(activityCenterActions.setIsSearchToggleTooltipVisible(isHovering));\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n {isReportABugEnabled && (\r\n \r\n )}\r\n\r\n {isKFMOnboardingEnabled && (\r\n \r\n \r\n {!hasClickedLightbulb && }\r\n \r\n )}\r\n\r\n {isSemanticSearchEnabled && (\r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { View, ViewStyle } from 'react-native';\r\nimport { CommonButton } from '../../common/components/CommonButton';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { Variants } from '../../common/types';\r\nimport { selectMetadata } from '../../common/redux/selectors';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { useResourceStrings } from '../../settingsView/redux/settingsHooks';\r\nimport { IACButtonProps } from '../types/activityCenterViewTypes';\r\nimport { AppDispatch } from '../../store';\r\nimport { useTranslation } from 'react-i18next';\r\nimport {\r\n selectIsActiveVisualState,\r\n selectIsVisualStatePaused,\r\n selectAllowOD4Entry,\r\n selectAllowOD4EntryState,\r\n selectIsOffline,\r\n selectVisualState\r\n} from '../redux/activityCenterSelectors';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { ActivityCenterUIAction } from '../types';\r\nimport { DataFetchState } from '../../common/types';\r\nimport { useKillSwitchSafe } from '../../common/redux/updateRingSettingsHooks';\r\n\r\nconst FixOD4ButtonFlickerOnACFooter = 6017;\r\n\r\ninterface IActivityCenterFooterStyles {\r\n buttonContainer: ViewStyle;\r\n bar: ViewStyle;\r\n commonTextButtonStyle: ViewStyle;\r\n}\r\n\r\nexport const useActivityCenterFooterStyles: ThemedStylesHook =\r\n createThemedStylesHook(themeManager, (theme: ITheme) => {\r\n return {\r\n buttonContainer: {\r\n width: '100%',\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'center',\r\n gap: 4,\r\n paddingVertical: 8,\r\n zIndex: 1,\r\n backgroundColor: theme.footerBackground,\r\n height: 84\r\n },\r\n bar: {\r\n height: 1,\r\n backgroundColor: theme.rule,\r\n zIndex: 2,\r\n width: '100%'\r\n },\r\n commonTextButtonStyle: {\r\n marginLeft: 0,\r\n marginRight: 0,\r\n fontSize: 12\r\n }\r\n };\r\n });\r\n\r\nconst odbButtons: IACButtonProps[] = [\r\n {\r\n action: (dispatch: AppDispatch) => {\r\n dispatch(\r\n activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.FooterOpenFolderClicked)\r\n );\r\n dispatch(activityCenterActions.handleFooterAction(ActivityCenterUIAction.FooterOpenFolderClicked));\r\n },\r\n stringId: 'activityFooterButtonOpenfolder',\r\n icon: 'folderIcon20x20',\r\n testID: 'folder'\r\n },\r\n {\r\n action: (dispatch: AppDispatch) => {\r\n dispatch(\r\n activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.FooterViewOnlineClicked)\r\n );\r\n dispatch(activityCenterActions.handleFooterAction(ActivityCenterUIAction.FooterViewOnlineClicked));\r\n },\r\n stringId: 'activityFooterButtonViewonline',\r\n icon: 'globeIcon20x20',\r\n testID: 'viewOnline',\r\n shouldDisableOnPause: true,\r\n shouldDisableOnOffline: true\r\n },\r\n {\r\n action: (dispatch: AppDispatch) => {\r\n dispatch(\r\n activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.FooterRecycleBinClicked)\r\n );\r\n dispatch(activityCenterActions.handleFooterAction(ActivityCenterUIAction.FooterRecycleBinClicked));\r\n },\r\n stringId: 'activityFooterButtonRecyclebin',\r\n icon: 'recycleBinIcon20x20',\r\n testID: 'recycleBin',\r\n shouldDisableOnPause: true,\r\n shouldDisableOnOffline: true\r\n }\r\n];\r\n\r\nconst odcButtons = (showUpgrade: boolean): IACButtonProps[] => [\r\n ...odbButtons,\r\n ...(showUpgrade\r\n ? [\r\n {\r\n action: (dispatch: AppDispatch) => {\r\n dispatch(\r\n activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.FooterGoPremiumClicked)\r\n );\r\n dispatch(activityCenterActions.handleFooterAction(ActivityCenterUIAction.FooterGoPremiumClicked));\r\n },\r\n stringId: 'systrayMenuUpgrade',\r\n icon: 'premiumIcon20x20',\r\n testID: 'premium',\r\n shouldDisableOnOffline: true\r\n }\r\n ]\r\n : [])\r\n];\r\n\r\nconst OD4EntryButtons = (showUpgrade: boolean): IACButtonProps[] => [\r\n ...odbButtons.slice(0, 2),\r\n ...(showUpgrade\r\n ? [\r\n {\r\n action: (dispatch: AppDispatch) => {\r\n dispatch(\r\n activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.FooterGoPremiumClicked)\r\n );\r\n dispatch(activityCenterActions.handleFooterAction(ActivityCenterUIAction.FooterGoPremiumClicked));\r\n },\r\n stringId: 'systrayMenuUpgrade',\r\n icon: 'premiumIcon20x20',\r\n testID: 'premium',\r\n shouldDisableOnOffline: true\r\n }\r\n ]\r\n : []),\r\n {\r\n action: (dispatch: AppDispatch) => {\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.FooterPhotoClicked));\r\n dispatch(activityCenterActions.handleFooterAction(ActivityCenterUIAction.FooterPhotoClicked));\r\n },\r\n stringId: 'activityFooterButtonPhotos',\r\n icon: 'photoIcon20x20',\r\n testID: 'photos'\r\n }\r\n];\r\n\r\nexport const ActivityCenterFooter: () => JSX.Element | null = () => {\r\n const styles = useActivityCenterFooterStyles();\r\n const dispatch = useAppDispatch();\r\n const metadata = useAppSelector(selectMetadata);\r\n const isPaused = useAppSelector(selectIsVisualStatePaused);\r\n const isOffline = useAppSelector(selectIsOffline);\r\n const resourceStrings = useResourceStrings();\r\n const { t: translate } = useTranslation();\r\n const isODB = metadata?.account.isODB;\r\n\r\n const isSignedIn = useAppSelector(selectIsActiveVisualState);\r\n\r\n const isUpgradeAvailable = metadata?.account.isUpgradeAvailable;\r\n const isUpsellEnabledByDefault = metadata?.account.isUpsellEnabledByDefault;\r\n const allowOD4Entry = useAppSelector(selectAllowOD4Entry);\r\n const allowOD4EntryState = useAppSelector(selectAllowOD4EntryState);\r\n const activityCenterReopenSequence = useAppSelector(\r\n (state) => state.activityCenter.activityCenterReopenSequence\r\n );\r\n const visualState = useAppSelector(selectVisualState);\r\n const isFlickerFixSafe = useKillSwitchSafe(FixOD4ButtonFlickerOnACFooter);\r\n const lastPremiumFooterImpressionSequence = React.useRef(null);\r\n\r\n const showUpgrade = (isUpsellEnabledByDefault && isUpgradeAvailable) || false;\r\n const buttonWidth = isSignedIn && !isODB && showUpgrade ? 80 : 105;\r\n\r\n // ODB accounts always show the same footer buttons, so they render immediately.\r\n // For non-ODB users we must wait for two pieces of state before deciding what to\r\n // render, otherwise a flicker is visible:\r\n // 1. `allowOD4EntryState` — until this resolves, we don't know whether to show\r\n // the OD4 (View Photos) button or the legacy (Recycle Bin) button.\r\n // 2. `visualState` — until this is non-null, `selectIsActiveVisualState` returns\r\n // `false`, which would render the signed-out fallback (which includes\r\n // Recycle Bin) and then flip to OD4EntryButtons (Photos) when visualState\r\n // arrives.\r\n // We check `visualState !== null` rather than `visualStateState !== Pending`\r\n // so warm AC reopens (where visualState is still cached from the previous fetch\r\n // while a refetch is in flight) do not blank the footer.\r\n // Gated behind killswitch 6017 (FixOD4ButtonFlickerOnACFooter) — tripping it\r\n // fully restores the pre-fix immediate-render behavior.\r\n const isFooterReady =\r\n !isFlickerFixSafe || isODB || (allowOD4EntryState !== DataFetchState.Pending && visualState !== null);\r\n\r\n let buttons: IACButtonProps[] = [];\r\n if (isFooterReady) {\r\n if (isSignedIn) {\r\n if (isODB) {\r\n buttons = odbButtons;\r\n } else if (allowOD4Entry) {\r\n buttons = OD4EntryButtons(showUpgrade);\r\n } else {\r\n buttons = odcButtons(showUpgrade);\r\n }\r\n } else {\r\n buttons = odbButtons.slice(0, 3);\r\n }\r\n }\r\n\r\n const isFooterRendered = Boolean(resourceStrings && metadata);\r\n const isPremiumButtonVisible =\r\n isFooterRendered && buttons.some((button: IACButtonProps) => button.testID === 'premium');\r\n\r\n React.useEffect(() => {\r\n if (\r\n isPremiumButtonVisible &&\r\n lastPremiumFooterImpressionSequence.current !== activityCenterReopenSequence\r\n ) {\r\n lastPremiumFooterImpressionSequence.current = activityCenterReopenSequence;\r\n dispatch(activityCenterActions.handleFooterAction(ActivityCenterUIAction.FooterGoPremiumImpression));\r\n }\r\n }, [activityCenterReopenSequence, dispatch, isPremiumButtonVisible]);\r\n\r\n const footerButtons: (JSX.Element | null)[] = buttons.map((button: IACButtonProps, index: number) => {\r\n const isDisabled =\r\n !isSignedIn ||\r\n (button.shouldDisableOnPause && isPaused) ||\r\n (button.shouldDisableOnOffline && isOffline);\r\n return (\r\n {\r\n button.action(dispatch);\r\n }}\r\n icon={button.icon}\r\n flexDirection='column'\r\n height={68}\r\n width={buttonWidth}\r\n customCommonTextButtonStyle={styles.commonTextButtonStyle}\r\n customIconStyle={{ width: 20, height: 20, opacity: !isDisabled ? 1 : 0.5 }}\r\n disabled={isDisabled} // set the disabled property based on isSignedIn\r\n testID={button.testID}\r\n />\r\n );\r\n });\r\n\r\n if (isFooterRendered) {\r\n return (\r\n <>\r\n \r\n {footerButtons}\r\n \r\n );\r\n }\r\n return null;\r\n};\r\n","import { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport React from 'react';\r\nimport { settingsActions } from './settingsSlice';\r\nimport { selectResourceStrings, selectSettingsData, selectinitialTab } from './selectors';\r\nimport { ResourceStrings, Settings } from '../models/AppContext';\r\nimport { TabLabel } from '../types/settingsTypes';\r\n\r\nexport const useResourceStrings = (): ResourceStrings => {\r\n const dispatch = useAppDispatch();\r\n const value = useAppSelector(selectResourceStrings);\r\n React.useEffect(() => {\r\n if (value === null) {\r\n dispatch(settingsActions.getResourceStrings());\r\n }\r\n }, [value, dispatch]);\r\n\r\n return value;\r\n};\r\n\r\nexport const useSettingsData = (): Settings => {\r\n const dispatch = useAppDispatch();\r\n const value = useAppSelector(selectSettingsData);\r\n React.useEffect(() => {\r\n dispatch(settingsActions.getAllSettings(true));\r\n }, [dispatch]);\r\n\r\n return value;\r\n};\r\n\r\nexport const useInitialTab = (): TabLabel => {\r\n const dispatch = useAppDispatch();\r\n const value = useAppSelector(selectinitialTab);\r\n React.useEffect(() => {\r\n dispatch(settingsActions.getInitialTab());\r\n }, [dispatch]);\r\n\r\n return value;\r\n};\r\n","import { createSelector } from '@reduxjs/toolkit';\r\nimport { RootState } from '../../store';\r\nimport { IIgnoreEntry, IODIgnoreState } from '../types/odignoreTypes';\r\nimport { ISettingsState } from '../types/settingsTypes';\r\n\r\n// select top level state using plain selector function\r\nconst selectODIgnore = (state: RootState): IODIgnoreState => state.odignore;\r\n\r\n// memoize selectors using createSelector from redux-toolkit to avoid unnecessary re-renders\r\n// createSelector takes an array of input selectors and a transform function as arguments.\r\n// documentation for createSelector: https://redux-toolkit.js.org/api/createSelector\r\n\r\n// use to select the strings table as an object from the state\r\nexport const selectEntryText = createSelector([selectODIgnore], (odignore) => odignore.odIgnoreEntry);\r\n\r\nexport const selectSaving = createSelector([selectODIgnore], (odignore) => odignore.saving);\r\n\r\nexport const selectHasError = createSelector([selectODIgnore], (odignore) => odignore.hasError);\r\n\r\nexport const selectEntries = createSelector([selectODIgnore], (odignore) => odignore.userEntries);\r\n\r\n// Select GPO entries\r\nexport const selectGPOEntries = createSelector([selectODIgnore], (odignore) => odignore.gpoEntries);\r\n\r\n// Select merged entries: user/default entries (de-duped against GPO) followed by GPO entries\r\nexport const selectMergedEntries = createSelector(\r\n [selectEntries, selectGPOEntries],\r\n (userEntries: IIgnoreEntry[], gpoEntries: IIgnoreEntry[]): IIgnoreEntry[] => {\r\n const gpoPatterns = new Set(gpoEntries.map((e) => e.entry.toLowerCase()));\r\n const dedupedUserEntries = userEntries.filter((e) => !gpoPatterns.has(e.entry.toLowerCase()));\r\n return [...dedupedUserEntries, ...gpoEntries];\r\n }\r\n);\r\n\r\nexport const selectIsEditableExtensionsEnabled = createSelector(\r\n [selectODIgnore],\r\n (odignore) => odignore.isEditableExtensionsEnabled\r\n);\r\n\r\nexport const selectIsChangesDisabledByGPO = createSelector(\r\n [selectODIgnore],\r\n (odignore) => odignore.isChangesDisabledByGPO\r\n);\r\n\r\n// Settings selectors\r\nconst selectSettingsRoot = (state: RootState): ISettingsState => state.settings;\r\n\r\nexport const selectResourceStrings = createSelector(\r\n [selectSettingsRoot],\r\n (settings: ISettingsState) => settings.resourceStrings\r\n);\r\n\r\nexport const selectSettingsData = createSelector(\r\n [selectSettingsRoot],\r\n (settings: ISettingsState) => settings.settings\r\n);\r\n\r\nexport const selectinitialTab = createSelector(\r\n [selectSettingsRoot],\r\n (settings: ISettingsState) => settings.initialTab\r\n);\r\n\r\n// write selector for selected tab\r\nexport const selectedTab = createSelector(\r\n [selectSettingsRoot],\r\n (settings: ISettingsState) => settings.selectedTab\r\n);\r\n","import React, { useEffect, useMemo, useState } from 'react';\r\nimport { DimensionValue, LayoutChangeEvent, View, ViewStyle } from 'react-native';\r\nimport { CommonButton } from '../../common/components/CommonButton';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { Variants } from '../../common/types';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { ImageStyle } from 'react-native';\r\nimport { AppDispatch } from '../../store';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { IContextMenuItem } from '../types';\r\nimport { selectRootContextMenuItem } from '../redux/activityCenterSelectors';\r\nimport { useArrowKeys } from '../../common/components/accessibilityUtils';\r\nimport { removeMultipleSymbols } from '../../common/helpers/helpers';\r\n\r\ninterface IActivityCenterContextMenuStyles {\r\n buttonContainer: ViewStyle;\r\n buttonImage: ImageStyle;\r\n buttonStyle: ViewStyle;\r\n chevronStyle: ImageStyle;\r\n}\r\n\r\nexport interface IACButtonProps {\r\n action: (dispatch: AppDispatch) => void;\r\n name: string;\r\n icon: string;\r\n accessibleName: string;\r\n isDisabled: boolean;\r\n rightIcon?: string;\r\n testId: string;\r\n}\r\n\r\nconst MIN_CONTEXT_MENU_WIDTH = 200;\r\n\r\nexport const useActivityCenterContextMenuStyles: ThemedStylesHook =\r\n createThemedStylesHook(themeManager, (theme: ITheme) => {\r\n return {\r\n buttonContainer: {\r\n flexDirection: 'column',\r\n backgroundColor: theme.contextMenuBackground,\r\n opacity: 1,\r\n borderWidth: 1,\r\n borderColor: theme.contextMenuBorder,\r\n borderRadius: 4,\r\n alignItems: 'flex-start',\r\n minWidth: MIN_CONTEXT_MENU_WIDTH\r\n },\r\n buttonImage: {\r\n width: 22,\r\n height: 22,\r\n marginLeft: 8\r\n },\r\n buttonStyle: {\r\n justifyContent: 'flex-start',\r\n borderWidth: 0, // override commonButtonStyle\r\n borderBottomWidth: 0\r\n },\r\n chevronStyle: {\r\n position: 'absolute',\r\n right: 10,\r\n top: 10\r\n }\r\n };\r\n });\r\n\r\nexport const ActivityCenterContextMenu: () => JSX.Element = () => {\r\n const dispatch = useAppDispatch();\r\n const styles = useActivityCenterContextMenuStyles();\r\n const rootMenuItem = useAppSelector(selectRootContextMenuItem);\r\n const [showPauseButtons, setShowPauseButtons] = useState(false);\r\n const [focusIndex, setFocusIndex] = useState(0);\r\n const [focusIndexCurrent, setFocusIndexCurrent] = useState(0);\r\n const [buttonWidth, setButtonWidth] = useState('auto');\r\n const symbolsToRemove = ['&', '', ''];\r\n\r\n const buttons: IACButtonProps[] = useMemo(() => {\r\n // Note that we currently assume the only sub-menu in the Activity Center context menu is the pause sub-menu.\r\n // This is a fine assumption to have for now, as there are no current plans to add more sub-menus.\r\n let pauseSubMenuButtons: IACButtonProps[] = [];\r\n let pauseButtonIndex = undefined;\r\n const allButtons =\r\n rootMenuItem !== null && rootMenuItem.children\r\n ? rootMenuItem.children.map(\r\n (menuItem: IContextMenuItem, index: number, array: IContextMenuItem[]) => {\r\n let chevronIcon = undefined;\r\n const isPauseSubMenuButton = menuItem.children && menuItem.children.length > 0;\r\n if (isPauseSubMenuButton) {\r\n chevronIcon = showPauseButtons ? 'chevronUp' : 'chevron';\r\n pauseButtonIndex = index;\r\n pauseSubMenuButtons = menuItem.children.map(\r\n (pauseSubMenuItem: IContextMenuItem, index: number, array: IContextMenuItem[]) => {\r\n return {\r\n action: (dispatch: AppDispatch) => {\r\n dispatch(activityCenterActions.handleContextMenuAction(pauseSubMenuItem.commandId));\r\n },\r\n name: removeMultipleSymbols(pauseSubMenuItem.name, ...symbolsToRemove),\r\n icon: pauseSubMenuItem.iconImageString,\r\n accessibleName: pauseSubMenuItem.accessibleName,\r\n isDisabled: pauseSubMenuItem.isDisabled,\r\n testId: pauseSubMenuItem.testId\r\n };\r\n }\r\n );\r\n }\r\n\r\n return {\r\n action: (dispatch: AppDispatch) => {\r\n if (isPauseSubMenuButton) {\r\n setShowPauseButtons(!showPauseButtons);\r\n } else {\r\n dispatch(activityCenterActions.handleContextMenuAction(menuItem.commandId));\r\n }\r\n },\r\n name: removeMultipleSymbols(menuItem.name, ...symbolsToRemove),\r\n icon: menuItem.iconImageString,\r\n accessibleName: menuItem.accessibleName,\r\n isDisabled: menuItem.isDisabled,\r\n rightIcon: chevronIcon,\r\n testId: menuItem.testId\r\n };\r\n }\r\n )\r\n : [];\r\n\r\n if (pauseButtonIndex !== undefined && showPauseButtons) {\r\n allButtons.splice(pauseButtonIndex + 1, 0, ...pauseSubMenuButtons);\r\n }\r\n\r\n return allButtons;\r\n }, [showPauseButtons, rootMenuItem, rootMenuItem?.children]);\r\n\r\n // Total buttons is the number of buttons + 1 for the exit button + 1 for the pause button\r\n const totalButtons = buttons.length;\r\n const { tabRefs, createHandleArrowKeys } = useArrowKeys(totalButtons);\r\n\r\n useEffect(() => {\r\n if (focusIndex < 0 || focusIndex >= tabRefs.length) {\r\n setFocusIndex(0);\r\n } else if (tabRefs.length > 0 && focusIndex !== focusIndexCurrent) {\r\n tabRefs[focusIndex].current?.focus();\r\n setFocusIndexCurrent(focusIndex);\r\n }\r\n }, [tabRefs, focusIndex, focusIndexCurrent]);\r\n\r\n /* eslint-disable @typescript-eslint/naming-convention */\r\n\r\n // Context menu item buttons\r\n const renderButtons: JSX.Element[] = buttons.map((button: IACButtonProps, index: number) => {\r\n return (\r\n button.action(dispatch)}\r\n onKeyDown={createHandleArrowKeys(index)}\r\n onHover={() => {\r\n setFocusIndexCurrent(index);\r\n setFocusIndex(index);\r\n }}\r\n innerRef={tabRefs[index]}\r\n unfocusableWhenModalActive={false}\r\n icon={button.icon}\r\n height={35}\r\n width={buttonWidth}\r\n customIconStyle={{ ...(styles.buttonImage as ImageStyle), opacity: button.isDisabled ? 0.5 : 1 }}\r\n disabled={button.isDisabled}\r\n flexDirection='row'\r\n customButtonStyle={styles.buttonStyle}\r\n rightIcon={button.rightIcon}\r\n tabbed={button.icon.length === 0}\r\n />\r\n );\r\n });\r\n\r\n const onButtonContainerLayout = React.useCallback(\r\n (event: LayoutChangeEvent) => {\r\n // The button container view's width stretches to the width of its widest child. When the button container's layout\r\n // is updated, we can update the width of all buttons to match the latest width of the container. This ensures that\r\n // all buttons have the same width as the container.\r\n const { width } = event.nativeEvent.layout;\r\n // If the button width is set to 'auto', we can update the button width to match the container width.\r\n if (buttonWidth === 'auto') {\r\n const newButtonWidth = width > MIN_CONTEXT_MENU_WIDTH ? width : MIN_CONTEXT_MENU_WIDTH;\r\n setButtonWidth(newButtonWidth);\r\n }\r\n },\r\n [buttonWidth]\r\n );\r\n\r\n return (\r\n \r\n {renderButtons}\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { MESSAGE_TYPES } from '../../common/constants';\r\nimport {\r\n selectErrorItemsStatus,\r\n selectIsAnyContextMenuOpen,\r\n selectItemHistoryStatus,\r\n selectItemProgressStatus,\r\n selectSyncStatusState,\r\n selectVisualStatusState\r\n} from '../redux/activityCenterSelectors';\r\nimport { DataFetchState } from '../../common/types';\r\n\r\ninterface IActivityCenterMessageHandlerProps {\r\n dataHandler: NativeDataHandler;\r\n}\r\n\r\nexport function ActivityCenterMessageHandler(props: IActivityCenterMessageHandlerProps): JSX.Element | null {\r\n const dispatch = useAppDispatch();\r\n const isAnyMenuOpen = useAppSelector(selectIsAnyContextMenuOpen);\r\n const itemHistoryState = useAppSelector(selectItemHistoryStatus);\r\n const itemProgressState = useAppSelector(selectItemProgressStatus);\r\n const errorItemStatus = useAppSelector(selectErrorItemsStatus);\r\n const syncStatus = useAppSelector(selectSyncStatusState);\r\n const visualStatus = useAppSelector(selectVisualStatusState);\r\n\r\n React.useLayoutEffect(() => {\r\n const callback = (serializedResult: string): void => {\r\n const result = JSON.parse(serializedResult);\r\n if (result.messageType === MESSAGE_TYPES.UPDATE_SYNC_STATUS) {\r\n if (syncStatus !== DataFetchState.Pending) {\r\n dispatch(activityCenterActions.fetchSyncStatus());\r\n }\r\n } else if (result.messageType === MESSAGE_TYPES.UPDATE_VISUAL_STATE) {\r\n if (visualStatus !== DataFetchState.Pending) {\r\n dispatch(activityCenterActions.fetchVisualState());\r\n }\r\n } else if (result.messageType === MESSAGE_TYPES.UPDATE_ACM_STATE) {\r\n if (syncStatus !== DataFetchState.Pending) {\r\n dispatch(activityCenterActions.fetchSyncStatus());\r\n }\r\n // Fetch updated visual state if the ACM has changed.\r\n dispatch(activityCenterActions.fetchVisualState());\r\n\r\n if (result.value.acmChanged) {\r\n dispatch(activityCenterActions.fetchActivityCenterMessageData());\r\n }\r\n\r\n if (result.value.errorsChanged) {\r\n if (errorItemStatus !== DataFetchState.Pending) {\r\n dispatch(activityCenterActions.getActivityCenterErrors());\r\n }\r\n }\r\n\r\n if (result.value.progressChanged) {\r\n if (itemHistoryState !== DataFetchState.Pending) {\r\n dispatch(activityCenterActions.getItemsHistory(result.value.refreshHistory));\r\n }\r\n if (itemProgressState !== DataFetchState.Pending) {\r\n dispatch(activityCenterActions.getProgressItems());\r\n }\r\n }\r\n } else if (result.messageType === MESSAGE_TYPES.GET_COAUTH_LOCKED_ITEMS) {\r\n dispatch(activityCenterActions.setCoAuthLockedItems(result.value));\r\n } else if (result.messageType === MESSAGE_TYPES.ACTIVITY_CENTER_REOPENED) {\r\n dispatch(activityCenterActions.activityCenterReopened());\r\n // If the AC is reopened, we should always fetch the most accurate state for all data it displays.\r\n // The progress and history items in particular should always be refetched.\r\n dispatch(activityCenterActions.getStartupParams());\r\n dispatch(activityCenterActions.fetchActivityCenterMessageData());\r\n dispatch(activityCenterActions.fetchSyncStatus());\r\n dispatch(activityCenterActions.fetchVisualState());\r\n dispatch(activityCenterActions.getProgressItems());\r\n dispatch(activityCenterActions.getItemsHistory(true /* Get all history items, 100 max */));\r\n dispatch(activityCenterActions.getActivityCenterErrors());\r\n dispatch(activityCenterActions.getAllowOD4Entry());\r\n dispatch(activityCenterActions.setTrapFocus(true));\r\n dispatch(activityCenterActions.getCopilotActionEligibility());\r\n dispatch(activityCenterActions.getPrioritizeSyncEligibility());\r\n dispatch(activityCenterActions.getIsKFMOnboardingEnabled());\r\n } else if (result.messageType === MESSAGE_TYPES.ACTIVITY_CENTER_HIDDEN) {\r\n dispatch(activityCenterActions.handleUIActionTelemetry());\r\n dispatch(activityCenterActions.resetState());\r\n } else if (result.messageType === MESSAGE_TYPES.ACTIVITY_CENTER_HANDLE_ESC) {\r\n if (isAnyMenuOpen) {\r\n dispatch(activityCenterActions.dismissContextMenus());\r\n } else {\r\n dispatch(activityCenterActions.hideActivityCenter());\r\n }\r\n } else if (result.messageType === MESSAGE_TYPES.ACTIVITY_CENTER_REMOVE_HISTORY_ITEM) {\r\n dispatch(activityCenterActions.removeHistoryItem(result.value.removeIndex));\r\n } else if (result.messageType === MESSAGE_TYPES.ACTIVITY_CENTER_THUMBNAIL_UPDATED) {\r\n dispatch(activityCenterActions.updateItemThumbnail(result.value));\r\n } else if (\r\n result.messageType === MESSAGE_TYPES.ACTIVITY_CENTER_OPEN_FIRST_COPILOT_ELIGIBLE_ITEM_CONTEXT_MENU\r\n ) {\r\n dispatch(activityCenterActions.openFirstCopilotEligibleItemContextMenu());\r\n } else if (result.messageType === MESSAGE_TYPES.MACBOX_UPGRADE_PROGRESS) {\r\n dispatch(activityCenterActions.setUpgradeProgress(result.value.progress));\r\n dispatch(activityCenterActions.setUpgradeScope(result.value.scope));\r\n }\r\n };\r\n\r\n props.dataHandler.addEventListener('message', callback);\r\n\r\n return () => {\r\n props.dataHandler.removeEventListener('message');\r\n };\r\n }, [\r\n dispatch,\r\n props.dataHandler,\r\n isAnyMenuOpen,\r\n itemHistoryState,\r\n itemProgressState,\r\n errorItemStatus,\r\n syncStatus,\r\n visualStatus\r\n ]);\r\n\r\n return null;\r\n}\r\n","import React, { useCallback, useEffect, useState } from 'react';\r\nimport { View, ViewStyle, TextStyle, AccessibilityRole } from 'react-native';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CommonPressable } from '../../common/components/CommonPressable';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport { createThemedStylesHook, ThemedStylesHook } from '../../common/themes/themes';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { activityCenterActions } from '../redux/activityCenterSlice';\r\nimport { selectSearchQuery } from '../redux/activityCenterSelectors';\r\nimport { sendFeedbackActions } from '../../sendFeedbackView/redux/sendFeedbackSlice';\r\nimport { SendFeedbackUIAction } from '../../sendFeedbackView/types/sendFeedbackViewTypes';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { ActivityCenterUIAction, SearchFeedbackSentiment } from '../types';\r\nimport { useSearchEventHandler } from '../dataHandler/SearchEventHandler';\r\n\r\ninterface ISearchFooterStyles {\r\n container: ViewStyle;\r\n text: TextStyle;\r\n thumbsRow: ViewStyle;\r\n thumbButton: ViewStyle;\r\n thumbButtonPressed: ViewStyle;\r\n // Holds only `{ color: theme.searchTextColor }`. Wrapped in a TextStyle so\r\n // it satisfies the `NamedStyles` constraint of `createThemedStylesHook`;\r\n // the component pulls `.color` out and forwards it to .\r\n // The mono thumb assets use fill=\"currentColor\", so this guarantees the\r\n // glyph is drawn in the same color as the banner's text — which is paired\r\n // with `searchInputBackground` for guaranteed contrast in every theme,\r\n // including high-contrast modes where a hard-coded white/black SVG fill\r\n // would otherwise blend into the background.\r\n thumbIcon: TextStyle;\r\n}\r\n\r\nexport const useSearchFooterStyles: ThemedStylesHook = createThemedStylesHook<\r\n ITheme,\r\n ISearchFooterStyles\r\n>(themeManager, (theme: ITheme) => ({\r\n // Banner pinned to the bottom of the AC when the search bar is open. Sits\r\n // flush with the AC's bottom edge (no horizontal margin) so it reads as a\r\n // separator-bar rather than a card.\r\n container: {\r\n flexDirection: 'row',\r\n alignItems: 'center',\r\n justifyContent: 'space-between',\r\n paddingVertical: 10,\r\n paddingHorizontal: 12,\r\n borderTopWidth: 1,\r\n borderTopColor: theme.photoTileBorder,\r\n backgroundColor: theme.searchInputBackground\r\n },\r\n text: {\r\n flex: 1,\r\n fontSize: 12,\r\n color: theme.searchTextColor,\r\n marginRight: 8\r\n },\r\n thumbsRow: {\r\n flexDirection: 'row',\r\n alignItems: 'center'\r\n },\r\n thumbButton: {\r\n width: 28,\r\n height: 28,\r\n borderRadius: 4,\r\n justifyContent: 'center',\r\n alignItems: 'center',\r\n marginLeft: 4\r\n },\r\n thumbButtonPressed: {\r\n opacity: 0.6\r\n },\r\n thumbIcon: {\r\n color: theme.searchTextColor\r\n }\r\n}));\r\n\r\n/**\r\n * Bottom banner shown while the search bar is visible. Renders short prompt\r\n * text plus a thumbs-up / thumbs-down pair that open the standard\r\n * Send Feedback flow for the chosen sentiment, which is also captured in\r\n * telemetry (`SmileClicked` / `FrownClicked`).\r\n *\r\n * Thumbs-up captures positive sentiment in telemetry (`SmileClicked`)\r\n * and opens the smile feedback flow. Thumbs-down captures negative\r\n * sentiment (`FrownClicked`) and opens the frown feedback flow.\r\n *\r\n * Once either thumb is pressed, only the pressed icon swaps to its filled\r\n * variant; the other stays outlined. Both buttons become disabled so the\r\n * user gets a clear \"feedback received\" affordance without a toast or\r\n * modal, and so we cannot double-submit telemetry.\r\n *\r\n * The submitted-sentiment state resets to `null` whenever the search\r\n * query changes (new search → fresh feedback opportunity for the new\r\n * results), so users can rate each query independently.\r\n *\r\n * Both paths also record `ActivityCenterUIAction.SearchFeedbackClicked`\r\n * so the AC side sees a single \"search feedback engaged\" rollup. The\r\n * query text itself is NOT logged.\r\n */\r\nconst SearchFooterComponent: React.FC = () => {\r\n const dispatch = useAppDispatch();\r\n const { t: translate } = useTranslation();\r\n const styles = useSearchFooterStyles();\r\n const searchQuery = useAppSelector(selectSearchQuery);\r\n const searchEvents = useSearchEventHandler();\r\n const [submittedSentiment, setSubmittedSentiment] = useState(null);\r\n // Synchronous guard to prevent race between fast clicks and React rerender.\r\n // The check in the callback closure can read stale state; the ref is\r\n // always current.\r\n const submittedRef = React.useRef(null);\r\n\r\n // Reset feedback state whenever the active search query changes so users\r\n // can rate each query independently. Effect runs only on the searchQuery\r\n // identity changing — it does not stomp the user's selection mid-query.\r\n useEffect(() => {\r\n setSubmittedSentiment(null);\r\n submittedRef.current = null;\r\n }, [searchQuery]);\r\n\r\n const handleThumbsUp = useCallback(() => {\r\n if (submittedRef.current !== null) {\r\n return;\r\n }\r\n submittedRef.current = SearchFeedbackSentiment.ThumbsUp;\r\n setSubmittedSentiment(SearchFeedbackSentiment.ThumbsUp);\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.SearchFeedbackClicked));\r\n dispatch(sendFeedbackActions.sendUIActionForTelemetry(SendFeedbackUIAction.SmileClicked));\r\n dispatch(sendFeedbackActions.launchSendFeedback('smile'));\r\n searchEvents.feedback(SearchFeedbackSentiment.ThumbsUp);\r\n }, [dispatch, searchEvents]);\r\n\r\n const handleThumbsDown = useCallback(() => {\r\n if (submittedRef.current !== null) {\r\n return;\r\n }\r\n submittedRef.current = SearchFeedbackSentiment.ThumbsDown;\r\n setSubmittedSentiment(SearchFeedbackSentiment.ThumbsDown);\r\n dispatch(activityCenterActions.setLastUIActionPerformed(ActivityCenterUIAction.SearchFeedbackClicked));\r\n dispatch(sendFeedbackActions.sendUIActionForTelemetry(SendFeedbackUIAction.FrownClicked));\r\n dispatch(sendFeedbackActions.launchSendFeedback('frown'));\r\n searchEvents.feedback(SearchFeedbackSentiment.ThumbsDown);\r\n }, [dispatch, searchEvents]);\r\n\r\n const thumbUpIcon =\r\n submittedSentiment === SearchFeedbackSentiment.ThumbsUp\r\n ? 'searchFeedbackThumbUpFilled'\r\n : 'searchFeedbackThumbUp';\r\n const thumbDownIcon =\r\n submittedSentiment === SearchFeedbackSentiment.ThumbsDown\r\n ? 'searchFeedbackThumbDownFilled'\r\n : 'searchFeedbackThumbDown';\r\n const thumbsDisabled = submittedSentiment !== null;\r\n\r\n return (\r\n \r\n \r\n {translate('searchFeedbackBannerText')}\r\n \r\n \r\n \r\n {(isPressed: boolean) => (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n {(isPressed: boolean) => (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const SearchFooter = React.memo(SearchFooterComponent);\r\n","import React from 'react';\r\nimport { View } from 'react-native';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CommonButton } from '../../common/components/CommonButton';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { Variants } from '../../common/loader/models/CommonContext';\r\nimport { useCommonStyles } from '../../common/themes/ICommonTheme';\r\nimport {\r\n useAccessibleAnnouncement,\r\n useAppDispatch,\r\n useAppSelector,\r\n useBasicOnChildDataLoaded\r\n} from '../../hooks';\r\nimport { useFREStyles } from '../themes/useFreStyles';\r\nimport { chooseRootFolderActions } from '../redux/chooseRootFolderSlice';\r\nimport { Link } from '../../common/components/Link';\r\nimport { selectDidAdminLockLocation, selectFullPath } from '../redux/ChooseRootFolderSelectors';\r\nimport { FREImage } from '../components/FREImage';\r\nimport { selectAnimationState } from '../redux/wizardWindowSelectors';\r\nimport { useWizardConfirmDialog } from '../components/useWizardConfirmDialog';\r\n\r\nexport const ChooseRootFolderPage = (): JSX.Element => {\r\n const styles = useFREStyles();\r\n const commonStyles = useCommonStyles();\r\n const dispatch = useAppDispatch();\r\n const { t: translate } = useTranslation();\r\n const linkText = translate('freChooseRootFolderChooseLocationLinkTitle');\r\n const fullPath = useAppSelector(selectFullPath);\r\n const didAdminLockLocation = useAppSelector(selectDidAdminLockLocation);\r\n const { animationEnabled } = useAppSelector(selectAnimationState);\r\n const title = translate('freChooseRootFolderTitle');\r\n const desc = translate('freChooseRootFolderDesc');\r\n const folderPathLabel = didAdminLockLocation\r\n ? translate('freChooseRootFolderAdminLockMessage')\r\n : translate('freChooseRootFolderPathTitle');\r\n useAccessibleAnnouncement([title, desc, folderPathLabel, fullPath]);\r\n useBasicOnChildDataLoaded();\r\n useWizardConfirmDialog(true /*enabled*/);\r\n\r\n const handleLinkPress = (): void => {\r\n dispatch(chooseRootFolderActions.changeRootLocationClicked());\r\n };\r\n\r\n const onNextClick = (): void => {\r\n dispatch(chooseRootFolderActions.onNextClicked());\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n {desc}\r\n \r\n \r\n \r\n {folderPathLabel}\r\n \r\n \r\n {fullPath}\r\n \r\n {!didAdminLockLocation && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import { TextStyle, ViewStyle, Platform } from 'react-native';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { ThemedStylesHook, createThemedStylesHook } from '../../common/themes/themes';\r\nimport { isMacOS, MAC_SHAPE } from '../../common/themes/macTokens';\r\n\r\ninterface IFREStyles {\r\n frame: ViewStyle;\r\n titleFrame: ViewStyle;\r\n bodyFrame: ViewStyle;\r\n imagePanel: ViewStyle;\r\n bottomPanel: ViewStyle;\r\n bottomPanelSingleButton: ViewStyle;\r\n secondaryButton: ViewStyle;\r\n singleButton: ViewStyle;\r\n imageFrame: ViewStyle;\r\n checkbox: ViewStyle;\r\n checkBoxContainer: ViewStyle;\r\n defaultItemBackground: ViewStyle;\r\n selectedItemBackground: ViewStyle;\r\n foldersContainer: ViewStyle;\r\n itemContainer: ViewStyle;\r\n headerTextContainer: ViewStyle;\r\n iconContainer: ViewStyle;\r\n diskInfoContainer: ViewStyle;\r\n partialSelectionBoxContainer: ViewStyle;\r\n partialSelectionBox: ViewStyle;\r\n infoBarContainer: ViewStyle;\r\n infoBarText: TextStyle;\r\n center: ViewStyle;\r\n}\r\n\r\nexport const useFREStyles: ThemedStylesHook = createThemedStylesHook(\r\n themeManager,\r\n (theme: ITheme) => {\r\n return {\r\n frame: {\r\n width: '100%',\r\n height: '100%',\r\n backgroundColor: theme.upperFrameBackgroundColor,\r\n flexDirection: 'column',\r\n position: 'absolute'\r\n },\r\n titleFrame: {\r\n maxHeight: 55,\r\n marginBottom: 12,\r\n marginTop: isMacOS ? 24 : 12\r\n },\r\n bodyFrame: {\r\n flexDirection: 'column',\r\n marginHorizontal: 24,\r\n flex: 1\r\n },\r\n imagePanel: {\r\n flexGrow: 1,\r\n width: '100%',\r\n justifyContent: 'center'\r\n },\r\n bottomPanel: {\r\n flexDirection: 'row',\r\n maxHeight: 80,\r\n backgroundColor: theme.lowerFrameBackgroundColor,\r\n alignItems: 'center',\r\n // On Mac, right-align action buttons and add a hairline separator above\r\n // the bar — matches the AppKit sheet footer. Windows keeps centered.\r\n // NOTE: do NOT alter paddingVertical here — `WelcomeFlyoutOverlay`\r\n // hardcodes `bottom: 143` based on the panel's vertical geometry, so\r\n // changing padding shifts the dropdown and breaks alignment.\r\n justifyContent: isMacOS ? 'flex-end' : 'center',\r\n flex: 1,\r\n ...(isMacOS\r\n ? {\r\n paddingHorizontal: 24,\r\n borderTopWidth: 0.5,\r\n borderTopColor: theme.foldersBorderColor,\r\n gap: MAC_SHAPE.actionBarButtonGap\r\n }\r\n : {})\r\n },\r\n secondaryButton: {\r\n marginRight: isMacOS ? 0 : 8\r\n },\r\n bottomPanelSingleButton: {\r\n justifyContent: 'flex-end'\r\n },\r\n singleButton: {\r\n marginRight: isMacOS ? 0 : 32\r\n },\r\n imageFrame: {\r\n height: 200\r\n },\r\n // Checkbox container style to forcefully reduce the margin between the checkbox and the surrounding content\r\n // This is necessary because the default margin is too large for the checkbox to be aligned with content\r\n checkBoxContainer: {\r\n marginBottom: -6,\r\n marginTop: -5\r\n },\r\n // Checkbox style to reduce the size of the checkbox\r\n checkbox: {\r\n transform: [{ scaleX: 0.8 }, { scaleY: 0.8 }],\r\n marginLeft: -10,\r\n marginRight: -10\r\n },\r\n defaultItemBackground: {\r\n backgroundColor: 'transparent',\r\n paddingHorizontal: 2\r\n },\r\n selectedItemBackground: {\r\n backgroundColor: theme.selectedItemBackgroundColor,\r\n paddingHorizontal: 2\r\n },\r\n foldersContainer: {\r\n borderWidth: 1,\r\n borderColor: theme.foldersBorderColor,\r\n height: 170,\r\n marginVertical: 10\r\n },\r\n itemContainer: {\r\n flexDirection: 'row',\r\n alignItems: 'center'\r\n },\r\n headerTextContainer: {\r\n marginVertical: 10\r\n },\r\n iconContainer: {\r\n marginBottom: -5,\r\n marginRight: 5\r\n },\r\n diskInfoContainer: {\r\n height: 60,\r\n borderTopWidth: 0.5,\r\n borderColor: theme.foldersBorderColor,\r\n justifyContent: 'center'\r\n },\r\n partialSelectionBoxContainer: {\r\n width: Platform.OS === 'macos' ? 14 : 17,\r\n height: Platform.OS === 'macos' ? 14 : 17,\r\n borderWidth: 1,\r\n justifyContent: 'center',\r\n borderColor: theme.partialBoxColor,\r\n alignItems: 'center',\r\n borderRadius: 3,\r\n marginVertical: Platform.OS === 'macos' ? 0 : 2,\r\n marginLeft: 2,\r\n marginRight: Platform.OS === 'macos' ? 0 : 3\r\n },\r\n partialSelectionBox: {\r\n width: Platform.OS === 'macos' ? 6 : 7,\r\n height: Platform.OS === 'macos' ? 6 : 7,\r\n backgroundColor: theme.partialBoxColor\r\n },\r\n infoBarContainer: {\r\n flexDirection: 'row',\r\n alignItems: 'center'\r\n },\r\n infoBarText: {\r\n fontSize: 11\r\n },\r\n center: {\r\n justifyContent: 'center',\r\n alignItems: 'center'\r\n }\r\n };\r\n }\r\n);\r\n","import { ThemeManager } from '../../common/themes/themes';\r\nimport { LightTheme } from './LightTheme';\r\nimport { DarkTheme } from './DarkTheme';\r\nimport { createHighContrastTheme } from './HighContrast';\r\nimport { ICommonTheme } from '../../common/themes/ICommonTheme';\r\nimport { OpaqueColorValue } from 'react-native';\r\n\r\nexport interface ITheme extends ICommonTheme {\r\n upperFrameBackgroundColor: string;\r\n lowerFrameBackgroundColor: string;\r\n flyoutOverlay: {\r\n backgroundColor: string;\r\n borderColor: string;\r\n selectedBorderColor: string;\r\n selectedBackgroundColor: string;\r\n hoveredBackgroundColor: string;\r\n pressedBackgroundColor: string;\r\n highlightedTextColor: string;\r\n };\r\n errorTextColor: string;\r\n premium: {\r\n sectionContainerColor: string;\r\n sectionBorderColor: string;\r\n };\r\n selectedItemBackgroundColor: string;\r\n foldersBorderColor: string;\r\n partialBoxColor: string | OpaqueColorValue;\r\n}\r\n\r\n// Define themes for this app\r\nexport const themeManager: ThemeManager = new ThemeManager(\r\n LightTheme,\r\n DarkTheme,\r\n createHighContrastTheme\r\n);\r\n","import { Platform, PlatformColor } from 'react-native';\r\nimport { Basic, Comm, ColorsWithTransparency, Fabric, Neutrals } from '../../common/assets/colors';\r\nimport { CommonLightTheme } from '../../common/themes/CommonLightTheme';\r\nimport { ITheme } from './ITheme';\r\nimport { macFreOverrides } from './MacFreOverrides';\r\n\r\nconst isMacOS = Platform.OS === 'macos';\r\nconst baseLightTheme: ITheme = {\r\n ...CommonLightTheme,\r\n upperFrameBackgroundColor: Basic.white,\r\n lowerFrameBackgroundColor: Neutrals.gray19,\r\n flyoutOverlay: {\r\n backgroundColor: Basic.white,\r\n borderColor: Neutrals.gray47,\r\n selectedBorderColor: Fabric.neutralSecondary,\r\n selectedBackgroundColor: Fabric.neutralLighterAlt,\r\n hoveredBackgroundColor: Fabric.neutralLighterAlt,\r\n pressedBackgroundColor: Fabric.neutralLight,\r\n highlightedTextColor: CommonLightTheme.bodyTextColor // This color only matters in high contrast mode\r\n },\r\n errorTextColor: Basic.redDark,\r\n premium: {\r\n sectionContainerColor: ColorsWithTransparency.white70,\r\n sectionBorderColor: ColorsWithTransparency.black05\r\n },\r\n selectedItemBackgroundColor: Comm.Tint30,\r\n foldersBorderColor: Neutrals.gray60,\r\n partialBoxColor: isMacOS ? Basic.blueMid2 : PlatformColor('SystemAccentColorDark1')\r\n};\r\n\r\n// light theme color palette — on Mac, layer FRE-specific semantic overrides\r\n// (background + border colors) on top of the base values. No-op on Windows.\r\nexport const LightTheme: ITheme = {\r\n ...baseLightTheme,\r\n ...macFreOverrides,\r\n flyoutOverlay: {\r\n ...baseLightTheme.flyoutOverlay,\r\n ...(macFreOverrides.flyoutOverlay ?? {})\r\n }\r\n};\r\n","/**\r\n * Mac-only overrides for the FRE (`ITheme`) extensions that aren't part of\r\n * `ICommonTheme`. Layered on top of the FRE light / dark theme by spreading\r\n * this object after `CommonLightTheme` / `CommonDarkTheme` and before the\r\n * theme is returned.\r\n *\r\n * Empty object on non-Mac platforms so spreading is a no-op for Windows.\r\n */\r\nimport { PlatformColor } from 'react-native';\r\nimport { isMacOS } from '../../common/themes/macTokens';\r\nimport { ITheme } from './ITheme';\r\n\r\ntype FreOverridePatch = Partial;\r\n\r\nfunction buildFreMacOverrides(): FreOverridePatch {\r\n const accent = PlatformColor('controlAccentColor');\r\n const separator = PlatformColor('separatorColor');\r\n const windowBg = PlatformColor('windowBackgroundColor');\r\n const controlBg = PlatformColor('controlBackgroundColor');\r\n const selectedContentBg = PlatformColor('selectedContentBackgroundColor');\r\n const unemphasizedSelectedBg = PlatformColor('unemphasizedSelectedContentBackgroundColor');\r\n const alternateSelectedText = PlatformColor('alternateSelectedControlTextColor');\r\n const systemRed = PlatformColor('systemRedColor');\r\n const transparent = 'transparent';\r\n\r\n return {\r\n // The FRE frame paints two stacked backgrounds; on Mac we want both to\r\n // sit on the system window background, with the bottom action strip\r\n // delineated only by a hairline (drawn by useFreStyles, not here).\r\n upperFrameBackgroundColor: windowBg as unknown as string,\r\n lowerFrameBackgroundColor: transparent,\r\n selectedItemBackgroundColor: selectedContentBg as unknown as string,\r\n foldersBorderColor: separator as unknown as string,\r\n partialBoxColor: accent,\r\n errorTextColor: systemRed as unknown as string,\r\n flyoutOverlay: {\r\n backgroundColor: windowBg as unknown as string,\r\n borderColor: separator as unknown as string,\r\n selectedBorderColor: accent as unknown as string,\r\n selectedBackgroundColor: selectedContentBg as unknown as string,\r\n // Neutral grey hover that works in both modes (underPageBackgroundColor\r\n // was too dark on light backgrounds).\r\n hoveredBackgroundColor: unemphasizedSelectedBg as unknown as string,\r\n pressedBackgroundColor: controlBg as unknown as string,\r\n // Selected items sit on the accent color, so the text needs to flip to\r\n // white in both modes — labelColor stayed dark in light mode.\r\n highlightedTextColor: alternateSelectedText as unknown as string\r\n }\r\n };\r\n}\r\n\r\nexport const macFreOverrides: FreOverridePatch = isMacOS ? buildFreMacOverrides() : {};\r\n","import { ColorsWithTransparency, DarkThemeBlue, Neutrals, OneOff } from '../../common/assets/colors';\r\nimport { CommonDarkTheme } from '../../common/themes/CommonDarkTheme';\r\nimport { ITheme } from './ITheme';\r\nimport { macFreOverrides } from './MacFreOverrides';\r\n\r\nconst baseDarkTheme: ITheme = {\r\n ...CommonDarkTheme,\r\n upperFrameBackgroundColor: Neutrals.gray170,\r\n lowerFrameBackgroundColor: Neutrals.gray191,\r\n flyoutOverlay: {\r\n backgroundColor: Neutrals.gray148,\r\n borderColor: ColorsWithTransparency.black20,\r\n selectedBorderColor: Neutrals.gray141,\r\n selectedBackgroundColor: Neutrals.gray141,\r\n hoveredBackgroundColor: ColorsWithTransparency.white06,\r\n pressedBackgroundColor: ColorsWithTransparency.white04,\r\n highlightedTextColor: CommonDarkTheme.bodyTextColor // This color only matters in high contrast mode\r\n },\r\n errorTextColor: OneOff.errorBadgeBackgroundDark,\r\n premium: {\r\n sectionContainerColor: ColorsWithTransparency.white03,\r\n sectionBorderColor: ColorsWithTransparency.black10\r\n },\r\n selectedItemBackgroundColor: Neutrals.gray150,\r\n foldersBorderColor: DarkThemeBlue.themePrimary,\r\n partialBoxColor: DarkThemeBlue.themePrimary\r\n};\r\n\r\n// dark theme color palette — Mac semantic overrides applied on top.\r\nexport const DarkTheme: ITheme = {\r\n ...baseDarkTheme,\r\n ...macFreOverrides,\r\n flyoutOverlay: {\r\n ...baseDarkTheme.flyoutOverlay,\r\n ...(macFreOverrides.flyoutOverlay ?? {})\r\n }\r\n};\r\n","import { ISystemHighContrastTheme, ThemeName } from '../../common/themes/themeUtils';\r\nimport { ITheme } from './ITheme';\r\nimport { createCommonHighContrastTheme } from '../../common/themes/CommonHighContrastTheme';\r\n\r\n/**\r\n * High Contrast themes come in from Windows dynamically as a limited color pallete,\r\n * this needs to be mapped to our ITheme type.\r\n */\r\nexport function createHighContrastTheme(systemTheme: ISystemHighContrastTheme, themeName: ThemeName): ITheme {\r\n return {\r\n ...createCommonHighContrastTheme(systemTheme, themeName),\r\n upperFrameBackgroundColor: systemTheme.WindowColor,\r\n lowerFrameBackgroundColor: systemTheme.WindowColor,\r\n flyoutOverlay: {\r\n backgroundColor: systemTheme.WindowColor,\r\n borderColor: systemTheme.WindowTextColor,\r\n selectedBorderColor: systemTheme.HighlightColor,\r\n selectedBackgroundColor: systemTheme.HighlightColor,\r\n hoveredBackgroundColor: systemTheme.HighlightColor,\r\n pressedBackgroundColor: systemTheme.HighlightColor,\r\n highlightedTextColor: systemTheme.WindowColor\r\n },\r\n errorTextColor: systemTheme.ButtonTextColor,\r\n premium: {\r\n sectionContainerColor: systemTheme.WindowColor,\r\n sectionBorderColor: systemTheme.HighlightColor\r\n },\r\n selectedItemBackgroundColor: systemTheme.HighlightColor,\r\n foldersBorderColor: systemTheme.ButtonTextColor,\r\n partialBoxColor: systemTheme.HighlightColor\r\n };\r\n}\r\n","import { createSelector } from '@reduxjs/toolkit';\r\nimport { RootState } from '../../store';\r\nimport { IChooseRootFolderPageState } from '../types/chooseRootFolderTypes';\r\n\r\n// select top level state using plain selector function\r\nconst selectChooseRootFolder = (state: RootState): IChooseRootFolderPageState => state.chooseRootFolder;\r\n\r\n// memoize selectors using createSelector from redux-toolkit to avoid unnecessary re-renders\r\n// createSelector takes an array of input selectors and a transform function as arguments.\r\n// documentation for createSelector: https://redux-toolkit.js.org/api/createSelector\r\n\r\nexport const selectFullPath = createSelector(\r\n [selectChooseRootFolder],\r\n (state: IChooseRootFolderPageState) => state.fullPath\r\n);\r\n\r\nexport const selectDidAdminLockLocation = createSelector(\r\n [selectChooseRootFolder],\r\n (state: IChooseRootFolderPageState) => state.didAdminLockLocation\r\n);\r\n\r\nexport const selectChooseRootFolderState = createSelector(\r\n [selectChooseRootFolder],\r\n (state: IChooseRootFolderPageState) => state\r\n);\r\n","import React, { useEffect } from 'react';\r\nimport { AnimationPlayPauseButton } from './AnimationPlayPauseButton';\r\nimport { selectAnimationState, selectShowConfirmDialog } from '../redux/wizardWindowSelectors';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { useFREStyles } from '../themes/useFreStyles';\r\nimport { View, ViewStyle } from 'react-native';\r\nimport { wizardWindowActions } from '../redux/wizardWindowSlice';\r\n\r\ninterface IFREImageProps {\r\n name: string;\r\n testID?: string;\r\n width?: number;\r\n height?: number;\r\n style?: ViewStyle;\r\n}\r\n\r\nexport const FREImage = (props: IFREImageProps): JSX.Element => {\r\n const { name, testID, width, height, style } = props;\r\n const freStyles = useFREStyles();\r\n const { animationEnabled } = useAppSelector(selectAnimationState);\r\n const dispatch = useAppDispatch();\r\n const showConfirmDialog = useAppSelector(selectShowConfirmDialog);\r\n\r\n /**\r\n * Initial load effects.\r\n */\r\n useEffect(() => {\r\n dispatch(wizardWindowActions.getAnimationState());\r\n }, []);\r\n\r\n let staticImage = null;\r\n if (!animationEnabled && !showConfirmDialog) {\r\n staticImage = ;\r\n }\r\n const animButton = animationEnabled ? : null;\r\n\r\n return (\r\n <>\r\n {staticImage}\r\n {animButton}\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { CommonPressable } from '../../common/components/CommonPressable';\r\nimport { ITheme, themeManager } from '../themes/ITheme';\r\nimport { selectAnimationState } from '../redux/wizardWindowSelectors';\r\nimport { SVGIcon } from '../../common/components/SvgIcon';\r\nimport { ThemedStylesHook, createThemedStylesHook } from '../../common/themes/themes';\r\nimport { useAppDispatch, useAppSelector } from '../../hooks';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { ViewStyle } from 'react-native';\r\nimport { wizardWindowActions } from '../redux/wizardWindowSlice';\r\nimport Tooltip from '../../common/components/Tooltip';\r\nimport { CommonText } from '../../common/components/CommonText';\r\n\r\ninterface IAnimationButtonStyles {\r\n animationPressable: ViewStyle;\r\n}\r\n\r\nconst useAnimationButtonStyles: ThemedStylesHook = createThemedStylesHook<\r\n ITheme,\r\n IAnimationButtonStyles\r\n>(themeManager, (theme: ITheme) => {\r\n return {\r\n animationPressable: {\r\n alignSelf: 'flex-end',\r\n marginRight: 50,\r\n marginBottom: 6\r\n }\r\n };\r\n});\r\n\r\nexport const AnimationPlayPauseButton = (): JSX.Element | null => {\r\n const { animationEnabled, animationComplete } = useAppSelector(selectAnimationState);\r\n const dispatch = useAppDispatch();\r\n const styles = useAnimationButtonStyles();\r\n const { t: translate } = useTranslation();\r\n const [isTooltipVisible, setIsTooltipVisible] = React.useState(false);\r\n\r\n // Start with the animation playing.\r\n const [isPlaying, setIsPlaying] = React.useState(true);\r\n\r\n const accessibilityLabel = isPlaying\r\n ? translate('firstRunAnimationPauseButtonAccessibleText')\r\n : translate('firstRunAnimationPlayButtonAccessibleText');\r\n\r\n React.useEffect(() => {\r\n // When the animation is complete, the animation is automatically paused.\r\n // We should update the state of the button to reflect this.\r\n if (animationComplete) {\r\n setIsPlaying(false);\r\n\r\n // Make sure the application layer knows that the animation is no longer playing.\r\n dispatch(wizardWindowActions.toggleAnimationPlaying(false));\r\n\r\n // Reset the animationComplete state so that we can detect when it is marked as `true` again.\r\n dispatch(wizardWindowActions.setAnimationComplete(false));\r\n }\r\n }, [animationComplete]);\r\n\r\n const onHover = React.useCallback((isHovering: boolean) => {\r\n setIsTooltipVisible(isHovering);\r\n }, []);\r\n\r\n const onPress = React.useCallback(() => {\r\n const newIsPlaying = !isPlaying;\r\n\r\n // Dispatch the action to toggle the animation to the Router.\r\n // Since we expect to start with the animation playing, the button should start with the \"Pause\" icon.\r\n // When clicked, newIsPlaying should be false since we are pausing the animation.\r\n dispatch(wizardWindowActions.toggleAnimationPlaying(newIsPlaying));\r\n\r\n // Update the state of the button.\r\n setIsPlaying(newIsPlaying);\r\n }, [isPlaying]);\r\n\r\n if (animationEnabled) {\r\n return (\r\n \r\n {(isPressed, isHovering) => {\r\n // If the animation is currently playing, the button should show the pause icon.\r\n // If the animation is currently paused, the button should show the play icon.\r\n const animIcon = isPlaying ? 'animation_Pause' : 'animation_Play';\r\n return (\r\n <>\r\n \r\n \r\n {accessibilityLabel}\r\n \r\n \r\n \r\n \r\n );\r\n }}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n};\r\n","import React from 'react';\r\nimport { IMessageHandlerProps } from '../../common/dataHandler/NativeDataHandler';\r\nimport { useAppDispatch } from '../../hooks';\r\nimport { IDefaultLocationPayload, IChosenPathPayload } from '../types/chooseRootFolderTypes';\r\nimport { chooseRootFolderActions } from '../redux/chooseRootFolderSlice';\r\nimport { WizardWindowMessageHandler } from './WizardWindowMessageHandler';\r\n\r\nexport function ChooseRootFolderPageMessageHandler(props: IMessageHandlerProps): JSX.Element {\r\n const dispatch = useAppDispatch();\r\n React.useLayoutEffect(() => {\r\n const callback = (serializedResult: string): void => {\r\n const result = JSON.parse(serializedResult);\r\n\r\n if (result.messageType === 'setDefaultLocation') {\r\n const payload: IDefaultLocationPayload = result.value;\r\n dispatch(chooseRootFolderActions.setDefaultLocation(payload));\r\n } else if (result.messageType === 'updateChoosePath') {\r\n const payload: IChosenPathPayload = result.value;\r\n dispatch(chooseRootFolderActions.setChosenPath(payload));\r\n }\r\n };\r\n\r\n props.dataHandler.addEventListener('message', callback);\r\n\r\n return () => {\r\n dispatch(chooseRootFolderActions.resetState());\r\n props.dataHandler.removeEventListener('message');\r\n };\r\n }, []);\r\n\r\n return ;\r\n}\r\n","import React from 'react';\r\nimport { NativeDataHandler } from '../../common/dataHandler/NativeDataHandler';\r\nimport { useAppDispatch } from '../../hooks';\r\nimport { chooseRootFolderActions } from '../redux/chooseRootFolderSlice';\r\nimport { wizardWindowActions } from '../redux/wizardWindowSlice';\r\nimport { AppKeyContext } from '../../common/types';\r\nimport { IWizardConfirmDialogStrings } from '../types/wizardWindowTypes';\r\nimport { WIZARD_WINDOW_VIEW_NAME } from '../pages/WizardWindow';\r\n\r\ninterface IWizardWindowMessageHandlerProps {\r\n dataHandler: NativeDataHandler;\r\n}\r\n\r\ninterface IUpdateSpinningText {\r\n text: string;\r\n}\r\n\r\ninterface IUpdateSpinningSubText {\r\n subText: string;\r\n}\r\n\r\ninterface IUpdateAnimationEnabled {\r\n animationEnabled: boolean;\r\n}\r\n\r\ninterface IUpdateAnimationComplete {\r\n animationComplete: boolean;\r\n}\r\n\r\nexport function WizardWindowMessageHandler(props: IWizardWindowMessageHandlerProps): null {\r\n const dispatch = useAppDispatch();\r\n const appKey: string = React.useContext(AppKeyContext);\r\n React.useLayoutEffect(() => {\r\n dispatch(wizardWindowActions.setCurrentWizardPage(appKey));\r\n const callback = (serializedResult: string): void => {\r\n const result = JSON.parse(serializedResult);\r\n\r\n if (result.messageType === 'updateSpinningText') {\r\n const payload: IUpdateSpinningText = result.value;\r\n dispatch(wizardWindowActions.setSpinningText(payload.text));\r\n } else if (result.messageType === 'updateSpinningSubText') {\r\n const payload: IUpdateSpinningSubText = result.value;\r\n dispatch(wizardWindowActions.setSpinningSubText(payload.subText));\r\n } else if (result.messageType === 'updateAnimationEnabled') {\r\n const payload: IUpdateAnimationEnabled = result.value;\r\n dispatch(wizardWindowActions.setAnimationEnabled(payload.animationEnabled));\r\n } else if (result.messageType === 'updateAnimationComplete') {\r\n const payload: IUpdateAnimationComplete = result.value;\r\n dispatch(wizardWindowActions.setAnimationComplete(payload.animationComplete));\r\n } else if (result.messageType === 'showConfirmDialog') {\r\n const payload: IWizardConfirmDialogStrings = result.value;\r\n dispatch(wizardWindowActions.setConfirmDialogStrings(payload));\r\n }\r\n };\r\n\r\n props.dataHandler.addEventListener('message', callback);\r\n\r\n return () => {\r\n dispatch(chooseRootFolderActions.resetState());\r\n props.dataHandler.removeEventListener('message');\r\n dispatch(wizardWindowActions.setCurrentWizardPage(WIZARD_WINDOW_VIEW_NAME));\r\n };\r\n }, []);\r\n\r\n return null;\r\n}\r\n","import React from 'react';\r\nimport { View } from 'react-native';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { CommonButton } from '../../common/components/CommonButton';\r\nimport { CommonText } from '../../common/components/CommonText';\r\nimport { Variants } from '../../common/loader/models/CommonContext';\r\nimport { useCommonStyles } from '../../common/themes/ICommonTheme';\r\nimport { FREImage } from '../components/FREImage';\r\nimport { useAccessibleAnnouncement, useAppDispatch, useBasicOnChildDataLoaded } from '../../hooks';\r\nimport { useFREStyles } from '../themes/useFreStyles';\r\nimport { chinaTypeApprovalPageActions } from '../redux/chinaTypeApprovalSlice';\r\n\r\nexport const CTAPage = (): JSX.Element => {\r\n const styles = useFREStyles();\r\n const commonStyles = useCommonStyles();\r\n const dispatch = useAppDispatch();\r\n const { t: translate } = useTranslation();\r\n const primaryText = translate('freChinaTypeApprovalPrimaryHeader');\r\n const secondaryText = translate('freChinaTypeApprovalSecondaryHeader');\r\n useAccessibleAnnouncement([primaryText, secondaryText]);\r\n useBasicOnChildDataLoaded();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {primaryText}\r\n \r\n \r\n \r\n {secondaryText}\r\n \r\n \r\n \r\n \r\n \r\n {\r\n dispatch(chinaTypeApprovalPageActions.accept());\r\n }}\r\n testID='acceptButton'\r\n buttonName={translate('freChinaTypeApprovalAcceptButton')}\r\n />\r\n \r\n \r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { View, Text, Button, FlatList } from 'react-native';\r\nimport { AppKeyContext } from '../common/loader/models/CommonContext';\r\nimport { NativeDataHandler } from '../common/dataHandler/NativeDataHandler';\r\nimport { useTranslation } from 'react-i18next';\r\nimport { SVGIcon } from '../common/components/SvgIcon';\r\nimport { useAppDispatch, useBasicOnChildDataLoaded } from '../hooks';\r\nimport iconsList from '../common/assets/svgs/IconsList';\r\n\r\ninterface IHelloWorldResponse {\r\n statusCode: number;\r\n message: string;\r\n}\r\n\r\nexport const DebugView: () => JSX.Element = () => {\r\n const { t } = useTranslation();\r\n const str = t('syncProductNameLong');\r\n const dispatch = useAppDispatch();\r\n const appKey = React.useContext(AppKeyContext);\r\n const iconNames = Object.keys(iconsList);\r\n const viewMessageDataHandler = React.useMemo(\r\n () => new NativeDataHandler(dispatch, appKey),\r\n [dispatch, appKey]\r\n );\r\n\r\n const [response, setResponse] = React.useState();\r\n\r\n const fetchHelloWorld = async (): Promise => {\r\n try {\r\n const helloWorldResponse: IHelloWorldResponse = (await viewMessageDataHandler.send({\r\n url: 'http://localhost:9001/sync/hello/worldjson',\r\n requestType: 'GET'\r\n })) as IHelloWorldResponse;\r\n setResponse(helloWorldResponse.message);\r\n } catch (error) {\r\n console.error('Failed to fetch from sync/hello/worldjson: ' + error);\r\n setResponse(JSON.stringify(error));\r\n }\r\n };\r\n\r\n useBasicOnChildDataLoaded();\r\n\r\n return (\r\n \r\n {str}\r\n Click the button to send a request to the C++ Router.\r\n