{"version":3,"file":"js/4586-a717a82c1c3861ab7622.js","mappings":"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AKN,QAAQwzB,EAAkBE,GAC3C,OAAQ5Z,EAAMxZ,GAAQmzB,EAAU7zB,KAAK+zB,GAAS,IAAMA,EAAQA,CAC9D,uBChBA,UAWI,EAAO,QAAW,2BAAP,EAMN,WAOP,IAAIC,EAAoB,CAEtB,gBACA,YACA,cACA,SACA,aACA,MACA,MACA,WACA,UACA,QACA,WACA,aAEA,aACA,YAGA,QACA,UAGA,OAGA,UAEA,QACA,SAEA,QAEA,SAEA,SACA,YACA,OACA,QACA,QACA,QACA,aACA,cAGA,UAEA,OAGA,UACA,OAEA,OAEA,YACA,YACA,cAGA,cACA,YAEA,OACA,YACA,SACA,WACA,YAIA,OACA,UAEA,QACA,MACA,OAGA,OACA,MAEA,YAEA,UACA,UACA,SAEA,WAEA,OACA,OACA,SAEA,YACA,QAEA,QACA,aAGA,YACA,WACA,OACA,OACA,SACA,SACA,OAEA,OACA,WACA,UACA,QACA,cACA,YACA,SACA,SACA,WAEA,MACA,aACA,YACA,cAEA,YAEA,OACA,QAEA,MAGA,UAEA,OAIA,SAEA,YAGA,OAEA,WACA,OACA,UACA,UACA,YACA,WACA,WACA,cACA,aACA,SACA,YACA,QACA,aAEA,OACA,UAEA,WACA,YACA,QAEA,aACA,UACA,SACA,cACA,aACA,UAGA,UACA,OACA,QACA,QAEA,MACA,QACA,QAEA,SACA,OACA,WACA,WACA,UACA,YAEA,YACA,UAEA,SAIA,QACA,WAEA,UACA,SACA,YACA,UAEA,QAIA,aACA,YACA,cAIA,SAEA,SAGA,aACA,cACA,WACA,UACA,UACA,OACA,UACA,MAEA,SAKA,UACA,UACA,UACA,SACA,QACA,QACA,WAEA,QAEA,QACA,UACA,OACA,OACA,WACA,OAGA,YAEA,UAGA,QAEA,QACA,YAGA,WACA,WAGA,SACA,SACA,UACA,SAKA,UACA,iBAEA,QAGA,YACA,eACA,QAGA,WACA,OACA,aACA,gBACA,YACA,WAEA,WAEA,SAEA,SACA,UAEA,UACA,QAGA,WAEA,SAMA,OAEA,OACA,WAQE/sB,EAAQ,CACVgtB,OAAS,CACPC,IAAY,IAAInxB,OAAQ,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","sources":["webpack://wooftech/./node_modules/@rails/actioncable/app/assets/javascripts/actioncable.esm.js","webpack://wooftech/./node_modules/@react-native/normalize-colors/index.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-component.jsx","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/use-router.jsx","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/router.jsx","webpack://wooftech/./node_modules/flash-notifications/node_modules/set-state-compare/src/diff-utils.js","webpack://wooftech/./node_modules/flash-notifications/node_modules/set-state-compare/src/memo-compare-props.js","webpack://wooftech/./node_modules/flash-notifications/node_modules/set-state-compare/src/shared.js","webpack://wooftech/./node_modules/flash-notifications/node_modules/set-state-compare/src/shape-component.js","webpack://wooftech/./node_modules/flash-notifications/src/container/notification.jsx","webpack://wooftech/./node_modules/flash-notifications/src/container/index.jsx","webpack://wooftech/./node_modules/haya-select/src/config.js","webpack://wooftech/./node_modules/react-native-vector-icons/FontAwesome.js","webpack://wooftech/./node_modules/react-native-vector-icons/lib/NativeRNVectorIcons.web.js","webpack://wooftech/./node_modules/react-native-vector-icons/lib/ensure-native-module-available.js","webpack://wooftech/./node_modules/react-native-vector-icons/lib/create-icon-source-cache.js","webpack://wooftech/./node_modules/react-native-vector-icons/lib/icon-button.js","webpack://wooftech/./node_modules/react-native-vector-icons/lib/create-icon-set.js","webpack://wooftech/./node_modules/react-native-vector-icons/lib/object-utils.js","webpack://wooftech/./node_modules/call-bind/callBound.js","webpack://wooftech/./node_modules/call-bind/index.js","webpack://wooftech/./node_modules/call-bind/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/call-bind/node_modules/function-bind/index.js","webpack://wooftech/./node_modules/clone-deep/index.js","webpack://wooftech/./node_modules/clone-deep/node_modules/is-plain-object/index.js","webpack://wooftech/./node_modules/css-in-js-utils/es/assignStyle.js","webpack://wooftech/./node_modules/css-in-js-utils/es/camelCaseProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/hyphenateProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/cssifyDeclaration.js","webpack://wooftech/./node_modules/css-in-js-utils/es/cssifyObject.js","webpack://wooftech/./node_modules/css-in-js-utils/es/isPrefixedProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/isPrefixedValue.js","webpack://wooftech/./node_modules/css-in-js-utils/es/isUnitlessProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/unprefixProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/normalizeProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/es/resolveArrayValue.js","webpack://wooftech/./node_modules/css-in-js-utils/es/unprefixValue.js","webpack://wooftech/./node_modules/css-in-js-utils/lib/hyphenateProperty.js","webpack://wooftech/./node_modules/css-in-js-utils/lib/isPrefixedValue.js","webpack://wooftech/./node_modules/define-data-property/index.js","webpack://wooftech/./node_modules/define-properties/index.js","webpack://wooftech/./node_modules/define-properties/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/define-properties/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/es-define-property/index.js","webpack://wooftech/./node_modules/es-errors/eval.js","webpack://wooftech/./node_modules/es-errors/index.js","webpack://wooftech/./node_modules/es-errors/range.js","webpack://wooftech/./node_modules/es-errors/ref.js","webpack://wooftech/./node_modules/es-errors/syntax.js","webpack://wooftech/./node_modules/es-errors/type.js","webpack://wooftech/./node_modules/es-errors/uri.js","webpack://wooftech/./node_modules/es-set-tostringtag/index.js","webpack://wooftech/./node_modules/es-set-tostringtag/node_modules/has-tostringtag/shams.js","webpack://wooftech/./node_modules/events/events.js","webpack://wooftech/./node_modules/fbjs/lib/emptyFunction.js","webpack://wooftech/./node_modules/fbjs/lib/invariant.js","webpack://wooftech/./node_modules/fbjs/lib/warning.js","webpack://wooftech/./node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/function-bind/index.js","webpack://wooftech/./node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/function-bind/index.js","webpack://wooftech/./node_modules/get-intrinsic/node_modules/has-proto/index.js","webpack://wooftech/./node_modules/globalthis/implementation.browser.js","webpack://wooftech/./node_modules/globalthis/index.js","webpack://wooftech/./node_modules/globalthis/node_modules/define-properties/index.js","webpack://wooftech/./node_modules/globalthis/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/globalthis/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/globalthis/polyfill.js","webpack://wooftech/./node_modules/globalthis/shim.js","webpack://wooftech/./node_modules/gopd/index.js","webpack://wooftech/./node_modules/gopd/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/has-symbols/index.js","webpack://wooftech/./node_modules/has-symbols/shams.js","webpack://wooftech/./node_modules/has/src/index.js","webpack://wooftech/./node_modules/hasown/index.js","webpack://wooftech/./node_modules/hasown/node_modules/function-bind/implementation.js","webpack://wooftech/./node_modules/hasown/node_modules/function-bind/index.js","webpack://wooftech/./node_modules/history/index.js","webpack://wooftech/./node_modules/hyphenate-style-name/index.js","webpack://wooftech/./node_modules/inflection/lib/inflection.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/createPrefixer.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/backgroundClip.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/crossFade.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/cursor.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/filter.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/imageSet.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/logical.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/position.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/sizing.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/plugins/transition.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/addNewValuesOnly.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/capitalizeString.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/isObject.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/prefixProperty.js","webpack://wooftech/./node_modules/inline-style-prefixer/lib/utils/prefixValue.js","webpack://wooftech/./node_modules/isarray/index.js","webpack://wooftech/./node_modules/isobject/index.js","webpack://wooftech/./node_modules/js-money/lib/currency.js","webpack://wooftech/./node_modules/js-money/lib/index.js","webpack://wooftech/./node_modules/js-money/lib/money.js","webpack://wooftech/./node_modules/kind-of/index.js","webpack://wooftech/./node_modules/lodash/_Symbol.js","webpack://wooftech/./node_modules/lodash/_apply.js","webpack://wooftech/./node_modules/lodash/_arrayLikeKeys.js","webpack://wooftech/./node_modules/lodash/_assignValue.js","webpack://wooftech/./node_modules/lodash/_baseAssignValue.js","webpack://wooftech/./node_modules/lodash/_baseGetTag.js","webpack://wooftech/./node_modules/lodash/_baseIsArguments.js","webpack://wooftech/./node_modules/lodash/_baseIsNative.js","webpack://wooftech/./node_modules/lodash/_baseIsTypedArray.js","webpack://wooftech/./node_modules/lodash/_baseKeysIn.js","webpack://wooftech/./node_modules/lodash/_baseRest.js","webpack://wooftech/./node_modules/lodash/_baseSetToString.js","webpack://wooftech/./node_modules/lodash/_baseTimes.js","webpack://wooftech/./node_modules/lodash/_baseUnary.js","webpack://wooftech/./node_modules/lodash/_copyObject.js","webpack://wooftech/./node_modules/lodash/_coreJsData.js","webpack://wooftech/./node_modules/lodash/_createAssigner.js","webpack://wooftech/./node_modules/lodash/_defineProperty.js","webpack://wooftech/./node_modules/lodash/_freeGlobal.js","webpack://wooftech/./node_modules/lodash/_getNative.js","webpack://wooftech/./node_modules/lodash/_getPrototype.js","webpack://wooftech/./node_modules/lodash/_getRawTag.js","webpack://wooftech/./node_modules/lodash/_getValue.js","webpack://wooftech/./node_modules/lodash/_isIndex.js","webpack://wooftech/./node_modules/lodash/_isIterateeCall.js","webpack://wooftech/./node_modules/lodash/_isMasked.js","webpack://wooftech/./node_modules/lodash/_isPrototype.js","webpack://wooftech/./node_modules/lodash/_nativeKeysIn.js","webpack://wooftech/./node_modules/lodash/_nodeUtil.js","webpack://wooftech/./node_modules/lodash/_objectToString.js","webpack://wooftech/./node_modules/lodash/_overArg.js","webpack://wooftech/./node_modules/lodash/_overRest.js","webpack://wooftech/./node_modules/lodash/_root.js","webpack://wooftech/./node_modules/lodash/_setToString.js","webpack://wooftech/./node_modules/lodash/_shortOut.js","webpack://wooftech/./node_modules/lodash/_toSource.js","webpack://wooftech/./node_modules/lodash/assignIn.js","webpack://wooftech/./node_modules/lodash/constant.js","webpack://wooftech/./node_modules/lodash/eq.js","webpack://wooftech/./node_modules/lodash/extend.js","webpack://wooftech/./node_modules/lodash/identity.js","webpack://wooftech/./node_modules/lodash/isArguments.js","webpack://wooftech/./node_modules/lodash/isArray.js","webpack://wooftech/./node_modules/lodash/isArrayLike.js","webpack://wooftech/./node_modules/lodash/isBuffer.js","webpack://wooftech/./node_modules/lodash/isFunction.js","webpack://wooftech/./node_modules/lodash/isLength.js","webpack://wooftech/./node_modules/lodash/isNaN.js","webpack://wooftech/./node_modules/lodash/isNumber.js","webpack://wooftech/./node_modules/lodash/isObject.js","webpack://wooftech/./node_modules/lodash/isObjectLike.js","webpack://wooftech/./node_modules/lodash/isPlainObject.js","webpack://wooftech/./node_modules/lodash/isString.js","webpack://wooftech/./node_modules/lodash/isTypedArray.js","webpack://wooftech/./node_modules/lodash/keysIn.js","webpack://wooftech/./node_modules/lodash/stubFalse.js","webpack://wooftech/./node_modules/nullthrows/nullthrows.js","webpack://wooftech/./node_modules/object-keys/implementation.js","webpack://wooftech/./node_modules/object-keys/index.js","webpack://wooftech/./node_modules/object-keys/isArguments.js","webpack://wooftech/./node_modules/object-to-formdata/src/index.js","webpack://wooftech/./node_modules/object.assign/implementation.js","webpack://wooftech/./node_modules/object.assign/index.js","webpack://wooftech/./node_modules/object.assign/polyfill.js","webpack://wooftech/./node_modules/object.assign/shim.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/index.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/parse.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/stringify.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/unit.js","webpack://wooftech/./node_modules/postcss-value-parser/lib/walk.js","webpack://wooftech/./node_modules/prop-types-exact/build/helpers/isPlainObject.js","webpack://wooftech/./node_modules/prop-types-exact/src/index.js","webpack://wooftech/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://wooftech/./node_modules/prop-types/index.js","webpack://wooftech/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://wooftech/./node_modules/qs/lib/formats.js","webpack://wooftech/./node_modules/qs/lib/index.js","webpack://wooftech/./node_modules/qs/lib/parse.js","webpack://wooftech/./node_modules/qs/lib/stringify.js","webpack://wooftech/./node_modules/qs/lib/utils.js","webpack://wooftech/./node_modules/react-dom/cjs/react-dom.production.min.js","webpack://wooftech/./node_modules/react-dom/client.js","webpack://wooftech/./node_modules/react-dom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Dimensions/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalContent.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalFocusTrap.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/ModalPortal.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Modal/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/PixelRatio/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Platform/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Pressable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/createReactDOMStyle.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/hash.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/hyphenateStyleName.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeColor.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/normalizeValueWithProperty.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/compiler/unitlessNumbers.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/createCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/dom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/preprocess.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/StyleSheet/validate.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Text/TextAncestorContext.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/Text/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/TouchableHighlight/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/UIManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/View/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/createElement/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/exports/processColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/isDisabled.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAccessibilityComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/AccessibilityUtil/propsToAriaRole.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/addEventListener/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/canUseDom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/createDOMProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/forwardedProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/getBoundingClientRect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/isSelectionValid/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/isWebColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/mergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/modality/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/pick/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/prefixStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/prefixStyles/static.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/setValueForStyles/dangerousStyleValue.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/setValueForStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/unitlessNumbers/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useElementLayout/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useEvent/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useHover/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useLayoutEffect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useLocale/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useLocale/isLocaleRTL.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useMergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/usePlatformMethods/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/usePressEvents/PressResponder.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/usePressEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderEventTypes.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderSystem.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/ResponderTouchHistoryStore.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/createResponderEvent.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useResponderEvents/utils.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/useStable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/cjs/modules/warnOnce/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AccessibilityInfo/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedModule.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/NativeAnimatedHelper.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/Platform.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/ReactNative/ReactNativeFeatureFlags.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/TurboModule/TurboModuleRegistry.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedNode.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedWithChildren.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedInterpolation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValue.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedEvent.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTransform.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedStyle.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedProps.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/useAnimatedProps.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/useRefEffect.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/createAnimatedComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/useMergeRefs.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedFlatList.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedImage.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedScrollView.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedSectionList.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedText.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/components/AnimatedView.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedAddition.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDiffClamp.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedDivision.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedModulo.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedMultiplication.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedSubtraction.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedTracking.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedValueXY.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/Animation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/DecayAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/SpringConfig.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/SpringAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/animations/TimingAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/nodes/AnimatedColor.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedImplementation.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/AnimatedMock.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/Animated.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Animated/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Appearance/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Dimensions/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/bezier.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Animated/Easing.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Easing/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/deepDiffer/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/FlatList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/FlatList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/I18nManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AssetRegistry/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/ImageLoader/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Image/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/InteractionManager/TaskQueue.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/requestIdleCallback/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/InteractionManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Keyboard/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/NativeModules/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/PixelRatio/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Platform/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/addEventListener/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/modality/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useEvent/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useHover/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Pressable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/RefreshControl/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ScrollView/ScrollViewBase.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ScrollView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedSectionList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/SectionList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/SectionList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/isWebColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeColor.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/unitlessNumbers.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/normalizeValueWithProperty.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/dom/createCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/dom/createOrderedCSSStyleSheet.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/dom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/createReactDOMStyle.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/hash.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/hyphenateStyleName.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/prefixStyles/static.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/prefixStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/compiler/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StyleSheet/preprocess.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Text/TextAncestorContext.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Text/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TextInput/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/unitlessNumbers/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/setValueForStyles/dangerousStyleValue.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/setValueForStyles/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/UIManager/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/View/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/createDOMProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/createElement/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/findNodeHandle/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/processColor/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/useWindowDimensions/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/unmountComponentAtNode/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/render/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Alert/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppRegistry/AppContainer.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppRegistry/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppRegistry/renderApplication.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/AppState/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/BackHandler/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Clipboard/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/LayoutAnimation/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/LayoutAnimation/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Linking/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/NativeEventEmitter/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/TouchHistoryMath/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/PanResponder/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/PanResponder/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Share/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Vibration/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ActivityIndicator/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableOpacity/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Button/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/CheckBox/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ImageBackground/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/KeyboardAvoidingView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalPortal.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalAnimation.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalContent.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/ModalFocusTrap.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Modal/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Picker/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Picker/PickerItem.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/ProgressBar/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/SafeAreaView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/StatusBar/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/multiplyStyleLengthValue/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Switch/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/PooledClass/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Touchable/BoundingDimensions.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Touchable/Position.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/Touchable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableHighlight/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/UnimplementedView/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableNativeFeedback/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/TouchableWithoutFeedback/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/VirtualizedList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/YellowBox/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/LogBox/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/DeviceEventEmitter/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/useColorScheme/index.js","webpack://wooftech/./node_modules/react-native-web/dist/exports/useLocaleContext/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/isDisabled.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAriaRole.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/propsToAccessibilityComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/AccessibilityUtil/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/TextInputState/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/canUseDom/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/dismissKeyboard/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/forwardedProps/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/getBoundingClientRect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/mergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/pick/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useElementLayout/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useLayoutEffect/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useLocale/isLocaleRTL.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useLocale/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useMergeRefs/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/usePlatformMethods/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/usePressEvents/PressResponder.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/usePressEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/createResponderEvent.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderEventTypes.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/utils.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/isSelectionValid/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderTouchHistoryStore.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/ResponderSystem.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useResponderEvents/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/useStable/index.js","webpack://wooftech/./node_modules/react-native-web/dist/modules/warnOnce/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/EventEmitter/NativeEventEmitter.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/EventEmitter/RCTDeviceEventEmitter.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizeUtils/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Batchinator/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/Utilities/clamp.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/infoLog/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/CellRenderMask.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/ChildListCollection.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/FillRateHelper/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/StateSafePureComponent.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/ViewabilityHelper/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListContext.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/VirtualizedListCellRenderer.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/VirtualizedList/index.js","webpack://wooftech/./node_modules/react-native-web/dist/vendor/react-native/vendor/emitter/EventEmitter.js","webpack://wooftech/./node_modules/react/cjs/react.production.min.js","webpack://wooftech/./node_modules/reflect.ownkeys/implementation.js","webpack://wooftech/./node_modules/reflect.ownkeys/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/define-properties/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/has-property-descriptors/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/has-property-descriptors/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/reflect.ownkeys/polyfill.js","webpack://wooftech/./node_modules/reflect.ownkeys/shim.js","webpack://wooftech/./node_modules/scheduler/cjs/scheduler.production.min.js","webpack://wooftech/./node_modules/scheduler/index.js","webpack://wooftech/./node_modules/set-function-length/index.js","webpack://wooftech/./node_modules/shallow-clone/index.js","webpack://wooftech/./node_modules/side-channel/index.js","webpack://wooftech/./node_modules/side-channel/node_modules/get-intrinsic/index.js","webpack://wooftech/./node_modules/side-channel/node_modules/object-inspect/index.js","webpack://wooftech/./node_modules/source-map/lib/array-set.js","webpack://wooftech/./node_modules/source-map/lib/base64-vlq.js","webpack://wooftech/./node_modules/source-map/lib/base64.js","webpack://wooftech/./node_modules/source-map/lib/binary-search.js","webpack://wooftech/./node_modules/source-map/lib/mapping-list.js","webpack://wooftech/./node_modules/source-map/lib/quick-sort.js","webpack://wooftech/./node_modules/source-map/lib/source-map-consumer.js","webpack://wooftech/./node_modules/source-map/lib/source-map-generator.js","webpack://wooftech/./node_modules/source-map/lib/source-node.js","webpack://wooftech/./node_modules/source-map/lib/util.js","webpack://wooftech/./node_modules/source-map/source-map.js","webpack://wooftech/./node_modules/spark-md5/spark-md5.js","webpack://wooftech/./node_modules/stimulus/dist/stimulus.js","webpack://wooftech/./node_modules/stimulus/dist/webpack-helpers.js","webpack://wooftech/./node_modules/strftime/strftime.js","webpack://wooftech/./node_modules/styleq/dist/styleq.js","webpack://wooftech/./node_modules/styleq/dist/transform-localize-style.js","webpack://wooftech/./node_modules/styleq/transform-localize-style.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/native.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/rng.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://wooftech/./node_modules/uuid/dist/esm-browser/v4.js","webpack://wooftech/./node_modules/wake-event/wake-event.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/defineProperty.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/extends.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/interopRequireWildcard.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/objectSpread2.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/toPrimitive.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/toPropertyKey.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/typeof.js","webpack://wooftech/./node_modules/epic-locks/index.cjs","webpack://wooftech/./node_modules/epic-locks/src/readers-writer-lock.cjs","webpack://wooftech/./node_modules/form-data-objectizer/index.cjs","webpack://wooftech/./node_modules/numberable/index.cjs","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/CreateMethodProperty.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/FromPropertyDescriptor.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/IsDataDescriptor.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/IsPropertyKey.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/SameValue.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/2023/Type.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/5/Type.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/DefineOwnProperty.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/IsArray.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/OwnPropertyKeys.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/fromPropertyDescriptor.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/isNaN.js","webpack://wooftech/./node_modules/reflect.ownkeys/node_modules/es-abstract/helpers/records/property-descriptor.js","webpack://wooftech/./node_modules/uniqunize/index.cjs","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/createForOfIteratorHelperLoose.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://wooftech/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/error-messages.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/can-can.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/collection.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/api.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/command-submit-data.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/destroy-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/serializer.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/commands-pool.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/config.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/custom-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/deserializer.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/devise.mjs","webpack://wooftech/./node_modules/stacktrace-parser/dist/stack-trace-parser.esm.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/source-maps-loader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/error-logger.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/events.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/logger.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-class-require.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/column.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/attribute.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/attribute-not-loaded-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/cache-key-generator.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-name.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/not-loaded-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/reflection.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model/scope.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/base-model.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-recipes-model-loader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/model-recipes-loader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/preloaded.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/models-response-reader.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/result.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/routes-native.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/run-last.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/services.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/session-status-updater.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/url-encode.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/use-event-emitter.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/use-event-listener.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/validation-error.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/src/validation-errors.mjs","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/set-state-compare/src/memo-compare-props.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/set-state-compare/src/shape-component.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/set-state-compare/src/shared.js","webpack://wooftech/./node_modules/@kaspernj/api-maker/node_modules/set-state-compare/src/use-shape.js","webpack://wooftech/./node_modules/on-location-changed/src/on-location-changed-callback.js","webpack://wooftech/./node_modules/on-location-changed/src/callbacks-handler.js","webpack://wooftech/./node_modules/on-location-changed/src/on-location-changed.js","webpack://wooftech/./node_modules/on-location-changed/src/use-path.js","webpack://wooftech/./node_modules/set-state-compare/src/diff-utils.js","webpack://wooftech/./node_modules/set-state-compare/src/memo-compare-props.js","webpack://wooftech/./node_modules/set-state-compare/src/memo.js","webpack://wooftech/./node_modules/set-state-compare/src/shape-component.js","webpack://wooftech/./node_modules/set-state-compare/src/shared.js","webpack://wooftech/./node_modules/diggerize/index.mjs","webpack://wooftech/./node_modules/escape-string-regexp/index.js","webpack://wooftech/./node_modules/fetching-object/index.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/error-handlers/raiser.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/index.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/error-handlers/raise-in-background.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/events.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/use-i18n.mjs","webpack://wooftech/./node_modules/i18n-on-steroids/src/use-locale.mjs","webpack://wooftech/./node_modules/incorporator/index.mjs","webpack://wooftech/./node_modules/parent-element/index.mjs"],"sourcesContent":["var adapters = {\n logger: typeof console !== \"undefined\" ? console : undefined,\n WebSocket: typeof WebSocket !== \"undefined\" ? WebSocket : undefined\n};\n\nvar logger = {\n log(...messages) {\n if (this.enabled) {\n messages.push(Date.now());\n adapters.logger.log(\"[ActionCable]\", ...messages);\n }\n }\n};\n\nconst now = () => (new Date).getTime();\n\nconst secondsSince = time => (now() - time) / 1e3;\n\nclass ConnectionMonitor {\n constructor(connection) {\n this.visibilityDidChange = this.visibilityDidChange.bind(this);\n this.connection = connection;\n this.reconnectAttempts = 0;\n }\n start() {\n if (!this.isRunning()) {\n this.startedAt = now();\n delete this.stoppedAt;\n this.startPolling();\n addEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(`ConnectionMonitor started. stale threshold = ${this.constructor.staleThreshold} s`);\n }\n }\n stop() {\n if (this.isRunning()) {\n this.stoppedAt = now();\n this.stopPolling();\n removeEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(\"ConnectionMonitor stopped\");\n }\n }\n isRunning() {\n return this.startedAt && !this.stoppedAt;\n }\n recordMessage() {\n this.pingedAt = now();\n }\n recordConnect() {\n this.reconnectAttempts = 0;\n delete this.disconnectedAt;\n logger.log(\"ConnectionMonitor recorded connect\");\n }\n recordDisconnect() {\n this.disconnectedAt = now();\n logger.log(\"ConnectionMonitor recorded disconnect\");\n }\n startPolling() {\n this.stopPolling();\n this.poll();\n }\n stopPolling() {\n clearTimeout(this.pollTimeout);\n }\n poll() {\n this.pollTimeout = setTimeout((() => {\n this.reconnectIfStale();\n this.poll();\n }), this.getPollInterval());\n }\n getPollInterval() {\n const {staleThreshold: staleThreshold, reconnectionBackoffRate: reconnectionBackoffRate} = this.constructor;\n const backoff = Math.pow(1 + reconnectionBackoffRate, Math.min(this.reconnectAttempts, 10));\n const jitterMax = this.reconnectAttempts === 0 ? 1 : reconnectionBackoffRate;\n const jitter = jitterMax * Math.random();\n return staleThreshold * 1e3 * backoff * (1 + jitter);\n }\n reconnectIfStale() {\n if (this.connectionIsStale()) {\n logger.log(`ConnectionMonitor detected stale connection. reconnectAttempts = ${this.reconnectAttempts}, time stale = ${secondsSince(this.refreshedAt)} s, stale threshold = ${this.constructor.staleThreshold} s`);\n this.reconnectAttempts++;\n if (this.disconnectedRecently()) {\n logger.log(`ConnectionMonitor skipping reopening recent disconnect. time disconnected = ${secondsSince(this.disconnectedAt)} s`);\n } else {\n logger.log(\"ConnectionMonitor reopening\");\n this.connection.reopen();\n }\n }\n }\n get refreshedAt() {\n return this.pingedAt ? this.pingedAt : this.startedAt;\n }\n connectionIsStale() {\n return secondsSince(this.refreshedAt) > this.constructor.staleThreshold;\n }\n disconnectedRecently() {\n return this.disconnectedAt && secondsSince(this.disconnectedAt) < this.constructor.staleThreshold;\n }\n visibilityDidChange() {\n if (document.visibilityState === \"visible\") {\n setTimeout((() => {\n if (this.connectionIsStale() || !this.connection.isOpen()) {\n logger.log(`ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = ${document.visibilityState}`);\n this.connection.reopen();\n }\n }), 200);\n }\n }\n}\n\nConnectionMonitor.staleThreshold = 6;\n\nConnectionMonitor.reconnectionBackoffRate = .15;\n\nvar INTERNAL = {\n message_types: {\n welcome: \"welcome\",\n disconnect: \"disconnect\",\n ping: \"ping\",\n confirmation: \"confirm_subscription\",\n rejection: \"reject_subscription\"\n },\n disconnect_reasons: {\n unauthorized: \"unauthorized\",\n invalid_request: \"invalid_request\",\n server_restart: \"server_restart\",\n remote: \"remote\"\n },\n default_mount_path: \"/cable\",\n protocols: [ \"actioncable-v1-json\", \"actioncable-unsupported\" ]\n};\n\nconst {message_types: message_types, protocols: protocols} = INTERNAL;\n\nconst supportedProtocols = protocols.slice(0, protocols.length - 1);\n\nconst indexOf = [].indexOf;\n\nclass Connection {\n constructor(consumer) {\n this.open = this.open.bind(this);\n this.consumer = consumer;\n this.subscriptions = this.consumer.subscriptions;\n this.monitor = new ConnectionMonitor(this);\n this.disconnected = true;\n }\n send(data) {\n if (this.isOpen()) {\n this.webSocket.send(JSON.stringify(data));\n return true;\n } else {\n return false;\n }\n }\n open() {\n if (this.isActive()) {\n logger.log(`Attempted to open WebSocket, but existing socket is ${this.getState()}`);\n return false;\n } else {\n const socketProtocols = [ ...protocols, ...this.consumer.subprotocols || [] ];\n logger.log(`Opening WebSocket, current state is ${this.getState()}, subprotocols: ${socketProtocols}`);\n if (this.webSocket) {\n this.uninstallEventHandlers();\n }\n this.webSocket = new adapters.WebSocket(this.consumer.url, socketProtocols);\n this.installEventHandlers();\n this.monitor.start();\n return true;\n }\n }\n close({allowReconnect: allowReconnect} = {\n allowReconnect: true\n }) {\n if (!allowReconnect) {\n this.monitor.stop();\n }\n if (this.isOpen()) {\n return this.webSocket.close();\n }\n }\n reopen() {\n logger.log(`Reopening WebSocket, current state is ${this.getState()}`);\n if (this.isActive()) {\n try {\n return this.close();\n } catch (error) {\n logger.log(\"Failed to reopen WebSocket\", error);\n } finally {\n logger.log(`Reopening WebSocket in ${this.constructor.reopenDelay}ms`);\n setTimeout(this.open, this.constructor.reopenDelay);\n }\n } else {\n return this.open();\n }\n }\n getProtocol() {\n if (this.webSocket) {\n return this.webSocket.protocol;\n }\n }\n isOpen() {\n return this.isState(\"open\");\n }\n isActive() {\n return this.isState(\"open\", \"connecting\");\n }\n triedToReconnect() {\n return this.monitor.reconnectAttempts > 0;\n }\n isProtocolSupported() {\n return indexOf.call(supportedProtocols, this.getProtocol()) >= 0;\n }\n isState(...states) {\n return indexOf.call(states, this.getState()) >= 0;\n }\n getState() {\n if (this.webSocket) {\n for (let state in adapters.WebSocket) {\n if (adapters.WebSocket[state] === this.webSocket.readyState) {\n return state.toLowerCase();\n }\n }\n }\n return null;\n }\n installEventHandlers() {\n for (let eventName in this.events) {\n const handler = this.events[eventName].bind(this);\n this.webSocket[`on${eventName}`] = handler;\n }\n }\n uninstallEventHandlers() {\n for (let eventName in this.events) {\n this.webSocket[`on${eventName}`] = function() {};\n }\n }\n}\n\nConnection.reopenDelay = 500;\n\nConnection.prototype.events = {\n message(event) {\n if (!this.isProtocolSupported()) {\n return;\n }\n const {identifier: identifier, message: message, reason: reason, reconnect: reconnect, type: type} = JSON.parse(event.data);\n this.monitor.recordMessage();\n switch (type) {\n case message_types.welcome:\n if (this.triedToReconnect()) {\n this.reconnectAttempted = true;\n }\n this.monitor.recordConnect();\n return this.subscriptions.reload();\n\n case message_types.disconnect:\n logger.log(`Disconnecting. Reason: ${reason}`);\n return this.close({\n allowReconnect: reconnect\n });\n\n case message_types.ping:\n return null;\n\n case message_types.confirmation:\n this.subscriptions.confirmSubscription(identifier);\n if (this.reconnectAttempted) {\n this.reconnectAttempted = false;\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: true\n });\n } else {\n return this.subscriptions.notify(identifier, \"connected\", {\n reconnected: false\n });\n }\n\n case message_types.rejection:\n return this.subscriptions.reject(identifier);\n\n default:\n return this.subscriptions.notify(identifier, \"received\", message);\n }\n },\n open() {\n logger.log(`WebSocket onopen event, using '${this.getProtocol()}' subprotocol`);\n this.disconnected = false;\n if (!this.isProtocolSupported()) {\n logger.log(\"Protocol is unsupported. Stopping monitor and disconnecting.\");\n return this.close({\n allowReconnect: false\n });\n }\n },\n close(event) {\n logger.log(\"WebSocket onclose event\");\n if (this.disconnected) {\n return;\n }\n this.disconnected = true;\n this.monitor.recordDisconnect();\n return this.subscriptions.notifyAll(\"disconnected\", {\n willAttemptReconnect: this.monitor.isRunning()\n });\n },\n error() {\n logger.log(\"WebSocket onerror event\");\n }\n};\n\nconst extend = function(object, properties) {\n if (properties != null) {\n for (let key in properties) {\n const value = properties[key];\n object[key] = value;\n }\n }\n return object;\n};\n\nclass Subscription {\n constructor(consumer, params = {}, mixin) {\n this.consumer = consumer;\n this.identifier = JSON.stringify(params);\n extend(this, mixin);\n }\n perform(action, data = {}) {\n data.action = action;\n return this.send(data);\n }\n send(data) {\n return this.consumer.send({\n command: \"message\",\n identifier: this.identifier,\n data: JSON.stringify(data)\n });\n }\n unsubscribe() {\n return this.consumer.subscriptions.remove(this);\n }\n}\n\nclass SubscriptionGuarantor {\n constructor(subscriptions) {\n this.subscriptions = subscriptions;\n this.pendingSubscriptions = [];\n }\n guarantee(subscription) {\n if (this.pendingSubscriptions.indexOf(subscription) == -1) {\n logger.log(`SubscriptionGuarantor guaranteeing ${subscription.identifier}`);\n this.pendingSubscriptions.push(subscription);\n } else {\n logger.log(`SubscriptionGuarantor already guaranteeing ${subscription.identifier}`);\n }\n this.startGuaranteeing();\n }\n forget(subscription) {\n logger.log(`SubscriptionGuarantor forgetting ${subscription.identifier}`);\n this.pendingSubscriptions = this.pendingSubscriptions.filter((s => s !== subscription));\n }\n startGuaranteeing() {\n this.stopGuaranteeing();\n this.retrySubscribing();\n }\n stopGuaranteeing() {\n clearTimeout(this.retryTimeout);\n }\n retrySubscribing() {\n this.retryTimeout = setTimeout((() => {\n if (this.subscriptions && typeof this.subscriptions.subscribe === \"function\") {\n this.pendingSubscriptions.map((subscription => {\n logger.log(`SubscriptionGuarantor resubscribing ${subscription.identifier}`);\n this.subscriptions.subscribe(subscription);\n }));\n }\n }), 500);\n }\n}\n\nclass Subscriptions {\n constructor(consumer) {\n this.consumer = consumer;\n this.guarantor = new SubscriptionGuarantor(this);\n this.subscriptions = [];\n }\n create(channelName, mixin) {\n const channel = channelName;\n const params = typeof channel === \"object\" ? channel : {\n channel: channel\n };\n const subscription = new Subscription(this.consumer, params, mixin);\n return this.add(subscription);\n }\n add(subscription) {\n this.subscriptions.push(subscription);\n this.consumer.ensureActiveConnection();\n this.notify(subscription, \"initialized\");\n this.subscribe(subscription);\n return subscription;\n }\n remove(subscription) {\n this.forget(subscription);\n if (!this.findAll(subscription.identifier).length) {\n this.sendCommand(subscription, \"unsubscribe\");\n }\n return subscription;\n }\n reject(identifier) {\n return this.findAll(identifier).map((subscription => {\n this.forget(subscription);\n this.notify(subscription, \"rejected\");\n return subscription;\n }));\n }\n forget(subscription) {\n this.guarantor.forget(subscription);\n this.subscriptions = this.subscriptions.filter((s => s !== subscription));\n return subscription;\n }\n findAll(identifier) {\n return this.subscriptions.filter((s => s.identifier === identifier));\n }\n reload() {\n return this.subscriptions.map((subscription => this.subscribe(subscription)));\n }\n notifyAll(callbackName, ...args) {\n return this.subscriptions.map((subscription => this.notify(subscription, callbackName, ...args)));\n }\n notify(subscription, callbackName, ...args) {\n let subscriptions;\n if (typeof subscription === \"string\") {\n subscriptions = this.findAll(subscription);\n } else {\n subscriptions = [ subscription ];\n }\n return subscriptions.map((subscription => typeof subscription[callbackName] === \"function\" ? subscription[callbackName](...args) : undefined));\n }\n subscribe(subscription) {\n if (this.sendCommand(subscription, \"subscribe\")) {\n this.guarantor.guarantee(subscription);\n }\n }\n confirmSubscription(identifier) {\n logger.log(`Subscription confirmed ${identifier}`);\n this.findAll(identifier).map((subscription => this.guarantor.forget(subscription)));\n }\n sendCommand(subscription, command) {\n const {identifier: identifier} = subscription;\n return this.consumer.send({\n command: command,\n identifier: identifier\n });\n }\n}\n\nclass Consumer {\n constructor(url) {\n this._url = url;\n this.subscriptions = new Subscriptions(this);\n this.connection = new Connection(this);\n this.subprotocols = [];\n }\n get url() {\n return createWebSocketURL(this._url);\n }\n send(data) {\n return this.connection.send(data);\n }\n connect() {\n return this.connection.open();\n }\n disconnect() {\n return this.connection.close({\n allowReconnect: false\n });\n }\n ensureActiveConnection() {\n if (!this.connection.isActive()) {\n return this.connection.open();\n }\n }\n addSubProtocol(subprotocol) {\n this.subprotocols = [ ...this.subprotocols, subprotocol ];\n }\n}\n\nfunction createWebSocketURL(url) {\n if (typeof url === \"function\") {\n url = url();\n }\n if (url && !/^wss?:/i.test(url)) {\n const a = document.createElement(\"a\");\n a.href = url;\n a.href = a.href;\n a.protocol = a.protocol.replace(\"http\", \"ws\");\n return a.href;\n } else {\n return url;\n }\n}\n\nfunction createConsumer(url = getConfig(\"url\") || INTERNAL.default_mount_path) {\n return new Consumer(url);\n}\n\nfunction getConfig(name) {\n const element = document.head.querySelector(`meta[name='action-cable-${name}']`);\n if (element) {\n return element.getAttribute(\"content\");\n }\n}\n\nexport { Connection, ConnectionMonitor, Consumer, INTERNAL, Subscription, SubscriptionGuarantor, Subscriptions, adapters, createConsumer, createWebSocketURL, getConfig, logger };\n","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 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' + call(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","import fetchingObject from \"fetching-object\"\nimport {ShapeComponent} from \"set-state-compare/src/shape-component\"\n\nexport default class BaseComponent extends ShapeComponent {\n p = fetchingObject(() => this.props)\n s = fetchingObject(() => this.shape || this.state)\n tt = fetchingObject(this)\n}\n","import config from \"./config.mjs\"\nimport escapeStringRegexp from \"escape-string-regexp\"\nimport * as inflection from \"inflection\"\nimport PropTypes from \"prop-types\"\nimport {useCallback, useMemo} from \"react\"\nimport useShape from \"set-state-compare/src/use-shape.js\"\n\nconst useRouter = (props) => {\n const s = useShape(props)\n\n const findRouteParams = useCallback((routeDefinition) => {\n const result = []\n const parts = routeDefinition.path.split(\"/\")\n\n for (const part of parts) {\n if (part.match(/^:([a-z_]+)$/))\n result.push(part)\n }\n\n return result\n }, [])\n\n const getPath = useCallback(() => {\n let path = s.p.path || window.location.pathname\n\n path = path.replace(/[/]+$/, \"\")\n\n return path\n }, [])\n\n const getRouteDefinitions = useCallback(() => s.p.routeDefinitions || config.getRouteDefinitions(), [])\n const getRoutes = useCallback(() => s.p.routes || config.getRoutes(), [])\n\n const parseRouteDefinitions = useCallback(() => {\n const Locales = require(\"shared/locales\").default\n const routeDefinitions = getRouteDefinitions()\n const routes = getRoutes()\n const regex = /:([A-z\\d_]+)/\n const parsedRouteDefinitions = []\n\n for (const locale of Locales.availableLocales()) {\n for (const routeDefinition of routeDefinitions.routes) {\n const routePathName = `${inflection.camelize(routeDefinition.name, true)}Path`\n const params = findRouteParams(routeDefinition)\n\n params.push({locale})\n\n if (!(routePathName in routes))\n throw new Error(`${routePathName} not found in routes: ${Object.keys(routes, \", \")}`)\n\n const routePath = routes[routePathName](...params).replace(/[/]+$/, \"\")\n const groups = []\n let pathRegexString = \"^\"\n\n pathRegexString += escapeStringRegexp(routePath)\n\n while (true) {\n const match = pathRegexString.match(regex)\n\n if (!match) break\n\n const variableName = match[1]\n\n groups.push(variableName)\n\n pathRegexString = pathRegexString.replace(match[0], \"([^/]+)\")\n }\n\n pathRegexString += \"$\"\n\n const pathRegex = new RegExp(pathRegexString)\n\n parsedRouteDefinitions.push({groups, pathRegex, routeDefinition})\n }\n }\n\n return parsedRouteDefinitions\n }, [])\n\n const parsedRouteDefinitions = useMemo(() => parseRouteDefinitions(), [])\n\n s.updateMeta({parsedRouteDefinitions})\n\n const findMatchingRoute = useCallback(() => {\n const path = getPath()\n\n for (const parsedRouteDefinition of s.m.parsedRouteDefinitions) {\n const match = path.match(parsedRouteDefinition.pathRegex)\n let matched, params\n\n if (match) {\n matched = true\n params = {}\n\n for (const groupKey in parsedRouteDefinition.groups) {\n const groupName = parsedRouteDefinition.groups[groupKey]\n\n params[groupName] = match[Number(groupKey) + 1]\n }\n }\n\n if (path == \"\" && parsedRouteDefinition.routeDefinition.path == \"/\") matched = true\n if (matched) {\n return {params, parsedRouteDefinition}\n }\n }\n }, [])\n\n const matchingRoute = findMatchingRoute()\n const params = matchingRoute?.params || {}\n const match = {\n matchingRoute,\n params\n }\n\n return {match}\n}\n\nuseRouter.propTypes = {\n path: PropTypes.string,\n routeDefinitions: PropTypes.object,\n routes: PropTypes.object\n}\n\nexport default useRouter\n","import BaseComponent from \"./base-component\"\nimport PropTypes from \"prop-types\"\nimport propTypesExact from \"prop-types-exact\"\nimport React, {memo} from \"react\"\nimport {shapeComponent} from \"set-state-compare/src/shape-component.js\"\nimport {Suspense} from \"react\"\nimport useRouter from \"./use-router\"\n\nexport default memo(shapeComponent(class ApiMakerRouter extends BaseComponent {\n static propTypes = propTypesExact({\n history: PropTypes.object,\n notFoundComponent: PropTypes.elementType,\n path: PropTypes.string,\n requireComponent: PropTypes.func.isRequired,\n routeDefinitions: PropTypes.object,\n routes: PropTypes.object\n })\n\n render() {\n const {notFoundComponent, path, requireComponent, routeDefinitions, routes} = this.props\n const {match} = useRouter({path, routes, routeDefinitions})\n const {matchingRoute} = match\n\n if (!matchingRoute) {\n if (notFoundComponent) {\n const NotFoundComponent = notFoundComponent\n\n return (\n }>\n \n \n )\n } else {\n return null\n }\n }\n\n const Component = requireComponent({routeDefinition: matchingRoute.parsedRouteDefinition.routeDefinition})\n\n return (\n }>\n \n \n )\n }\n}))\n","function anythingDifferent(value1, value2, debug) {\n if (Array.isArray(value1) && Array.isArray(value2)) {\n return arrayDifferent(value1, value2)\n } else if (isSimpleObject(value1) && isSimpleObject(value2)) {\n return simpleObjectDifferent(value1, value2, true)\n } else if (typeof value1 == \"object\" && typeof value2 == \"object\" && value1 && value2) {\n return !Object.is(value1, value2)\n } else if (value1 !== value2) {\n if (debug) console.log(`Value 1 ${value1} wasn't the same as value 2 ${value2}`)\n\n return true\n }\n\n return false\n}\n\nfunction arrayDifferent(array1, array2) {\n if (array1.length != array2.length) {\n return true\n }\n\n for (const key in array1) {\n if (anythingDifferent(array1[key], array2[key])) {\n return true\n }\n }\n\n return false\n}\n\nfunction isSimpleObject(value) {\n if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\") {\n return true\n }\n\n return false\n}\n\nfunction simpleObjectDifferent(object1, object2, checkLength) {\n if (checkLength && Object.keys(object1).length !== Object.keys(object2).length) {\n return true\n }\n\n return simpleObjectValuesDifferent(object1, object2)\n}\n\nfunction simpleObjectValuesDifferent(object1, object2, args) {\n for (const key in object1) {\n if (args?.ignore && args.ignore({key})) {\n if (args?.debug) console.log(`Ignoring key ${key}`)\n continue\n }\n\n if (args?.debug) console.log({key, object1: object1[key], object2: object2[key]})\n\n if (!(key in object2)) {\n if (args?.debug) {\n console.log(`Key ${key} wasn't found in object`)\n }\n\n return true\n } else if (anythingDifferent(object1[key], object2[key], args?.debug)) {\n if (args?.debug) {\n console.log(`Something was different for ${key}`)\n }\n\n return true\n }\n }\n\n return false\n}\n\nexport {\n anythingDifferent,\n arrayDifferent,\n isSimpleObject,\n simpleObjectDifferent,\n simpleObjectValuesDifferent\n}\n","import {simpleObjectValuesDifferent} from \"./diff-utils.js\"\n\nconst memoCompareProps = (prevProps, nextProps, debug) => {\n if (debug) {\n console.log(\"memoCompareProps\", {prevProps, nextProps})\n }\n\n if (Object.keys(nextProps).length != Object.keys(prevProps).length) {\n if (debug) {\n console.log(`Keys length was different - prev ${Object.keys(prevProps).length} after ${Object.keys(nextProps).length}`)\n }\n\n return false\n }\n\n if (debug) {\n console.log(\"Running simpleObjectValuesDifferent\")\n }\n\n const result = simpleObjectValuesDifferent(nextProps, prevProps, {debug})\n\n if (debug) {\n console.log(`Was it different: ${result}`)\n }\n\n return !result\n}\n\nconst memoComparePropsWithDebug = (prevProps, nextProps) => memoCompareProps(prevProps, nextProps, true)\n\nexport {memoComparePropsWithDebug}\nexport default memoCompareProps\n","if (!window.setStateCompareData) {\n window.setStateCompareData = {\n rendering: 0,\n renderingCallbacks: []\n }\n}\n\nconst shared = window.setStateCompareData\n\nexport default shared\n","import {anythingDifferent} from \"./diff-utils.js\"\nimport fetchingObject from \"fetching-object\"\nimport memoCompareProps from \"./memo-compare-props.js\"\nimport PropTypes from \"prop-types\"\nimport shared from \"./shared.js\"\nimport {useEffect, useMemo, useState} from \"react\"\n\nclass ShapeComponent {\n constructor(props) {\n this.props = props\n this.setStates = {}\n this.state = {}\n this.__firstRenderCompleted = false\n this.tt = fetchingObject(this)\n this.p = fetchingObject(() => this.props)\n this.s = fetchingObject(this.state)\n }\n\n setInstance(variables) {\n for (const name in variables) {\n this[name] = variables[name]\n }\n }\n\n setState(statesList, callback) {\n if (typeof statesList == \"function\") {\n statesList = statesList(this.state)\n }\n\n for (const stateName in statesList) {\n const newValue = statesList[stateName]\n\n if (!(stateName in this.setStates)) {\n throw new Error(`No such state: ${stateName}`)\n }\n\n this.setStates[stateName](newValue)\n }\n\n if (callback) {\n shared.renderingCallbacks.push(callback)\n }\n }\n\n useState(stateName, defaultValue) {\n const [stateValue, setState] = useState(defaultValue)\n\n if (!(stateName in this.state)) {\n this.state[stateName] = stateValue\n this.setStates[stateName] = (newValue) => {\n if (anythingDifferent(this.state[stateName], newValue)) {\n let prevState\n\n if (this.componentDidUpdate) {\n prevState = Object.assign({}, this.state)\n }\n\n this.state[stateName] = newValue\n\n // Avoid React error if using set-state while rendering (like in a useMemo callback)\n if (shared.rendering > 0) {\n shared.renderingCallbacks.push(() => {\n setState(newValue)\n })\n } else {\n setState(newValue)\n }\n\n if (this.componentDidUpdate) {\n this.componentDidUpdate(this.props, prevState)\n }\n }\n }\n }\n\n return this.setStates[stateName]\n }\n\n useStates(statesList) {\n if (Array.isArray(statesList)) {\n for(const stateName of statesList) {\n this.useState(stateName)\n }\n } else {\n for(const stateName in statesList) {\n const defaultValue = statesList[stateName]\n\n this.useState(stateName, defaultValue)\n }\n }\n }\n}\n\nconst shapeComponent = (ShapeClass) => {\n const functionalComponent = (props) => {\n // Count rendering to avoid setting state while rendering which causes a console-error from React\n shared.rendering += 1\n\n try {\n // Calculate and validate props\n let actualProps\n\n if (ShapeClass.defaultProps) {\n // Undefined values are removed from the props because they shouldn't override default values\n const propsWithoutUndefined = Object.assign({}, props)\n\n for (const key in propsWithoutUndefined) {\n const value = propsWithoutUndefined[key]\n\n if (value === undefined) {\n delete propsWithoutUndefined[key]\n }\n }\n\n actualProps = Object.assign({}, ShapeClass.defaultProps, propsWithoutUndefined)\n } else {\n actualProps = props\n }\n\n if (ShapeClass.propTypes) {\n const validateProps = {}\n\n for (const key in actualProps) {\n // Accessing 'key' will result in a warning in the console\n if (key == \"key\") continue\n\n validateProps[key] = actualProps[key]\n }\n\n PropTypes.checkPropTypes(ShapeClass.propTypes, validateProps, \"prop\", ShapeClass.name)\n }\n\n const shape = useMemo(() => new ShapeClass(actualProps), [])\n const prevProps = shape.props\n\n shape.props = actualProps\n\n if (shape.setup) {\n shape.setup()\n }\n\n if (shape.componentDidUpdate && shape.__firstRenderCompleted && memoCompareProps(shape.props, props)) {\n shape.componentDidUpdate(prevProps, shape.state)\n }\n\n if (shape.componentDidMount || shape.componentWillUnmount) {\n useEffect(() => {\n if (shape.componentDidMount) {\n shape.componentDidMount()\n }\n\n return () => {\n if (shape.componentWillUnmount) {\n shape.componentWillUnmount()\n }\n }\n }, [])\n }\n\n shape.__firstRenderCompleted = true\n\n // Run any callbacks added by setState(states, callback) once rendering is done\n useEffect(() => {\n if (shared.rendering == 0) {\n try {\n for (const callback of shared.renderingCallbacks) {\n new Promise(() => callback())\n }\n } finally {\n shared.renderingCallbacks.length = 0\n }\n }\n })\n\n // Finally render the component and return it\n return shape.render()\n } finally {\n shared.rendering -= 1\n }\n }\n\n functionalComponent.displayName = ShapeClass.name\n\n Object.defineProperty(functionalComponent, \"name\", {value: ShapeClass.name})\n\n return functionalComponent\n}\n\nexport {shapeComponent, ShapeComponent}\n","import {Pressable, Text, View} from \"react-native\"\nimport {memo} from \"react\"\nimport PropTypes from \"prop-types\"\nimport PropTypesExact from \"prop-types-exact\"\nimport {shapeComponent, ShapeComponent} from \"set-state-compare/src/shape-component.js\"\n\nexport default memo(shapeComponent(class NotificationsNotification extends ShapeComponent {\n static propTypes = PropTypesExact({\n className: PropTypes.string,\n message: PropTypes.string.isRequired,\n notification: PropTypes.object.isRequired,\n onRemovedClicked: PropTypes.func.isRequired,\n title: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired\n })\n\n render() {\n const {className, message, title, type} = this.props\n\n const style = {\n width: 300,\n maxWidth: \"100%\",\n marginBottom: 15,\n padding: 15,\n borderRadius: 11,\n cursor: \"pointer\"\n }\n\n if (type == \"error\") {\n style.border = \"1px solid rgba(161 34 32 / 95%)\"\n style.background = \"rgba(161 34 32 / 87%)\"\n }\n\n if (type == \"success\") {\n style.border = \"1px solid rgba(0 0 0 / 95%)\"\n style.background = \"rgba(0 0 0 / 87%)\"\n }\n\n\n if (type == \"alert\") {\n style.border = \"1px solid rgba(204 51 0 / 95%)\"\n style.background = \"rgba(204 51 0 / 87%)\"\n }\n\n return (\n \n \n \n \n {title}\n \n \n \n \n {message}\n \n \n \n \n )\n }\n\n onRemovedClicked = () => {\n this.props.onRemovedClicked(this.props.notification)\n }\n}))\n","import {memo} from \"react\"\nimport {digg} from \"diggerize\"\nimport Notification from \"./notification\"\nimport {shapeComponent, ShapeComponent} from \"set-state-compare/src/shape-component.js\"\nimport useEventListener from \"@kaspernj/api-maker/src/use-event-listener\"\nimport {View} from \"react-native\"\n\nexport default memo(shapeComponent(class FlashNotificationsContainer extends ShapeComponent {\n setup() {\n this.useStates({\n count: 0,\n notifications: []\n })\n\n useEventListener(window, \"pushNotification\", this.onPushNotification)\n }\n\n render() {\n return (\n \n {this.state.notifications.map((notification) =>\n \n )}\n \n )\n }\n\n onPushNotification = (event) => {\n const detail = digg(event, \"detail\")\n const count = this.state.count + 1\n\n setTimeout(() => this.removeNotification(count), 4000)\n\n const notification = {\n count,\n message: digg(detail, \"message\"),\n title: digg(detail, \"title\"),\n type: digg(detail, \"type\")\n }\n\n this.setState({count, notifications: this.state.notifications.concat([notification])})\n }\n\n onRemovedClicked = (notification) => this.removeNotification(digg(notification, \"count\"))\n\n removeNotification = (count) => {\n this.setState({\n notifications: this.state.notifications.filter((notification) => notification.count != count)\n })\n }\n}))\n","class HayaSelectConfiguration {\n getBodyPortal() {\n if (!this._bodyPortal) throw new Error(\"bodyPortal wasn't set\")\n\n return this._bodyPortal\n }\n\n setBodyPortal(newBodyPortal) {\n this._bodyPortal = newBodyPortal\n }\n}\n\nconst configuration = new HayaSelectConfiguration()\n\nexport default configuration\n","/**\n * FontAwesome icon set component.\n * Usage: \n */\n\nimport createIconSet from './lib/create-icon-set';\nimport glyphMap from './glyphmaps/FontAwesome.json';\n\nconst iconSet = createIconSet(glyphMap, 'FontAwesome', 'FontAwesome.ttf');\n\nexport default iconSet;\nexport const {\n Button,\n getImageSource,\n getImageSourceSync,\n} = iconSet;\n","// @flow\n\nexport default {};\n","import NativeIconAPI from './NativeRNVectorIcons';\n\nexport default function ensureNativeModuleAvailable() {\n if (!NativeIconAPI) {\n throw new Error(\n 'The native RNVectorIcons API is not available, did you properly integrate the module? Please verify your autolinking setup and recompile.'\n );\n }\n}\n","const TYPE_VALUE = 'value';\nconst TYPE_ERROR = 'error';\n\nexport default function createIconSourceCache() {\n const cache = new Map();\n\n const setValue = (key, value) =>\n cache.set(key, { type: TYPE_VALUE, data: value });\n\n const setError = (key, error) =>\n cache.set(key, { type: TYPE_ERROR, data: error });\n\n const has = key => cache.has(key);\n\n const get = key => {\n if (!cache.has(key)) {\n return undefined;\n }\n const { type, data } = cache.get(key);\n if (type === TYPE_ERROR) {\n throw data;\n }\n return data;\n };\n\n return { setValue, setError, has, get };\n}\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { StyleSheet, Text, TouchableHighlight, View } from 'react-native';\nimport { pick, omit } from './object-utils';\n\nconst styles = StyleSheet.create({\n container: {\n flexDirection: 'row',\n justifyContent: 'flex-start',\n alignItems: 'center',\n padding: 8,\n },\n touchable: {\n overflow: 'hidden',\n },\n icon: {\n marginRight: 10,\n },\n text: {\n fontWeight: '600',\n backgroundColor: 'transparent',\n },\n});\n\nconst IOS7_BLUE = '#007AFF';\n\nconst TEXT_PROP_NAMES = [\n 'ellipsizeMode',\n 'numberOfLines',\n 'textBreakStrategy',\n 'selectable',\n 'suppressHighlighting',\n 'allowFontScaling',\n 'adjustsFontSizeToFit',\n 'minimumFontScale',\n];\n\nconst TOUCHABLE_PROP_NAMES = [\n 'accessible',\n 'accessibilityLabel',\n 'accessibilityHint',\n 'accessibilityComponentType',\n 'accessibilityRole',\n 'accessibilityStates',\n 'accessibilityTraits',\n 'onFocus',\n 'onBlur',\n 'disabled',\n 'onPress',\n 'onPressIn',\n 'onPressOut',\n 'onLayout',\n 'onLongPress',\n 'nativeID',\n 'testID',\n 'delayPressIn',\n 'delayPressOut',\n 'delayLongPress',\n 'activeOpacity',\n 'underlayColor',\n 'selectionColor',\n 'onShowUnderlay',\n 'onHideUnderlay',\n 'hasTVPreferredFocus',\n 'tvParallaxProperties',\n];\n\nexport default function createIconButtonComponent(Icon) {\n return class IconButton extends PureComponent {\n static propTypes = {\n backgroundColor: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.number,\n ]),\n borderRadius: PropTypes.number,\n color: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n size: PropTypes.number,\n iconStyle: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n style: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n children: PropTypes.node,\n };\n\n static defaultProps = {\n backgroundColor: IOS7_BLUE,\n borderRadius: 5,\n color: 'white',\n size: 20,\n };\n\n render() {\n const { style, iconStyle, children, ...restProps } = this.props;\n\n const iconProps = pick(\n restProps,\n TEXT_PROP_NAMES,\n 'style',\n 'name',\n 'size',\n 'color'\n );\n const touchableProps = pick(restProps, TOUCHABLE_PROP_NAMES);\n const props = omit(\n restProps,\n Object.keys(iconProps),\n Object.keys(touchableProps),\n 'iconStyle',\n 'borderRadius',\n 'backgroundColor'\n );\n iconProps.style = iconStyle ? [styles.icon, iconStyle] : styles.icon;\n\n const colorStyle = pick(this.props, 'color');\n const blockStyle = pick(this.props, 'backgroundColor', 'borderRadius');\n\n return (\n \n \n \n {typeof children === 'string' ? (\n \n {children}\n \n ) : (\n children\n )}\n \n \n );\n }\n };\n}\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { Platform, PixelRatio, processColor, Text } from 'react-native';\n\nimport ensureNativeModuleAvailable from './ensure-native-module-available';\nimport createIconSourceCache from './create-icon-source-cache';\nimport createIconButtonComponent from './icon-button';\nimport NativeIconAPI from './NativeRNVectorIcons';\n\nexport const DEFAULT_ICON_SIZE = 12;\nexport const DEFAULT_ICON_COLOR = 'black';\n\nexport default function createIconSet(\n glyphMap,\n fontFamily,\n fontFile,\n fontStyle\n) {\n // Android doesn't care about actual fontFamily name, it will only look in fonts folder.\n const fontBasename = fontFile\n ? fontFile.replace(/\\.(otf|ttf)$/, '')\n : fontFamily;\n\n const fontReference = Platform.select({\n windows: `/Assets/${fontFile}#${fontFamily}`,\n android: fontBasename,\n web: fontBasename,\n default: fontFamily,\n });\n\n const IconNamePropType = PropTypes.oneOf(Object.keys(glyphMap));\n\n class Icon extends PureComponent {\n static propTypes = {\n allowFontScaling: PropTypes.bool,\n name: IconNamePropType,\n size: PropTypes.number,\n color: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n children: PropTypes.node,\n style: PropTypes.any, // eslint-disable-line react/forbid-prop-types\n };\n\n static defaultProps = {\n size: DEFAULT_ICON_SIZE,\n allowFontScaling: false,\n };\n\n render() {\n const { name, size, color, style, children, ...props } = this.props;\n\n let glyph = name ? glyphMap[name] || '?' : '';\n if (typeof glyph === 'number') {\n glyph = String.fromCodePoint(glyph);\n }\n\n const styleDefaults = {\n fontSize: size,\n color,\n };\n\n const styleOverrides = {\n fontFamily: fontReference,\n fontWeight: 'normal',\n fontStyle: 'normal',\n };\n\n props.style = [styleDefaults, style, styleOverrides, fontStyle || {}];\n\n return (\n \n {glyph}\n {children}\n \n );\n }\n }\n\n const imageSourceCache = createIconSourceCache();\n\n function resolveGlyph(name) {\n const glyph = glyphMap[name] || '?';\n if (typeof glyph === 'number') {\n return String.fromCodePoint(glyph);\n }\n return glyph;\n }\n\n function getImageSourceSync(\n name,\n size = DEFAULT_ICON_SIZE,\n color = DEFAULT_ICON_COLOR\n ) {\n ensureNativeModuleAvailable();\n\n const glyph = resolveGlyph(name);\n const processedColor = processColor(color);\n const cacheKey = `${glyph}:${size}:${processedColor}`;\n\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n const imagePath = NativeIconAPI.getImageForFontSync(\n fontReference,\n glyph,\n size,\n processedColor\n );\n const value = { uri: imagePath, scale: PixelRatio.get() };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n }\n\n async function getImageSource(\n name,\n size = DEFAULT_ICON_SIZE,\n color = DEFAULT_ICON_COLOR\n ) {\n ensureNativeModuleAvailable();\n\n const glyph = resolveGlyph(name);\n const processedColor = processColor(color);\n const cacheKey = `${glyph}:${size}:${processedColor}`;\n\n if (imageSourceCache.has(cacheKey)) {\n return imageSourceCache.get(cacheKey);\n }\n try {\n const imagePath = await NativeIconAPI.getImageForFont(\n fontReference,\n glyph,\n size,\n processedColor\n );\n const value = { uri: imagePath, scale: PixelRatio.get() };\n imageSourceCache.setValue(cacheKey, value);\n return value;\n } catch (error) {\n imageSourceCache.setError(cacheKey, error);\n throw error;\n }\n }\n\n async function loadFont(file = fontFile) {\n if (Platform.OS === 'ios') {\n ensureNativeModuleAvailable();\n if (!file) {\n throw new Error('Unable to load font, because no file was specified. ');\n }\n await NativeIconAPI.loadFontWithFileName(...file.split('.'));\n }\n }\n\n function hasIcon(name) {\n return Object.prototype.hasOwnProperty.call(glyphMap, name);\n }\n\n function getRawGlyphMap() {\n return glyphMap;\n }\n\n function getFontFamily() {\n return fontReference;\n }\n\n Icon.Button = createIconButtonComponent(Icon);\n Icon.getImageSource = getImageSource;\n Icon.getImageSourceSync = getImageSourceSync;\n Icon.loadFont = loadFont;\n Icon.hasIcon = hasIcon;\n Icon.getRawGlyphMap = getRawGlyphMap;\n Icon.getFontFamily = getFontFamily;\n\n return Icon;\n}\n","const pick = (obj, ...keys) =>\n keys\n .flat()\n .filter(key => Object.prototype.hasOwnProperty.call(obj, key))\n .reduce((acc, key) => {\n acc[key] = obj[key];\n return acc;\n }, {});\n\nconst omit = (obj, ...keysToOmit) => {\n const keysToOmitSet = new Set(keysToOmit.flat());\n return Object.getOwnPropertyNames(obj)\n .filter(key => !keysToOmitSet.has(key))\n .reduce((acc, key) => {\n acc[key] = obj[key];\n return acc;\n }, {});\n};\n\nmodule.exports = { pick, omit };\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\nvar setFunctionLength = require('set-function-length');\n\nvar $TypeError = require('es-errors/type');\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $defineProperty = require('es-define-property');\nvar $max = GetIntrinsic('%Math.max%');\n\nmodule.exports = function callBind(originalFunction) {\n\tif (typeof originalFunction !== 'function') {\n\t\tthrow new $TypeError('a function is required');\n\t}\n\tvar func = $reflectApply(bind, $call, arguments);\n\treturn setFunctionLength(\n\t\tfunc,\n\t\t1 + $max(0, originalFunction.length - (arguments.length - 1)),\n\t\ttrue\n\t);\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/**\n * Module dependenices\n */\n\nconst clone = require('shallow-clone');\nconst typeOf = require('kind-of');\nconst isPlainObject = require('is-plain-object');\n\nfunction cloneDeep(val, instanceClone) {\n switch (typeOf(val)) {\n case 'object':\n return cloneObjectDeep(val, instanceClone);\n case 'array':\n return cloneArrayDeep(val, instanceClone);\n default: {\n return clone(val);\n }\n }\n}\n\nfunction cloneObjectDeep(val, instanceClone) {\n if (typeof instanceClone === 'function') {\n return instanceClone(val);\n }\n if (instanceClone || isPlainObject(val)) {\n const res = new val.constructor();\n for (let key in val) {\n res[key] = cloneDeep(val[key], instanceClone);\n }\n return res;\n }\n return val;\n}\n\nfunction cloneArrayDeep(val, instanceClone) {\n const res = new val.constructor(val.length);\n for (let i = 0; i < val.length; i++) {\n res[i] = cloneDeep(val[i], instanceClone);\n }\n return res;\n}\n\n/**\n * Expose `cloneDeep`\n */\n\nmodule.exports = cloneDeep;\n","/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nvar isObject = require('isobject');\n\nfunction isObjectObject(o) {\n return isObject(o) === true\n && Object.prototype.toString.call(o) === '[object Object]';\n}\n\nmodule.exports = function isPlainObject(o) {\n var ctor,prot;\n\n if (isObjectObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (typeof ctor !== 'function') return false;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObjectObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { 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\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(n); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction filterUniqueArray(arr) {\n return arr.filter(function (val, index) {\n return arr.lastIndexOf(val) === index;\n });\n}\n\nexport default function assignStyle(base) {\n for (var i = 0, len = arguments.length <= 1 ? 0 : arguments.length - 1; i < len; ++i) {\n var style = i + 1 < 1 || arguments.length <= i + 1 ? undefined : arguments[i + 1];\n\n for (var property in style) {\n var value = style[property];\n var baseValue = base[property];\n\n if (baseValue && value) {\n if (Array.isArray(baseValue)) {\n base[property] = filterUniqueArray(baseValue.concat(value));\n continue;\n }\n\n if (Array.isArray(value)) {\n base[property] = filterUniqueArray([baseValue].concat(_toConsumableArray(value)));\n continue;\n }\n\n if (_typeof(value) === 'object') {\n base[property] = assignStyle({}, baseValue, value);\n continue;\n }\n }\n\n base[property] = value;\n }\n }\n\n return base;\n}","var DASH = /-([a-z])/g;\nvar MS = /^Ms/g;\nvar cache = {};\n\nfunction toUpper(match) {\n return match[1].toUpperCase();\n}\n\nexport default function camelCaseProperty(property) {\n if (cache.hasOwnProperty(property)) {\n return cache[property];\n }\n\n var camelProp = property.replace(DASH, toUpper).replace(MS, 'ms');\n cache[property] = camelProp;\n return camelProp;\n}","import hyphenateStyleName from 'hyphenate-style-name';\nexport default function hyphenateProperty(property) {\n return hyphenateStyleName(property);\n}","import hyphenateProperty from './hyphenateProperty';\nexport default function cssifyDeclaration(property, value) {\n return hyphenateProperty(property) + ':' + value;\n}","import cssifyDeclaration from './cssifyDeclaration';\nexport default function cssifyObject(style) {\n var css = '';\n\n for (var property in style) {\n var value = style[property];\n\n if (typeof value !== 'string' && typeof value !== 'number') {\n continue;\n } // prevents the semicolon after\n // the last rule declaration\n\n\n if (css) {\n css += ';';\n }\n\n css += cssifyDeclaration(property, value);\n }\n\n return css;\n}","var RE = /^(Webkit|Moz|O|ms)/;\nexport default function isPrefixedProperty(property) {\n return RE.test(property);\n}","var RE = /-webkit-|-moz-|-ms-/;\nexport default function isPrefixedValue(value) {\n return typeof value === 'string' && RE.test(value);\n}","import hyphenateProperty from './hyphenateProperty';\nvar unitlessProperties = {\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n fontWeight: true,\n lineHeight: true,\n opacity: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\nvar prefixedUnitlessProperties = ['animationIterationCount', 'boxFlex', 'boxFlexGroup', 'boxOrdinalGroup', 'columnCount', 'flex', 'flexGrow', 'flexPositive', 'flexShrink', 'flexNegative', 'flexOrder', 'gridColumn', 'gridColumnEnd', 'gridColumnStart', 'gridRow', 'gridRowEnd', 'gridRowStart', 'lineClamp', 'order'];\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];\n\nfunction getPrefixedProperty(prefix, property) {\n return prefix + property.charAt(0).toUpperCase() + property.slice(1);\n} // add all prefixed properties to the unitless properties\n\n\nfor (var i = 0, len = prefixedUnitlessProperties.length; i < len; ++i) {\n var property = prefixedUnitlessProperties[i];\n unitlessProperties[property] = true;\n\n for (var j = 0, jLen = prefixes.length; j < jLen; ++j) {\n unitlessProperties[getPrefixedProperty(prefixes[j], property)] = true;\n }\n} // add all hypenated properties as well\n\n\nfor (var _property in unitlessProperties) {\n unitlessProperties[hyphenateProperty(_property)] = true;\n}\n\nexport default function isUnitlessProperty(property) {\n return unitlessProperties.hasOwnProperty(property);\n}","var RE = /^(ms|Webkit|Moz|O)/;\nexport default function unprefixProperty(property) {\n var propertyWithoutPrefix = property.replace(RE, '');\n return propertyWithoutPrefix.charAt(0).toLowerCase() + propertyWithoutPrefix.slice(1);\n}","import camelCaseProperty from './camelCaseProperty';\nimport unprefixProperty from './unprefixProperty';\nexport default function normalizeProperty(property) {\n return unprefixProperty(camelCaseProperty(property));\n}","import hyphenateProperty from './hyphenateProperty';\nexport default function resolveArrayValue(property, value) {\n return value.join(';' + hyphenateProperty(property) + ':');\n}","var RE = /(-ms-|-webkit-|-moz-|-o-)/g;\nexport default function unprefixValue(value) {\n if (typeof value === 'string') {\n return value.replace(RE, '');\n }\n\n return value;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = hyphenateProperty;\n\nvar _hyphenateStyleName = require(\"hyphenate-style-name\");\n\nvar _hyphenateStyleName2 = _interopRequireDefault(_hyphenateStyleName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { \"default\": obj }; }\n\nfunction hyphenateProperty(property) {\n return (0, _hyphenateStyleName2[\"default\"])(property);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = isPrefixedValue;\nvar RE = /-webkit-|-moz-|-ms-/;\n\nfunction isPrefixedValue(value) {\n return typeof value === 'string' && RE.test(value);\n}","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\n\nvar gopd = require('gopd');\n\n/** @type {import('.')} */\nmodule.exports = function defineDataProperty(\n\tobj,\n\tproperty,\n\tvalue\n) {\n\tif (!obj || (typeof obj !== 'object' && typeof obj !== 'function')) {\n\t\tthrow new $TypeError('`obj` must be an object or a function`');\n\t}\n\tif (typeof property !== 'string' && typeof property !== 'symbol') {\n\t\tthrow new $TypeError('`property` must be a string or a symbol`');\n\t}\n\tif (arguments.length > 3 && typeof arguments[3] !== 'boolean' && arguments[3] !== null) {\n\t\tthrow new $TypeError('`nonEnumerable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 4 && typeof arguments[4] !== 'boolean' && arguments[4] !== null) {\n\t\tthrow new $TypeError('`nonWritable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 5 && typeof arguments[5] !== 'boolean' && arguments[5] !== null) {\n\t\tthrow new $TypeError('`nonConfigurable`, if provided, must be a boolean or null');\n\t}\n\tif (arguments.length > 6 && typeof arguments[6] !== 'boolean') {\n\t\tthrow new $TypeError('`loose`, if provided, must be a boolean');\n\t}\n\n\tvar nonEnumerable = arguments.length > 3 ? arguments[3] : null;\n\tvar nonWritable = arguments.length > 4 ? arguments[4] : null;\n\tvar nonConfigurable = arguments.length > 5 ? arguments[5] : null;\n\tvar loose = arguments.length > 6 ? arguments[6] : false;\n\n\t/* @type {false | TypedPropertyDescriptor} */\n\tvar desc = !!gopd && gopd(obj, property);\n\n\tif ($defineProperty) {\n\t\t$defineProperty(obj, property, {\n\t\t\tconfigurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable,\n\t\t\tenumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable,\n\t\t\tvalue: value,\n\t\t\twritable: nonWritable === null && desc ? desc.writable : !nonWritable\n\t\t});\n\t} else if (loose || (!nonEnumerable && !nonWritable && !nonConfigurable)) {\n\t\t// must fall back to [[Set]], and was not explicitly asked to make non-enumerable, non-writable, or non-configurable\n\t\tobj[property] = value; // eslint-disable-line no-param-reassign\n\t} else {\n\t\tthrow new $SyntaxError('This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.');\n\t}\n};\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar defineDataProperty = require('define-data-property');\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar supportsDescriptors = require('has-property-descriptors')();\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\n\tif (supportsDescriptors) {\n\t\tdefineDataProperty(object, name, value, true);\n\t} else {\n\t\tdefineDataProperty(object, name, value);\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\n/** @type {import('.')} */\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true) || false;\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = false;\n\t}\n}\n\nmodule.exports = $defineProperty;\n","'use strict';\n\n/** @type {import('./eval')} */\nmodule.exports = EvalError;\n","'use strict';\n\n/** @type {import('.')} */\nmodule.exports = Error;\n","'use strict';\n\n/** @type {import('./range')} */\nmodule.exports = RangeError;\n","'use strict';\n\n/** @type {import('./ref')} */\nmodule.exports = ReferenceError;\n","'use strict';\n\n/** @type {import('./syntax')} */\nmodule.exports = SyntaxError;\n","'use strict';\n\n/** @type {import('./type')} */\nmodule.exports = TypeError;\n","'use strict';\n\n/** @type {import('./uri')} */\nmodule.exports = URIError;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar hasOwn = require('hasown');\n\nvar toStringTag = hasToStringTag ? Symbol.toStringTag : null;\n\n/** @type {import('.')} */\nmodule.exports = function setToStringTag(object, value) {\n\tvar overrideIfSet = arguments.length > 2 && arguments[2] && arguments[2].force;\n\tif (toStringTag && (overrideIfSet || !hasOwn(object, toStringTag))) {\n\t\tif ($defineProperty) {\n\t\t\t$defineProperty(object, toStringTag, {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: value,\n\t\t\t\twritable: false\n\t\t\t});\n\t\t} else {\n\t\t\tobject[toStringTag] = value; // eslint-disable-line no-param-reassign\n\t\t}\n\t}\n};\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\n/** @type {import('.')} */\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\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'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","\"use strict\";\n\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 */\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\n\n\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\n\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\n\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","/**\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 */\n'use strict';\n\nvar validateFormat = process.env.NODE_ENV !== \"production\" ? function (format) {\n if (format === undefined) {\n throw new Error('invariant(...): Second argument must be a string.');\n }\n} : function (format) {};\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 to provide\n * information about what broke and what you were expecting.\n *\n * The invariant message will be stripped in production, but the invariant will\n * remain to ensure logic does not differ in production.\n */\n\nfunction invariant(condition, format) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n validateFormat(format);\n\n if (!condition) {\n var error;\n\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return String(args[argIndex++]);\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // Skip invariant's own stack frame.\n\n throw error;\n }\n}\n\nmodule.exports = invariant;","/**\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 */\n'use strict';\n\nvar emptyFunction = require(\"./emptyFunction\");\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\n\nfunction printWarning(format) {\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\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n}\n\nvar warning = process.env.NODE_ENV !== \"production\" ? function (condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(void 0, [format].concat(args));\n }\n} : emptyFunction;\nmodule.exports = warning;","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar undefined;\n\nvar $Error = require('es-errors');\nvar $EvalError = require('es-errors/eval');\nvar $RangeError = require('es-errors/range');\nvar $ReferenceError = require('es-errors/ref');\nvar $SyntaxError = require('es-errors/syntax');\nvar $TypeError = require('es-errors/type');\nvar $URIError = require('es-errors/uri');\n\nvar $Function = Function;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t__proto__: null,\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': $Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': $EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': $RangeError,\n\t'%ReferenceError%': $ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': $URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t__proto__: null,\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('hasown');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","/* eslint no-negated-condition: 0, no-new-func: 0 */\n\n'use strict';\n\nif (typeof self !== 'undefined') {\n\tmodule.exports = self;\n} else if (typeof window !== 'undefined') {\n\tmodule.exports = window;\n} else {\n\tmodule.exports = Function('return this')();\n}\n","'use strict';\n\nvar defineProperties = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = getPolyfill();\n\nvar getGlobal = function () { return polyfill; };\n\ndefineProperties(getGlobal, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = getGlobal;\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar supportsDescriptors = origDefineProperty && hasPropertyDescriptors;\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object && (!isFunction(predicate) || !predicate())) {\n\t\treturn;\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value; // eslint-disable-line no-param-reassign\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (typeof global !== 'object' || !global || global.Math !== Math || global.Array !== Array) {\n\t\treturn implementation;\n\t}\n\treturn global;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimGlobal() {\n\tvar polyfill = getPolyfill();\n\tif (define.supportsDescriptors) {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(polyfill, 'globalThis');\n\t\tif (!descriptor || (descriptor.configurable && (descriptor.enumerable || !descriptor.writable || globalThis !== polyfill))) { // eslint-disable-line max-len\n\t\t\tObject.defineProperty(polyfill, 'globalThis', {\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: false,\n\t\t\t\tvalue: polyfill,\n\t\t\t\twritable: true\n\t\t\t});\n\t\t}\n\t} else if (typeof globalThis !== 'object' || globalThis !== polyfill) {\n\t\tpolyfill.globalThis = polyfill;\n\t}\n\treturn polyfill;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar call = Function.prototype.call;\nvar $hasOwn = Object.prototype.hasOwnProperty;\nvar bind = require('function-bind');\n\n/** @type {import('.')} */\nmodule.exports = bind.call(call, $hasOwn);\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar toStr = Object.prototype.toString;\nvar max = Math.max;\nvar funcType = '[object Function]';\n\nvar concatty = function concatty(a, b) {\n var arr = [];\n\n for (var i = 0; i < a.length; i += 1) {\n arr[i] = a[i];\n }\n for (var j = 0; j < b.length; j += 1) {\n arr[j + a.length] = b[j];\n }\n\n return arr;\n};\n\nvar slicy = function slicy(arrLike, offset) {\n var arr = [];\n for (var i = offset || 0, j = 0; i < arrLike.length; i += 1, j += 1) {\n arr[j] = arrLike[i];\n }\n return arr;\n};\n\nvar joiny = function (arr, joiner) {\n var str = '';\n for (var i = 0; i < arr.length; i += 1) {\n str += arr[i];\n if (i + 1 < arr.length) {\n str += joiner;\n }\n }\n return str;\n};\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.apply(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slicy(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n concatty(args, arguments)\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n }\n return target.apply(\n that,\n concatty(args, arguments)\n );\n\n };\n\n var boundLength = max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs[i] = '$' + i;\n }\n\n bound = Function('binder', 'return function (' + joiny(boundArgs, ',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","import _extends from '@babel/runtime/helpers/esm/extends';\n\n/**\r\n * Actions represent the type of change to a location value.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#action\r\n */\nvar Action;\n\n(function (Action) {\n /**\r\n * A POP indicates a change to an arbitrary index in the history stack, such\r\n * as a back or forward navigation. It does not describe the direction of the\r\n * navigation, only that the current index changed.\r\n *\r\n * Note: This is the default action for newly created history objects.\r\n */\n Action[\"Pop\"] = \"POP\";\n /**\r\n * A PUSH indicates a new entry being added to the history stack, such as when\r\n * a link is clicked and a new page loads. When this happens, all subsequent\r\n * entries in the stack are lost.\r\n */\n\n Action[\"Push\"] = \"PUSH\";\n /**\r\n * A REPLACE indicates the entry at the current index in the history stack\r\n * being replaced by a new one.\r\n */\n\n Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\n\nvar readOnly = process.env.NODE_ENV !== \"production\" ? function (obj) {\n return Object.freeze(obj);\n} : function (obj) {\n return obj;\n};\n\nfunction warning(cond, message) {\n if (!cond) {\n // eslint-disable-next-line no-console\n if (typeof console !== 'undefined') console.warn(message);\n\n try {\n // Welcome to debugging history!\n //\n // This error is thrown as a convenience so you can more easily\n // find the source for a warning that appears in the console by\n // enabling \"pause on exceptions\" in your JavaScript debugger.\n throw new Error(message); // eslint-disable-next-line no-empty\n } catch (e) {}\n }\n}\n\nvar BeforeUnloadEventType = 'beforeunload';\nvar HashChangeEventType = 'hashchange';\nvar PopStateEventType = 'popstate';\n/**\r\n * Browser history stores the location in regular URLs. This is the standard for\r\n * most web apps, but it requires some configuration on the server to ensure you\r\n * serve the same app at multiple URLs.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\r\n */\n\nfunction createBrowserHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$window = _options.window,\n window = _options$window === void 0 ? document.defaultView : _options$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _window$location = window.location,\n pathname = _window$location.pathname,\n search = _window$location.search,\n hash = _window$location.hash;\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation[0],\n nextLocation = _getIndexAndLocation[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better what\n // is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop);\n var action = Action.Pop;\n\n var _getIndexAndLocation2 = getIndexAndLocation(),\n index = _getIndexAndLocation2[0],\n location = _getIndexAndLocation2[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n } // state defaults to `null` because `window.history.state` does\n\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation3 = getIndexAndLocation();\n\n index = _getIndexAndLocation3[0];\n location = _getIndexAndLocation3[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr[0],\n url = _getHistoryStateAndUr[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr2 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr2[0],\n url = _getHistoryStateAndUr2[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Hash history stores the location in window.location.hash. This makes it ideal\r\n * for situations where you don't want to send the location to the server for\r\n * some reason, either because you do cannot configure it or the URL space is\r\n * reserved for something else.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\r\n */\n\nfunction createHashHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options2 = options,\n _options2$window = _options2.window,\n window = _options2$window === void 0 ? document.defaultView : _options2$window;\n var globalHistory = window.history;\n\n function getIndexAndLocation() {\n var _parsePath = parsePath(window.location.hash.substr(1)),\n _parsePath$pathname = _parsePath.pathname,\n pathname = _parsePath$pathname === void 0 ? '/' : _parsePath$pathname,\n _parsePath$search = _parsePath.search,\n search = _parsePath$search === void 0 ? '' : _parsePath$search,\n _parsePath$hash = _parsePath.hash,\n hash = _parsePath$hash === void 0 ? '' : _parsePath$hash;\n\n var state = globalHistory.state || {};\n return [state.idx, readOnly({\n pathname: pathname,\n search: search,\n hash: hash,\n state: state.usr || null,\n key: state.key || 'default'\n })];\n }\n\n var blockedPopTx = null;\n\n function handlePop() {\n if (blockedPopTx) {\n blockers.call(blockedPopTx);\n blockedPopTx = null;\n } else {\n var nextAction = Action.Pop;\n\n var _getIndexAndLocation4 = getIndexAndLocation(),\n nextIndex = _getIndexAndLocation4[0],\n nextLocation = _getIndexAndLocation4[1];\n\n if (blockers.length) {\n if (nextIndex != null) {\n var delta = index - nextIndex;\n\n if (delta) {\n // Revert the POP\n blockedPopTx = {\n action: nextAction,\n location: nextLocation,\n retry: function retry() {\n go(delta * -1);\n }\n };\n go(delta);\n }\n } else {\n // Trying to POP to a location with no index. We did not create\n // this location, so we can't effectively block the navigation.\n process.env.NODE_ENV !== \"production\" ? warning(false, // TODO: Write up a doc that explains our blocking strategy in\n // detail and link to it here so people can understand better\n // what is going on and how to avoid it.\n \"You are trying to block a POP navigation to a location that was not \" + \"created by the history library. The block will fail silently in \" + \"production, but in general you should do all navigation with the \" + \"history library (instead of using window.history.pushState directly) \" + \"to avoid this situation.\") : void 0;\n }\n } else {\n applyTx(nextAction);\n }\n }\n }\n\n window.addEventListener(PopStateEventType, handlePop); // popstate does not fire on hashchange in IE 11 and old (trident) Edge\n // https://developer.mozilla.org/de/docs/Web/API/Window/popstate_event\n\n window.addEventListener(HashChangeEventType, function () {\n var _getIndexAndLocation5 = getIndexAndLocation(),\n nextLocation = _getIndexAndLocation5[1]; // Ignore extraneous hashchange events.\n\n\n if (createPath(nextLocation) !== createPath(location)) {\n handlePop();\n }\n });\n var action = Action.Pop;\n\n var _getIndexAndLocation6 = getIndexAndLocation(),\n index = _getIndexAndLocation6[0],\n location = _getIndexAndLocation6[1];\n\n var listeners = createEvents();\n var blockers = createEvents();\n\n if (index == null) {\n index = 0;\n globalHistory.replaceState(_extends({}, globalHistory.state, {\n idx: index\n }), '');\n }\n\n function getBaseHref() {\n var base = document.querySelector('base');\n var href = '';\n\n if (base && base.getAttribute('href')) {\n var url = window.location.href;\n var hashIndex = url.indexOf('#');\n href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n\n return href;\n }\n\n function createHref(to) {\n return getBaseHref() + '#' + (typeof to === 'string' ? to : createPath(to));\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n hash: '',\n search: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function getHistoryStateAndUrl(nextLocation, index) {\n return [{\n usr: nextLocation.state,\n key: nextLocation.key,\n idx: index\n }, createHref(nextLocation)];\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction) {\n action = nextAction;\n\n var _getIndexAndLocation7 = getIndexAndLocation();\n\n index = _getIndexAndLocation7[0];\n location = _getIndexAndLocation7[1];\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr3 = getHistoryStateAndUrl(nextLocation, index + 1),\n historyState = _getHistoryStateAndUr3[0],\n url = _getHistoryStateAndUr3[1]; // TODO: Support forced reloading\n // try...catch because iOS limits us to 100 pushState calls :/\n\n\n try {\n globalHistory.pushState(historyState, '', url);\n } catch (error) {\n // They are going to lose state here, but there is no real\n // way to warn them about it since the page will refresh...\n window.location.assign(url);\n }\n\n applyTx(nextAction);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(nextLocation.pathname.charAt(0) === '/', \"Relative pathnames are not supported in hash history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n var _getHistoryStateAndUr4 = getHistoryStateAndUrl(nextLocation, index),\n historyState = _getHistoryStateAndUr4[0],\n url = _getHistoryStateAndUr4[1]; // TODO: Support forced reloading\n\n\n globalHistory.replaceState(historyState, '', url);\n applyTx(nextAction);\n }\n }\n\n function go(delta) {\n globalHistory.go(delta);\n }\n\n var history = {\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n var unblock = blockers.push(blocker);\n\n if (blockers.length === 1) {\n window.addEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n\n return function () {\n unblock(); // Remove the beforeunload listener so the document may\n // still be salvageable in the pagehide event.\n // See https://html.spec.whatwg.org/#unloading-documents\n\n if (!blockers.length) {\n window.removeEventListener(BeforeUnloadEventType, promptBeforeUnload);\n }\n };\n }\n };\n return history;\n}\n/**\r\n * Memory history stores the current location in memory. It is designed for use\r\n * in stateful non-browser environments like tests and React Native.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#creatememoryhistory\r\n */\n\nfunction createMemoryHistory(options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options3 = options,\n _options3$initialEntr = _options3.initialEntries,\n initialEntries = _options3$initialEntr === void 0 ? ['/'] : _options3$initialEntr,\n initialIndex = _options3.initialIndex;\n var entries = initialEntries.map(function (entry) {\n var location = readOnly(_extends({\n pathname: '/',\n search: '',\n hash: '',\n state: null,\n key: createKey()\n }, typeof entry === 'string' ? parsePath(entry) : entry));\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in createMemoryHistory({ initialEntries }) (invalid entry: \" + JSON.stringify(entry) + \")\") : void 0;\n return location;\n });\n var index = clamp(initialIndex == null ? entries.length - 1 : initialIndex, 0, entries.length - 1);\n var action = Action.Pop;\n var location = entries[index];\n var listeners = createEvents();\n var blockers = createEvents();\n\n function createHref(to) {\n return typeof to === 'string' ? to : createPath(to);\n }\n\n function getNextLocation(to, state) {\n if (state === void 0) {\n state = null;\n }\n\n return readOnly(_extends({\n pathname: location.pathname,\n search: '',\n hash: ''\n }, typeof to === 'string' ? parsePath(to) : to, {\n state: state,\n key: createKey()\n }));\n }\n\n function allowTx(action, location, retry) {\n return !blockers.length || (blockers.call({\n action: action,\n location: location,\n retry: retry\n }), false);\n }\n\n function applyTx(nextAction, nextLocation) {\n action = nextAction;\n location = nextLocation;\n listeners.call({\n action: action,\n location: location\n });\n }\n\n function push(to, state) {\n var nextAction = Action.Push;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n push(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.push(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n applyTx(nextAction, nextLocation);\n }\n }\n\n function replace(to, state) {\n var nextAction = Action.Replace;\n var nextLocation = getNextLocation(to, state);\n\n function retry() {\n replace(to, state);\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(location.pathname.charAt(0) === '/', \"Relative pathnames are not supported in memory history.replace(\" + JSON.stringify(to) + \")\") : void 0;\n\n if (allowTx(nextAction, nextLocation, retry)) {\n entries[index] = nextLocation;\n applyTx(nextAction, nextLocation);\n }\n }\n\n function go(delta) {\n var nextIndex = clamp(index + delta, 0, entries.length - 1);\n var nextAction = Action.Pop;\n var nextLocation = entries[nextIndex];\n\n function retry() {\n go(delta);\n }\n\n if (allowTx(nextAction, nextLocation, retry)) {\n index = nextIndex;\n applyTx(nextAction, nextLocation);\n }\n }\n\n var history = {\n get index() {\n return index;\n },\n\n get action() {\n return action;\n },\n\n get location() {\n return location;\n },\n\n createHref: createHref,\n push: push,\n replace: replace,\n go: go,\n back: function back() {\n go(-1);\n },\n forward: function forward() {\n go(1);\n },\n listen: function listen(listener) {\n return listeners.push(listener);\n },\n block: function block(blocker) {\n return blockers.push(blocker);\n }\n };\n return history;\n} ////////////////////////////////////////////////////////////////////////////////\n// UTILS\n////////////////////////////////////////////////////////////////////////////////\n\nfunction clamp(n, lowerBound, upperBound) {\n return Math.min(Math.max(n, lowerBound), upperBound);\n}\n\nfunction promptBeforeUnload(event) {\n // Cancel the event.\n event.preventDefault(); // Chrome (and legacy IE) requires returnValue to be set.\n\n event.returnValue = '';\n}\n\nfunction createEvents() {\n var handlers = [];\n return {\n get length() {\n return handlers.length;\n },\n\n push: function push(fn) {\n handlers.push(fn);\n return function () {\n handlers = handlers.filter(function (handler) {\n return handler !== fn;\n });\n };\n },\n call: function call(arg) {\n handlers.forEach(function (fn) {\n return fn && fn(arg);\n });\n }\n };\n}\n\nfunction createKey() {\n return Math.random().toString(36).substr(2, 8);\n}\n/**\r\n * Creates a string URL path from the given pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createpath\r\n */\n\n\nfunction createPath(_ref) {\n var _ref$pathname = _ref.pathname,\n pathname = _ref$pathname === void 0 ? '/' : _ref$pathname,\n _ref$search = _ref.search,\n search = _ref$search === void 0 ? '' : _ref$search,\n _ref$hash = _ref.hash,\n hash = _ref$hash === void 0 ? '' : _ref$hash;\n if (search && search !== '?') pathname += search.charAt(0) === '?' ? search : '?' + search;\n if (hash && hash !== '#') pathname += hash.charAt(0) === '#' ? hash : '#' + hash;\n return pathname;\n}\n/**\r\n * Parses a string URL path into its separate pathname, search, and hash components.\r\n *\r\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#parsepath\r\n */\n\nfunction parsePath(path) {\n var parsedPath = {};\n\n if (path) {\n var hashIndex = path.indexOf('#');\n\n if (hashIndex >= 0) {\n parsedPath.hash = path.substr(hashIndex);\n path = path.substr(0, hashIndex);\n }\n\n var searchIndex = path.indexOf('?');\n\n if (searchIndex >= 0) {\n parsedPath.search = path.substr(searchIndex);\n path = path.substr(0, searchIndex);\n }\n\n if (path) {\n parsedPath.pathname = path;\n }\n }\n\n return parsedPath;\n}\n\nexport { Action, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, parsePath };\n//# sourceMappingURL=index.js.map\n","/* eslint-disable no-var, prefer-template */\nvar uppercasePattern = /[A-Z]/g\nvar msPattern = /^ms-/\nvar cache = {}\n\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase()\n}\n\nfunction hyphenateStyleName(name) {\n if (cache.hasOwnProperty(name)) {\n return cache[name]\n }\n\n var hName = name.replace(uppercasePattern, toHyphenLower)\n return (cache[name] = msPattern.test(hName) ? '-' + hName : hName)\n}\n\nexport default hyphenateStyleName\n","/*!\n * inflection\n * Copyright(c) 2011 Ben Lin \n * MIT Licensed\n *\n * @fileoverview\n * A port of inflection-js to node.js module.\n */\n\n( function ( root, factory ){\n if( typeof define === 'function' && define.amd ){\n define([], factory );\n }else if( typeof exports === 'object' ){\n module.exports = factory();\n }else{\n root.inflection = factory();\n }\n}( this, function (){\n\n /**\n * @description This is a list of nouns that use the same form for both singular and plural.\n * This list should remain entirely in lower case to correctly match Strings.\n * @private\n */\n var uncountable_words = [\n // 'access',\n 'accommodation',\n 'adulthood',\n 'advertising',\n 'advice',\n 'aggression',\n 'aid',\n 'air',\n 'aircraft',\n 'alcohol',\n 'anger',\n 'applause',\n 'arithmetic',\n // 'art',\n 'assistance',\n 'athletics',\n // 'attention',\n\n 'bacon',\n 'baggage',\n // 'ballet',\n // 'beauty',\n 'beef',\n // 'beer',\n // 'behavior',\n 'biology',\n // 'billiards',\n 'blood',\n 'botany',\n // 'bowels',\n 'bread',\n // 'business',\n 'butter',\n\n 'carbon',\n 'cardboard',\n 'cash',\n 'chalk',\n 'chaos',\n 'chess',\n 'crossroads',\n 'countryside',\n\n // 'damage',\n 'dancing',\n // 'danger',\n 'deer',\n // 'delight',\n // 'dessert',\n 'dignity',\n 'dirt',\n // 'distribution',\n 'dust',\n\n 'economics',\n 'education',\n 'electricity',\n // 'employment',\n // 'energy',\n 'engineering',\n 'enjoyment',\n // 'entertainment',\n 'envy',\n 'equipment',\n 'ethics',\n 'evidence',\n 'evolution',\n\n // 'failure',\n // 'faith',\n 'fame',\n 'fiction',\n // 'fish',\n 'flour',\n 'flu',\n 'food',\n // 'freedom',\n // 'fruit',\n 'fuel',\n 'fun',\n // 'funeral',\n 'furniture',\n\n 'gallows',\n 'garbage',\n 'garlic',\n // 'gas',\n 'genetics',\n // 'glass',\n 'gold',\n 'golf',\n 'gossip',\n // 'grass',\n 'gratitude',\n 'grief',\n // 'ground',\n 'guilt',\n 'gymnastics',\n\n // 'hair',\n 'happiness',\n 'hardware',\n 'harm',\n 'hate',\n 'hatred',\n 'health',\n 'heat',\n // 'height',\n 'help',\n 'homework',\n 'honesty',\n 'honey',\n 'hospitality',\n 'housework',\n 'humour',\n 'hunger',\n 'hydrogen',\n\n 'ice',\n 'importance',\n 'inflation',\n 'information',\n // 'injustice',\n 'innocence',\n // 'intelligence',\n 'iron',\n 'irony',\n\n 'jam',\n // 'jealousy',\n // 'jelly',\n 'jewelry',\n // 'joy',\n 'judo',\n // 'juice',\n // 'justice',\n\n 'karate',\n // 'kindness',\n 'knowledge',\n\n // 'labour',\n 'lack',\n // 'land',\n 'laughter',\n 'lava',\n 'leather',\n 'leisure',\n 'lightning',\n 'linguine',\n 'linguini',\n 'linguistics',\n 'literature',\n 'litter',\n 'livestock',\n 'logic',\n 'loneliness',\n // 'love',\n 'luck',\n 'luggage',\n\n 'macaroni',\n 'machinery',\n 'magic',\n // 'mail',\n 'management',\n 'mankind',\n 'marble',\n 'mathematics',\n 'mayonnaise',\n 'measles',\n // 'meat',\n // 'metal',\n 'methane',\n 'milk',\n 'minus',\n 'money',\n // 'moose',\n 'mud',\n 'music',\n 'mumps',\n\n 'nature',\n 'news',\n 'nitrogen',\n 'nonsense',\n 'nurture',\n 'nutrition',\n\n 'obedience',\n 'obesity',\n // 'oil',\n 'oxygen',\n\n // 'paper',\n // 'passion',\n 'pasta',\n 'patience',\n // 'permission',\n 'physics',\n 'poetry',\n 'pollution',\n 'poverty',\n // 'power',\n 'pride',\n // 'production',\n // 'progress',\n // 'pronunciation',\n 'psychology',\n 'publicity',\n 'punctuation',\n\n // 'quality',\n // 'quantity',\n 'quartz',\n\n 'racism',\n // 'rain',\n // 'recreation',\n 'relaxation',\n 'reliability',\n 'research',\n 'respect',\n 'revenge',\n 'rice',\n 'rubbish',\n 'rum',\n\n 'safety',\n // 'salad',\n // 'salt',\n // 'sand',\n // 'satire',\n 'scenery',\n 'seafood',\n 'seaside',\n 'series',\n 'shame',\n 'sheep',\n 'shopping',\n // 'silence',\n 'sleep',\n // 'slang'\n 'smoke',\n 'smoking',\n 'snow',\n 'soap',\n 'software',\n 'soil',\n // 'sorrow',\n // 'soup',\n 'spaghetti',\n // 'speed',\n 'species',\n // 'spelling',\n // 'sport',\n 'steam',\n // 'strength',\n 'stuff',\n 'stupidity',\n // 'success',\n // 'sugar',\n 'sunshine',\n 'symmetry',\n\n // 'tea',\n 'tennis',\n 'thirst',\n 'thunder',\n 'timber',\n // 'time',\n // 'toast',\n // 'tolerance',\n // 'trade',\n 'traffic',\n 'transportation',\n // 'travel',\n 'trust',\n\n // 'understanding',\n 'underwear',\n 'unemployment',\n 'unity',\n // 'usage',\n\n 'validity',\n 'veal',\n 'vegetation',\n 'vegetarianism',\n 'vengeance',\n 'violence',\n // 'vision',\n 'vitality',\n\n 'warmth',\n // 'water',\n 'wealth',\n 'weather',\n // 'weight',\n 'welfare',\n 'wheat',\n // 'whiskey',\n // 'width',\n 'wildlife',\n // 'wine',\n 'wisdom',\n // 'wood',\n // 'wool',\n // 'work',\n\n // 'yeast',\n 'yoga',\n\n 'zinc',\n 'zoology'\n ];\n\n /**\n * @description These rules translate from the singular form of a noun to its plural form.\n * @private\n */\n\n var regex = {\n plural : {\n men : new RegExp( '^(m|wom)en$' , 'gi' ),\n people : new RegExp( '(pe)ople$' , 'gi' ),\n children : new RegExp( '(child)ren$' , 'gi' ),\n tia : new RegExp( '([ti])a$' , 'gi' ),\n analyses : new RegExp( '((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$','gi' ),\n drives : new RegExp( '(drive)s$' , 'gi' ),\n hives : new RegExp( '(hi|ti)ves$' , 'gi' ),\n curves : new RegExp( '(curve)s$' , 'gi' ),\n lrves : new RegExp( '([lr])ves$' , 'gi' ),\n aves : new RegExp( '([a])ves$' , 'gi' ),\n foves : new RegExp( '([^fo])ves$' , 'gi' ),\n movies : new RegExp( '(m)ovies$' , 'gi' ),\n aeiouyies : new RegExp( '([^aeiouy]|qu)ies$' , 'gi' ),\n series : new RegExp( '(s)eries$' , 'gi' ),\n xes : new RegExp( '(x|ch|ss|sh)es$' , 'gi' ),\n mice : new RegExp( '([m|l])ice$' , 'gi' ),\n buses : new RegExp( '(bus)es$' , 'gi' ),\n oes : new RegExp( '(o)es$' , 'gi' ),\n shoes : new RegExp( '(shoe)s$' , 'gi' ),\n crises : new RegExp( '(cris|ax|test)es$' , 'gi' ),\n octopuses : new RegExp( '(octop|vir)uses$' , 'gi' ),\n aliases : new RegExp( '(alias|canvas|status|campus)es$', 'gi' ),\n summonses : new RegExp( '^(summons|bonus)es$' , 'gi' ),\n oxen : new RegExp( '^(ox)en' , 'gi' ),\n matrices : new RegExp( '(matr)ices$' , 'gi' ),\n vertices : new RegExp( '(vert|ind)ices$' , 'gi' ),\n feet : new RegExp( '^feet$' , 'gi' ),\n teeth : new RegExp( '^teeth$' , 'gi' ),\n geese : new RegExp( '^geese$' , 'gi' ),\n quizzes : new RegExp( '(quiz)zes$' , 'gi' ),\n whereases : new RegExp( '^(whereas)es$' , 'gi' ),\n criteria : new RegExp( '^(criteri)a$' , 'gi' ),\n genera : new RegExp( '^genera$' , 'gi' ),\n ss : new RegExp( 'ss$' , 'gi' ),\n s : new RegExp( 's$' , 'gi' )\n },\n\n singular : {\n man : new RegExp( '^(m|wom)an$' , 'gi' ),\n person : new RegExp( '(pe)rson$' , 'gi' ),\n child : new RegExp( '(child)$' , 'gi' ),\n drive : new RegExp( '(drive)$' , 'gi' ),\n ox : new RegExp( '^(ox)$' , 'gi' ),\n axis : new RegExp( '(ax|test)is$' , 'gi' ),\n octopus : new RegExp( '(octop|vir)us$' , 'gi' ),\n alias : new RegExp( '(alias|status|canvas|campus)$', 'gi' ),\n summons : new RegExp( '^(summons|bonus)$' , 'gi' ),\n bus : new RegExp( '(bu)s$' , 'gi' ),\n buffalo : new RegExp( '(buffal|tomat|potat)o$' , 'gi' ),\n tium : new RegExp( '([ti])um$' , 'gi' ),\n sis : new RegExp( 'sis$' , 'gi' ),\n ffe : new RegExp( '(?:([^f])fe|([lr])f)$' , 'gi' ),\n hive : new RegExp( '(hi|ti)ve$' , 'gi' ),\n aeiouyy : new RegExp( '([^aeiouy]|qu)y$' , 'gi' ),\n x : new RegExp( '(x|ch|ss|sh)$' , 'gi' ),\n matrix : new RegExp( '(matr)ix$' , 'gi' ),\n vertex : new RegExp( '(vert|ind)ex$' , 'gi' ),\n mouse : new RegExp( '([m|l])ouse$' , 'gi' ),\n foot : new RegExp( '^foot$' , 'gi' ),\n tooth : new RegExp( '^tooth$' , 'gi' ),\n goose : new RegExp( '^goose$' , 'gi' ),\n quiz : new RegExp( '(quiz)$' , 'gi' ),\n whereas : new RegExp( '^(whereas)$' , 'gi' ),\n criterion : new RegExp( '^(criteri)on$' , 'gi' ),\n genus : new RegExp( '^genus$' , 'gi' ),\n s : new RegExp( 's$' , 'gi' ),\n common : new RegExp( '$' , 'gi' )\n }\n };\n\n var plural_rules = [\n\n // do not replace if its already a plural word\n [ regex.plural.men ],\n [ regex.plural.people ],\n [ regex.plural.children ],\n [ regex.plural.tia ],\n [ regex.plural.analyses ],\n [ regex.plural.drives ],\n [ regex.plural.hives ],\n [ regex.plural.curves ],\n [ regex.plural.lrves ],\n [ regex.plural.foves ],\n [ regex.plural.aeiouyies ],\n [ regex.plural.series ],\n [ regex.plural.movies ],\n [ regex.plural.xes ],\n [ regex.plural.mice ],\n [ regex.plural.buses ],\n [ regex.plural.oes ],\n [ regex.plural.shoes ],\n [ regex.plural.crises ],\n [ regex.plural.octopuses ],\n [ regex.plural.aliases ],\n [ regex.plural.summonses ],\n [ regex.plural.oxen ],\n [ regex.plural.matrices ],\n [ regex.plural.feet ],\n [ regex.plural.teeth ],\n [ regex.plural.geese ],\n [ regex.plural.quizzes ],\n [ regex.plural.whereases ],\n [ regex.plural.criteria ],\n [ regex.plural.genera ],\n\n // original rule\n [ regex.singular.man , '$1en' ],\n [ regex.singular.person , '$1ople' ],\n [ regex.singular.child , '$1ren' ],\n [ regex.singular.drive , '$1s' ],\n [ regex.singular.ox , '$1en' ],\n [ regex.singular.axis , '$1es' ],\n [ regex.singular.octopus , '$1uses' ],\n [ regex.singular.alias , '$1es' ],\n [ regex.singular.summons , '$1es' ],\n [ regex.singular.bus , '$1ses' ],\n [ regex.singular.buffalo , '$1oes' ],\n [ regex.singular.tium , '$1a' ],\n [ regex.singular.sis , 'ses' ],\n [ regex.singular.ffe , '$1$2ves' ],\n [ regex.singular.hive , '$1ves' ],\n [ regex.singular.aeiouyy , '$1ies' ],\n [ regex.singular.matrix , '$1ices' ],\n [ regex.singular.vertex , '$1ices' ],\n [ regex.singular.x , '$1es' ],\n [ regex.singular.mouse , '$1ice' ],\n [ regex.singular.foot , 'feet' ],\n [ regex.singular.tooth , 'teeth' ],\n [ regex.singular.goose , 'geese' ],\n [ regex.singular.quiz , '$1zes' ],\n [ regex.singular.whereas , '$1es' ],\n [ regex.singular.criterion, '$1a' ],\n [ regex.singular.genus , 'genera' ],\n\n [ regex.singular.s , 's' ],\n [ regex.singular.common, 's' ]\n ];\n\n /**\n * @description These rules translate from the plural form of a noun to its singular form.\n * @private\n */\n var singular_rules = [\n\n // do not replace if its already a singular word\n [ regex.singular.man ],\n [ regex.singular.person ],\n [ regex.singular.child ],\n [ regex.singular.drive ],\n [ regex.singular.ox ],\n [ regex.singular.axis ],\n [ regex.singular.octopus ],\n [ regex.singular.alias ],\n [ regex.singular.summons ],\n [ regex.singular.bus ],\n [ regex.singular.buffalo ],\n [ regex.singular.tium ],\n [ regex.singular.sis ],\n [ regex.singular.ffe ],\n [ regex.singular.hive ],\n [ regex.singular.aeiouyy ],\n [ regex.singular.x ],\n [ regex.singular.matrix ],\n [ regex.singular.mouse ],\n [ regex.singular.foot ],\n [ regex.singular.tooth ],\n [ regex.singular.goose ],\n [ regex.singular.quiz ],\n [ regex.singular.whereas ],\n [ regex.singular.criterion ],\n [ regex.singular.genus ],\n\n // original rule\n [ regex.plural.men , '$1an' ],\n [ regex.plural.people , '$1rson' ],\n [ regex.plural.children , '$1' ],\n [ regex.plural.drives , '$1'],\n [ regex.plural.genera , 'genus'],\n [ regex.plural.criteria , '$1on'],\n [ regex.plural.tia , '$1um' ],\n [ regex.plural.analyses , '$1$2sis' ],\n [ regex.plural.hives , '$1ve' ],\n [ regex.plural.curves , '$1' ],\n [ regex.plural.lrves , '$1f' ],\n [ regex.plural.aves , '$1ve' ],\n [ regex.plural.foves , '$1fe' ],\n [ regex.plural.movies , '$1ovie' ],\n [ regex.plural.aeiouyies, '$1y' ],\n [ regex.plural.series , '$1eries' ],\n [ regex.plural.xes , '$1' ],\n [ regex.plural.mice , '$1ouse' ],\n [ regex.plural.buses , '$1' ],\n [ regex.plural.oes , '$1' ],\n [ regex.plural.shoes , '$1' ],\n [ regex.plural.crises , '$1is' ],\n [ regex.plural.octopuses, '$1us' ],\n [ regex.plural.aliases , '$1' ],\n [ regex.plural.summonses, '$1' ],\n [ regex.plural.oxen , '$1' ],\n [ regex.plural.matrices , '$1ix' ],\n [ regex.plural.vertices , '$1ex' ],\n [ regex.plural.feet , 'foot' ],\n [ regex.plural.teeth , 'tooth' ],\n [ regex.plural.geese , 'goose' ],\n [ regex.plural.quizzes , '$1' ],\n [ regex.plural.whereases, '$1' ],\n\n [ regex.plural.ss, 'ss' ],\n [ regex.plural.s , '' ]\n ];\n\n /**\n * @description This is a list of words that should not be capitalized for title case.\n * @private\n */\n var non_titlecased_words = [\n 'and', 'or', 'nor', 'a', 'an', 'the', 'so', 'but', 'to', 'of', 'at','by',\n 'from', 'into', 'on', 'onto', 'off', 'out', 'in', 'over', 'with', 'for'\n ];\n\n /**\n * @description These are regular expressions used for converting between String formats.\n * @private\n */\n var id_suffix = new RegExp( '(_ids|_id)$', 'g' );\n var underbar = new RegExp( '_', 'g' );\n var space_or_underbar = new RegExp( '[\\ _]', 'g' );\n var uppercase = new RegExp( '([A-Z])', 'g' );\n var underbar_prefix = new RegExp( '^_' );\n\n var inflector = {\n\n /**\n * A helper method that applies rules based replacement to a String.\n * @private\n * @function\n * @param {String} str String to modify and return based on the passed rules.\n * @param {Array: [RegExp, String]} rules Regexp to match paired with String to use for replacement\n * @param {Array: [String]} skip Strings to skip if they match\n * @param {String} override String to return as though this method succeeded (used to conform to APIs)\n * @returns {String} Return passed String modified by passed rules.\n * @example\n *\n * this._apply_rules( 'cows', singular_rules ); // === 'cow'\n */\n _apply_rules : function ( str, rules, skip, override ){\n if( override ){\n str = override;\n }else{\n var ignore = ( inflector.indexOf( skip, str.toLowerCase()) > -1 );\n\n if( !ignore ){\n var i = 0;\n var j = rules.length;\n\n for( ; i < j; i++ ){\n if( str.match( rules[ i ][ 0 ])){\n if( rules[ i ][ 1 ] !== undefined ){\n str = str.replace( rules[ i ][ 0 ], rules[ i ][ 1 ]);\n }\n break;\n }\n }\n }\n }\n\n return str;\n },\n\n\n\n /**\n * This lets us detect if an Array contains a given element.\n * @public\n * @function\n * @param {Array} arr The subject array.\n * @param {Object} item Object to locate in the Array.\n * @param {Number} from_index Starts checking from this position in the Array.(optional)\n * @param {Function} compare_func Function used to compare Array item vs passed item.(optional)\n * @returns {Number} Return index position in the Array of the passed item.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.indexOf([ 'hi','there' ], 'guys' ); // === -1\n * inflection.indexOf([ 'hi','there' ], 'hi' ); // === 0\n */\n indexOf : function ( arr, item, from_index, compare_func ){\n if( !from_index ){\n from_index = -1;\n }\n\n var index = -1;\n var i = from_index;\n var j = arr.length;\n\n for( ; i < j; i++ ){\n if( arr[ i ] === item || compare_func && compare_func( arr[ i ], item )){\n index = i;\n break;\n }\n }\n\n return index;\n },\n\n\n\n /**\n * This function adds pluralization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {String} plural Overrides normal output with said String.(optional)\n * @returns {String} Singular English language nouns are returned in plural form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.pluralize( 'person' ); // === 'people'\n * inflection.pluralize( 'octopus' ); // === 'octopuses'\n * inflection.pluralize( 'Hat' ); // === 'Hats'\n * inflection.pluralize( 'person', 'guys' ); // === 'guys'\n */\n pluralize : function ( str, plural ){\n return inflector._apply_rules( str, plural_rules, uncountable_words, plural );\n },\n\n\n\n /**\n * This function adds singularization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {String} singular Overrides normal output with said String.(optional)\n * @returns {String} Plural English language nouns are returned in singular form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.singularize( 'people' ); // === 'person'\n * inflection.singularize( 'octopuses' ); // === 'octopus'\n * inflection.singularize( 'Hats' ); // === 'Hat'\n * inflection.singularize( 'guys', 'person' ); // === 'person'\n */\n singularize : function ( str, singular ){\n return inflector._apply_rules( str, singular_rules, uncountable_words, singular );\n },\n\n\n /**\n * This function will pluralize or singularlize a String appropriately based on a number value\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Number} count The number to base pluralization off of.\n * @param {String} singular Overrides normal output with said String.(optional)\n * @param {String} plural Overrides normal output with said String.(optional)\n * @returns {String} English language nouns are returned in the plural or singular form based on the count.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.inflect( 'people' 1 ); // === 'person'\n * inflection.inflect( 'octopuses' 1 ); // === 'octopus'\n * inflection.inflect( 'Hats' 1 ); // === 'Hat'\n * inflection.inflect( 'guys', 1 , 'person' ); // === 'person'\n * inflection.inflect( 'inches', 1.5 ); // === 'inches'\n * inflection.inflect( 'person', 2 ); // === 'people'\n * inflection.inflect( 'octopus', 2 ); // === 'octopuses'\n * inflection.inflect( 'Hat', 2 ); // === 'Hats'\n * inflection.inflect( 'person', 2, null, 'guys' ); // === 'guys'\n */\n inflect : function ( str, count, singular, plural ){\n count = parseFloat( count, 10 );\n\n if( isNaN( count )) return str;\n\n if( count === 1 ){\n return inflector._apply_rules( str, singular_rules, uncountable_words, singular );\n }else{\n return inflector._apply_rules( str, plural_rules, uncountable_words, plural );\n }\n },\n\n\n\n /**\n * This function adds camelization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} low_first_letter Default is to capitalize the first letter of the results.(optional)\n * Passing true will lowercase it.\n * @returns {String} Lower case underscored words will be returned in camel case.\n * additionally '/' is translated to '::'\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.camelize( 'message_properties' ); // === 'MessageProperties'\n * inflection.camelize( 'message_properties', true ); // === 'messageProperties'\n */\n camelize : function ( str, low_first_letter ){\n var str_path = str.split( '/' );\n var i = 0;\n var j = str_path.length;\n var str_arr, init_x, k, l, first;\n\n for( ; i < j; i++ ){\n str_arr = str_path[ i ].split( '_' );\n k = 0;\n l = str_arr.length;\n\n for( ; k < l; k++ ){\n if( k !== 0 ){\n str_arr[ k ] = str_arr[ k ].toLowerCase();\n }\n\n first = str_arr[ k ].charAt( 0 );\n first = low_first_letter && i === 0 && k === 0\n ? first.toLowerCase() : first.toUpperCase();\n str_arr[ k ] = first + str_arr[ k ].substring( 1 );\n }\n\n str_path[ i ] = str_arr.join( '' );\n }\n\n return str_path.join( '::' );\n },\n\n\n\n /**\n * This function adds underscore support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} all_upper_case Default is to lowercase and add underscore prefix.(optional)\n * Passing true will return as entered.\n * @returns {String} Camel cased words are returned as lower cased and underscored.\n * additionally '::' is translated to '/'.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.underscore( 'MessageProperties' ); // === 'message_properties'\n * inflection.underscore( 'messageProperties' ); // === 'message_properties'\n * inflection.underscore( 'MP', true ); // === 'MP'\n */\n underscore : function ( str, all_upper_case ){\n if( all_upper_case && str === str.toUpperCase()) return str;\n\n var str_path = str.split( '::' );\n var i = 0;\n var j = str_path.length;\n\n for( ; i < j; i++ ){\n str_path[ i ] = str_path[ i ].replace( uppercase, '_$1' );\n str_path[ i ] = str_path[ i ].replace( underbar_prefix, '' );\n }\n\n return str_path.join( '/' ).toLowerCase();\n },\n\n\n\n /**\n * This function adds humanize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} low_first_letter Default is to capitalize the first letter of the results.(optional)\n * Passing true will lowercase it.\n * @returns {String} Lower case underscored words will be returned in humanized form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.humanize( 'message_properties' ); // === 'Message properties'\n * inflection.humanize( 'message_properties', true ); // === 'message properties'\n */\n humanize : function ( str, low_first_letter ){\n str = str.toLowerCase();\n str = str.replace( id_suffix, '' );\n str = str.replace( underbar, ' ' );\n\n if( !low_first_letter ){\n str = inflector.capitalize( str );\n }\n\n return str;\n },\n\n\n\n /**\n * This function adds capitalization support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} All characters will be lower case and the first will be upper.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.capitalize( 'message_properties' ); // === 'Message_properties'\n * inflection.capitalize( 'message properties', true ); // === 'Message properties'\n */\n capitalize : function ( str ){\n str = str.toLowerCase();\n\n return str.substring( 0, 1 ).toUpperCase() + str.substring( 1 );\n },\n\n\n\n /**\n * This function replaces underscores with dashes in the string.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Replaces all spaces or underscores with dashes.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.dasherize( 'message_properties' ); // === 'message-properties'\n * inflection.dasherize( 'Message Properties' ); // === 'Message-Properties'\n */\n dasherize : function ( str ){\n return str.replace( space_or_underbar, '-' );\n },\n\n\n\n /**\n * This function adds titleize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Capitalizes words as you would for a book title.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.titleize( 'message_properties' ); // === 'Message Properties'\n * inflection.titleize( 'message properties to keep' ); // === 'Message Properties to Keep'\n */\n titleize : function ( str ){\n str = str.toLowerCase().replace( underbar, ' ' );\n var str_arr = str.split( ' ' );\n var i = 0;\n var j = str_arr.length;\n var d, k, l;\n\n for( ; i < j; i++ ){\n d = str_arr[ i ].split( '-' );\n k = 0;\n l = d.length;\n\n for( ; k < l; k++){\n if( inflector.indexOf( non_titlecased_words, d[ k ].toLowerCase()) < 0 ){\n d[ k ] = inflector.capitalize( d[ k ]);\n }\n }\n\n str_arr[ i ] = d.join( '-' );\n }\n\n str = str_arr.join( ' ' );\n str = str.substring( 0, 1 ).toUpperCase() + str.substring( 1 );\n\n return str;\n },\n\n\n\n /**\n * This function adds demodulize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Removes module names leaving only class names.(Ruby style)\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.demodulize( 'Message::Bus::Properties' ); // === 'Properties'\n */\n demodulize : function ( str ){\n var str_arr = str.split( '::' );\n\n return str_arr[ str_arr.length - 1 ];\n },\n\n\n\n /**\n * This function adds tableize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Return camel cased words into their underscored plural form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.tableize( 'MessageBusProperty' ); // === 'message_bus_properties'\n */\n tableize : function ( str ){\n str = inflector.underscore( str );\n str = inflector.pluralize( str );\n\n return str;\n },\n\n\n\n /**\n * This function adds classification support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Underscored plural nouns become the camel cased singular form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.classify( 'message_bus_properties' ); // === 'MessageBusProperty'\n */\n classify : function ( str ){\n str = inflector.camelize( str );\n str = inflector.singularize( str );\n\n return str;\n },\n\n\n\n /**\n * This function adds foreign key support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Boolean} drop_id_ubar Default is to seperate id with an underbar at the end of the class name,\n you can pass true to skip it.(optional)\n * @returns {String} Underscored plural nouns become the camel cased singular form.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.foreign_key( 'MessageBusProperty' ); // === 'message_bus_property_id'\n * inflection.foreign_key( 'MessageBusProperty', true ); // === 'message_bus_propertyid'\n */\n foreign_key : function ( str, drop_id_ubar ){\n str = inflector.demodulize( str );\n str = inflector.underscore( str ) + (( drop_id_ubar ) ? ( '' ) : ( '_' )) + 'id';\n\n return str;\n },\n\n\n\n /**\n * This function adds ordinalize support to every String object.\n * @public\n * @function\n * @param {String} str The subject string.\n * @returns {String} Return all found numbers their sequence like '22nd'.\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.ordinalize( 'the 1 pitch' ); // === 'the 1st pitch'\n */\n ordinalize : function ( str ){\n var str_arr = str.split( ' ' );\n var i = 0;\n var j = str_arr.length;\n\n for( ; i < j; i++ ){\n var k = parseInt( str_arr[ i ], 10 );\n\n if( !isNaN( k )){\n var ltd = str_arr[ i ].substring( str_arr[ i ].length - 2 );\n var ld = str_arr[ i ].substring( str_arr[ i ].length - 1 );\n var suf = 'th';\n\n if( ltd != '11' && ltd != '12' && ltd != '13' ){\n if( ld === '1' ){\n suf = 'st';\n }else if( ld === '2' ){\n suf = 'nd';\n }else if( ld === '3' ){\n suf = 'rd';\n }\n }\n\n str_arr[ i ] += suf;\n }\n }\n\n return str_arr.join( ' ' );\n },\n\n /**\n * This function performs multiple inflection methods on a string\n * @public\n * @function\n * @param {String} str The subject string.\n * @param {Array} arr An array of inflection methods.\n * @returns {String}\n * @example\n *\n * var inflection = require( 'inflection' );\n *\n * inflection.transform( 'all job', [ 'pluralize', 'capitalize', 'dasherize' ]); // === 'All-jobs'\n */\n transform : function ( str, arr ){\n var i = 0;\n var j = arr.length;\n\n for( ;i < j; i++ ){\n var method = arr[ i ];\n\n if( inflector.hasOwnProperty( method )){\n str = inflector[ method ]( str );\n }\n }\n\n return str;\n }\n };\n\n/**\n * @public\n */\n inflector.version = '1.13.1';\n\n return inflector;\n}));\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createPrefixer;\n\nvar _prefixProperty = require('./utils/prefixProperty');\n\nvar _prefixProperty2 = _interopRequireDefault(_prefixProperty);\n\nvar _prefixValue = require('./utils/prefixValue');\n\nvar _prefixValue2 = _interopRequireDefault(_prefixValue);\n\nvar _addNewValuesOnly = require('./utils/addNewValuesOnly');\n\nvar _addNewValuesOnly2 = _interopRequireDefault(_addNewValuesOnly);\n\nvar _isObject = require('./utils/isObject');\n\nvar _isObject2 = _interopRequireDefault(_isObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction createPrefixer(_ref) {\n var prefixMap = _ref.prefixMap,\n plugins = _ref.plugins;\n\n return function prefix(style) {\n for (var property in style) {\n var value = style[property];\n\n // handle nested objects\n if ((0, _isObject2.default)(value)) {\n style[property] = prefix(value);\n // handle array values\n } else if (Array.isArray(value)) {\n var combinedValue = [];\n\n for (var i = 0, len = value.length; i < len; ++i) {\n var processedValue = (0, _prefixValue2.default)(plugins, property, value[i], style, prefixMap);\n\n (0, _addNewValuesOnly2.default)(combinedValue, processedValue || value[i]);\n }\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (combinedValue.length > 0) {\n style[property] = combinedValue;\n }\n } else {\n var _processedValue = (0, _prefixValue2.default)(plugins, property, value, style, prefixMap);\n\n // only modify the value if it was touched\n // by any plugin to prevent unnecessary mutations\n if (_processedValue) {\n style[property] = _processedValue;\n }\n\n style = (0, _prefixProperty2.default)(prefixMap, property, style);\n }\n }\n\n return style;\n };\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = backgroundClip;\nfunction backgroundClip() {\n return null;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = crossFade;\n\nvar _cssInJsUtils = require('css-in-js-utils');\n\nvar CROSS_FADE_REGEX = /cross-fade\\(/g;\n// http://caniuse.com/#search=cross-fade\nvar prefixes = ['-webkit-', ''];\n\nfunction crossFade(property, value) {\n if (typeof value === 'string' && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf('cross-fade(') !== -1) {\n return prefixes.map(function (prefix) {\n return value.replace(CROSS_FADE_REGEX, prefix + 'cross-fade(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = cursor;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar values = {\n 'zoom-in': true,\n 'zoom-out': true,\n grab: true,\n grabbing: true\n};\n\nfunction cursor(property, value) {\n if (property === 'cursor' && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = filter;\n\nvar _cssInJsUtils = require('css-in-js-utils');\n\nvar FILTER_REGEX = /filter\\(/g;\n// http://caniuse.com/#feat=css-filter-function\nvar prefixes = ['-webkit-', ''];\n\nfunction filter(property, value) {\n if (typeof value === 'string' && !(0, _cssInJsUtils.isPrefixedValue)(value) && value.indexOf('filter(') !== -1) {\n return prefixes.map(function (prefix) {\n return value.replace(FILTER_REGEX, prefix + 'filter(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = imageSet;\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// http://caniuse.com/#feat=css-image-set\nvar prefixes = ['-webkit-', ''];\n\nfunction imageSet(property, value) {\n if (typeof value === 'string' && !(0, _isPrefixedValue2.default)(value) && value.indexOf('image-set(') > -1) {\n return prefixes.map(function (prefix) {\n return value.replace(/image-set\\(/g, prefix + 'image-set(');\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = logical;\nvar alternativeProps = {\n marginBlockStart: ['WebkitMarginBefore'],\n marginBlockEnd: ['WebkitMarginAfter'],\n marginInlineStart: ['WebkitMarginStart', 'MozMarginStart'],\n marginInlineEnd: ['WebkitMarginEnd', 'MozMarginEnd'],\n paddingBlockStart: ['WebkitPaddingBefore'],\n paddingBlockEnd: ['WebkitPaddingAfter'],\n paddingInlineStart: ['WebkitPaddingStart', 'MozPaddingStart'],\n paddingInlineEnd: ['WebkitPaddingEnd', 'MozPaddingEnd'],\n borderBlockStart: ['WebkitBorderBefore'],\n borderBlockStartColor: ['WebkitBorderBeforeColor'],\n borderBlockStartStyle: ['WebkitBorderBeforeStyle'],\n borderBlockStartWidth: ['WebkitBorderBeforeWidth'],\n borderBlockEnd: ['WebkitBorderAfter'],\n borderBlockEndColor: ['WebkitBorderAfterColor'],\n borderBlockEndStyle: ['WebkitBorderAfterStyle'],\n borderBlockEndWidth: ['WebkitBorderAfterWidth'],\n borderInlineStart: ['WebkitBorderStart', 'MozBorderStart'],\n borderInlineStartColor: ['WebkitBorderStartColor', 'MozBorderStartColor'],\n borderInlineStartStyle: ['WebkitBorderStartStyle', 'MozBorderStartStyle'],\n borderInlineStartWidth: ['WebkitBorderStartWidth', 'MozBorderStartWidth'],\n borderInlineEnd: ['WebkitBorderEnd', 'MozBorderEnd'],\n borderInlineEndColor: ['WebkitBorderEndColor', 'MozBorderEndColor'],\n borderInlineEndStyle: ['WebkitBorderEndStyle', 'MozBorderEndStyle'],\n borderInlineEndWidth: ['WebkitBorderEndWidth', 'MozBorderEndWidth']\n};\n\nfunction logical(property, value, style) {\n if (Object.prototype.hasOwnProperty.call(alternativeProps, property)) {\n var alternativePropList = alternativeProps[property];\n for (var i = 0, len = alternativePropList.length; i < len; ++i) {\n style[alternativePropList[i]] = value;\n }\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = position;\nfunction position(property, value) {\n if (property === 'position' && value === 'sticky') {\n return ['-webkit-sticky', 'sticky'];\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = sizing;\nvar prefixes = ['-webkit-', '-moz-', ''];\n\nvar properties = {\n maxHeight: true,\n maxWidth: true,\n width: true,\n height: true,\n columnWidth: true,\n minWidth: true,\n minHeight: true\n};\nvar values = {\n 'min-content': true,\n 'max-content': true,\n 'fill-available': true,\n 'fit-content': true,\n 'contain-floats': true\n};\n\nfunction sizing(property, value) {\n if (properties.hasOwnProperty(property) && values.hasOwnProperty(value)) {\n return prefixes.map(function (prefix) {\n return prefix + value;\n });\n }\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = transition;\n\nvar _hyphenateProperty = require('css-in-js-utils/lib/hyphenateProperty');\n\nvar _hyphenateProperty2 = _interopRequireDefault(_hyphenateProperty);\n\nvar _isPrefixedValue = require('css-in-js-utils/lib/isPrefixedValue');\n\nvar _isPrefixedValue2 = _interopRequireDefault(_isPrefixedValue);\n\nvar _capitalizeString = require('../utils/capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar properties = {\n transition: true,\n transitionProperty: true,\n WebkitTransition: true,\n WebkitTransitionProperty: true,\n MozTransition: true,\n MozTransitionProperty: true\n};\n\nvar prefixMapping = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n ms: '-ms-'\n};\n\nfunction prefixValue(value, propertyPrefixMap) {\n if ((0, _isPrefixedValue2.default)(value)) {\n return value;\n }\n\n // only split multi values, not cubic beziers\n var multipleValues = value.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g);\n\n for (var i = 0, len = multipleValues.length; i < len; ++i) {\n var singleValue = multipleValues[i];\n var values = [singleValue];\n for (var property in propertyPrefixMap) {\n var dashCaseProperty = (0, _hyphenateProperty2.default)(property);\n\n if (singleValue.indexOf(dashCaseProperty) > -1 && dashCaseProperty !== 'order') {\n var prefixes = propertyPrefixMap[property];\n for (var j = 0, pLen = prefixes.length; j < pLen; ++j) {\n // join all prefixes and create a new value\n values.unshift(singleValue.replace(dashCaseProperty, prefixMapping[prefixes[j]] + dashCaseProperty));\n }\n }\n }\n\n multipleValues[i] = values.join(',');\n }\n\n return multipleValues.join(',');\n}\n\nfunction transition(property, value, style, propertyPrefixMap) {\n // also check for already prefixed transitions\n if (typeof value === 'string' && properties.hasOwnProperty(property)) {\n var outputValue = prefixValue(value, propertyPrefixMap);\n // if the property is already prefixed\n var webkitOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-moz-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Webkit') > -1) {\n return webkitOutput;\n }\n\n var mozOutput = outputValue.split(/,(?![^()]*(?:\\([^()]*\\))?\\))/g).filter(function (val) {\n return !/-webkit-|-ms-/.test(val);\n }).join(',');\n\n if (property.indexOf('Moz') > -1) {\n return mozOutput;\n }\n\n style['Webkit' + (0, _capitalizeString2.default)(property)] = webkitOutput;\n style['Moz' + (0, _capitalizeString2.default)(property)] = mozOutput;\n return outputValue;\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = addNewValuesOnly;\nfunction addIfNew(list, value) {\n if (list.indexOf(value) === -1) {\n list.push(value);\n }\n}\n\nfunction addNewValuesOnly(list, values) {\n if (Array.isArray(values)) {\n for (var i = 0, len = values.length; i < len; ++i) {\n addIfNew(list, values[i]);\n }\n } else {\n addIfNew(list, values);\n }\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = capitalizeString;\nfunction capitalizeString(str) {\n return str.charAt(0).toUpperCase() + str.slice(1);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isObject;\nfunction isObject(value) {\n return value instanceof Object && !Array.isArray(value);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixProperty;\n\nvar _capitalizeString = require('./capitalizeString');\n\nvar _capitalizeString2 = _interopRequireDefault(_capitalizeString);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction prefixProperty(prefixProperties, property, style) {\n var requiredPrefixes = prefixProperties[property];\n\n if (requiredPrefixes && style.hasOwnProperty(property)) {\n var capitalizedProperty = (0, _capitalizeString2.default)(property);\n\n for (var i = 0; i < requiredPrefixes.length; ++i) {\n var prefixedProperty = requiredPrefixes[i] + capitalizedProperty;\n\n if (!style[prefixedProperty]) {\n style[prefixedProperty] = style[property];\n }\n }\n }\n\n return style;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = prefixValue;\nfunction prefixValue(plugins, property, value, style, metaData) {\n for (var i = 0, len = plugins.length; i < len; ++i) {\n var processedValue = plugins[i](property, value, style, metaData);\n\n // we can stop processing if a value is returned\n // as all plugin criteria are unique\n if (processedValue) {\n return processedValue;\n }\n }\n}","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/*!\n * isobject \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nmodule.exports = function isObject(val) {\n return val != null && typeof val === 'object' && Array.isArray(val) === false;\n};\n","/**\r\n * This file is part of the JS Money library\r\n *\r\n * Copyright (c) 2014 David Kalosi\r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nvar currencies = {\r\n \"USD\": {\r\n \"symbol\": \"$\",\r\n \"name\": \"US Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"USD\",\r\n \"name_plural\": \"US dollars\"\r\n },\r\n \"CAD\": {\r\n \"symbol\": \"CA$\",\r\n \"name\": \"Canadian Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CAD\",\r\n \"name_plural\": \"Canadian dollars\"\r\n },\r\n \"EUR\": {\r\n \"symbol\": \"€\",\r\n \"name\": \"Euro\",\r\n \"symbol_native\": \"€\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"EUR\",\r\n \"name_plural\": \"euros\"\r\n },\r\n \"BTC\": {\r\n \"symbol\": \"BTC\",\r\n \"name\": \"Bitcoin\",\r\n \"symbol_native\": \"฿\",\r\n \"decimal_digits\": 8,\r\n \"rounding\": 0,\r\n \"code\": \"BTC\",\r\n \"name_plural\": \"Bitcoins\"\r\n },\r\n \"AED\": {\r\n \"symbol\": \"AED\",\r\n \"name\": \"United Arab Emirates Dirham\",\r\n \"symbol_native\": \"د.إ.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AED\",\r\n \"name_plural\": \"UAE dirhams\"\r\n },\r\n \"AFN\": {\r\n \"symbol\": \"Af\",\r\n \"name\": \"Afghan Afghani\",\r\n \"symbol_native\": \"؋\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AFN\",\r\n \"name_plural\": \"Afghan Afghanis\"\r\n },\r\n \"ALL\": {\r\n \"symbol\": \"ALL\",\r\n \"name\": \"Albanian Lek\",\r\n \"symbol_native\": \"Lek\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ALL\",\r\n \"name_plural\": \"Albanian lekë\"\r\n },\r\n \"AMD\": {\r\n \"symbol\": \"AMD\",\r\n \"name\": \"Armenian Dram\",\r\n \"symbol_native\": \"դր.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AMD\",\r\n \"name_plural\": \"Armenian drams\"\r\n },\r\n \"ARS\": {\r\n \"symbol\": \"AR$\",\r\n \"name\": \"Argentine Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ARS\",\r\n \"name_plural\": \"Argentine pesos\"\r\n },\r\n \"AUD\": {\r\n \"symbol\": \"AU$\",\r\n \"name\": \"Australian Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AUD\",\r\n \"name_plural\": \"Australian dollars\"\r\n },\r\n \"AZN\": {\r\n \"symbol\": \"man.\",\r\n \"name\": \"Azerbaijani Manat\",\r\n \"symbol_native\": \"ман.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"AZN\",\r\n \"name_plural\": \"Azerbaijani manats\"\r\n },\r\n \"BAM\": {\r\n \"symbol\": \"KM\",\r\n \"name\": \"Bosnia-Herzegovina Convertible Mark\",\r\n \"symbol_native\": \"KM\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BAM\",\r\n \"name_plural\": \"Bosnia-Herzegovina convertible marks\"\r\n },\r\n \"BDT\": {\r\n \"symbol\": \"Tk\",\r\n \"name\": \"Bangladeshi Taka\",\r\n \"symbol_native\": \"৳\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BDT\",\r\n \"name_plural\": \"Bangladeshi takas\"\r\n },\r\n \"BGN\": {\r\n \"symbol\": \"BGN\",\r\n \"name\": \"Bulgarian Lev\",\r\n \"symbol_native\": \"лв.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BGN\",\r\n \"name_plural\": \"Bulgarian leva\"\r\n },\r\n \"BHD\": {\r\n \"symbol\": \"BD\",\r\n \"name\": \"Bahraini Dinar\",\r\n \"symbol_native\": \"د.ب.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"BHD\",\r\n \"name_plural\": \"Bahraini dinars\"\r\n },\r\n \"BIF\": {\r\n \"symbol\": \"FBu\",\r\n \"name\": \"Burundian Franc\",\r\n \"symbol_native\": \"FBu\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"BIF\",\r\n \"name_plural\": \"Burundian francs\"\r\n },\r\n \"BND\": {\r\n \"symbol\": \"BN$\",\r\n \"name\": \"Brunei Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BND\",\r\n \"name_plural\": \"Brunei dollars\"\r\n },\r\n \"BOB\": {\r\n \"symbol\": \"Bs\",\r\n \"name\": \"Bolivian Boliviano\",\r\n \"symbol_native\": \"Bs\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BOB\",\r\n \"name_plural\": \"Bolivian bolivianos\"\r\n },\r\n \"BRL\": {\r\n \"symbol\": \"R$\",\r\n \"name\": \"Brazilian Real\",\r\n \"symbol_native\": \"R$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BRL\",\r\n \"name_plural\": \"Brazilian reals\"\r\n },\r\n \"BWP\": {\r\n \"symbol\": \"BWP\",\r\n \"name\": \"Botswanan Pula\",\r\n \"symbol_native\": \"P\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BWP\",\r\n \"name_plural\": \"Botswanan pulas\"\r\n },\r\n \"BYR\": {\r\n \"symbol\": \"BYR\",\r\n \"name\": \"Belarusian Ruble\",\r\n \"symbol_native\": \"BYR\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"BYR\",\r\n \"name_plural\": \"Belarusian rubles\"\r\n },\r\n \"BZD\": {\r\n \"symbol\": \"BZ$\",\r\n \"name\": \"Belize Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"BZD\",\r\n \"name_plural\": \"Belize dollars\"\r\n },\r\n \"CDF\": {\r\n \"symbol\": \"CDF\",\r\n \"name\": \"Congolese Franc\",\r\n \"symbol_native\": \"FrCD\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CDF\",\r\n \"name_plural\": \"Congolese francs\"\r\n },\r\n \"CHF\": {\r\n \"symbol\": \"CHF\",\r\n \"name\": \"Swiss Franc\",\r\n \"symbol_native\": \"CHF\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0.05,\r\n \"code\": \"CHF\",\r\n \"name_plural\": \"Swiss francs\"\r\n },\r\n \"CLP\": {\r\n \"symbol\": \"CL$\",\r\n \"name\": \"Chilean Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"CLP\",\r\n \"name_plural\": \"Chilean pesos\"\r\n },\r\n \"CNY\": {\r\n \"symbol\": \"CN¥\",\r\n \"name\": \"Chinese Yuan\",\r\n \"symbol_native\": \"CN¥\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CNY\",\r\n \"name_plural\": \"Chinese yuan\"\r\n },\r\n \"COP\": {\r\n \"symbol\": \"CO$\",\r\n \"name\": \"Colombian Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"COP\",\r\n \"name_plural\": \"Colombian pesos\"\r\n },\r\n \"CRC\": {\r\n \"symbol\": \"₡\",\r\n \"name\": \"Costa Rican Colón\",\r\n \"symbol_native\": \"₡\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CRC\",\r\n \"name_plural\": \"Costa Rican colóns\"\r\n },\r\n \"CVE\": {\r\n \"symbol\": \"CV$\",\r\n \"name\": \"Cape Verdean Escudo\",\r\n \"symbol_native\": \"CV$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CVE\",\r\n \"name_plural\": \"Cape Verdean escudos\"\r\n },\r\n \"CZK\": {\r\n \"symbol\": \"Kč\",\r\n \"name\": \"Czech Republic Koruna\",\r\n \"symbol_native\": \"Kč\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"CZK\",\r\n \"name_plural\": \"Czech Republic korunas\"\r\n },\r\n \"DJF\": {\r\n \"symbol\": \"Fdj\",\r\n \"name\": \"Djiboutian Franc\",\r\n \"symbol_native\": \"Fdj\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"DJF\",\r\n \"name_plural\": \"Djiboutian francs\"\r\n },\r\n \"DKK\": {\r\n \"symbol\": \"Dkr\",\r\n \"name\": \"Danish Krone\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"DKK\",\r\n \"name_plural\": \"Danish kroner\"\r\n },\r\n \"DOP\": {\r\n \"symbol\": \"RD$\",\r\n \"name\": \"Dominican Peso\",\r\n \"symbol_native\": \"RD$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"DOP\",\r\n \"name_plural\": \"Dominican pesos\"\r\n },\r\n \"DZD\": {\r\n \"symbol\": \"DA\",\r\n \"name\": \"Algerian Dinar\",\r\n \"symbol_native\": \"د.ج.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"DZD\",\r\n \"name_plural\": \"Algerian dinars\"\r\n },\r\n \"EEK\": {\r\n \"symbol\": \"Ekr\",\r\n \"name\": \"Estonian Kroon\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"EEK\",\r\n \"name_plural\": \"Estonian kroons\"\r\n },\r\n \"EGP\": {\r\n \"symbol\": \"EGP\",\r\n \"name\": \"Egyptian Pound\",\r\n \"symbol_native\": \"ج.م.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"EGP\",\r\n \"name_plural\": \"Egyptian pounds\"\r\n },\r\n \"ERN\": {\r\n \"symbol\": \"Nfk\",\r\n \"name\": \"Eritrean Nakfa\",\r\n \"symbol_native\": \"Nfk\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ERN\",\r\n \"name_plural\": \"Eritrean nakfas\"\r\n },\r\n \"ETB\": {\r\n \"symbol\": \"Br\",\r\n \"name\": \"Ethiopian Birr\",\r\n \"symbol_native\": \"Br\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ETB\",\r\n \"name_plural\": \"Ethiopian birrs\"\r\n },\r\n \"GBP\": {\r\n \"symbol\": \"£\",\r\n \"name\": \"British Pound Sterling\",\r\n \"symbol_native\": \"£\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GBP\",\r\n \"name_plural\": \"British pounds sterling\"\r\n },\r\n \"GEL\": {\r\n \"symbol\": \"GEL\",\r\n \"name\": \"Georgian Lari\",\r\n \"symbol_native\": \"GEL\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GEL\",\r\n \"name_plural\": \"Georgian laris\"\r\n },\r\n \"GHS\": {\r\n \"symbol\": \"GH₵\",\r\n \"name\": \"Ghanaian Cedi\",\r\n \"symbol_native\": \"GH₵\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GHS\",\r\n \"name_plural\": \"Ghanaian cedis\"\r\n },\r\n \"GNF\": {\r\n \"symbol\": \"FG\",\r\n \"name\": \"Guinean Franc\",\r\n \"symbol_native\": \"FG\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"GNF\",\r\n \"name_plural\": \"Guinean francs\"\r\n },\r\n \"GTQ\": {\r\n \"symbol\": \"GTQ\",\r\n \"name\": \"Guatemalan Quetzal\",\r\n \"symbol_native\": \"Q\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"GTQ\",\r\n \"name_plural\": \"Guatemalan quetzals\"\r\n },\r\n \"HKD\": {\r\n \"symbol\": \"HK$\",\r\n \"name\": \"Hong Kong Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HKD\",\r\n \"name_plural\": \"Hong Kong dollars\"\r\n },\r\n \"HNL\": {\r\n \"symbol\": \"HNL\",\r\n \"name\": \"Honduran Lempira\",\r\n \"symbol_native\": \"L\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HNL\",\r\n \"name_plural\": \"Honduran lempiras\"\r\n },\r\n \"HRK\": {\r\n \"symbol\": \"kn\",\r\n \"name\": \"Croatian Kuna\",\r\n \"symbol_native\": \"kn\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HRK\",\r\n \"name_plural\": \"Croatian kunas\"\r\n },\r\n \"HUF\": {\r\n \"symbol\": \"Ft\",\r\n \"name\": \"Hungarian Forint\",\r\n \"symbol_native\": \"Ft\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"HUF\",\r\n \"name_plural\": \"Hungarian forints\"\r\n },\r\n \"IDR\": {\r\n \"symbol\": \"Rp\",\r\n \"name\": \"Indonesian Rupiah\",\r\n \"symbol_native\": \"Rp\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"IDR\",\r\n \"name_plural\": \"Indonesian rupiahs\"\r\n },\r\n \"ILS\": {\r\n \"symbol\": \"₪\",\r\n \"name\": \"Israeli New Sheqel\",\r\n \"symbol_native\": \"₪\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ILS\",\r\n \"name_plural\": \"Israeli new sheqels\"\r\n },\r\n \"INR\": {\r\n \"symbol\": \"Rs\",\r\n \"name\": \"Indian Rupee\",\r\n \"symbol_native\": \"টকা\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"INR\",\r\n \"name_plural\": \"Indian rupees\"\r\n },\r\n \"IQD\": {\r\n \"symbol\": \"IQD\",\r\n \"name\": \"Iraqi Dinar\",\r\n \"symbol_native\": \"د.ع.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"IQD\",\r\n \"name_plural\": \"Iraqi dinars\"\r\n },\r\n \"IRR\": {\r\n \"symbol\": \"IRR\",\r\n \"name\": \"Iranian Rial\",\r\n \"symbol_native\": \"﷼\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"IRR\",\r\n \"name_plural\": \"Iranian rials\"\r\n },\r\n \"ISK\": {\r\n \"symbol\": \"Ikr\",\r\n \"name\": \"Icelandic Króna\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"ISK\",\r\n \"name_plural\": \"Icelandic krónur\"\r\n },\r\n \"JMD\": {\r\n \"symbol\": \"J$\",\r\n \"name\": \"Jamaican Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"JMD\",\r\n \"name_plural\": \"Jamaican dollars\"\r\n },\r\n \"JOD\": {\r\n \"symbol\": \"JD\",\r\n \"name\": \"Jordanian Dinar\",\r\n \"symbol_native\": \"د.أ.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"JOD\",\r\n \"name_plural\": \"Jordanian dinars\"\r\n },\r\n \"JPY\": {\r\n \"symbol\": \"¥\",\r\n \"name\": \"Japanese Yen\",\r\n \"symbol_native\": \"¥\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"JPY\",\r\n \"name_plural\": \"Japanese yen\"\r\n },\r\n \"KES\": {\r\n \"symbol\": \"Ksh\",\r\n \"name\": \"Kenyan Shilling\",\r\n \"symbol_native\": \"Ksh\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"KES\",\r\n \"name_plural\": \"Kenyan shillings\"\r\n },\r\n \"KHR\": {\r\n \"symbol\": \"KHR\",\r\n \"name\": \"Cambodian Riel\",\r\n \"symbol_native\": \"៛\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"KHR\",\r\n \"name_plural\": \"Cambodian riels\"\r\n },\r\n \"KMF\": {\r\n \"symbol\": \"CF\",\r\n \"name\": \"Comorian Franc\",\r\n \"symbol_native\": \"FC\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"KMF\",\r\n \"name_plural\": \"Comorian francs\"\r\n },\r\n \"KRW\": {\r\n \"symbol\": \"₩\",\r\n \"name\": \"South Korean Won\",\r\n \"symbol_native\": \"₩\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"KRW\",\r\n \"name_plural\": \"South Korean won\"\r\n },\r\n \"KWD\": {\r\n \"symbol\": \"KD\",\r\n \"name\": \"Kuwaiti Dinar\",\r\n \"symbol_native\": \"د.ك.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"KWD\",\r\n \"name_plural\": \"Kuwaiti dinars\"\r\n },\r\n \"KZT\": {\r\n \"symbol\": \"KZT\",\r\n \"name\": \"Kazakhstani Tenge\",\r\n \"symbol_native\": \"тңг.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"KZT\",\r\n \"name_plural\": \"Kazakhstani tenges\"\r\n },\r\n \"LAK\": {\r\n \"symbol\": \"₭\",\r\n \"name\": \"Lao kip\",\r\n \"symbol_native\": \"ກີບ\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LAK\",\r\n \"name_plural\": \"Lao kips\"\r\n },\r\n \"LBP\": {\r\n \"symbol\": \"LB£\",\r\n \"name\": \"Lebanese Pound\",\r\n \"symbol_native\": \"ل.ل.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LBP\",\r\n \"name_plural\": \"Lebanese pounds\"\r\n },\r\n \"LKR\": {\r\n \"symbol\": \"SLRs\",\r\n \"name\": \"Sri Lankan Rupee\",\r\n \"symbol_native\": \"SL Re\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LKR\",\r\n \"name_plural\": \"Sri Lankan rupees\"\r\n },\r\n \"LTL\": {\r\n \"symbol\": \"Lt\",\r\n \"name\": \"Lithuanian Litas\",\r\n \"symbol_native\": \"Lt\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LTL\",\r\n \"name_plural\": \"Lithuanian litai\"\r\n },\r\n \"LVL\": {\r\n \"symbol\": \"Ls\",\r\n \"name\": \"Latvian Lats\",\r\n \"symbol_native\": \"Ls\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"LVL\",\r\n \"name_plural\": \"Latvian lati\"\r\n },\r\n \"LYD\": {\r\n \"symbol\": \"LD\",\r\n \"name\": \"Libyan Dinar\",\r\n \"symbol_native\": \"د.ل.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"LYD\",\r\n \"name_plural\": \"Libyan dinars\"\r\n },\r\n \"MAD\": {\r\n \"symbol\": \"MAD\",\r\n \"name\": \"Moroccan Dirham\",\r\n \"symbol_native\": \"د.م.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MAD\",\r\n \"name_plural\": \"Moroccan dirhams\"\r\n },\r\n \"MDL\": {\r\n \"symbol\": \"MDL\",\r\n \"name\": \"Moldovan Leu\",\r\n \"symbol_native\": \"MDL\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MDL\",\r\n \"name_plural\": \"Moldovan lei\"\r\n },\r\n \"MGA\": {\r\n \"symbol\": \"MGA\",\r\n \"name\": \"Malagasy Ariary\",\r\n \"symbol_native\": \"MGA\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MGA\",\r\n \"name_plural\": \"Malagasy Ariaries\"\r\n },\r\n \"MKD\": {\r\n \"symbol\": \"MKD\",\r\n \"name\": \"Macedonian Denar\",\r\n \"symbol_native\": \"MKD\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MKD\",\r\n \"name_plural\": \"Macedonian denari\"\r\n },\r\n \"MMK\": {\r\n \"symbol\": \"MMK\",\r\n \"name\": \"Myanma Kyat\",\r\n \"symbol_native\": \"K\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MMK\",\r\n \"name_plural\": \"Myanma kyats\"\r\n },\r\n \"MOP\": {\r\n \"symbol\": \"MOP$\",\r\n \"name\": \"Macanese Pataca\",\r\n \"symbol_native\": \"MOP$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MOP\",\r\n \"name_plural\": \"Macanese patacas\"\r\n },\r\n \"MUR\": {\r\n \"symbol\": \"MURs\",\r\n \"name\": \"Mauritian Rupee\",\r\n \"symbol_native\": \"MURs\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MUR\",\r\n \"name_plural\": \"Mauritian rupees\"\r\n },\r\n \"MXN\": {\r\n \"symbol\": \"MX$\",\r\n \"name\": \"Mexican Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MXN\",\r\n \"name_plural\": \"Mexican pesos\"\r\n },\r\n \"MYR\": {\r\n \"symbol\": \"RM\",\r\n \"name\": \"Malaysian Ringgit\",\r\n \"symbol_native\": \"RM\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MYR\",\r\n \"name_plural\": \"Malaysian ringgits\"\r\n },\r\n \"MZN\": {\r\n \"symbol\": \"MTn\",\r\n \"name\": \"Mozambican Metical\",\r\n \"symbol_native\": \"MTn\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"MZN\",\r\n \"name_plural\": \"Mozambican meticals\"\r\n },\r\n \"NAD\": {\r\n \"symbol\": \"N$\",\r\n \"name\": \"Namibian Dollar\",\r\n \"symbol_native\": \"N$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NAD\",\r\n \"name_plural\": \"Namibian dollars\"\r\n },\r\n \"NGN\": {\r\n \"symbol\": \"₦\",\r\n \"name\": \"Nigerian Naira\",\r\n \"symbol_native\": \"₦\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NGN\",\r\n \"name_plural\": \"Nigerian nairas\"\r\n },\r\n \"NIO\": {\r\n \"symbol\": \"C$\",\r\n \"name\": \"Nicaraguan Córdoba\",\r\n \"symbol_native\": \"C$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NIO\",\r\n \"name_plural\": \"Nicaraguan córdobas\"\r\n },\r\n \"NOK\": {\r\n \"symbol\": \"Nkr\",\r\n \"name\": \"Norwegian Krone\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NOK\",\r\n \"name_plural\": \"Norwegian kroner\"\r\n },\r\n \"NPR\": {\r\n \"symbol\": \"NPRs\",\r\n \"name\": \"Nepalese Rupee\",\r\n \"symbol_native\": \"नेरू\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NPR\",\r\n \"name_plural\": \"Nepalese rupees\"\r\n },\r\n \"NZD\": {\r\n \"symbol\": \"NZ$\",\r\n \"name\": \"New Zealand Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"NZD\",\r\n \"name_plural\": \"New Zealand dollars\"\r\n },\r\n \"OMR\": {\r\n \"symbol\": \"OMR\",\r\n \"name\": \"Omani Rial\",\r\n \"symbol_native\": \"ر.ع.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"OMR\",\r\n \"name_plural\": \"Omani rials\"\r\n },\r\n \"PAB\": {\r\n \"symbol\": \"B/.\",\r\n \"name\": \"Panamanian Balboa\",\r\n \"symbol_native\": \"B/.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PAB\",\r\n \"name_plural\": \"Panamanian balboas\"\r\n },\r\n \"PEN\": {\r\n \"symbol\": \"S/.\",\r\n \"name\": \"Peruvian Nuevo Sol\",\r\n \"symbol_native\": \"S/.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PEN\",\r\n \"name_plural\": \"Peruvian nuevos soles\"\r\n },\r\n \"PHP\": {\r\n \"symbol\": \"₱\",\r\n \"name\": \"Philippine Peso\",\r\n \"symbol_native\": \"₱\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PHP\",\r\n \"name_plural\": \"Philippine pesos\"\r\n },\r\n \"PKR\": {\r\n \"symbol\": \"PKRs\",\r\n \"name\": \"Pakistani Rupee\",\r\n \"symbol_native\": \"₨\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PKR\",\r\n \"name_plural\": \"Pakistani rupees\"\r\n },\r\n \"PLN\": {\r\n \"symbol\": \"zł\",\r\n \"name\": \"Polish Zloty\",\r\n \"symbol_native\": \"zł\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"PLN\",\r\n \"name_plural\": \"Polish zlotys\"\r\n },\r\n \"PYG\": {\r\n \"symbol\": \"₲\",\r\n \"name\": \"Paraguayan Guarani\",\r\n \"symbol_native\": \"₲\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"PYG\",\r\n \"name_plural\": \"Paraguayan guaranis\"\r\n },\r\n \"QAR\": {\r\n \"symbol\": \"QR\",\r\n \"name\": \"Qatari Rial\",\r\n \"symbol_native\": \"ر.ق.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"QAR\",\r\n \"name_plural\": \"Qatari rials\"\r\n },\r\n \"RON\": {\r\n \"symbol\": \"RON\",\r\n \"name\": \"Romanian Leu\",\r\n \"symbol_native\": \"RON\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"RON\",\r\n \"name_plural\": \"Romanian lei\"\r\n },\r\n \"RSD\": {\r\n \"symbol\": \"din.\",\r\n \"name\": \"Serbian Dinar\",\r\n \"symbol_native\": \"дин.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"RSD\",\r\n \"name_plural\": \"Serbian dinars\"\r\n },\r\n \"RUB\": {\r\n \"symbol\": \"RUB\",\r\n \"name\": \"Russian Ruble\",\r\n \"symbol_native\": \"₽\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"RUB\",\r\n \"name_plural\": \"Russian rubles\"\r\n },\r\n \"RWF\": {\r\n \"symbol\": \"RWF\",\r\n \"name\": \"Rwandan Franc\",\r\n \"symbol_native\": \"FR\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"RWF\",\r\n \"name_plural\": \"Rwandan francs\"\r\n },\r\n \"SAR\": {\r\n \"symbol\": \"SR\",\r\n \"name\": \"Saudi Riyal\",\r\n \"symbol_native\": \"ر.س.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SAR\",\r\n \"name_plural\": \"Saudi riyals\"\r\n },\r\n \"SDG\": {\r\n \"symbol\": \"SDG\",\r\n \"name\": \"Sudanese Pound\",\r\n \"symbol_native\": \"SDG\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SDG\",\r\n \"name_plural\": \"Sudanese pounds\"\r\n },\r\n \"SEK\": {\r\n \"symbol\": \"Skr\",\r\n \"name\": \"Swedish Krona\",\r\n \"symbol_native\": \"kr\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SEK\",\r\n \"name_plural\": \"Swedish kronor\"\r\n },\r\n \"SGD\": {\r\n \"symbol\": \"S$\",\r\n \"name\": \"Singapore Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SGD\",\r\n \"name_plural\": \"Singapore dollars\"\r\n },\r\n \"SOS\": {\r\n \"symbol\": \"Ssh\",\r\n \"name\": \"Somali Shilling\",\r\n \"symbol_native\": \"Ssh\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SOS\",\r\n \"name_plural\": \"Somali shillings\"\r\n },\r\n \"SYP\": {\r\n \"symbol\": \"SY£\",\r\n \"name\": \"Syrian Pound\",\r\n \"symbol_native\": \"ل.س.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"SYP\",\r\n \"name_plural\": \"Syrian pounds\"\r\n },\r\n \"THB\": {\r\n \"symbol\": \"฿\",\r\n \"name\": \"Thai Baht\",\r\n \"symbol_native\": \"฿\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"THB\",\r\n \"name_plural\": \"Thai baht\"\r\n },\r\n \"TND\": {\r\n \"symbol\": \"DT\",\r\n \"name\": \"Tunisian Dinar\",\r\n \"symbol_native\": \"د.ت.‏\",\r\n \"decimal_digits\": 3,\r\n \"rounding\": 0,\r\n \"code\": \"TND\",\r\n \"name_plural\": \"Tunisian dinars\"\r\n },\r\n \"TOP\": {\r\n \"symbol\": \"T$\",\r\n \"name\": \"Tongan Paʻanga\",\r\n \"symbol_native\": \"T$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TOP\",\r\n \"name_plural\": \"Tongan paʻanga\"\r\n },\r\n \"TRY\": {\r\n \"symbol\": \"TL\",\r\n \"name\": \"Turkish Lira\",\r\n \"symbol_native\": \"TL\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TRY\",\r\n \"name_plural\": \"Turkish Lira\"\r\n },\r\n \"TTD\": {\r\n \"symbol\": \"TT$\",\r\n \"name\": \"Trinidad and Tobago Dollar\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TTD\",\r\n \"name_plural\": \"Trinidad and Tobago dollars\"\r\n },\r\n \"TWD\": {\r\n \"symbol\": \"NT$\",\r\n \"name\": \"New Taiwan Dollar\",\r\n \"symbol_native\": \"NT$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TWD\",\r\n \"name_plural\": \"New Taiwan dollars\"\r\n },\r\n \"TZS\": {\r\n \"symbol\": \"TSh\",\r\n \"name\": \"Tanzanian Shilling\",\r\n \"symbol_native\": \"TSh\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"TZS\",\r\n \"name_plural\": \"Tanzanian shillings\"\r\n },\r\n \"UAH\": {\r\n \"symbol\": \"₴\",\r\n \"name\": \"Ukrainian Hryvnia\",\r\n \"symbol_native\": \"₴\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"UAH\",\r\n \"name_plural\": \"Ukrainian hryvnias\"\r\n },\r\n \"UGX\": {\r\n \"symbol\": \"USh\",\r\n \"name\": \"Ugandan Shilling\",\r\n \"symbol_native\": \"USh\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"UGX\",\r\n \"name_plural\": \"Ugandan shillings\"\r\n },\r\n \"UYU\": {\r\n \"symbol\": \"$U\",\r\n \"name\": \"Uruguayan Peso\",\r\n \"symbol_native\": \"$\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"UYU\",\r\n \"name_plural\": \"Uruguayan pesos\"\r\n },\r\n \"UZS\": {\r\n \"symbol\": \"UZS\",\r\n \"name\": \"Uzbekistan Som\",\r\n \"symbol_native\": \"UZS\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"UZS\",\r\n \"name_plural\": \"Uzbekistan som\"\r\n },\r\n \"VEF\": {\r\n \"symbol\": \"Bs.F.\",\r\n \"name\": \"Venezuelan Bolívar\",\r\n \"symbol_native\": \"Bs.F.\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"VEF\",\r\n \"name_plural\": \"Venezuelan bolívars\"\r\n },\r\n \"VND\": {\r\n \"symbol\": \"₫\",\r\n \"name\": \"Vietnamese Dong\",\r\n \"symbol_native\": \"₫\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"VND\",\r\n \"name_plural\": \"Vietnamese dong\"\r\n },\r\n \"XAF\": {\r\n \"symbol\": \"FCFA\",\r\n \"name\": \"CFA Franc BEAC\",\r\n \"symbol_native\": \"FCFA\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"XAF\",\r\n \"name_plural\": \"CFA francs BEAC\"\r\n },\r\n \"XOF\": {\r\n \"symbol\": \"CFA\",\r\n \"name\": \"CFA Franc BCEAO\",\r\n \"symbol_native\": \"CFA\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"XOF\",\r\n \"name_plural\": \"CFA francs BCEAO\"\r\n },\r\n \"YER\": {\r\n \"symbol\": \"YR\",\r\n \"name\": \"Yemeni Rial\",\r\n \"symbol_native\": \"ر.ي.‏\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"YER\",\r\n \"name_plural\": \"Yemeni rials\"\r\n },\r\n \"ZAR\": {\r\n \"symbol\": \"R\",\r\n \"name\": \"South African Rand\",\r\n \"symbol_native\": \"R\",\r\n \"decimal_digits\": 2,\r\n \"rounding\": 0,\r\n \"code\": \"ZAR\",\r\n \"name_plural\": \"South African rand\"\r\n },\r\n \"ZMK\": {\r\n \"symbol\": \"ZK\",\r\n \"name\": \"Zambian Kwacha\",\r\n \"symbol_native\": \"ZK\",\r\n \"decimal_digits\": 0,\r\n \"rounding\": 0,\r\n \"code\": \"ZMK\",\r\n \"name_plural\": \"Zambian kwachas\"\r\n }\r\n};\r\n\r\nObject.keys(currencies).forEach(function (currency) {\r\n module.exports[currency] = currencies[currency]; \r\n});\r\n","/**\n * This file is part of the JS Money library\n *\n * Copyright (c) 2014 David Kalosi\n *\n * For the full copyright and license information, please view the LICENSE\n * file that was distributed with this source code.\n */\n\nmodule.exports = require('./money');\n","/**\r\n * This file is part of the JS Money library\r\n *\r\n * Copyright (c) 2014 David Kalosi\r\n *\r\n * For the full copyright and license information, please view the LICENSE\r\n * file that was distributed with this source code.\r\n */\r\n\r\nvar extend = require('lodash/extend');\r\nvar isFunction = require('lodash/isFunction');\r\nvar isNaN = require('lodash/isNaN');\r\nvar isObject = require('lodash/isObject');\r\nvar isPlainObject = require('lodash/isPlainObject');\r\nvar isString = require('lodash/isString');\r\nvar currencies = require('./currency');\r\n\r\nvar isInt = function (n) {\r\n return Number(n) === n && n % 1 === 0;\r\n};\r\n\r\nvar decimalPlaces = function (num) {\r\n var match = ('' + num).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\r\n\r\n if (!match)\r\n return 0;\r\n\r\n return Math.max(0,\r\n (match[1] ? match[1].length : 0) - (match[2] ? +match[2] : 0));\r\n};\r\n\r\nvar assertSameCurrency = function (left, right) {\r\n if (left.currency !== right.currency)\r\n throw new Error('Different currencies');\r\n};\r\n\r\nvar assertType = function (other) {\r\n if (!(other instanceof Money))\r\n throw new TypeError('Instance of Money required');\r\n};\r\n\r\nvar assertOperand = function (operand) {\r\n if (isNaN(parseFloat(operand)) && !isFinite(operand))\r\n throw new TypeError('Operand must be a number');\r\n};\r\n\r\n/**\r\n * Creates a new Money instance.\r\n * The created Money instances is a value object thus it is immutable.\r\n *\r\n * @param {Number} amount\r\n * @param {Object/String} currency\r\n * @returns {Money}\r\n * @constructor\r\n */\r\nfunction Money(amount, currency) {\r\n if (isString(currency))\r\n currency = currencies[currency];\r\n\r\n if (!isPlainObject(currency))\r\n throw new TypeError('Invalid currency');\r\n\r\n if (!isInt(amount))\r\n throw new TypeError('Amount must be an integer');\r\n\r\n this.amount = amount;\r\n this.currency = currency.code;\r\n Object.freeze(this);\r\n}\r\n\r\nMoney.fromInteger = function (amount, currency) {\r\n if (isObject(amount)) {\r\n if (amount.amount === undefined || amount.currency === undefined)\r\n throw new TypeError('Missing required parameters amount,currency');\r\n\r\n currency = amount.currency;\r\n amount = amount.amount;\r\n }\r\n\r\n if (!isInt(amount))\r\n throw new TypeError('Amount must be an integer value');\r\n\r\n return new Money(amount, currency);\r\n};\r\n\r\nMoney.fromDecimal = function (amount, currency, rounder) {\r\n if (isObject(amount)) {\r\n if (amount.amount === undefined || amount.currency === undefined)\r\n throw new TypeError('Missing required parameters amount,currency');\r\n\r\n rounder = currency;\r\n currency = amount.currency;\r\n amount = amount.amount;\r\n }\r\n\r\n if (isString(currency))\r\n currency = currencies[currency];\r\n\r\n if (!isPlainObject(currency))\r\n throw new TypeError('Invalid currency');\r\n\r\n if (rounder === undefined) {\r\n var decimals = decimalPlaces(amount);\r\n\r\n if (decimals > currency.decimal_digits)\r\n throw new Error(\"The currency \" + currency.code + \" supports only \"\r\n + currency.decimal_digits + \" decimal digits\");\r\n } else {\r\n if (['round', 'floor', 'ceil'].indexOf(rounder) === -1 && typeof rounder !== 'function')\r\n throw new TypeError('Invalid parameter rounder');\r\n\r\n if (isString(rounder))\r\n rounder = Math[rounder];\r\n }\r\n\r\n var precisionMultiplier = Math.pow(10, currency.decimal_digits);\r\n var resultAmount = amount * precisionMultiplier;\r\n\r\n if (rounder)\r\n resultAmount = rounder(resultAmount);\r\n\r\n return new Money(resultAmount, currency);\r\n};\r\n\r\n/**\r\n * Returns true if the two instances of Money are equal, false otherwise.\r\n *\r\n * @param {Money} other\r\n * @returns {Boolean}\r\n */\r\nMoney.prototype.equals = function (other) {\r\n var self = this;\r\n assertType(other);\r\n\r\n return self.amount === other.amount &&\r\n self.currency === other.currency;\r\n};\r\n\r\n/**\r\n * Adds the two objects together creating a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Money} other\r\n * @returns {Money}\r\n */\r\nMoney.prototype.add = function (other) {\r\n var self = this;\r\n assertType(other);\r\n assertSameCurrency(self, other);\r\n\r\n return new Money(self.amount + other.amount, self.currency);\r\n};\r\n\r\n/**\r\n * Subtracts the two objects creating a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Money} other\r\n * @returns {Money}\r\n */\r\nMoney.prototype.subtract = function (other) {\r\n var self = this;\r\n assertType(other);\r\n assertSameCurrency(self, other);\r\n\r\n return new Money(self.amount - other.amount, self.currency);\r\n};\r\n\r\n/**\r\n * Multiplies the object by the multiplier returning a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Number} multiplier\r\n * @param {Function} [fn=Math.round]\r\n * @returns {Money}\r\n */\r\nMoney.prototype.multiply = function (multiplier, fn) {\r\n if (!isFunction(fn))\r\n fn = Math.round;\r\n\r\n assertOperand(multiplier);\r\n var amount = fn(this.amount * multiplier);\r\n\r\n return new Money(amount, this.currency);\r\n};\r\n\r\n/**\r\n * Divides the object by the multiplier returning a new Money instance that holds the result of the operation.\r\n *\r\n * @param {Number} divisor\r\n * @param {Function} [fn=Math.round]\r\n * @returns {Money}\r\n */\r\nMoney.prototype.divide = function (divisor, fn) {\r\n if (!isFunction(fn))\r\n fn = Math.round;\r\n\r\n assertOperand(divisor);\r\n var amount = fn(this.amount / divisor);\r\n\r\n return new Money(amount, this.currency);\r\n};\r\n\r\n/**\r\n * Allocates fund bases on the ratios provided returing an array of objects as a product of the allocation.\r\n *\r\n * @param {Array} other\r\n * @returns {Array.Money}\r\n */\r\nMoney.prototype.allocate = function (ratios) {\r\n var self = this;\r\n var remainder = self.amount;\r\n var results = [];\r\n var total = 0;\r\n\r\n ratios.forEach(function (ratio) {\r\n total += ratio;\r\n });\r\n\r\n ratios.forEach(function (ratio) {\r\n var share = Math.floor(self.amount * ratio / total)\r\n results.push(new Money(share, self.currency));\r\n remainder -= share;\r\n });\r\n\r\n for (var i = 0; remainder > 0; i++) {\r\n results[i] = new Money(results[i].amount + 1, results[i].currency);\r\n remainder--;\r\n }\r\n\r\n return results;\r\n};\r\n\r\n/**\r\n * Compares two instances of Money.\r\n *\r\n * @param {Money} other\r\n * @returns {Number}\r\n */\r\nMoney.prototype.compare = function (other) {\r\n var self = this;\r\n\r\n assertType(other);\r\n assertSameCurrency(self, other);\r\n\r\n if (self.amount === other.amount)\r\n return 0;\r\n\r\n return self.amount > other.amount ? 1 : -1;\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is greater than the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.greaterThan = function (other) {\r\n return 1 === this.compare(other);\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is greater or equal to the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.greaterThanOrEqual = function (other) {\r\n return 0 <= this.compare(other);\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is less than the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.lessThan = function (other) {\r\n return -1 === this.compare(other);\r\n};\r\n\r\n/**\r\n * Checks whether the value represented by this object is less than or equal to the other.\r\n *\r\n * @param {Money} other\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.lessThanOrEqual = function (other) {\r\n return 0 >= this.compare(other);\r\n};\r\n\r\n/**\r\n * Returns true if the amount is zero.\r\n *\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.isZero = function () {\r\n return this.amount === 0;\r\n};\r\n\r\n/**\r\n * Returns true if the amount is positive.\r\n *\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.isPositive = function () {\r\n return this.amount > 0;\r\n};\r\n\r\n/**\r\n * Returns true if the amount is negative.\r\n *\r\n * @returns {boolean}\r\n */\r\nMoney.prototype.isNegative = function () {\r\n return this.amount < 0;\r\n};\r\n\r\n/**\r\n * Returns the decimal value as a float.\r\n *\r\n * @returns {number}\r\n */\r\nMoney.prototype.toDecimal = function () {\r\n return Number(this.toString());\r\n};\r\n\r\n/**\r\n * Returns the decimal value as a string.\r\n *\r\n * @returns {string}\r\n */\r\nMoney.prototype.toString = function () {\r\n var currency = currencies[this.currency];\r\n return (this.amount / Math.pow(10, currency.decimal_digits)).toFixed(currency.decimal_digits);\r\n};\r\n\r\n/**\r\n * Returns a serialised version of the instance.\r\n *\r\n * @returns {{amount: number, currency: string}}\r\n */\r\nMoney.prototype.toJSON = function () {\r\n return {\r\n amount: this.amount,\r\n currency: this.currency\r\n };\r\n};\r\n\r\n/**\r\n * Returns the amount represented by this object.\r\n *\r\n * @returns {number}\r\n */\r\nMoney.prototype.getAmount = function () {\r\n return this.amount;\r\n};\r\n\r\n/**\r\n * Returns the currency represented by this object.\r\n *\r\n * @returns {string}\r\n */\r\nMoney.prototype.getCurrency = function () {\r\n return this.currency;\r\n};\r\n\r\nmodule.exports = extend(Money, currencies);\r\n","var toString = Object.prototype.toString;\n\nmodule.exports = function kindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n\n var type = typeof val;\n if (type === 'boolean') return 'boolean';\n if (type === 'string') return 'string';\n if (type === 'number') return 'number';\n if (type === 'symbol') return 'symbol';\n if (type === 'function') {\n return isGeneratorFn(val) ? 'generatorfunction' : 'function';\n }\n\n if (isArray(val)) return 'array';\n if (isBuffer(val)) return 'buffer';\n if (isArguments(val)) return 'arguments';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n if (isRegexp(val)) return 'regexp';\n\n switch (ctorName(val)) {\n case 'Symbol': return 'symbol';\n case 'Promise': return 'promise';\n\n // Set, Map, WeakSet, WeakMap\n case 'WeakMap': return 'weakmap';\n case 'WeakSet': return 'weakset';\n case 'Map': return 'map';\n case 'Set': return 'set';\n\n // 8-bit typed arrays\n case 'Int8Array': return 'int8array';\n case 'Uint8Array': return 'uint8array';\n case 'Uint8ClampedArray': return 'uint8clampedarray';\n\n // 16-bit typed arrays\n case 'Int16Array': return 'int16array';\n case 'Uint16Array': return 'uint16array';\n\n // 32-bit typed arrays\n case 'Int32Array': return 'int32array';\n case 'Uint32Array': return 'uint32array';\n case 'Float32Array': return 'float32array';\n case 'Float64Array': return 'float64array';\n }\n\n if (isGeneratorObj(val)) {\n return 'generator';\n }\n\n // Non-plain objects\n type = toString.call(val);\n switch (type) {\n case '[object Object]': return 'object';\n // iterators\n case '[object Map Iterator]': return 'mapiterator';\n case '[object Set Iterator]': return 'setiterator';\n case '[object String Iterator]': return 'stringiterator';\n case '[object Array Iterator]': return 'arrayiterator';\n }\n\n // other\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 isArray(val) {\n if (Array.isArray) return Array.isArray(val);\n return val instanceof Array;\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'\n && typeof val.getDate === 'function'\n && typeof val.setDate === 'function';\n}\n\nfunction isRegexp(val) {\n if (val instanceof RegExp) return true;\n return typeof val.flags === 'string'\n && typeof val.ignoreCase === 'boolean'\n && typeof val.multiline === 'boolean'\n && typeof val.global === 'boolean';\n}\n\nfunction isGeneratorFn(name, val) {\n return ctorName(name) === 'GeneratorFunction';\n}\n\nfunction isGeneratorObj(val) {\n return typeof val.throw === 'function'\n && typeof val.return === 'function'\n && typeof val.next === 'function';\n}\n\nfunction isArguments(val) {\n try {\n if (typeof val.length === 'number' && typeof val.callee === 'function') {\n return true;\n }\n } catch (err) {\n if (err.message.indexOf('callee') !== -1) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * If you need to support Safari 5-7 (8-10 yr-old browser),\n * take a look at https://github.com/feross/is-buffer\n */\n\nfunction isBuffer(val) {\n if (val.constructor && typeof val.constructor.isBuffer === 'function') {\n return val.constructor.isBuffer(val);\n }\n return false;\n}\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var copyObject = require('./_copyObject'),\n createAssigner = require('./_createAssigner'),\n keysIn = require('./keysIn');\n\n/**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\nvar assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n});\n\nmodule.exports = assignIn;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","module.exports = require('./assignIn');\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isNumber = require('./isNumber');\n\n/**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\nfunction isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n}\n\nmodule.exports = isNaN;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar numberTag = '[object Number]';\n\n/**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\nfunction isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n}\n\nmodule.exports = isNumber;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","var baseGetTag = require('./_baseGetTag'),\n isArray = require('./isArray'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar stringTag = '[object String]';\n\n/**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\nfunction isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n}\n\nmodule.exports = isString;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\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","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","function isUndefined(value) {\n return value === undefined;\n}\n\nfunction isNull(value) {\n return value === null;\n}\n\nfunction isBoolean(value) {\n return typeof value === 'boolean';\n}\n\nfunction isObject(value) {\n return value === Object(value);\n}\n\nfunction isArray(value) {\n return Array.isArray(value);\n}\n\nfunction isDate(value) {\n return value instanceof Date;\n}\n\nfunction isBlob(value, isReactNative) {\n return isReactNative\n ? isObject(value) && !isUndefined(value.uri)\n : isObject(value) &&\n typeof value.size === 'number' &&\n typeof value.type === 'string' &&\n typeof value.slice === 'function';\n}\n\nfunction isFile(value, isReactNative) {\n return (\n isBlob(value, isReactNative) &&\n typeof value.name === 'string' &&\n (isObject(value.lastModifiedDate) || typeof value.lastModified === 'number')\n );\n}\n\nfunction initCfg(value) {\n return isUndefined(value) ? false : value;\n}\n\nfunction serialize(obj, cfg, fd, pre) {\n cfg = cfg || {};\n fd = fd || new FormData();\n\n cfg.indices = initCfg(cfg.indices);\n cfg.nullsAsUndefineds = initCfg(cfg.nullsAsUndefineds);\n cfg.booleansAsIntegers = initCfg(cfg.booleansAsIntegers);\n cfg.allowEmptyArrays = initCfg(cfg.allowEmptyArrays);\n cfg.noFilesWithArrayNotation = initCfg(cfg.noFilesWithArrayNotation);\n cfg.dotsForObjectNotation = initCfg(cfg.dotsForObjectNotation);\n\n const isReactNative = typeof fd.getParts === 'function';\n\n if (isUndefined(obj)) {\n return fd;\n } else if (isNull(obj)) {\n if (!cfg.nullsAsUndefineds) {\n fd.append(pre, '');\n }\n } else if (isBoolean(obj)) {\n if (cfg.booleansAsIntegers) {\n fd.append(pre, obj ? 1 : 0);\n } else {\n fd.append(pre, obj);\n }\n } else if (isArray(obj)) {\n if (obj.length) {\n obj.forEach((value, index) => {\n let key = pre + '[' + (cfg.indices ? index : '') + ']';\n\n if (cfg.noFilesWithArrayNotation && isFile(value, isReactNative)) {\n key = pre;\n }\n\n serialize(value, cfg, fd, key);\n });\n } else if (cfg.allowEmptyArrays) {\n fd.append(pre + '[]', '');\n }\n } else if (isDate(obj)) {\n fd.append(pre, obj.toISOString());\n } else if (isObject(obj) && !isBlob(obj, isReactNative)) {\n Object.keys(obj).forEach((prop) => {\n const value = obj[prop];\n\n if (isArray(value)) {\n while (prop.length > 2 && prop.lastIndexOf('[]') === prop.length - 2) {\n prop = prop.substring(0, prop.length - 2);\n }\n }\n\n const key = pre\n ? cfg.dotsForObjectNotation\n ? pre + '.' + prop\n : pre + '[' + prop + ']'\n : prop;\n\n serialize(value, cfg, fd, key);\n });\n } else {\n fd.append(pre, obj);\n }\n\n return fd;\n}\n\nmodule.exports = {\n serialize,\n};\n","'use strict';\n\n// modified from https://github.com/es-shims/es6-shim\nvar objectKeys = require('object-keys');\nvar hasSymbols = require('has-symbols/shams')();\nvar callBound = require('call-bind/callBound');\nvar toObject = Object;\nvar $push = callBound('Array.prototype.push');\nvar $propIsEnumerable = callBound('Object.prototype.propertyIsEnumerable');\nvar originalGetSymbols = hasSymbols ? Object.getOwnPropertySymbols : null;\n\n// eslint-disable-next-line no-unused-vars\nmodule.exports = function assign(target, source1) {\n\tif (target == null) { throw new TypeError('target must be an object'); }\n\tvar to = toObject(target); // step 1\n\tif (arguments.length === 1) {\n\t\treturn to; // step 2\n\t}\n\tfor (var s = 1; s < arguments.length; ++s) {\n\t\tvar from = toObject(arguments[s]); // step 3.a.i\n\n\t\t// step 3.a.ii:\n\t\tvar keys = objectKeys(from);\n\t\tvar getSymbols = hasSymbols && (Object.getOwnPropertySymbols || originalGetSymbols);\n\t\tif (getSymbols) {\n\t\t\tvar syms = getSymbols(from);\n\t\t\tfor (var j = 0; j < syms.length; ++j) {\n\t\t\t\tvar key = syms[j];\n\t\t\t\tif ($propIsEnumerable(from, key)) {\n\t\t\t\t\t$push(keys, key);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// step 3.a.iii:\n\t\tfor (var i = 0; i < keys.length; ++i) {\n\t\t\tvar nextKey = keys[i];\n\t\t\tif ($propIsEnumerable(from, nextKey)) { // step 3.a.iii.2\n\t\t\t\tvar propValue = from[nextKey]; // step 3.a.iii.2.a\n\t\t\t\tto[nextKey] = propValue; // step 3.a.iii.2.b\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to; // step 4\n};\n","'use strict';\n\nvar defineProperties = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind.apply(getPolyfill());\n// eslint-disable-next-line no-unused-vars\nvar bound = function assign(target, source1) {\n\treturn polyfill(Object, arguments);\n};\n\ndefineProperties(bound, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = bound;\n","'use strict';\n\nvar implementation = require('./implementation');\n\nvar lacksProperEnumerationOrder = function () {\n\tif (!Object.assign) {\n\t\treturn false;\n\t}\n\t/*\n\t * v8, specifically in node 4.x, has a bug with incorrect property enumeration order\n\t * note: this does not detect the bug unless there's 20 characters\n\t */\n\tvar str = 'abcdefghijklmnopqrst';\n\tvar letters = str.split('');\n\tvar map = {};\n\tfor (var i = 0; i < letters.length; ++i) {\n\t\tmap[letters[i]] = letters[i];\n\t}\n\tvar obj = Object.assign({}, map);\n\tvar actual = '';\n\tfor (var k in obj) {\n\t\tactual += k;\n\t}\n\treturn str !== actual;\n};\n\nvar assignHasPendingExceptions = function () {\n\tif (!Object.assign || !Object.preventExtensions) {\n\t\treturn false;\n\t}\n\t/*\n\t * Firefox 37 still has \"pending exception\" logic in its Object.assign implementation,\n\t * which is 72% slower than our shim, and Firefox 40's native implementation.\n\t */\n\tvar thrower = Object.preventExtensions({ 1: 2 });\n\ttry {\n\t\tObject.assign(thrower, 'xy');\n\t} catch (e) {\n\t\treturn thrower[1] === 'y';\n\t}\n\treturn false;\n};\n\nmodule.exports = function getPolyfill() {\n\tif (!Object.assign) {\n\t\treturn implementation;\n\t}\n\tif (lacksProperEnumerationOrder()) {\n\t\treturn implementation;\n\t}\n\tif (assignHasPendingExceptions()) {\n\t\treturn implementation;\n\t}\n\treturn Object.assign;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimAssign() {\n\tvar polyfill = getPolyfill();\n\tdefine(\n\t\tObject,\n\t\t{ assign: polyfill },\n\t\t{ assign: function () { return Object.assign !== polyfill; } }\n\t);\n\treturn polyfill;\n};\n","var parse = require(\"./parse\");\nvar walk = require(\"./walk\");\nvar stringify = require(\"./stringify\");\n\nfunction ValueParser(value) {\n if (this instanceof ValueParser) {\n this.nodes = parse(value);\n return this;\n }\n return new ValueParser(value);\n}\n\nValueParser.prototype.toString = function() {\n return Array.isArray(this.nodes) ? stringify(this.nodes) : \"\";\n};\n\nValueParser.prototype.walk = function(cb, bubble) {\n walk(this.nodes, cb, bubble);\n return this;\n};\n\nValueParser.unit = require(\"./unit\");\n\nValueParser.walk = walk;\n\nValueParser.stringify = stringify;\n\nmodule.exports = ValueParser;\n","var openParentheses = \"(\".charCodeAt(0);\nvar closeParentheses = \")\".charCodeAt(0);\nvar singleQuote = \"'\".charCodeAt(0);\nvar doubleQuote = '\"'.charCodeAt(0);\nvar backslash = \"\\\\\".charCodeAt(0);\nvar slash = \"/\".charCodeAt(0);\nvar comma = \",\".charCodeAt(0);\nvar colon = \":\".charCodeAt(0);\nvar star = \"*\".charCodeAt(0);\nvar uLower = \"u\".charCodeAt(0);\nvar uUpper = \"U\".charCodeAt(0);\nvar plus = \"+\".charCodeAt(0);\nvar isUnicodeRange = /^[a-f0-9?-]+$/i;\n\nmodule.exports = function(input) {\n var tokens = [];\n var value = input;\n\n var next,\n quote,\n prev,\n token,\n escape,\n escapePos,\n whitespacePos,\n parenthesesOpenPos;\n var pos = 0;\n var code = value.charCodeAt(pos);\n var max = value.length;\n var stack = [{ nodes: tokens }];\n var balanced = 0;\n var parent;\n\n var name = \"\";\n var before = \"\";\n var after = \"\";\n\n while (pos < max) {\n // Whitespaces\n if (code <= 32) {\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n token = value.slice(pos, next);\n\n prev = tokens[tokens.length - 1];\n if (code === closeParentheses && balanced) {\n after = token;\n } else if (prev && prev.type === \"div\") {\n prev.after = token;\n prev.sourceEndIndex += token.length;\n } else if (\n code === comma ||\n code === colon ||\n (code === slash &&\n value.charCodeAt(next + 1) !== star &&\n (!parent ||\n (parent && parent.type === \"function\" && parent.value !== \"calc\")))\n ) {\n before = token;\n } else {\n tokens.push({\n type: \"space\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n }\n\n pos = next;\n\n // Quotes\n } else if (code === singleQuote || code === doubleQuote) {\n next = pos;\n quote = code === singleQuote ? \"'\" : '\"';\n token = {\n type: \"string\",\n sourceIndex: pos,\n quote: quote\n };\n do {\n escape = false;\n next = value.indexOf(quote, next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += quote;\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n token.value = value.slice(pos + 1, next);\n token.sourceEndIndex = token.unclosed ? next : next + 1;\n tokens.push(token);\n pos = next + 1;\n code = value.charCodeAt(pos);\n\n // Comments\n } else if (code === slash && value.charCodeAt(pos + 1) === star) {\n next = value.indexOf(\"*/\", pos);\n\n token = {\n type: \"comment\",\n sourceIndex: pos,\n sourceEndIndex: next + 2\n };\n\n if (next === -1) {\n token.unclosed = true;\n next = value.length;\n token.sourceEndIndex = next;\n }\n\n token.value = value.slice(pos + 2, next);\n tokens.push(token);\n\n pos = next + 2;\n code = value.charCodeAt(pos);\n\n // Operation within calc\n } else if (\n (code === slash || code === star) &&\n parent &&\n parent.type === \"function\" &&\n parent.value === \"calc\"\n ) {\n token = value[pos];\n tokens.push({\n type: \"word\",\n sourceIndex: pos - before.length,\n sourceEndIndex: pos + token.length,\n value: token\n });\n pos += 1;\n code = value.charCodeAt(pos);\n\n // Dividers\n } else if (code === slash || code === comma || code === colon) {\n token = value[pos];\n\n tokens.push({\n type: \"div\",\n sourceIndex: pos - before.length,\n sourceEndIndex: pos + token.length,\n value: token,\n before: before,\n after: \"\"\n });\n before = \"\";\n\n pos += 1;\n code = value.charCodeAt(pos);\n\n // Open parentheses\n } else if (openParentheses === code) {\n // Whitespaces after open parentheses\n next = pos;\n do {\n next += 1;\n code = value.charCodeAt(next);\n } while (code <= 32);\n parenthesesOpenPos = pos;\n token = {\n type: \"function\",\n sourceIndex: pos - name.length,\n value: name,\n before: value.slice(parenthesesOpenPos + 1, next)\n };\n pos = next;\n\n if (name === \"url\" && code !== singleQuote && code !== doubleQuote) {\n next -= 1;\n do {\n escape = false;\n next = value.indexOf(\")\", next + 1);\n if (~next) {\n escapePos = next;\n while (value.charCodeAt(escapePos - 1) === backslash) {\n escapePos -= 1;\n escape = !escape;\n }\n } else {\n value += \")\";\n next = value.length - 1;\n token.unclosed = true;\n }\n } while (escape);\n // Whitespaces before closed\n whitespacePos = next;\n do {\n whitespacePos -= 1;\n code = value.charCodeAt(whitespacePos);\n } while (code <= 32);\n if (parenthesesOpenPos < whitespacePos) {\n if (pos !== whitespacePos + 1) {\n token.nodes = [\n {\n type: \"word\",\n sourceIndex: pos,\n sourceEndIndex: whitespacePos + 1,\n value: value.slice(pos, whitespacePos + 1)\n }\n ];\n } else {\n token.nodes = [];\n }\n if (token.unclosed && whitespacePos + 1 !== next) {\n token.after = \"\";\n token.nodes.push({\n type: \"space\",\n sourceIndex: whitespacePos + 1,\n sourceEndIndex: next,\n value: value.slice(whitespacePos + 1, next)\n });\n } else {\n token.after = value.slice(whitespacePos + 1, next);\n token.sourceEndIndex = next;\n }\n } else {\n token.after = \"\";\n token.nodes = [];\n }\n pos = next + 1;\n token.sourceEndIndex = token.unclosed ? next : pos;\n code = value.charCodeAt(pos);\n tokens.push(token);\n } else {\n balanced += 1;\n token.after = \"\";\n token.sourceEndIndex = pos + 1;\n tokens.push(token);\n stack.push(token);\n tokens = token.nodes = [];\n parent = token;\n }\n name = \"\";\n\n // Close parentheses\n } else if (closeParentheses === code && balanced) {\n pos += 1;\n code = value.charCodeAt(pos);\n\n parent.after = after;\n parent.sourceEndIndex += after.length;\n after = \"\";\n balanced -= 1;\n stack[stack.length - 1].sourceEndIndex = pos;\n stack.pop();\n parent = stack[balanced];\n tokens = parent.nodes;\n\n // Words\n } else {\n next = pos;\n do {\n if (code === backslash) {\n next += 1;\n }\n next += 1;\n code = value.charCodeAt(next);\n } while (\n next < max &&\n !(\n code <= 32 ||\n code === singleQuote ||\n code === doubleQuote ||\n code === comma ||\n code === colon ||\n code === slash ||\n code === openParentheses ||\n (code === star &&\n parent &&\n parent.type === \"function\" &&\n parent.value === \"calc\") ||\n (code === slash &&\n parent.type === \"function\" &&\n parent.value === \"calc\") ||\n (code === closeParentheses && balanced)\n )\n );\n token = value.slice(pos, next);\n\n if (openParentheses === code) {\n name = token;\n } else if (\n (uLower === token.charCodeAt(0) || uUpper === token.charCodeAt(0)) &&\n plus === token.charCodeAt(1) &&\n isUnicodeRange.test(token.slice(2))\n ) {\n tokens.push({\n type: \"unicode-range\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n } else {\n tokens.push({\n type: \"word\",\n sourceIndex: pos,\n sourceEndIndex: next,\n value: token\n });\n }\n\n pos = next;\n }\n }\n\n for (pos = stack.length - 1; pos; pos -= 1) {\n stack[pos].unclosed = true;\n stack[pos].sourceEndIndex = value.length;\n }\n\n return stack[0].nodes;\n};\n","function stringifyNode(node, custom) {\n var type = node.type;\n var value = node.value;\n var buf;\n var customResult;\n\n if (custom && (customResult = custom(node)) !== undefined) {\n return customResult;\n } else if (type === \"word\" || type === \"space\") {\n return value;\n } else if (type === \"string\") {\n buf = node.quote || \"\";\n return buf + value + (node.unclosed ? \"\" : buf);\n } else if (type === \"comment\") {\n return \"/*\" + value + (node.unclosed ? \"\" : \"*/\");\n } else if (type === \"div\") {\n return (node.before || \"\") + value + (node.after || \"\");\n } else if (Array.isArray(node.nodes)) {\n buf = stringify(node.nodes, custom);\n if (type !== \"function\") {\n return buf;\n }\n return (\n value +\n \"(\" +\n (node.before || \"\") +\n buf +\n (node.after || \"\") +\n (node.unclosed ? \"\" : \")\")\n );\n }\n return value;\n}\n\nfunction stringify(nodes, custom) {\n var result, i;\n\n if (Array.isArray(nodes)) {\n result = \"\";\n for (i = nodes.length - 1; ~i; i -= 1) {\n result = stringifyNode(nodes[i], custom) + result;\n }\n return result;\n }\n return stringifyNode(nodes, custom);\n}\n\nmodule.exports = stringify;\n","var minus = \"-\".charCodeAt(0);\nvar plus = \"+\".charCodeAt(0);\nvar dot = \".\".charCodeAt(0);\nvar exp = \"e\".charCodeAt(0);\nvar EXP = \"E\".charCodeAt(0);\n\n// Check if three code points would start a number\n// https://www.w3.org/TR/css-syntax-3/#starts-with-a-number\nfunction likeNumber(value) {\n var code = value.charCodeAt(0);\n var nextCode;\n\n if (code === plus || code === minus) {\n nextCode = value.charCodeAt(1);\n\n if (nextCode >= 48 && nextCode <= 57) {\n return true;\n }\n\n var nextNextCode = value.charCodeAt(2);\n\n if (nextCode === dot && nextNextCode >= 48 && nextNextCode <= 57) {\n return true;\n }\n\n return false;\n }\n\n if (code === dot) {\n nextCode = value.charCodeAt(1);\n\n if (nextCode >= 48 && nextCode <= 57) {\n return true;\n }\n\n return false;\n }\n\n if (code >= 48 && code <= 57) {\n return true;\n }\n\n return false;\n}\n\n// Consume a number\n// https://www.w3.org/TR/css-syntax-3/#consume-number\nmodule.exports = function(value) {\n var pos = 0;\n var length = value.length;\n var code;\n var nextCode;\n var nextNextCode;\n\n if (length === 0 || !likeNumber(value)) {\n return false;\n }\n\n code = value.charCodeAt(pos);\n\n if (code === plus || code === minus) {\n pos++;\n }\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n\n code = value.charCodeAt(pos);\n nextCode = value.charCodeAt(pos + 1);\n\n if (code === dot && nextCode >= 48 && nextCode <= 57) {\n pos += 2;\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n }\n\n code = value.charCodeAt(pos);\n nextCode = value.charCodeAt(pos + 1);\n nextNextCode = value.charCodeAt(pos + 2);\n\n if (\n (code === exp || code === EXP) &&\n ((nextCode >= 48 && nextCode <= 57) ||\n ((nextCode === plus || nextCode === minus) &&\n nextNextCode >= 48 &&\n nextNextCode <= 57))\n ) {\n pos += nextCode === plus || nextCode === minus ? 3 : 2;\n\n while (pos < length) {\n code = value.charCodeAt(pos);\n\n if (code < 48 || code > 57) {\n break;\n }\n\n pos += 1;\n }\n }\n\n return {\n number: value.slice(0, pos),\n unit: value.slice(pos)\n };\n};\n","module.exports = function walk(nodes, cb, bubble) {\n var i, max, node, result;\n\n for (i = 0, max = nodes.length; i < max; i += 1) {\n node = nodes[i];\n if (!bubble) {\n result = cb(node, i, nodes);\n }\n\n if (\n result !== false &&\n node.type === \"function\" &&\n Array.isArray(node.nodes)\n ) {\n walk(node.nodes, cb, bubble);\n }\n\n if (bubble) {\n cb(node, i, nodes);\n }\n }\n};\n","'use strict';\n\nvar isArray = require('isarray');\n\n// TODO: inline, semver-major\n\n/** @type {(x: unknown) => x is object} */\nmodule.exports = function isPlainObject(x) {\n\treturn x && typeof x === 'object' && !isArray(x);\n};\n","'use strict';\n\nvar assign = require('object.assign');\nvar hasOwn = require('hasown');\nvar ownKeys = require('reflect.ownkeys');\nvar TypeError = require('es-errors/type');\n\nvar isPlainObject = require('../build/helpers/isPlainObject');\n\nvar zeroWidthSpace = '\\u200b';\nvar specialProperty = 'prop-types-exact: ' + zeroWidthSpace;\n// eslint-disable-next-line no-restricted-properties\nvar semaphore = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' ? Symbol['for'](specialProperty) : /* istanbul ignore next */ specialProperty;\n\nvar callBound = require('call-bind/callBound');\nvar isEnumerable = callBound('Object.prototype.propertyIsEnumerable');\n\n/** @type {(fn: T) => T} */\nfunction brand(fn) {\n\t// eslint-disable-next-line no-param-reassign\n\tfn[specialProperty] = semaphore;\n\treturn fn;\n}\n\nfunction isBranded(value) {\n\treturn value && value[specialProperty] === semaphore;\n}\n\nmodule.exports = function forbidExtraProps(propTypes) {\n\tif (!isPlainObject(propTypes)) {\n\t\tthrow new TypeError('given propTypes must be an object');\n\t}\n\tif (hasOwn(propTypes, specialProperty) && !isBranded(propTypes[specialProperty])) {\n\t\tthrow new TypeError('Against all odds, you created a propType for a prop that uses both the zero-width space and our custom string - which, sadly, conflicts with `prop-types-exact`');\n\t}\n\n\tvar forbidden = {};\n\tforbidden[specialProperty] = brand(function forbidUnknownProps(props, _, componentName) {\n\t\tvar unknownProps = ownKeys(props).filter(function (prop) {\n\t\t\treturn !hasOwn(propTypes, prop) && isEnumerable(props, prop);\n\t\t});\n\t\tif (unknownProps.length > 0) {\n\t\t\treturn new TypeError(componentName + ': unknown props found: ' + unknownProps.join(', '));\n\t\t}\n\t\treturn null;\n\t});\n\n\treturn assign({}, propTypes, forbidden);\n};\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\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\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\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\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\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\n\nvar replace = String.prototype.replace;\nvar percentTwenties = /%20/g;\n\nvar Format = {\n RFC1738: 'RFC1738',\n RFC3986: 'RFC3986'\n};\n\nmodule.exports = {\n 'default': Format.RFC3986,\n formatters: {\n RFC1738: function (value) {\n return replace.call(value, percentTwenties, '+');\n },\n RFC3986: function (value) {\n return String(value);\n }\n },\n RFC1738: Format.RFC1738,\n RFC3986: Format.RFC3986\n};\n","'use strict';\n\nvar stringify = require('./stringify');\nvar parse = require('./parse');\nvar formats = require('./formats');\n\nmodule.exports = {\n formats: formats,\n parse: parse,\n stringify: stringify\n};\n","'use strict';\n\nvar utils = require('./utils');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar defaults = {\n allowDots: false,\n allowPrototypes: false,\n allowSparse: false,\n arrayLimit: 20,\n charset: 'utf-8',\n charsetSentinel: false,\n comma: false,\n decoder: utils.decode,\n delimiter: '&',\n depth: 5,\n ignoreQueryPrefix: false,\n interpretNumericEntities: false,\n parameterLimit: 1000,\n parseArrays: true,\n plainObjects: false,\n strictNullHandling: false\n};\n\nvar interpretNumericEntities = function (str) {\n return str.replace(/&#(\\d+);/g, function ($0, numberStr) {\n return String.fromCharCode(parseInt(numberStr, 10));\n });\n};\n\nvar parseArrayValue = function (val, options) {\n if (val && typeof val === 'string' && options.comma && val.indexOf(',') > -1) {\n return val.split(',');\n }\n\n return val;\n};\n\n// This is what browsers will submit when the ✓ character occurs in an\n// application/x-www-form-urlencoded body and the encoding of the page containing\n// the form is iso-8859-1, or when the submitted form has an accept-charset\n// attribute of iso-8859-1. Presumably also with other charsets that do not contain\n// the ✓ character, such as us-ascii.\nvar isoSentinel = 'utf8=%26%2310003%3B'; // encodeURIComponent('✓')\n\n// These are the percent-encoded utf-8 octets representing a checkmark, indicating that the request actually is utf-8 encoded.\nvar charsetSentinel = 'utf8=%E2%9C%93'; // encodeURIComponent('✓')\n\nvar parseValues = function parseQueryStringValues(str, options) {\n var obj = {};\n var cleanStr = options.ignoreQueryPrefix ? str.replace(/^\\?/, '') : str;\n var limit = options.parameterLimit === Infinity ? undefined : options.parameterLimit;\n var parts = cleanStr.split(options.delimiter, limit);\n var skipIndex = -1; // Keep track of where the utf8 sentinel was found\n var i;\n\n var charset = options.charset;\n if (options.charsetSentinel) {\n for (i = 0; i < parts.length; ++i) {\n if (parts[i].indexOf('utf8=') === 0) {\n if (parts[i] === charsetSentinel) {\n charset = 'utf-8';\n } else if (parts[i] === isoSentinel) {\n charset = 'iso-8859-1';\n }\n skipIndex = i;\n i = parts.length; // The eslint settings do not allow break;\n }\n }\n }\n\n for (i = 0; i < parts.length; ++i) {\n if (i === skipIndex) {\n continue;\n }\n var part = parts[i];\n\n var bracketEqualsPos = part.indexOf(']=');\n var pos = bracketEqualsPos === -1 ? part.indexOf('=') : bracketEqualsPos + 1;\n\n var key, val;\n if (pos === -1) {\n key = options.decoder(part, defaults.decoder, charset, 'key');\n val = options.strictNullHandling ? null : '';\n } else {\n key = options.decoder(part.slice(0, pos), defaults.decoder, charset, 'key');\n val = utils.maybeMap(\n parseArrayValue(part.slice(pos + 1), options),\n function (encodedVal) {\n return options.decoder(encodedVal, defaults.decoder, charset, 'value');\n }\n );\n }\n\n if (val && options.interpretNumericEntities && charset === 'iso-8859-1') {\n val = interpretNumericEntities(val);\n }\n\n if (part.indexOf('[]=') > -1) {\n val = isArray(val) ? [val] : val;\n }\n\n if (has.call(obj, key)) {\n obj[key] = utils.combine(obj[key], val);\n } else {\n obj[key] = val;\n }\n }\n\n return obj;\n};\n\nvar parseObject = function (chain, val, options, valuesParsed) {\n var leaf = valuesParsed ? val : parseArrayValue(val, options);\n\n for (var i = chain.length - 1; i >= 0; --i) {\n var obj;\n var root = chain[i];\n\n if (root === '[]' && options.parseArrays) {\n obj = [].concat(leaf);\n } else {\n obj = options.plainObjects ? Object.create(null) : {};\n var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root;\n var index = parseInt(cleanRoot, 10);\n if (!options.parseArrays && cleanRoot === '') {\n obj = { 0: leaf };\n } else if (\n !isNaN(index)\n && root !== cleanRoot\n && String(index) === cleanRoot\n && index >= 0\n && (options.parseArrays && index <= options.arrayLimit)\n ) {\n obj = [];\n obj[index] = leaf;\n } else if (cleanRoot !== '__proto__') {\n obj[cleanRoot] = leaf;\n }\n }\n\n leaf = obj;\n }\n\n return leaf;\n};\n\nvar parseKeys = function parseQueryStringKeys(givenKey, val, options, valuesParsed) {\n if (!givenKey) {\n return;\n }\n\n // Transform dot notation to bracket notation\n var key = options.allowDots ? givenKey.replace(/\\.([^.[]+)/g, '[$1]') : givenKey;\n\n // The regex chunks\n\n var brackets = /(\\[[^[\\]]*])/;\n var child = /(\\[[^[\\]]*])/g;\n\n // Get the parent\n\n var segment = options.depth > 0 && brackets.exec(key);\n var parent = segment ? key.slice(0, segment.index) : key;\n\n // Stash the parent if it exists\n\n var keys = [];\n if (parent) {\n // If we aren't using plain objects, optionally prefix keys that would overwrite object prototype properties\n if (!options.plainObjects && has.call(Object.prototype, parent)) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n\n keys.push(parent);\n }\n\n // Loop through children appending to the array until we hit depth\n\n var i = 0;\n while (options.depth > 0 && (segment = child.exec(key)) !== null && i < options.depth) {\n i += 1;\n if (!options.plainObjects && has.call(Object.prototype, segment[1].slice(1, -1))) {\n if (!options.allowPrototypes) {\n return;\n }\n }\n keys.push(segment[1]);\n }\n\n // If there's a remainder, just add whatever is left\n\n if (segment) {\n keys.push('[' + key.slice(segment.index) + ']');\n }\n\n return parseObject(keys, val, options, valuesParsed);\n};\n\nvar normalizeParseOptions = function normalizeParseOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.decoder !== null && opts.decoder !== undefined && typeof opts.decoder !== 'function') {\n throw new TypeError('Decoder has to be a function.');\n }\n\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n var charset = typeof opts.charset === 'undefined' ? defaults.charset : opts.charset;\n\n return {\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n allowPrototypes: typeof opts.allowPrototypes === 'boolean' ? opts.allowPrototypes : defaults.allowPrototypes,\n allowSparse: typeof opts.allowSparse === 'boolean' ? opts.allowSparse : defaults.allowSparse,\n arrayLimit: typeof opts.arrayLimit === 'number' ? opts.arrayLimit : defaults.arrayLimit,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n comma: typeof opts.comma === 'boolean' ? opts.comma : defaults.comma,\n decoder: typeof opts.decoder === 'function' ? opts.decoder : defaults.decoder,\n delimiter: typeof opts.delimiter === 'string' || utils.isRegExp(opts.delimiter) ? opts.delimiter : defaults.delimiter,\n // eslint-disable-next-line no-implicit-coercion, no-extra-parens\n depth: (typeof opts.depth === 'number' || opts.depth === false) ? +opts.depth : defaults.depth,\n ignoreQueryPrefix: opts.ignoreQueryPrefix === true,\n interpretNumericEntities: typeof opts.interpretNumericEntities === 'boolean' ? opts.interpretNumericEntities : defaults.interpretNumericEntities,\n parameterLimit: typeof opts.parameterLimit === 'number' ? opts.parameterLimit : defaults.parameterLimit,\n parseArrays: opts.parseArrays !== false,\n plainObjects: typeof opts.plainObjects === 'boolean' ? opts.plainObjects : defaults.plainObjects,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (str, opts) {\n var options = normalizeParseOptions(opts);\n\n if (str === '' || str === null || typeof str === 'undefined') {\n return options.plainObjects ? Object.create(null) : {};\n }\n\n var tempObj = typeof str === 'string' ? parseValues(str, options) : str;\n var obj = options.plainObjects ? Object.create(null) : {};\n\n // Iterate over the keys and setup the new object\n\n var keys = Object.keys(tempObj);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n var newObj = parseKeys(key, tempObj[key], options, typeof str === 'string');\n obj = utils.merge(obj, newObj, options);\n }\n\n if (options.allowSparse === true) {\n return obj;\n }\n\n return utils.compact(obj);\n};\n","'use strict';\n\nvar getSideChannel = require('side-channel');\nvar utils = require('./utils');\nvar formats = require('./formats');\nvar has = Object.prototype.hasOwnProperty;\n\nvar arrayPrefixGenerators = {\n brackets: function brackets(prefix) {\n return prefix + '[]';\n },\n comma: 'comma',\n indices: function indices(prefix, key) {\n return prefix + '[' + key + ']';\n },\n repeat: function repeat(prefix) {\n return prefix;\n }\n};\n\nvar isArray = Array.isArray;\nvar split = String.prototype.split;\nvar push = Array.prototype.push;\nvar pushToArray = function (arr, valueOrArray) {\n push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]);\n};\n\nvar toISO = Date.prototype.toISOString;\n\nvar defaultFormat = formats['default'];\nvar defaults = {\n addQueryPrefix: false,\n allowDots: false,\n charset: 'utf-8',\n charsetSentinel: false,\n delimiter: '&',\n encode: true,\n encoder: utils.encode,\n encodeValuesOnly: false,\n format: defaultFormat,\n formatter: formats.formatters[defaultFormat],\n // deprecated\n indices: false,\n serializeDate: function serializeDate(date) {\n return toISO.call(date);\n },\n skipNulls: false,\n strictNullHandling: false\n};\n\nvar isNonNullishPrimitive = function isNonNullishPrimitive(v) {\n return typeof v === 'string'\n || typeof v === 'number'\n || typeof v === 'boolean'\n || typeof v === 'symbol'\n || typeof v === 'bigint';\n};\n\nvar sentinel = {};\n\nvar stringify = function stringify(\n object,\n prefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n sideChannel\n) {\n var obj = object;\n\n var tmpSc = sideChannel;\n var step = 0;\n var findFlag = false;\n while ((tmpSc = tmpSc.get(sentinel)) !== void undefined && !findFlag) {\n // Where object last appeared in the ref tree\n var pos = tmpSc.get(object);\n step += 1;\n if (typeof pos !== 'undefined') {\n if (pos === step) {\n throw new RangeError('Cyclic object value');\n } else {\n findFlag = true; // Break while\n }\n }\n if (typeof tmpSc.get(sentinel) === 'undefined') {\n step = 0;\n }\n }\n\n if (typeof filter === 'function') {\n obj = filter(prefix, obj);\n } else if (obj instanceof Date) {\n obj = serializeDate(obj);\n } else if (generateArrayPrefix === 'comma' && isArray(obj)) {\n obj = utils.maybeMap(obj, function (value) {\n if (value instanceof Date) {\n return serializeDate(value);\n }\n return value;\n });\n }\n\n if (obj === null) {\n if (strictNullHandling) {\n return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder, charset, 'key', format) : prefix;\n }\n\n obj = '';\n }\n\n if (isNonNullishPrimitive(obj) || utils.isBuffer(obj)) {\n if (encoder) {\n var keyValue = encodeValuesOnly ? prefix : encoder(prefix, defaults.encoder, charset, 'key', format);\n if (generateArrayPrefix === 'comma' && encodeValuesOnly) {\n var valuesArray = split.call(String(obj), ',');\n var valuesJoined = '';\n for (var i = 0; i < valuesArray.length; ++i) {\n valuesJoined += (i === 0 ? '' : ',') + formatter(encoder(valuesArray[i], defaults.encoder, charset, 'value', format));\n }\n return [formatter(keyValue) + (isArray(obj) && valuesArray.length === 1 ? '[]' : '') + '=' + valuesJoined];\n }\n return [formatter(keyValue) + '=' + formatter(encoder(obj, defaults.encoder, charset, 'value', format))];\n }\n return [formatter(prefix) + '=' + formatter(String(obj))];\n }\n\n var values = [];\n\n if (typeof obj === 'undefined') {\n return values;\n }\n\n var objKeys;\n if (generateArrayPrefix === 'comma' && isArray(obj)) {\n // we need to join elements in\n objKeys = [{ value: obj.length > 0 ? obj.join(',') || null : void undefined }];\n } else if (isArray(filter)) {\n objKeys = filter;\n } else {\n var keys = Object.keys(obj);\n objKeys = sort ? keys.sort(sort) : keys;\n }\n\n var adjustedPrefix = generateArrayPrefix === 'comma' && isArray(obj) && obj.length === 1 ? prefix + '[]' : prefix;\n\n for (var j = 0; j < objKeys.length; ++j) {\n var key = objKeys[j];\n var value = typeof key === 'object' && typeof key.value !== 'undefined' ? key.value : obj[key];\n\n if (skipNulls && value === null) {\n continue;\n }\n\n var keyPrefix = isArray(obj)\n ? typeof generateArrayPrefix === 'function' ? generateArrayPrefix(adjustedPrefix, key) : adjustedPrefix\n : adjustedPrefix + (allowDots ? '.' + key : '[' + key + ']');\n\n sideChannel.set(object, step);\n var valueSideChannel = getSideChannel();\n valueSideChannel.set(sentinel, sideChannel);\n pushToArray(values, stringify(\n value,\n keyPrefix,\n generateArrayPrefix,\n strictNullHandling,\n skipNulls,\n encoder,\n filter,\n sort,\n allowDots,\n serializeDate,\n format,\n formatter,\n encodeValuesOnly,\n charset,\n valueSideChannel\n ));\n }\n\n return values;\n};\n\nvar normalizeStringifyOptions = function normalizeStringifyOptions(opts) {\n if (!opts) {\n return defaults;\n }\n\n if (opts.encoder !== null && typeof opts.encoder !== 'undefined' && typeof opts.encoder !== 'function') {\n throw new TypeError('Encoder has to be a function.');\n }\n\n var charset = opts.charset || defaults.charset;\n if (typeof opts.charset !== 'undefined' && opts.charset !== 'utf-8' && opts.charset !== 'iso-8859-1') {\n throw new TypeError('The charset option must be either utf-8, iso-8859-1, or undefined');\n }\n\n var format = formats['default'];\n if (typeof opts.format !== 'undefined') {\n if (!has.call(formats.formatters, opts.format)) {\n throw new TypeError('Unknown format option provided.');\n }\n format = opts.format;\n }\n var formatter = formats.formatters[format];\n\n var filter = defaults.filter;\n if (typeof opts.filter === 'function' || isArray(opts.filter)) {\n filter = opts.filter;\n }\n\n return {\n addQueryPrefix: typeof opts.addQueryPrefix === 'boolean' ? opts.addQueryPrefix : defaults.addQueryPrefix,\n allowDots: typeof opts.allowDots === 'undefined' ? defaults.allowDots : !!opts.allowDots,\n charset: charset,\n charsetSentinel: typeof opts.charsetSentinel === 'boolean' ? opts.charsetSentinel : defaults.charsetSentinel,\n delimiter: typeof opts.delimiter === 'undefined' ? defaults.delimiter : opts.delimiter,\n encode: typeof opts.encode === 'boolean' ? opts.encode : defaults.encode,\n encoder: typeof opts.encoder === 'function' ? opts.encoder : defaults.encoder,\n encodeValuesOnly: typeof opts.encodeValuesOnly === 'boolean' ? opts.encodeValuesOnly : defaults.encodeValuesOnly,\n filter: filter,\n format: format,\n formatter: formatter,\n serializeDate: typeof opts.serializeDate === 'function' ? opts.serializeDate : defaults.serializeDate,\n skipNulls: typeof opts.skipNulls === 'boolean' ? opts.skipNulls : defaults.skipNulls,\n sort: typeof opts.sort === 'function' ? opts.sort : null,\n strictNullHandling: typeof opts.strictNullHandling === 'boolean' ? opts.strictNullHandling : defaults.strictNullHandling\n };\n};\n\nmodule.exports = function (object, opts) {\n var obj = object;\n var options = normalizeStringifyOptions(opts);\n\n var objKeys;\n var filter;\n\n if (typeof options.filter === 'function') {\n filter = options.filter;\n obj = filter('', obj);\n } else if (isArray(options.filter)) {\n filter = options.filter;\n objKeys = filter;\n }\n\n var keys = [];\n\n if (typeof obj !== 'object' || obj === null) {\n return '';\n }\n\n var arrayFormat;\n if (opts && opts.arrayFormat in arrayPrefixGenerators) {\n arrayFormat = opts.arrayFormat;\n } else if (opts && 'indices' in opts) {\n arrayFormat = opts.indices ? 'indices' : 'repeat';\n } else {\n arrayFormat = 'indices';\n }\n\n var generateArrayPrefix = arrayPrefixGenerators[arrayFormat];\n\n if (!objKeys) {\n objKeys = Object.keys(obj);\n }\n\n if (options.sort) {\n objKeys.sort(options.sort);\n }\n\n var sideChannel = getSideChannel();\n for (var i = 0; i < objKeys.length; ++i) {\n var key = objKeys[i];\n\n if (options.skipNulls && obj[key] === null) {\n continue;\n }\n pushToArray(keys, stringify(\n obj[key],\n key,\n generateArrayPrefix,\n options.strictNullHandling,\n options.skipNulls,\n options.encode ? options.encoder : null,\n options.filter,\n options.sort,\n options.allowDots,\n options.serializeDate,\n options.format,\n options.formatter,\n options.encodeValuesOnly,\n options.charset,\n sideChannel\n ));\n }\n\n var joined = keys.join(options.delimiter);\n var prefix = options.addQueryPrefix === true ? '?' : '';\n\n if (options.charsetSentinel) {\n if (options.charset === 'iso-8859-1') {\n // encodeURIComponent('✓'), the \"numeric entity\" representation of a checkmark\n prefix += 'utf8=%26%2310003%3B&';\n } else {\n // encodeURIComponent('✓')\n prefix += 'utf8=%E2%9C%93&';\n }\n }\n\n return joined.length > 0 ? prefix + joined : '';\n};\n","'use strict';\n\nvar formats = require('./formats');\n\nvar has = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\n\nvar hexTable = (function () {\n var array = [];\n for (var i = 0; i < 256; ++i) {\n array.push('%' + ((i < 16 ? '0' : '') + i.toString(16)).toUpperCase());\n }\n\n return array;\n}());\n\nvar compactQueue = function compactQueue(queue) {\n while (queue.length > 1) {\n var item = queue.pop();\n var obj = item.obj[item.prop];\n\n if (isArray(obj)) {\n var compacted = [];\n\n for (var j = 0; j < obj.length; ++j) {\n if (typeof obj[j] !== 'undefined') {\n compacted.push(obj[j]);\n }\n }\n\n item.obj[item.prop] = compacted;\n }\n }\n};\n\nvar arrayToObject = function arrayToObject(source, options) {\n var obj = options && options.plainObjects ? Object.create(null) : {};\n for (var i = 0; i < source.length; ++i) {\n if (typeof source[i] !== 'undefined') {\n obj[i] = source[i];\n }\n }\n\n return obj;\n};\n\nvar merge = function merge(target, source, options) {\n /* eslint no-param-reassign: 0 */\n if (!source) {\n return target;\n }\n\n if (typeof source !== 'object') {\n if (isArray(target)) {\n target.push(source);\n } else if (target && typeof target === 'object') {\n if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) {\n target[source] = true;\n }\n } else {\n return [target, source];\n }\n\n return target;\n }\n\n if (!target || typeof target !== 'object') {\n return [target].concat(source);\n }\n\n var mergeTarget = target;\n if (isArray(target) && !isArray(source)) {\n mergeTarget = arrayToObject(target, options);\n }\n\n if (isArray(target) && isArray(source)) {\n source.forEach(function (item, i) {\n if (has.call(target, i)) {\n var targetItem = target[i];\n if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') {\n target[i] = merge(targetItem, item, options);\n } else {\n target.push(item);\n }\n } else {\n target[i] = item;\n }\n });\n return target;\n }\n\n return Object.keys(source).reduce(function (acc, key) {\n var value = source[key];\n\n if (has.call(acc, key)) {\n acc[key] = merge(acc[key], value, options);\n } else {\n acc[key] = value;\n }\n return acc;\n }, mergeTarget);\n};\n\nvar assign = function assignSingleSource(target, source) {\n return Object.keys(source).reduce(function (acc, key) {\n acc[key] = source[key];\n return acc;\n }, target);\n};\n\nvar decode = function (str, decoder, charset) {\n var strWithoutPlus = str.replace(/\\+/g, ' ');\n if (charset === 'iso-8859-1') {\n // unescape never throws, no try...catch needed:\n return strWithoutPlus.replace(/%[0-9a-f]{2}/gi, unescape);\n }\n // utf-8\n try {\n return decodeURIComponent(strWithoutPlus);\n } catch (e) {\n return strWithoutPlus;\n }\n};\n\nvar encode = function encode(str, defaultEncoder, charset, kind, format) {\n // This code was originally written by Brian White (mscdex) for the io.js core querystring library.\n // It has been adapted here for stricter adherence to RFC 3986\n if (str.length === 0) {\n return str;\n }\n\n var string = str;\n if (typeof str === 'symbol') {\n string = Symbol.prototype.toString.call(str);\n } else if (typeof str !== 'string') {\n string = String(str);\n }\n\n if (charset === 'iso-8859-1') {\n return escape(string).replace(/%u[0-9a-f]{4}/gi, function ($0) {\n return '%26%23' + parseInt($0.slice(2), 16) + '%3B';\n });\n }\n\n var out = '';\n for (var i = 0; i < string.length; ++i) {\n var c = string.charCodeAt(i);\n\n if (\n c === 0x2D // -\n || c === 0x2E // .\n || c === 0x5F // _\n || c === 0x7E // ~\n || (c >= 0x30 && c <= 0x39) // 0-9\n || (c >= 0x41 && c <= 0x5A) // a-z\n || (c >= 0x61 && c <= 0x7A) // A-Z\n || (format === formats.RFC1738 && (c === 0x28 || c === 0x29)) // ( )\n ) {\n out += string.charAt(i);\n continue;\n }\n\n if (c < 0x80) {\n out = out + hexTable[c];\n continue;\n }\n\n if (c < 0x800) {\n out = out + (hexTable[0xC0 | (c >> 6)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n if (c < 0xD800 || c >= 0xE000) {\n out = out + (hexTable[0xE0 | (c >> 12)] + hexTable[0x80 | ((c >> 6) & 0x3F)] + hexTable[0x80 | (c & 0x3F)]);\n continue;\n }\n\n i += 1;\n c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF));\n /* eslint operator-linebreak: [2, \"before\"] */\n out += hexTable[0xF0 | (c >> 18)]\n + hexTable[0x80 | ((c >> 12) & 0x3F)]\n + hexTable[0x80 | ((c >> 6) & 0x3F)]\n + hexTable[0x80 | (c & 0x3F)];\n }\n\n return out;\n};\n\nvar compact = function compact(value) {\n var queue = [{ obj: { o: value }, prop: 'o' }];\n var refs = [];\n\n for (var i = 0; i < queue.length; ++i) {\n var item = queue[i];\n var obj = item.obj[item.prop];\n\n var keys = Object.keys(obj);\n for (var j = 0; j < keys.length; ++j) {\n var key = keys[j];\n var val = obj[key];\n if (typeof val === 'object' && val !== null && refs.indexOf(val) === -1) {\n queue.push({ obj: obj, prop: key });\n refs.push(val);\n }\n }\n }\n\n compactQueue(queue);\n\n return value;\n};\n\nvar isRegExp = function isRegExp(obj) {\n return Object.prototype.toString.call(obj) === '[object RegExp]';\n};\n\nvar isBuffer = function isBuffer(obj) {\n if (!obj || typeof obj !== 'object') {\n return false;\n }\n\n return !!(obj.constructor && obj.constructor.isBuffer && obj.constructor.isBuffer(obj));\n};\n\nvar combine = function combine(a, b) {\n return [].concat(a, b);\n};\n\nvar maybeMap = function maybeMap(val, fn) {\n if (isArray(val)) {\n var mapped = [];\n for (var i = 0; i < val.length; i += 1) {\n mapped.push(fn(val[i]));\n }\n return mapped;\n }\n return fn(val);\n};\n\nmodule.exports = {\n arrayToObject: arrayToObject,\n assign: assign,\n combine: combine,\n compact: compact,\n decode: decode,\n encode: encode,\n isBuffer: isBuffer,\n isRegExp: isRegExp,\n maybeMap: maybeMap,\n merge: merge\n};\n","/**\n * @license React\n * react-dom.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 Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;cb}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"\")&&(k=k.replace(\"\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e\"+b.valueOf().toString()+\"\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a>=g;e-=g;rg=1<<32-oc(b)+e|c<w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;ww?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;bc?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;eGj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;de&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;kB()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3 handler(dimensions));\n }\n}\nclass Dimensions {\n static get(dimension) {\n if (shouldInit) {\n shouldInit = false;\n update();\n }\n (0, _invariant.default)(dimensions[dimension], \"No dimension set for key \" + dimension);\n return dimensions[dimension];\n }\n static set(initialDimensions) {\n if (initialDimensions) {\n if (_canUseDom.default) {\n (0, _invariant.default)(false, 'Dimensions cannot be set in the browser');\n } else {\n if (initialDimensions.screen != null) {\n dimensions.screen = initialDimensions.screen;\n }\n if (initialDimensions.window != null) {\n dimensions.window = initialDimensions.window;\n }\n }\n }\n }\n static addEventListener(type, handler) {\n listeners[type] = listeners[type] || [];\n listeners[type].push(handler);\n return {\n remove: () => {\n this.removeEventListener(type, handler);\n }\n };\n }\n static removeEventListener(type, handler) {\n if (Array.isArray(listeners[type])) {\n listeners[type] = listeners[type].filter(_handler => _handler !== handler);\n }\n }\n}\nexports.default = Dimensions;\nif (_canUseDom.default) {\n if (window.visualViewport) {\n window.visualViewport.addEventListener('resize', handleResize, false);\n } else {\n window.addEventListener('resize', handleResize, false);\n }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar ANIMATION_DURATION = 300;\nfunction getAnimationStyle(animationType, visible) {\n if (animationType === 'slide') {\n return visible ? animatedSlideInStyles : animatedSlideOutStyles;\n }\n if (animationType === 'fade') {\n return visible ? animatedFadeInStyles : animatedFadeOutStyles;\n }\n return visible ? styles.container : styles.hidden;\n}\nfunction ModalAnimation(props) {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onShow = props.onShow,\n visible = props.visible;\n var _React$useState = React.useState(false),\n isRendering = _React$useState[0],\n setIsRendering = _React$useState[1];\n var wasVisible = React.useRef(false);\n var wasRendering = React.useRef(false);\n var isAnimated = animationType && animationType !== 'none';\n var animationEndCallback = React.useCallback(e => {\n if (e && e.currentTarget !== e.target) {\n // If the event was generated for something NOT this element we\n // should ignore it as it's not relevant to us\n return;\n }\n if (visible) {\n if (onShow) {\n onShow();\n }\n } else {\n setIsRendering(false);\n }\n }, [onShow, visible]);\n React.useEffect(() => {\n if (wasRendering.current && !isRendering && onDismiss) {\n onDismiss();\n }\n wasRendering.current = isRendering;\n }, [isRendering, onDismiss]);\n React.useEffect(() => {\n if (visible) {\n setIsRendering(true);\n }\n if (visible !== wasVisible.current && !isAnimated) {\n // Manually call `animationEndCallback` if no animation is used\n animationEndCallback();\n }\n wasVisible.current = visible;\n }, [isAnimated, visible, animationEndCallback]);\n return isRendering || visible ? (0, _createElement.default)('div', {\n style: isRendering ? getAnimationStyle(animationType, visible) : styles.hidden,\n onAnimationEnd: animationEndCallback,\n children\n }) : null;\n}\nvar styles = _StyleSheet.default.create({\n container: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 9999\n },\n animatedIn: {\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-in'\n },\n animatedOut: {\n pointerEvents: 'none',\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-out'\n },\n fadeIn: {\n opacity: 1,\n animationKeyframes: {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n }\n },\n fadeOut: {\n opacity: 0,\n animationKeyframes: {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n }\n },\n slideIn: {\n transform: 'translateY(0%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(100%)'\n },\n '100%': {\n transform: 'translateY(0%)'\n }\n }\n },\n slideOut: {\n transform: 'translateY(100%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(0%)'\n },\n '100%': {\n transform: 'translateY(100%)'\n }\n }\n },\n hidden: {\n opacity: 0\n }\n});\nvar animatedSlideInStyles = [styles.container, styles.animatedIn, styles.slideIn];\nvar animatedSlideOutStyles = [styles.container, styles.animatedOut, styles.slideOut];\nvar animatedFadeInStyles = [styles.container, styles.animatedIn, styles.fadeIn];\nvar animatedFadeOutStyles = [styles.container, styles.animatedOut, styles.fadeOut];\nvar _default = exports.default = ModalAnimation;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\nvar _excluded = [\"active\", \"children\", \"onRequestClose\", \"transparent\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\nvar ModalContent = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var active = props.active,\n children = props.children,\n onRequestClose = props.onRequestClose,\n transparent = props.transparent,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n React.useEffect(() => {\n if (_canUseDom.default) {\n var closeOnEscape = e => {\n if (active && e.key === 'Escape') {\n e.stopPropagation();\n if (onRequestClose) {\n onRequestClose();\n }\n }\n };\n document.addEventListener('keyup', closeOnEscape, false);\n return () => document.removeEventListener('keyup', closeOnEscape, false);\n }\n }, [active, onRequestClose]);\n var style = React.useMemo(() => {\n return [styles.modal, transparent ? styles.modalTransparent : styles.modalOpaque];\n }, [transparent]);\n return /*#__PURE__*/React.createElement(_View.default, (0, _extends2.default)({}, rest, {\n \"aria-modal\": true,\n ref: forwardedRef,\n role: active ? 'dialog' : null,\n style: style\n }), /*#__PURE__*/React.createElement(_View.default, {\n style: styles.container\n }, children));\n});\nvar styles = _StyleSheet.default.create({\n modal: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n modalTransparent: {\n backgroundColor: 'transparent'\n },\n modalOpaque: {\n backgroundColor: 'white'\n },\n container: {\n top: 0,\n flex: 1\n }\n});\nvar _default = exports.default = ModalContent;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _UIManager = _interopRequireDefault(require(\"../UIManager\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n/**\n * This Component is used to \"wrap\" the modal we're opening\n * so that changing focus via tab will never leave the document.\n *\n * This allows us to properly trap the focus within a modal\n * even if the modal is at the start or end of a document.\n */\n\nvar FocusBracket = () => {\n return (0, _createElement.default)('div', {\n role: 'none',\n tabIndex: 0,\n style: styles.focusBracket\n });\n};\nfunction attemptFocus(element) {\n if (!_canUseDom.default) {\n return false;\n }\n try {\n element.focus();\n } catch (e) {\n // Do nothing\n }\n return document.activeElement === element;\n}\nfunction focusFirstDescendant(element) {\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusFirstDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nfunction focusLastDescendant(element) {\n for (var i = element.childNodes.length - 1; i >= 0; i--) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusLastDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nvar ModalFocusTrap = _ref => {\n var active = _ref.active,\n children = _ref.children;\n var trapElementRef = React.useRef();\n var focusRef = React.useRef({\n trapFocusInProgress: false,\n lastFocusedElement: null\n });\n React.useEffect(() => {\n if (_canUseDom.default) {\n var trapFocus = () => {\n // We should not trap focus if:\n // - The modal hasn't fully initialized with an HTMLElement ref\n // - Focus is already in the process of being trapped (e.g., we're refocusing)\n // - isTrapActive prop being falsey tells us to do nothing\n if (trapElementRef.current == null || focusRef.current.trapFocusInProgress || !active) {\n return;\n }\n try {\n focusRef.current.trapFocusInProgress = true;\n if (document.activeElement instanceof Node && !trapElementRef.current.contains(document.activeElement)) {\n // To handle keyboard focusing we can make an assumption here.\n // If you're tabbing through the focusable elements, the previously\n // active element will either be the first or the last.\n // If the previously selected element is the \"first\" descendant\n // and we're leaving it - this means that we should be looping\n // around to the other side of the modal.\n var hasFocused = focusFirstDescendant(trapElementRef.current);\n if (focusRef.current.lastFocusedElement === document.activeElement) {\n hasFocused = focusLastDescendant(trapElementRef.current);\n }\n // If we couldn't focus a new element then we need to focus onto the trap target\n if (!hasFocused && trapElementRef.current != null && document.activeElement) {\n _UIManager.default.focus(trapElementRef.current);\n }\n }\n } finally {\n focusRef.current.trapFocusInProgress = false;\n }\n focusRef.current.lastFocusedElement = document.activeElement;\n };\n\n // Call the trapFocus callback at least once when this modal has been activated.\n trapFocus();\n document.addEventListener('focus', trapFocus, true);\n return () => document.removeEventListener('focus', trapFocus, true);\n }\n }, [active]);\n\n // To be fully compliant with WCAG we need to refocus element that triggered opening modal\n // after closing it\n React.useEffect(function () {\n if (_canUseDom.default) {\n var lastFocusedElementOutsideTrap = document.activeElement;\n return function () {\n if (lastFocusedElementOutsideTrap && document.contains(lastFocusedElementOutsideTrap)) {\n _UIManager.default.focus(lastFocusedElementOutsideTrap);\n }\n };\n }\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FocusBracket, null), /*#__PURE__*/React.createElement(_View.default, {\n ref: trapElementRef\n }, children), /*#__PURE__*/React.createElement(FocusBracket, null));\n};\nvar _default = exports.default = ModalFocusTrap;\nvar styles = _StyleSheet.default.create({\n focusBracket: {\n outlineStyle: 'none'\n }\n});\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nfunction ModalPortal(props) {\n var children = props.children;\n var elementRef = React.useRef(null);\n if (_canUseDom.default && !elementRef.current) {\n var element = document.createElement('div');\n if (element && document.body) {\n document.body.appendChild(element);\n elementRef.current = element;\n }\n }\n React.useEffect(() => {\n if (_canUseDom.default) {\n return () => {\n if (document.body && elementRef.current) {\n document.body.removeChild(elementRef.current);\n elementRef.current = null;\n }\n };\n }\n }, []);\n return elementRef.current && _canUseDom.default ? /*#__PURE__*/_reactDom.default.createPortal(children, elementRef.current) : null;\n}\nvar _default = exports.default = ModalPortal;\nmodule.exports = exports.default;","\"use strict\";\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _ModalPortal = _interopRequireDefault(require(\"./ModalPortal\"));\nvar _ModalAnimation = _interopRequireDefault(require(\"./ModalAnimation\"));\nvar _ModalContent = _interopRequireDefault(require(\"./ModalContent\"));\nvar _ModalFocusTrap = _interopRequireDefault(require(\"./ModalFocusTrap\"));\nvar _excluded = [\"animationType\", \"children\", \"onDismiss\", \"onRequestClose\", \"onShow\", \"transparent\", \"visible\"];\nvar uniqueModalIdentifier = 0;\nvar activeModalStack = [];\nvar activeModalListeners = {};\nfunction notifyActiveModalListeners() {\n if (activeModalStack.length === 0) {\n return;\n }\n var activeModalId = activeModalStack[activeModalStack.length - 1];\n activeModalStack.forEach(modalId => {\n if (modalId in activeModalListeners) {\n activeModalListeners[modalId](modalId === activeModalId);\n }\n });\n}\nfunction removeActiveModal(modalId) {\n if (modalId in activeModalListeners) {\n // Before removing this listener we should probably tell it\n // that it's no longer the active modal for sure.\n activeModalListeners[modalId](false);\n delete activeModalListeners[modalId];\n }\n var index = activeModalStack.indexOf(modalId);\n if (index !== -1) {\n activeModalStack.splice(index, 1);\n notifyActiveModalListeners();\n }\n}\nfunction addActiveModal(modalId, listener) {\n removeActiveModal(modalId);\n activeModalStack.push(modalId);\n activeModalListeners[modalId] = listener;\n notifyActiveModalListeners();\n}\nvar Modal = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onRequestClose = props.onRequestClose,\n onShow = props.onShow,\n transparent = props.transparent,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n\n // Set a unique model identifier so we can correctly route\n // dismissals and check the layering of modals.\n var modalId = React.useMemo(() => uniqueModalIdentifier++, []);\n var _React$useState = React.useState(false),\n isActive = _React$useState[0],\n setIsActive = _React$useState[1];\n var onDismissCallback = React.useCallback(() => {\n removeActiveModal(modalId);\n if (onDismiss) {\n onDismiss();\n }\n }, [modalId, onDismiss]);\n var onShowCallback = React.useCallback(() => {\n addActiveModal(modalId, setIsActive);\n if (onShow) {\n onShow();\n }\n }, [modalId, onShow]);\n React.useEffect(() => {\n return () => removeActiveModal(modalId);\n }, [modalId]);\n return /*#__PURE__*/React.createElement(_ModalPortal.default, null, /*#__PURE__*/React.createElement(_ModalAnimation.default, {\n animationType: animationType,\n onDismiss: onDismissCallback,\n onShow: onShowCallback,\n visible: visible\n }, /*#__PURE__*/React.createElement(_ModalFocusTrap.default, {\n active: isActive\n }, /*#__PURE__*/React.createElement(_ModalContent.default, (0, _extends2.default)({}, rest, {\n active: isActive,\n onRequestClose: onRequestClose,\n ref: forwardedRef,\n transparent: transparent\n }), children))));\n});\nvar _default = exports.default = Modal;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _Dimensions = _interopRequireDefault(require(\"../Dimensions\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n/**\n * PixelRatio gives access to the device pixel density.\n */\nclass PixelRatio {\n /**\n * Returns the device pixel density.\n */\n static get() {\n return _Dimensions.default.get('window').scale;\n }\n\n /**\n * No equivalent for Web\n */\n static getFontScale() {\n return _Dimensions.default.get('window').fontScale || PixelRatio.get();\n }\n\n /**\n * Converts a layout size (dp) to pixel size (px).\n * Guaranteed to return an integer number.\n */\n static getPixelSizeForLayoutSize(layoutSize) {\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) {\n var ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\n }\n}\nexports.default = PixelRatio;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar Platform = {\n OS: 'web',\n select: obj => 'web' in obj ? obj.web : obj.default,\n get isTesting() {\n if (process.env.NODE_ENV === 'test') {\n return true;\n }\n return false;\n }\n};\nvar _default = exports.default = Platform;\nmodule.exports = exports.default;","\"use strict\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar React = _react;\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _useHover = _interopRequireDefault(require(\"../../modules/useHover\"));\nvar _usePressEvents = _interopRequireDefault(require(\"../../modules/usePressEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _excluded = [\"children\", \"delayLongPress\", \"delayPressIn\", \"delayPressOut\", \"disabled\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"tabIndex\", \"testOnly_hovered\", \"testOnly_pressed\"];\n/**\n * Component used to build display components that should respond to whether the\n * component is currently pressed or not.\n */\nfunction Pressable(props, forwardedRef) {\n var children = props.children,\n delayLongPress = props.delayLongPress,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n disabled = props.disabled,\n onBlur = props.onBlur,\n onContextMenu = props.onContextMenu,\n onFocus = props.onFocus,\n onHoverIn = props.onHoverIn,\n onHoverOut = props.onHoverOut,\n onKeyDown = props.onKeyDown,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressMove = props.onPressMove,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n style = props.style,\n tabIndex = props.tabIndex,\n testOnly_hovered = props.testOnly_hovered,\n testOnly_pressed = props.testOnly_pressed,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n var _useForceableState = useForceableState(testOnly_hovered === true),\n hovered = _useForceableState[0],\n setHovered = _useForceableState[1];\n var _useForceableState2 = useForceableState(false),\n focused = _useForceableState2[0],\n setFocused = _useForceableState2[1];\n var _useForceableState3 = useForceableState(testOnly_pressed === true),\n pressed = _useForceableState3[0],\n setPressed = _useForceableState3[1];\n var hostRef = (0, _react.useRef)(null);\n var setRef = (0, _useMergeRefs.default)(forwardedRef, hostRef);\n var pressConfig = (0, _react.useMemo)(() => ({\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n disabled,\n onLongPress,\n onPress,\n onPressChange: setPressed,\n onPressStart: onPressIn,\n onPressMove,\n onPressEnd: onPressOut\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressMove, onPressOut, setPressed]);\n var pressEventHandlers = (0, _usePressEvents.default)(hostRef, pressConfig);\n var onContextMenuPress = pressEventHandlers.onContextMenu,\n onKeyDownPress = pressEventHandlers.onKeyDown;\n (0, _useHover.default)(hostRef, {\n contain: true,\n disabled,\n onHoverChange: setHovered,\n onHoverStart: onHoverIn,\n onHoverEnd: onHoverOut\n });\n var interactionState = {\n hovered,\n focused,\n pressed\n };\n var blurHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(false);\n if (onBlur != null) {\n onBlur(e);\n }\n }\n }, [hostRef, setFocused, onBlur]);\n var focusHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(true);\n if (onFocus != null) {\n onFocus(e);\n }\n }\n }, [hostRef, setFocused, onFocus]);\n var contextMenuHandler = React.useCallback(e => {\n if (onContextMenuPress != null) {\n onContextMenuPress(e);\n }\n if (onContextMenu != null) {\n onContextMenu(e);\n }\n }, [onContextMenu, onContextMenuPress]);\n var keyDownHandler = React.useCallback(e => {\n if (onKeyDownPress != null) {\n onKeyDownPress(e);\n }\n if (onKeyDown != null) {\n onKeyDown(e);\n }\n }, [onKeyDown, onKeyDownPress]);\n var _tabIndex;\n if (tabIndex !== undefined) {\n _tabIndex = tabIndex;\n } else {\n _tabIndex = disabled ? -1 : 0;\n }\n return /*#__PURE__*/React.createElement(_View.default, (0, _extends2.default)({}, rest, pressEventHandlers, {\n \"aria-disabled\": disabled,\n onBlur: blurHandler,\n onContextMenu: contextMenuHandler,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n ref: setRef,\n style: [disabled ? styles.disabled : styles.active, typeof style === 'function' ? style(interactionState) : style],\n tabIndex: _tabIndex\n }), typeof children === 'function' ? children(interactionState) : children);\n}\nfunction useForceableState(forced) {\n var _useState = (0, _react.useState)(false),\n bool = _useState[0],\n setBool = _useState[1];\n return [bool || forced, setBool];\n}\nvar styles = _StyleSheet.default.create({\n active: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n },\n disabled: {\n pointerEvents: 'box-none'\n }\n});\nvar MemoedPressable = /*#__PURE__*/(0, _react.memo)(/*#__PURE__*/(0, _react.forwardRef)(Pressable));\nMemoedPressable.displayName = 'Pressable';\nvar _default = exports.default = MemoedPressable;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _normalizeValueWithProperty = _interopRequireDefault(require(\"./normalizeValueWithProperty\"));\nvar _canUseDom = _interopRequireDefault(require(\"../../../modules/canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\n/**\n * The browser implements the CSS cascade, where the order of properties is a\n * factor in determining which styles to paint. React Native is different. It\n * gives giving precedence to the more specific style property. For example,\n * the value of `paddingTop` takes precedence over that of `padding`.\n *\n * This module creates mutally exclusive style declarations by expanding all of\n * React Native's supported shortform properties (e.g. `padding`) to their\n * longfrom equivalents.\n */\n\nvar emptyObject = {};\nvar supportsCSS3TextDecoration = !_canUseDom.default || window.CSS != null && window.CSS.supports != null && (window.CSS.supports('text-decoration-line', 'none') || window.CSS.supports('-webkit-text-decoration-line', 'none'));\nvar MONOSPACE_FONT_STACK = 'monospace,monospace';\nvar SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif';\nvar STYLE_SHORT_FORM_EXPANSIONS = {\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderInlineColor: ['borderRightColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderInlineStyle: ['borderRightStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderInlineWidth: ['borderRightWidth', 'borderLeftWidth'],\n insetBlock: ['top', 'bottom'],\n insetInline: ['left', 'right'],\n marginBlock: ['marginTop', 'marginBottom'],\n marginInline: ['marginRight', 'marginLeft'],\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingInline: ['paddingRight', 'paddingLeft'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndColor: ['borderBottomColor'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderBlockEndWidth: ['borderBottomWidth'],\n //borderInlineStartColor: ['borderLeftColor'],\n //borderInlineStartStyle: ['borderLeftStyle'],\n //borderInlineStartWidth: ['borderLeftWidth'],\n //borderInlineEndColor: ['borderRightColor'],\n //borderInlineEndStyle: ['borderRightStyle'],\n //borderInlineEndWidth: ['borderRightWidth'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius'],\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n insetBlockEnd: ['bottom'],\n insetBlockStart: ['top'],\n //insetInlineEnd: ['right'],\n //insetInlineStart: ['left'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n //marginInlineStart: ['marginLeft'],\n //marginInlineEnd: ['marginRight'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom']\n //paddingInlineStart: ['marginLeft'],\n //paddingInlineEnd: ['marginRight'],\n};\n\n/**\n * Reducer\n */\n\nvar createReactDOMStyle = (style, isInline) => {\n if (!style) {\n return emptyObject;\n }\n var resolvedStyle = {};\n var _loop = function _loop() {\n var value = style[prop];\n if (\n // Ignore everything with a null value\n value == null) {\n return \"continue\";\n }\n if (prop === 'backgroundClip') {\n // TODO: remove once this issue is fixed\n // https://github.com/rofrischmann/inline-style-prefixer/issues/159\n if (value === 'text') {\n resolvedStyle.backgroundClip = value;\n resolvedStyle.WebkitBackgroundClip = value;\n }\n } else if (prop === 'flex') {\n if (value === -1) {\n resolvedStyle.flexGrow = 0;\n resolvedStyle.flexShrink = 1;\n resolvedStyle.flexBasis = 'auto';\n } else {\n resolvedStyle.flex = value;\n }\n } else if (prop === 'font') {\n resolvedStyle[prop] = value.replace('System', SYSTEM_FONT_STACK);\n } else if (prop === 'fontFamily') {\n if (value.indexOf('System') > -1) {\n var stack = value.split(/,\\s*/);\n stack[stack.indexOf('System')] = SYSTEM_FONT_STACK;\n resolvedStyle[prop] = stack.join(',');\n } else if (value === 'monospace') {\n resolvedStyle[prop] = MONOSPACE_FONT_STACK;\n } else {\n resolvedStyle[prop] = value;\n }\n } else if (prop === 'textDecorationLine') {\n // use 'text-decoration' for browsers that only support CSS2\n // text-decoration (e.g., IE, Edge)\n if (!supportsCSS3TextDecoration) {\n resolvedStyle.textDecoration = value;\n } else {\n resolvedStyle.textDecorationLine = value;\n }\n } else if (prop === 'writingDirection') {\n resolvedStyle.direction = value;\n } else {\n var _value = (0, _normalizeValueWithProperty.default)(style[prop], prop);\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n if (isInline && prop === 'inset') {\n if (style.insetInline == null) {\n resolvedStyle.left = _value;\n resolvedStyle.right = _value;\n }\n if (style.insetBlock == null) {\n resolvedStyle.top = _value;\n resolvedStyle.bottom = _value;\n }\n } else if (isInline && prop === 'margin') {\n if (style.marginInline == null) {\n resolvedStyle.marginLeft = _value;\n resolvedStyle.marginRight = _value;\n }\n if (style.marginBlock == null) {\n resolvedStyle.marginTop = _value;\n resolvedStyle.marginBottom = _value;\n }\n } else if (isInline && prop === 'padding') {\n if (style.paddingInline == null) {\n resolvedStyle.paddingLeft = _value;\n resolvedStyle.paddingRight = _value;\n }\n if (style.paddingBlock == null) {\n resolvedStyle.paddingTop = _value;\n resolvedStyle.paddingBottom = _value;\n }\n } else if (longFormProperties) {\n longFormProperties.forEach((longForm, i) => {\n // The value of any longform property in the original styles takes\n // precedence over the shortform's value.\n if (style[longForm] == null) {\n resolvedStyle[longForm] = _value;\n }\n });\n } else {\n resolvedStyle[prop] = _value;\n }\n }\n };\n for (var prop in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return resolvedStyle;\n};\nvar _default = exports.default = createReactDOMStyle;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/* eslint-disable */\n\n/**\n * JS Implementation of MurmurHash2\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} str ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n *\n * \n */\n\nfunction murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\nvar hash = str => murmurhash2_32_gc(str, 1).toString(36);\nvar _default = exports.default = hash;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateStyleName(name) {\n if (name in cache) {\n return cache[name];\n }\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? '-' + hName : hName;\n}\nvar _default = exports.default = hyphenateStyleName;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.atomic = atomic;\nexports.classic = classic;\nexports.inline = inline;\nexports.stringifyValueWithProperty = stringifyValueWithProperty;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _createReactDOMStyle = _interopRequireDefault(require(\"./createReactDOMStyle\"));\nvar _hash = _interopRequireDefault(require(\"./hash\"));\nvar _hyphenateStyleName = _interopRequireDefault(require(\"./hyphenateStyleName\"));\nvar _normalizeValueWithProperty = _interopRequireDefault(require(\"./normalizeValueWithProperty\"));\nvar _prefixStyles = _interopRequireDefault(require(\"../../../modules/prefixStyles\"));\nvar _excluded = [\"animationKeyframes\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\nvar cache = new Map();\nvar emptyObject = {};\nvar classicGroup = 1;\nvar atomicGroup = 3;\nvar customGroup = {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n inset: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n insetBlock: 2.1,\n insetInline: 2.1,\n marginInline: 2.1,\n marginBlock: 2.1,\n paddingInline: 2.1,\n paddingBlock: 2.1,\n borderBlockStartColor: 2.2,\n borderBlockStartStyle: 2.2,\n borderBlockStartWidth: 2.2,\n borderBlockEndColor: 2.2,\n borderBlockEndStyle: 2.2,\n borderBlockEndWidth: 2.2,\n borderInlineStartColor: 2.2,\n borderInlineStartStyle: 2.2,\n borderInlineStartWidth: 2.2,\n borderInlineEndColor: 2.2,\n borderInlineEndStyle: 2.2,\n borderInlineEndWidth: 2.2,\n borderEndStartRadius: 2.2,\n borderEndEndRadius: 2.2,\n borderStartStartRadius: 2.2,\n borderStartEndRadius: 2.2,\n insetBlockEnd: 2.2,\n insetBlockStart: 2.2,\n insetInlineEnd: 2.2,\n insetInlineStart: 2.2,\n marginBlockStart: 2.2,\n marginBlockEnd: 2.2,\n marginInlineStart: 2.2,\n marginInlineEnd: 2.2,\n paddingBlockStart: 2.2,\n paddingBlockEnd: 2.2,\n paddingInlineStart: 2.2,\n paddingInlineEnd: 2.2\n};\nvar borderTopLeftRadius = 'borderTopLeftRadius';\nvar borderTopRightRadius = 'borderTopRightRadius';\nvar borderBottomLeftRadius = 'borderBottomLeftRadius';\nvar borderBottomRightRadius = 'borderBottomRightRadius';\nvar borderLeftColor = 'borderLeftColor';\nvar borderLeftStyle = 'borderLeftStyle';\nvar borderLeftWidth = 'borderLeftWidth';\nvar borderRightColor = 'borderRightColor';\nvar borderRightStyle = 'borderRightStyle';\nvar borderRightWidth = 'borderRightWidth';\nvar right = 'right';\nvar marginLeft = 'marginLeft';\nvar marginRight = 'marginRight';\nvar paddingLeft = 'paddingLeft';\nvar paddingRight = 'paddingRight';\nvar left = 'left';\n\n// Map of LTR property names to their BiDi equivalent.\nvar PROPERTIES_FLIP = {\n [borderTopLeftRadius]: borderTopRightRadius,\n [borderTopRightRadius]: borderTopLeftRadius,\n [borderBottomLeftRadius]: borderBottomRightRadius,\n [borderBottomRightRadius]: borderBottomLeftRadius,\n [borderLeftColor]: borderRightColor,\n [borderLeftStyle]: borderRightStyle,\n [borderLeftWidth]: borderRightWidth,\n [borderRightColor]: borderLeftColor,\n [borderRightStyle]: borderLeftStyle,\n [borderRightWidth]: borderLeftWidth,\n [left]: right,\n [marginLeft]: marginRight,\n [marginRight]: marginLeft,\n [paddingLeft]: paddingRight,\n [paddingRight]: paddingLeft,\n [right]: left\n};\n\n// Map of I18N property names to their LTR equivalent.\nvar PROPERTIES_I18N = {\n borderStartStartRadius: borderTopLeftRadius,\n borderStartEndRadius: borderTopRightRadius,\n borderEndStartRadius: borderBottomLeftRadius,\n borderEndEndRadius: borderBottomRightRadius,\n borderInlineStartColor: borderLeftColor,\n borderInlineStartStyle: borderLeftStyle,\n borderInlineStartWidth: borderLeftWidth,\n borderInlineEndColor: borderRightColor,\n borderInlineEndStyle: borderRightStyle,\n borderInlineEndWidth: borderRightWidth,\n insetInlineEnd: right,\n insetInlineStart: left,\n marginInlineStart: marginLeft,\n marginInlineEnd: marginRight,\n paddingInlineStart: paddingLeft,\n paddingInlineEnd: paddingRight\n};\nvar PROPERTIES_VALUE = ['clear', 'float', 'textAlign'];\nfunction atomic(style) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n function atomicCompile(srcProp, prop, value) {\n var valueString = stringifyValueWithProperty(value, prop);\n var cacheKey = prop + valueString;\n var cachedResult = cache.get(cacheKey);\n var identifier;\n if (cachedResult != null) {\n identifier = cachedResult[0];\n compiledRules.push(cachedResult[1]);\n } else {\n var v = srcProp !== prop ? cacheKey : valueString;\n identifier = createIdentifier('r', srcProp, v);\n var order = customGroup[srcProp] || atomicGroup;\n var rules = createAtomicRules(identifier, prop, value);\n var orderedRules = [rules, order];\n compiledRules.push(orderedRules);\n cache.set(cacheKey, [identifier, orderedRules]);\n }\n return identifier;\n }\n Object.keys(style).sort().forEach(srcProp => {\n var value = style[srcProp];\n if (value != null) {\n var localizeableValue;\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(srcProp) > -1) {\n var _left = atomicCompile(srcProp, srcProp, 'left');\n var _right = atomicCompile(srcProp, srcProp, 'right');\n if (value === 'start') {\n localizeableValue = [_left, _right];\n } else if (value === 'end') {\n localizeableValue = [_right, _left];\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[srcProp];\n if (propPolyfill != null) {\n var ltr = atomicCompile(srcProp, propPolyfill, value);\n var rtl = atomicCompile(srcProp, PROPERTIES_FLIP[propPolyfill], value);\n localizeableValue = [ltr, rtl];\n }\n // BiDi flip transitionProperty value\n if (srcProp === 'transitionProperty') {\n var values = Array.isArray(value) ? value : [value];\n var polyfillIndices = [];\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (typeof val === 'string' && PROPERTIES_I18N[val] != null) {\n polyfillIndices.push(i);\n }\n }\n if (polyfillIndices.length > 0) {\n var ltrPolyfillValues = [...values];\n var rtlPolyfillValues = [...values];\n polyfillIndices.forEach(i => {\n var ltrVal = ltrPolyfillValues[i];\n if (typeof ltrVal === 'string') {\n var ltrPolyfill = PROPERTIES_I18N[ltrVal];\n var rtlPolyfill = PROPERTIES_FLIP[ltrPolyfill];\n ltrPolyfillValues[i] = ltrPolyfill;\n rtlPolyfillValues[i] = rtlPolyfill;\n var _ltr = atomicCompile(srcProp, srcProp, ltrPolyfillValues);\n var _rtl = atomicCompile(srcProp, srcProp, rtlPolyfillValues);\n localizeableValue = [_ltr, _rtl];\n }\n });\n }\n }\n if (localizeableValue == null) {\n localizeableValue = atomicCompile(srcProp, srcProp, value);\n } else {\n compiledStyle['$$css$localize'] = true;\n }\n compiledStyle[srcProp] = localizeableValue;\n }\n });\n return [compiledStyle, compiledRules];\n}\n\n/**\n * Compile simple style object to classic CSS rules.\n * No support for 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nfunction classic(style, name) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n var animationKeyframes = style.animationKeyframes,\n rest = (0, _objectWithoutPropertiesLoose2.default)(style, _excluded);\n var identifier = createIdentifier('css', name, JSON.stringify(style));\n var selector = \".\" + identifier;\n var animationName;\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu[0],\n keyframesRules = _processKeyframesValu[1];\n animationName = animationNames.join(',');\n compiledRules.push(...keyframesRules);\n }\n var block = createDeclarationBlock((0, _objectSpread2.default)((0, _objectSpread2.default)({}, rest), {}, {\n animationName\n }));\n compiledRules.push(\"\" + selector + block);\n compiledStyle[identifier] = identifier;\n return [compiledStyle, [[compiledRules, classicGroup]]];\n}\n\n/**\n * Compile simple style object to inline DOM styles.\n * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nfunction inline(originalStyle, isRTL) {\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n var _loop = function _loop() {\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) {\n return \"continue\";\n }\n\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(originalProp) > -1) {\n if (originalValue === 'start') {\n value = isRTL ? 'right' : 'left';\n } else if (originalValue === 'end') {\n value = isRTL ? 'left' : 'right';\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[originalProp];\n if (propPolyfill != null) {\n prop = isRTL ? PROPERTIES_FLIP[propPolyfill] : propPolyfill;\n }\n // BiDi flip transitionProperty value\n if (originalProp === 'transitionProperty') {\n // $FlowFixMe\n var originalValues = Array.isArray(originalValue) ? originalValue : [originalValue];\n originalValues.forEach((val, i) => {\n if (typeof val === 'string') {\n var valuePolyfill = PROPERTIES_I18N[val];\n if (valuePolyfill != null) {\n originalValues[i] = isRTL ? PROPERTIES_FLIP[valuePolyfill] : valuePolyfill;\n value = originalValues.join(' ');\n }\n }\n });\n }\n\n // Create finalized style\n if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n if (prop === originalProp) {\n frozenProps[prop] = true;\n }\n\n // if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n // frozenProps[prop] = true;\n //}\n };\n for (var originalProp in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return (0, _createReactDOMStyle.default)(nextStyle, true);\n}\n\n/**\n * Create a value string that normalizes different input values with a common\n * output.\n */\nfunction stringifyValueWithProperty(value, property) {\n // e.g., 0 => '0px', 'black' => 'rgba(0,0,0,1)'\n var normalizedValue = (0, _normalizeValueWithProperty.default)(value, property);\n return typeof normalizedValue !== 'string' ? JSON.stringify(normalizedValue || '') : normalizedValue;\n}\n\n/**\n * Create the Atomic CSS rules needed for a given StyleSheet rule.\n * Translates StyleSheet declarations to CSS.\n */\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier;\n\n // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2[0],\n keyframesRules = _processKeyframesValu2[1];\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push(\"\" + selector + block, ...keyframesRules);\n break;\n }\n\n // Equivalent to using '::placeholder'\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\n });\n rules.push(selector + \"::-webkit-input-placeholder\" + _block, selector + \"::-moz-placeholder\" + _block, selector + \":-ms-input-placeholder\" + _block, selector + \"::placeholder\" + _block);\n break;\n }\n\n // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n case 'pointerEvents':\n {\n var finalValue = value;\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n if (value === 'box-only') {\n var _block2 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n rules.push(selector + \">*\" + _block2);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n if (value === 'box-none') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n rules.push(selector + \">*\" + _block3);\n }\n }\n var _block4 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n rules.push(\"\" + selector + _block4);\n break;\n }\n\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n rules.push(\"\" + selector + _block5);\n break;\n }\n default:\n {\n var _block6 = createDeclarationBlock({\n [property]: value\n });\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n return rules;\n}\n\n/**\n * Creates a CSS declaration block from a StyleSheet object.\n */\nfunction createDeclarationBlock(style) {\n var domStyle = (0, _prefixStyles.default)((0, _createReactDOMStyle.default)(style));\n var declarationsString = Object.keys(domStyle).map(property => {\n var value = domStyle[property];\n var prop = (0, _hyphenateStyleName.default)(property);\n // The prefixer may return an array of values:\n // { display: [ '-webkit-flex', 'flex' ] }\n // to represent \"fallback\" declarations\n // { display: -webkit-flex; display: flex; }\n if (Array.isArray(value)) {\n return value.map(v => prop + \":\" + v).join(';');\n } else {\n return prop + \":\" + value;\n }\n })\n // Once properties are hyphenated, this will put the vendor\n // prefixed and short-form properties first in the list.\n .sort().join(';');\n return \"{\" + declarationsString + \";}\";\n}\n\n/**\n * An identifier is associated with a unique set of styles.\n */\nfunction createIdentifier(prefix, name, key) {\n var hashedString = (0, _hash.default)(name + key);\n return process.env.NODE_ENV !== 'production' ? prefix + \"-\" + name + \"-\" + hashedString : prefix + \"-\" + hashedString;\n}\n\n/**\n * Create individual CSS keyframes rules.\n */\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', JSON.stringify(keyframes));\n var steps = '{' + Object.keys(keyframes).map(stepName => {\n var rule = keyframes[stepName];\n var block = createDeclarationBlock(rule);\n return \"\" + stepName + block;\n }).join('') + '}';\n var rules = prefixes.map(prefix => {\n return \"@\" + prefix + \"keyframes \" + identifier + steps;\n });\n return [identifier, rules];\n}\n\n/**\n * Create CSS keyframes rules and names from a StyleSheet keyframes object.\n */\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\n }\n var animationNames = [];\n var rules = [];\n var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue];\n value.forEach(keyframes => {\n if (typeof keyframes === 'string') {\n // Support external animation libraries (identifiers only)\n animationNames.push(keyframes);\n } else {\n // Create rules for each of the keyframes\n var _createKeyframes = createKeyframes(keyframes),\n identifier = _createKeyframes[0],\n keyframesRules = _createKeyframes[1];\n animationNames.push(identifier);\n rules.push(...keyframesRules);\n }\n });\n return [animationNames, rules];\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _isWebColor = _interopRequireDefault(require(\"../../../modules/isWebColor\"));\nvar _processColor = _interopRequireDefault(require(\"../../../exports/processColor\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n if (color == null) return;\n if (typeof color === 'string' && (0, _isWebColor.default)(color)) {\n return color;\n }\n var colorInt = (0, _processColor.default)(color);\n if (colorInt != null) {\n var r = colorInt >> 16 & 255;\n var g = colorInt >> 8 & 255;\n var b = colorInt & 255;\n var a = (colorInt >> 24 & 255) / 255;\n var alpha = (a * opacity).toFixed(2);\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + alpha + \")\";\n }\n};\nvar _default = exports.default = normalizeColor;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = normalizeValueWithProperty;\nvar _unitlessNumbers = _interopRequireDefault(require(\"./unitlessNumbers\"));\nvar _normalizeColor = _interopRequireDefault(require(\"./normalizeColor\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar colorProps = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true\n};\nfunction normalizeValueWithProperty(value, property) {\n var returnValue = value;\n if ((property == null || !_unitlessNumbers.default[property]) && typeof value === 'number') {\n returnValue = value + \"px\";\n } else if (property != null && colorProps[property]) {\n returnValue = (0, _normalizeColor.default)(value);\n }\n return returnValue;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nvar _default = exports.default = unitlessNumbers;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = createCSSStyleSheet;\nvar _canUseDom = _interopRequireDefault(require(\"../../../modules/canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\n// $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\nfunction createCSSStyleSheet(id, rootNode, textContent) {\n if (_canUseDom.default) {\n var root = rootNode != null ? rootNode : document;\n var element = root.getElementById(id);\n if (element == null) {\n element = document.createElement('style');\n element.setAttribute('id', id);\n if (typeof textContent === 'string') {\n element.appendChild(document.createTextNode(textContent));\n }\n if (root instanceof ShadowRoot) {\n root.insertBefore(element, root.firstChild);\n } else {\n var head = root.head;\n if (head) {\n head.insertBefore(element, head.firstChild);\n }\n }\n }\n // $FlowFixMe: HTMLElement is incorrectly typed\n return element.sheet;\n } else {\n return null;\n }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = createOrderedCSSStyleSheet;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar slice = Array.prototype.slice;\n\n/**\n * Order-based insertion of CSS.\n *\n * Each rule is associated with a numerically defined group.\n * Groups are ordered within the style sheet according to their number, with the\n * lowest first.\n *\n * Groups are implemented using marker rules. The selector of the first rule of\n * each group is used only to encode the group number for hydration. An\n * alternative implementation could rely on CSSMediaRule, allowing groups to be\n * treated as a sub-sheet, but the Edge implementation of CSSMediaRule is\n * broken.\n * https://developer.mozilla.org/en-US/docs/Web/API/CSSMediaRule\n * https://gist.github.com/necolas/aa0c37846ad6bd3b05b727b959e82674\n */\nfunction createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n\n /**\n * Hydrate approximate record from any existing rules in the sheet.\n */\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach((cssRule, i) => {\n var cssText = cssRule.cssText;\n // Create record of existing selectors and rules\n if (cssText.indexOf('stylesheet-group') > -1) {\n group = decodeGroupRule(cssRule);\n groups[group] = {\n start: i,\n rules: [cssText]\n };\n } else {\n var selectorText = getSelectorText(cssText);\n if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n }\n }\n });\n }\n function sheetInsert(sheet, group, text) {\n var orderedGroups = getOrderedGroups(groups);\n var groupIndex = orderedGroups.indexOf(group);\n var nextGroupIndex = groupIndex + 1;\n var nextGroup = orderedGroups[nextGroupIndex];\n // Insert rule before the next group, or at the end of the stylesheet\n var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n if (isInserted) {\n // Set the starting index of the new group\n if (groups[group].start == null) {\n groups[group].start = position;\n }\n // Increment the starting index of all subsequent groups\n for (var i = nextGroupIndex; i < orderedGroups.length; i += 1) {\n var groupNumber = orderedGroups[i];\n var previousStart = groups[groupNumber].start || 0;\n groups[groupNumber].start = previousStart + 1;\n }\n }\n return isInserted;\n }\n var OrderedCSSStyleSheet = {\n /**\n * The textContent of the style sheet.\n */\n getTextContent() {\n return getOrderedGroups(groups).map(group => {\n var rules = groups[group].rules;\n // Sorting provides deterministic order of styles in group for\n // build-time extraction of the style sheet.\n var marker = rules.shift();\n rules.sort();\n rules.unshift(marker);\n return rules.join('\\n');\n }).join('\\n');\n },\n /**\n * Insert a rule into the style sheet\n */\n insert(cssText, groupValue) {\n var group = Number(groupValue);\n\n // Create a new group.\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group);\n // Create the internal record.\n groups[group] = {\n start: null,\n rules: [markerRule]\n };\n // Update CSSOM.\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\n }\n }\n\n // selectorText is more reliable than cssText for insertion checks. The\n // browser excludes vendor-prefixed properties and rewrites certain values\n // making cssText more likely to be different from what was inserted.\n var selectorText = getSelectorText(cssText);\n if (selectorText != null && selectors[selectorText] == null) {\n // Update the internal records.\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n // Update CSSOM.\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\n if (!isInserted) {\n // Revert internal record change if a rule was rejected (e.g.,\n // unrecognized pseudo-selector)\n groups[group].rules.pop();\n }\n }\n }\n }\n };\n return OrderedCSSStyleSheet;\n}\n\n/**\n * Helper functions\n */\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\nvar groupPattern = /[\"']/g;\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(groupPattern)[1]);\n}\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort((a, b) => a > b ? 1 : -1);\n}\nvar selectorPattern = /\\s*([,])\\s*/g;\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(selectorPattern, '$1') : null;\n}\nfunction insertRuleAt(root, cssText, position) {\n try {\n // $FlowFixMe: Flow is missing CSSOM types needed to type 'root'.\n root.insertRule(cssText, position);\n return true;\n } catch (e) {\n // JSDOM doesn't support `CSSSMediaRule#insertRule`.\n // Also ignore errors that occur from attempting to insert vendor-prefixed selectors.\n return false;\n }\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.createSheet = createSheet;\nvar _canUseDom = _interopRequireDefault(require(\"../../../modules/canUseDom\"));\nvar _createCSSStyleSheet = _interopRequireDefault(require(\"./createCSSStyleSheet\"));\nvar _createOrderedCSSStyleSheet = _interopRequireDefault(require(\"./createOrderedCSSStyleSheet\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar defaultId = 'react-native-stylesheet';\nvar roots = new WeakMap();\nvar sheets = [];\nvar initialRules = [\n// minimal top-level reset\n'html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}', 'body{margin:0;}',\n// minimal form pseudo-element reset\n'button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}', 'input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;}'];\nfunction createSheet(root, id) {\n if (id === void 0) {\n id = defaultId;\n }\n var sheet;\n if (_canUseDom.default) {\n var rootNode = root != null ? root.getRootNode() : document;\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n var index = roots.get(rootNode);\n if (index == null) {\n var initialSheet = sheets[0];\n // If we're creating a new sheet, populate it with existing styles\n var textContent = initialSheet != null ? initialSheet.getTextContent() : '';\n // Cast rootNode to 'any' because Flow types for getRootNode are wrong\n sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id, rootNode, textContent));\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n sheet = sheets[index];\n }\n }\n } else {\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = (0, _createOrderedCSSStyleSheet.default)((0, _createCSSStyleSheet.default)(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n sheets.push(sheet);\n } else {\n sheet = sheets[0];\n }\n }\n return {\n getTextContent() {\n return sheet.getTextContent();\n },\n id,\n insert(cssText, groupValue) {\n sheets.forEach(s => {\n s.insert(cssText, groupValue);\n });\n }\n };\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _compiler = require(\"./compiler\");\nvar _dom = require(\"./dom\");\nvar _transformLocalizeStyle = require(\"styleq/transform-localize-style\");\nvar _preprocess = require(\"./preprocess\");\nvar _styleq = require(\"styleq\");\nvar _validate = require(\"./validate\");\nvar _canUseDom = _interopRequireDefault(require(\"../../modules/canUseDom\"));\nvar _excluded = [\"writingDirection\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\nvar staticStyleMap = new WeakMap();\nvar sheet = (0, _dom.createSheet)();\nvar defaultPreprocessOptions = {\n shadow: true,\n textShadow: true\n};\nfunction customStyleq(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var _options = options,\n writingDirection = _options.writingDirection,\n preprocessOptions = (0, _objectWithoutPropertiesLoose2.default)(_options, _excluded);\n var isRTL = writingDirection === 'rtl';\n return _styleq.styleq.factory({\n transform(style) {\n var compiledStyle = staticStyleMap.get(style);\n if (compiledStyle != null) {\n return (0, _transformLocalizeStyle.localizeStyle)(compiledStyle, isRTL);\n }\n return (0, _preprocess.preprocess)(style, (0, _objectSpread2.default)((0, _objectSpread2.default)({}, defaultPreprocessOptions), preprocessOptions));\n }\n })(styles);\n}\nfunction insertRules(compiledOrderedRules) {\n compiledOrderedRules.forEach(_ref => {\n var rules = _ref[0],\n order = _ref[1];\n if (sheet != null) {\n rules.forEach(rule => {\n sheet.insert(rule, order);\n });\n }\n });\n}\nfunction compileAndInsertAtomic(style) {\n var _atomic = (0, _compiler.atomic)((0, _preprocess.preprocess)(style, defaultPreprocessOptions)),\n compiledStyle = _atomic[0],\n compiledOrderedRules = _atomic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\nfunction compileAndInsertReset(style, key) {\n var _classic = (0, _compiler.classic)(style, key),\n compiledStyle = _classic[0],\n compiledOrderedRules = _classic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\n\n/* ----- API ----- */\n\nvar absoluteFillObject = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar absoluteFill = create({\n x: (0, _objectSpread2.default)({}, absoluteFillObject)\n}).x;\n\n/**\n * create\n */\nfunction create(styles) {\n Object.keys(styles).forEach(key => {\n var styleObj = styles[key];\n // Only compile at runtime if the style is not already compiled\n if (styleObj != null && styleObj.$$css !== true) {\n var compiledStyles;\n if (key.indexOf('$raw') > -1) {\n compiledStyles = compileAndInsertReset(styleObj, key.split('$raw')[0]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n (0, _validate.validate)(styleObj);\n styles[key] = Object.freeze(styleObj);\n }\n compiledStyles = compileAndInsertAtomic(styleObj);\n }\n staticStyleMap.set(styleObj, compiledStyles);\n }\n });\n return styles;\n}\n\n/**\n * compose\n */\nfunction compose(style1, style2) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable prefer-rest-params */\n var len = arguments.length;\n if (len > 2) {\n var readableStyles = [...arguments].map(a => flatten(a));\n throw new Error(\"StyleSheet.compose() only accepts 2 arguments, received \" + len + \": \" + JSON.stringify(readableStyles));\n }\n /* eslint-enable prefer-rest-params */\n /*\n console.warn(\n 'StyleSheet.compose(a, b) is deprecated; use array syntax, i.e., [a,b].'\n );\n */\n }\n return [style1, style2];\n}\n\n/**\n * flatten\n */\nfunction flatten() {\n for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n var flatArray = styles.flat(Infinity);\n var result = {};\n for (var i = 0; i < flatArray.length; i++) {\n var style = flatArray[i];\n if (style != null && typeof style === 'object') {\n // $FlowFixMe\n Object.assign(result, style);\n }\n }\n return result;\n}\n\n/**\n * getSheet\n */\nfunction getSheet() {\n return {\n id: sheet.id,\n textContent: sheet.getTextContent()\n };\n}\n\n/**\n * resolve\n */\n\nfunction StyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var isRTL = options.writingDirection === 'rtl';\n var styleProps = customStyleq(styles, options);\n if (Array.isArray(styleProps) && styleProps[1] != null) {\n styleProps[1] = (0, _compiler.inline)(styleProps[1], isRTL);\n }\n return styleProps;\n}\nStyleSheet.absoluteFill = absoluteFill;\nStyleSheet.absoluteFillObject = absoluteFillObject;\nStyleSheet.create = create;\nStyleSheet.compose = compose;\nStyleSheet.flatten = flatten;\nStyleSheet.getSheet = getSheet;\n// `hairlineWidth` is not implemented using screen density as browsers may\n// round sub-pixel values down to `0`, causing the line not to be rendered.\nStyleSheet.hairlineWidth = 1;\nif (_canUseDom.default && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\nvar stylesheet = StyleSheet;\nvar _default = exports.default = stylesheet;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.preprocess = exports.default = exports.createTransformValue = exports.createTextShadowValue = exports.createBoxShadowValue = void 0;\nvar _normalizeColor = _interopRequireDefault(require(\"./compiler/normalizeColor\"));\nvar _normalizeValueWithProperty = _interopRequireDefault(require(\"./compiler/normalizeValueWithProperty\"));\nvar _warnOnce = require(\"../../modules/warnOnce\");\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar emptyObject = {};\n\n/**\n * Shadows\n */\n\nvar defaultOffset = {\n height: 0,\n width: 0\n};\nvar createBoxShadowValue = style => {\n var shadowColor = style.shadowColor,\n shadowOffset = style.shadowOffset,\n shadowOpacity = style.shadowOpacity,\n shadowRadius = style.shadowRadius;\n var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n var offsetX = (0, _normalizeValueWithProperty.default)(width);\n var offsetY = (0, _normalizeValueWithProperty.default)(height);\n var blurRadius = (0, _normalizeValueWithProperty.default)(shadowRadius || 0);\n var color = (0, _normalizeColor.default)(shadowColor || 'black', shadowOpacity);\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\nexports.createBoxShadowValue = createBoxShadowValue;\nvar createTextShadowValue = style => {\n var textShadowColor = style.textShadowColor,\n textShadowOffset = style.textShadowOffset,\n textShadowRadius = style.textShadowRadius;\n var _ref2 = textShadowOffset || defaultOffset,\n height = _ref2.height,\n width = _ref2.width;\n var radius = textShadowRadius || 0;\n var offsetX = (0, _normalizeValueWithProperty.default)(width);\n var offsetY = (0, _normalizeValueWithProperty.default)(height);\n var blurRadius = (0, _normalizeValueWithProperty.default)(radius);\n var color = (0, _normalizeValueWithProperty.default)(textShadowColor, 'textShadowColor');\n if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\n\n// { scale: 2 } => 'scale(2)'\n// { translateX: 20 } => 'translateX(20px)'\n// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\nexports.createTextShadowValue = createTextShadowValue;\nvar mapTransform = transform => {\n var type = Object.keys(transform)[0];\n var value = transform[type];\n if (type === 'matrix' || type === 'matrix3d') {\n return type + \"(\" + value.join(',') + \")\";\n } else {\n var normalizedValue = (0, _normalizeValueWithProperty.default)(value, type);\n return type + \"(\" + normalizedValue + \")\";\n }\n};\nvar createTransformValue = value => {\n return value.map(mapTransform).join(' ');\n};\nexports.createTransformValue = createTransformValue;\nvar PROPERTIES_STANDARD = {\n borderBottomEndRadius: 'borderEndEndRadius',\n borderBottomStartRadius: 'borderEndStartRadius',\n borderTopEndRadius: 'borderStartEndRadius',\n borderTopStartRadius: 'borderStartStartRadius',\n borderEndColor: 'borderInlineEndColor',\n borderEndStyle: 'borderInlineEndStyle',\n borderEndWidth: 'borderInlineEndWidth',\n borderStartColor: 'borderInlineStartColor',\n borderStartStyle: 'borderInlineStartStyle',\n borderStartWidth: 'borderInlineStartWidth',\n end: 'insetInlineEnd',\n marginEnd: 'marginInlineEnd',\n marginHorizontal: 'marginInline',\n marginStart: 'marginInlineStart',\n marginVertical: 'marginBlock',\n paddingEnd: 'paddingInlineEnd',\n paddingHorizontal: 'paddingInline',\n paddingStart: 'paddingInlineStart',\n paddingVertical: 'paddingBlock',\n start: 'insetInlineStart'\n};\nvar ignoredProps = {\n elevation: true,\n overlayColor: true,\n resizeMode: true,\n tintColor: true\n};\n\n/**\n * Preprocess styles\n */\nvar preprocess = exports.preprocess = function preprocess(originalStyle, options) {\n if (options === void 0) {\n options = {};\n }\n var style = originalStyle || emptyObject;\n var nextStyle = {};\n\n // Convert shadow styles\n if (options.shadow === true, style.shadowColor != null || style.shadowOffset != null || style.shadowOpacity != null || style.shadowRadius != null) {\n (0, _warnOnce.warnOnce)('shadowStyles', \"\\\"shadow*\\\" style props are deprecated. Use \\\"boxShadow\\\".\");\n var boxShadowValue = createBoxShadowValue(style);\n if (boxShadowValue != null && nextStyle.boxShadow == null) {\n var boxShadow = style.boxShadow;\n var value = boxShadow ? boxShadow + \", \" + boxShadowValue : boxShadowValue;\n nextStyle.boxShadow = value;\n }\n }\n\n // Convert text shadow styles\n if (options.textShadow === true, style.textShadowColor != null || style.textShadowOffset != null || style.textShadowRadius != null) {\n (0, _warnOnce.warnOnce)('textShadowStyles', \"\\\"textShadow*\\\" style props are deprecated. Use \\\"textShadow\\\".\");\n var textShadowValue = createTextShadowValue(style);\n if (textShadowValue != null && nextStyle.textShadow == null) {\n var textShadow = style.textShadow;\n var _value = textShadow ? textShadow + \", \" + textShadowValue : textShadowValue;\n nextStyle.textShadow = _value;\n }\n }\n for (var originalProp in style) {\n if (\n // Ignore some React Native styles\n ignoredProps[originalProp] != null || originalProp === 'shadowColor' || originalProp === 'shadowOffset' || originalProp === 'shadowOpacity' || originalProp === 'shadowRadius' || originalProp === 'textShadowColor' || originalProp === 'textShadowOffset' || originalProp === 'textShadowRadius') {\n continue;\n }\n var originalValue = style[originalProp];\n var prop = PROPERTIES_STANDARD[originalProp] || originalProp;\n var _value2 = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || prop !== originalProp && style[prop] != null) {\n continue;\n }\n if (prop === 'aspectRatio' && typeof _value2 === 'number') {\n nextStyle[prop] = _value2.toString();\n } else if (prop === 'fontVariant') {\n if (Array.isArray(_value2) && _value2.length > 0) {\n /*\n warnOnce(\n 'fontVariant',\n '\"fontVariant\" style array value is deprecated. Use space-separated values.'\n );\n */\n _value2 = _value2.join(' ');\n }\n nextStyle[prop] = _value2;\n } else if (prop === 'textAlignVertical') {\n /*\n warnOnce(\n 'textAlignVertical',\n '\"textAlignVertical\" style is deprecated. Use \"verticalAlign\".'\n );\n */\n if (style.verticalAlign == null) {\n nextStyle.verticalAlign = _value2 === 'center' ? 'middle' : _value2;\n }\n } else if (prop === 'transform') {\n if (Array.isArray(_value2)) {\n _value2 = createTransformValue(_value2);\n }\n nextStyle.transform = _value2;\n } else {\n nextStyle[prop] = _value2;\n }\n }\n\n // $FlowIgnore\n return nextStyle;\n};\nvar _default = exports.default = preprocess;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.validate = validate;\nvar _postcssValueParser = _interopRequireDefault(require(\"postcss-value-parser\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar invalidShortforms = {\n background: true,\n borderBottom: true,\n borderLeft: true,\n borderRight: true,\n borderTop: true,\n font: true,\n grid: true,\n outline: true,\n textDecoration: true\n};\nvar invalidMultiValueShortforms = {\n flex: true,\n margin: true,\n padding: true,\n borderColor: true,\n borderRadius: true,\n borderStyle: true,\n borderWidth: true,\n inset: true,\n insetBlock: true,\n insetInline: true,\n marginBlock: true,\n marginInline: true,\n marginHorizontal: true,\n marginVertical: true,\n paddingBlock: true,\n paddingInline: true,\n paddingHorizontal: true,\n paddingVertical: true,\n overflow: true,\n overscrollBehavior: true,\n backgroundPosition: true\n};\nfunction error(message) {\n console.error(message);\n}\nfunction validate(obj) {\n for (var k in obj) {\n var prop = k.trim();\n var value = obj[prop];\n var isInvalid = false;\n if (value === null) {\n continue;\n }\n if (typeof value === 'string' && value.indexOf('!important') > -1) {\n error(\"Invalid style declaration \\\"\" + prop + \":\" + value + \"\\\". Values cannot include \\\"!important\\\"\");\n isInvalid = true;\n } else {\n var suggestion = '';\n if (prop === 'animation' || prop === 'animationName') {\n suggestion = 'Did you mean \"animationKeyframes\"?';\n isInvalid = true;\n } else if (prop === 'direction') {\n suggestion = 'Did you mean \"writingDirection\"?';\n isInvalid = true;\n } else if (invalidShortforms[prop]) {\n suggestion = 'Please use long-form properties.';\n isInvalid = true;\n } else if (invalidMultiValueShortforms[prop]) {\n if (typeof value === 'string' && (0, _postcssValueParser.default)(value).nodes.length > 1) {\n suggestion = \"Value is \\\"\" + value + \"\\\" but only single values are supported.\";\n isInvalid = true;\n }\n }\n if (suggestion !== '') {\n error(\"Invalid style property of \\\"\" + prop + \"\\\". \" + suggestion);\n }\n }\n if (isInvalid) {\n delete obj[k];\n }\n }\n}","\"use strict\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nexports.__esModule = true;\nexports.default = void 0;\nvar _react = require(\"react\");\nvar TextAncestorContext = /*#__PURE__*/(0, _react.createContext)(false);\nvar _default = exports.default = TextAncestorContext;\nmodule.exports = exports.default;","\"use strict\";\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\nvar forwardedProps = _interopRequireWildcard(require(\"../../modules/forwardedProps\"));\nvar _pick = _interopRequireDefault(require(\"../../modules/pick\"));\nvar _useElementLayout = _interopRequireDefault(require(\"../../modules/useElementLayout\"));\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _usePlatformMethods = _interopRequireDefault(require(\"../../modules/usePlatformMethods\"));\nvar _useResponderEvents = _interopRequireDefault(require(\"../../modules/useResponderEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _TextAncestorContext = _interopRequireDefault(require(\"./TextAncestorContext\"));\nvar _useLocale = require(\"../../modules/useLocale\");\nvar _excluded = [\"hrefAttrs\", \"numberOfLines\", \"onClick\", \"onLayout\", \"onPress\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\", \"selectable\"];\n//import { warnOnce } from '../../modules/warnOnce';\n\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n pointerEvents: true\n});\nvar pickProps = props => (0, _pick.default)(props, forwardPropsList);\nvar Text = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n numberOfLines = props.numberOfLines,\n onClick = props.onClick,\n onLayout = props.onLayout,\n onPress = props.onPress,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n selectable = props.selectable,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n\n /*\n if (selectable != null) {\n warnOnce(\n 'selectable',\n 'selectable prop is deprecated. Use styles.userSelect.'\n );\n }\n */\n\n var hasTextAncestor = React.useContext(_TextAncestorContext.default);\n var hostRef = React.useRef(null);\n var _useLocaleContext = (0, _useLocale.useLocaleContext)(),\n contextDirection = _useLocaleContext.direction;\n (0, _useElementLayout.default)(hostRef, onLayout);\n (0, _useResponderEvents.default)(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var handleClick = React.useCallback(e => {\n if (onClick != null) {\n onClick(e);\n } else if (onPress != null) {\n e.stopPropagation();\n onPress(e);\n }\n }, [onClick, onPress]);\n var component = hasTextAncestor ? 'span' : 'div';\n var langDirection = props.lang != null ? (0, _useLocale.getLocaleDirection)(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n // 'auto' by default allows browsers to infer writing direction (root elements only)\n if (!hasTextAncestor) {\n supportedProps.dir = componentDirection != null ? componentDirection : 'auto';\n }\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\n }\n supportedProps.style = [numberOfLines != null && numberOfLines > 1 && {\n WebkitLineClamp: numberOfLines\n }, hasTextAncestor === true ? styles.textHasAncestor$raw : styles.text$raw, numberOfLines === 1 && styles.textOneLine, numberOfLines != null && numberOfLines > 1 && styles.textMultiLine, props.style, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = (0, _usePlatformMethods.default)(supportedProps);\n var setRef = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n var element = (0, _createElement.default)(component, supportedProps, {\n writingDirection\n });\n return hasTextAncestor ? element : /*#__PURE__*/React.createElement(_TextAncestorContext.default.Provider, {\n value: true\n }, element);\n});\nText.displayName = 'Text';\nvar textStyle = {\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n color: 'black',\n display: 'inline',\n font: '14px System',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n textAlign: 'start',\n textDecoration: 'none',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n};\nvar styles = _StyleSheet.default.create({\n text$raw: textStyle,\n textHasAncestor$raw: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, textStyle), {}, {\n color: 'inherit',\n font: 'inherit',\n textAlign: 'inherit',\n whiteSpace: 'inherit'\n }),\n textOneLine: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n },\n // See #13\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical'\n },\n notSelectable: {\n userSelect: 'none'\n },\n selectable: {\n userSelect: 'text'\n },\n pressable: {\n cursor: 'pointer'\n }\n});\nvar _default = exports.default = Text;\nmodule.exports = exports.default;","\"use strict\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar React = _react;\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _usePressEvents = _interopRequireDefault(require(\"../../modules/usePressEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _View = _interopRequireDefault(require(\"../View\"));\nvar _excluded = [\"activeOpacity\", \"children\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onHideUnderlay\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"onShowUnderlay\", \"rejectResponderTermination\", \"style\", \"testOnly_pressed\", \"underlayColor\"];\n//import { warnOnce } from '../../modules/warnOnce';\n\nfunction createExtraStyles(activeOpacity, underlayColor) {\n return {\n child: {\n opacity: activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.85\n },\n underlay: {\n backgroundColor: underlayColor === undefined ? 'black' : underlayColor\n }\n };\n}\nfunction hasPressHandler(props) {\n return props.onPress != null || props.onPressIn != null || props.onPressOut != null || props.onLongPress != null;\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 */\nfunction TouchableHighlight(props, forwardedRef) {\n /*\n warnOnce(\n 'TouchableHighlight',\n 'TouchableHighlight is deprecated. Please use Pressable.'\n );\n */\n\n var activeOpacity = props.activeOpacity,\n children = props.children,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onHideUnderlay = props.onHideUnderlay,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n onShowUnderlay = props.onShowUnderlay,\n rejectResponderTermination = props.rejectResponderTermination,\n style = props.style,\n testOnly_pressed = props.testOnly_pressed,\n underlayColor = props.underlayColor,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n var hostRef = (0, _react.useRef)(null);\n var setRef = (0, _useMergeRefs.default)(forwardedRef, hostRef);\n var _useState = (0, _react.useState)(testOnly_pressed === true ? createExtraStyles(activeOpacity, underlayColor) : null),\n extraStyles = _useState[0],\n setExtraStyles = _useState[1];\n var showUnderlay = (0, _react.useCallback)(() => {\n if (!hasPressHandler(props)) {\n return;\n }\n setExtraStyles(createExtraStyles(activeOpacity, underlayColor));\n if (onShowUnderlay != null) {\n onShowUnderlay();\n }\n }, [activeOpacity, onShowUnderlay, props, underlayColor]);\n var hideUnderlay = (0, _react.useCallback)(() => {\n if (testOnly_pressed === true) {\n return;\n }\n if (hasPressHandler(props)) {\n setExtraStyles(null);\n if (onHideUnderlay != null) {\n onHideUnderlay();\n }\n }\n }, [onHideUnderlay, props, testOnly_pressed]);\n var pressConfig = (0, _react.useMemo)(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n onPressStart(event) {\n showUnderlay();\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd(event) {\n hideUnderlay();\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, showUnderlay, hideUnderlay]);\n var pressEventHandlers = (0, _usePressEvents.default)(hostRef, pressConfig);\n var child = React.Children.only(children);\n return /*#__PURE__*/React.createElement(_View.default, (0, _extends2.default)({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n pointerEvents: disabled ? 'box-none' : undefined,\n ref: setRef,\n style: [styles.root, style, !disabled && styles.actionable, extraStyles && extraStyles.underlay]\n }), /*#__PURE__*/React.cloneElement(child, {\n style: [child.props.style, extraStyles && extraStyles.child]\n }));\n}\nvar styles = _StyleSheet.default.create({\n root: {\n userSelect: 'none'\n },\n actionable: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedTouchableHighlight = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(TouchableHighlight));\nMemoedTouchableHighlight.displayName = 'TouchableHighlight';\nvar _default = exports.default = MemoedTouchableHighlight;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _getBoundingClientRect = _interopRequireDefault(require(\"../../modules/getBoundingClientRect\"));\nvar _setValueForStyles = _interopRequireDefault(require(\"../../modules/setValueForStyles\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar getRect = node => {\n var height = node.offsetHeight;\n var width = node.offsetWidth;\n var left = node.offsetLeft;\n var top = node.offsetTop;\n node = node.offsetParent;\n while (node && node.nodeType === 1 /* Node.ELEMENT_NODE */) {\n left += node.offsetLeft + node.clientLeft - node.scrollLeft;\n top += node.offsetTop + node.clientTop - node.scrollTop;\n node = node.offsetParent;\n }\n top -= window.scrollY;\n left -= window.scrollX;\n return {\n width,\n height,\n top,\n left\n };\n};\nvar measureLayout = (node, relativeToNativeNode, callback) => {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n if (node && relativeNode) {\n setTimeout(() => {\n if (node.isConnected && relativeNode.isConnected) {\n var relativeRect = getRect(relativeNode);\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }\n }, 0);\n }\n};\nvar elementsToIgnore = {\n A: true,\n BODY: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar UIManager = {\n blur(node) {\n try {\n node.blur();\n } catch (err) {}\n },\n focus(node) {\n try {\n var name = node.nodeName;\n // A tabIndex of -1 allows element to be programmatically focused but\n // prevents keyboard focus. We don't want to set the tabindex value on\n // elements that should not prevent keyboard focus.\n if (node.getAttribute('tabIndex') == null && node.isContentEditable !== true && elementsToIgnore[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n node.focus();\n } catch (err) {}\n },\n measure(node, callback) {\n measureLayout(node, null, callback);\n },\n measureInWindow(node, callback) {\n if (node) {\n setTimeout(() => {\n var _getBoundingClientRec = (0, _getBoundingClientRect.default)(node),\n height = _getBoundingClientRec.height,\n left = _getBoundingClientRec.left,\n top = _getBoundingClientRec.top,\n width = _getBoundingClientRec.width;\n callback(left, top, width, height);\n }, 0);\n }\n },\n measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n measureLayout(node, relativeToNativeNode, onSuccess);\n },\n updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n var value = props[prop];\n switch (prop) {\n case 'style':\n {\n (0, _setValueForStyles.default)(node, value);\n break;\n }\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\n }\n case 'text':\n case 'value':\n // native platforms use `text` prop to replace text input value\n node.value = value;\n break;\n default:\n node.setAttribute(prop, value);\n }\n }\n },\n configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n // mocks\n setLayoutAnimationEnabledExperimental() {}\n};\nvar _default = exports.default = UIManager;\nmodule.exports = exports.default;","\"use strict\";\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _createElement = _interopRequireDefault(require(\"../createElement\"));\nvar forwardedProps = _interopRequireWildcard(require(\"../../modules/forwardedProps\"));\nvar _pick = _interopRequireDefault(require(\"../../modules/pick\"));\nvar _useElementLayout = _interopRequireDefault(require(\"../../modules/useElementLayout\"));\nvar _useMergeRefs = _interopRequireDefault(require(\"../../modules/useMergeRefs\"));\nvar _usePlatformMethods = _interopRequireDefault(require(\"../../modules/usePlatformMethods\"));\nvar _useResponderEvents = _interopRequireDefault(require(\"../../modules/useResponderEvents\"));\nvar _StyleSheet = _interopRequireDefault(require(\"../StyleSheet\"));\nvar _TextAncestorContext = _interopRequireDefault(require(\"../Text/TextAncestorContext\"));\nvar _useLocale = require(\"../../modules/useLocale\");\nvar _excluded = [\"hrefAttrs\", \"onLayout\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\"];\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n onScroll: true,\n onWheel: true,\n pointerEvents: true\n});\nvar pickProps = props => (0, _pick.default)(props, forwardPropsList);\nvar View = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n rest = (0, _objectWithoutPropertiesLoose2.default)(props, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n React.Children.toArray(props.children).forEach(item => {\n if (typeof item === 'string') {\n console.error(\"Unexpected text node: \" + item + \". A text node cannot be a child of a .\");\n }\n });\n }\n var hasTextAncestor = React.useContext(_TextAncestorContext.default);\n var hostRef = React.useRef(null);\n var _useLocaleContext = (0, _useLocale.useLocaleContext)(),\n contextDirection = _useLocaleContext.direction;\n (0, _useElementLayout.default)(hostRef, onLayout);\n (0, _useResponderEvents.default)(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var component = 'div';\n var langDirection = props.lang != null ? (0, _useLocale.getLocaleDirection)(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n supportedProps.style = [styles.view$raw, hasTextAncestor && styles.inline, props.style];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = (0, _usePlatformMethods.default)(supportedProps);\n var setRef = (0, _useMergeRefs.default)(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return (0, _createElement.default)(component, supportedProps, {\n writingDirection\n });\n});\nView.displayName = 'View';\nvar styles = _StyleSheet.default.create({\n view$raw: {\n alignItems: 'stretch',\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n display: 'flex',\n flexBasis: 'auto',\n flexDirection: 'column',\n flexShrink: 0,\n listStyle: 'none',\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: 'relative',\n textDecoration: 'none',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n }\n});\nvar _default = exports.default = View;\nmodule.exports = exports.default;","\"use strict\";\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\n'use client';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _AccessibilityUtil = _interopRequireDefault(require(\"../../modules/AccessibilityUtil\"));\nvar _createDOMProps = _interopRequireDefault(require(\"../../modules/createDOMProps\"));\nvar _react = _interopRequireDefault(require(\"react\"));\nvar _useLocale = require(\"../../modules/useLocale\");\nvar createElement = (component, props, options) => {\n // Use equivalent platform elements where possible.\n var accessibilityComponent;\n if (component && component.constructor === String) {\n accessibilityComponent = _AccessibilityUtil.default.propsToAccessibilityComponent(props);\n }\n var Component = accessibilityComponent || component;\n var domProps = (0, _createDOMProps.default)(Component, props, options);\n var element = /*#__PURE__*/_react.default.createElement(Component, domProps);\n\n // Update locale context if element's writing direction prop changes\n var elementWithLocaleProvider = domProps.dir ? /*#__PURE__*/_react.default.createElement(_useLocale.LocaleProvider, {\n children: element,\n direction: domProps.dir,\n locale: domProps.lang\n }) : element;\n return elementWithLocaleProvider;\n};\nvar _default = exports.default = createElement;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _normalizeColors = _interopRequireDefault(require(\"@react-native/normalize-colors\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar processColor = color => {\n if (color === undefined || color === null) {\n return color;\n }\n\n // convert number and hex\n var int32Color = (0, _normalizeColors.default)(color);\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\nvar _default = exports.default = processColor;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _isDisabled = _interopRequireDefault(require(\"./isDisabled\"));\nvar _propsToAccessibilityComponent = _interopRequireDefault(require(\"./propsToAccessibilityComponent\"));\nvar _propsToAriaRole = _interopRequireDefault(require(\"./propsToAriaRole\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar AccessibilityUtil = {\n isDisabled: _isDisabled.default,\n propsToAccessibilityComponent: _propsToAccessibilityComponent.default,\n propsToAriaRole: _propsToAriaRole.default\n};\nvar _default = exports.default = AccessibilityUtil;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar isDisabled = props => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\nvar _default = exports.default = isDisabled;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _propsToAriaRole = _interopRequireDefault(require(\"./propsToAriaRole\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\n button: 'button',\n code: 'code',\n complementary: 'aside',\n contentinfo: 'footer',\n deletion: 'del',\n emphasis: 'em',\n figure: 'figure',\n insertion: 'ins',\n form: 'form',\n list: 'ul',\n listitem: 'li',\n main: 'main',\n navigation: 'nav',\n paragraph: 'p',\n region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n var roleProp = props.role || props.accessibilityRole;\n // special-case for \"label\" role which doesn't map to an ARIA role\n if (roleProp === 'label') {\n return 'label';\n }\n var role = (0, _propsToAriaRole.default)(props);\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n if (level != null) {\n return \"h\" + level;\n }\n return 'h1';\n }\n return roleComponents[role];\n }\n};\nvar _default = exports.default = propsToAccessibilityComponent;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar accessibilityRoleToWebRole = {\n adjustable: 'slider',\n button: 'button',\n header: 'heading',\n image: 'img',\n imagebutton: null,\n keyboardkey: null,\n label: null,\n link: 'link',\n none: 'presentation',\n search: 'search',\n summary: 'region',\n text: null\n};\nvar propsToAriaRole = _ref => {\n var accessibilityRole = _ref.accessibilityRole,\n role = _ref.role;\n var _role = role || accessibilityRole;\n if (_role) {\n var inferredRole = accessibilityRoleToWebRole[_role];\n if (inferredRole !== null) {\n // ignore roles that don't map to web\n return inferredRole || _role;\n }\n }\n};\nvar _default = exports.default = propsToAriaRole;\nmodule.exports = exports.default;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use strict';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addEventListener = addEventListener;\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\nvar emptyFunction = () => {};\nfunction supportsPassiveEvents() {\n var supported = false;\n // Check if browser supports event with passive listeners\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n if (_canUseDom.default) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get() {\n supported = true;\n return false;\n }\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {}\n }\n return supported;\n}\nvar canUsePassiveEvents = supportsPassiveEvents();\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n return canUsePassiveEvents ? options : Boolean(options.capture);\n}\n\n/**\n * Shim generic API compatibility with ReactDOM's synthetic events, without needing the\n * large amount of code ReactDOM uses to do this. Ideally we wouldn't use a synthetic\n * event wrapper at all.\n */\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\nfunction normalizeEvent(event) {\n event.nativeEvent = event;\n event.persist = emptyFunction;\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n return event;\n}\n\n/**\n *\n */\nfunction addEventListener(target, type, listener, options) {\n var opts = getOptions(options);\n var compatListener = e => listener(normalizeEvent(e));\n target.addEventListener(type, compatListener, opts);\n return function removeEventListener() {\n if (target != null) {\n target.removeEventListener(type, compatListener, opts);\n }\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 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 * \n */\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nvar _default = exports.default = canUseDOM;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _objectSpread2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectSpread2\"));\nvar _objectWithoutPropertiesLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutPropertiesLoose\"));\nvar _AccessibilityUtil = _interopRequireDefault(require(\"../AccessibilityUtil\"));\nvar _StyleSheet2 = _interopRequireDefault(require(\"../../exports/StyleSheet\"));\nvar _warnOnce = require(\"../warnOnce\");\nvar _excluded = [\"aria-activedescendant\", \"accessibilityActiveDescendant\", \"aria-atomic\", \"accessibilityAtomic\", \"aria-autocomplete\", \"accessibilityAutoComplete\", \"aria-busy\", \"accessibilityBusy\", \"aria-checked\", \"accessibilityChecked\", \"aria-colcount\", \"accessibilityColumnCount\", \"aria-colindex\", \"accessibilityColumnIndex\", \"aria-colspan\", \"accessibilityColumnSpan\", \"aria-controls\", \"accessibilityControls\", \"aria-current\", \"accessibilityCurrent\", \"aria-describedby\", \"accessibilityDescribedBy\", \"aria-details\", \"accessibilityDetails\", \"aria-disabled\", \"accessibilityDisabled\", \"aria-errormessage\", \"accessibilityErrorMessage\", \"aria-expanded\", \"accessibilityExpanded\", \"aria-flowto\", \"accessibilityFlowTo\", \"aria-haspopup\", \"accessibilityHasPopup\", \"aria-hidden\", \"accessibilityHidden\", \"aria-invalid\", \"accessibilityInvalid\", \"aria-keyshortcuts\", \"accessibilityKeyShortcuts\", \"aria-label\", \"accessibilityLabel\", \"aria-labelledby\", \"accessibilityLabelledBy\", \"aria-level\", \"accessibilityLevel\", \"aria-live\", \"accessibilityLiveRegion\", \"aria-modal\", \"accessibilityModal\", \"aria-multiline\", \"accessibilityMultiline\", \"aria-multiselectable\", \"accessibilityMultiSelectable\", \"aria-orientation\", \"accessibilityOrientation\", \"aria-owns\", \"accessibilityOwns\", \"aria-placeholder\", \"accessibilityPlaceholder\", \"aria-posinset\", \"accessibilityPosInSet\", \"aria-pressed\", \"accessibilityPressed\", \"aria-readonly\", \"accessibilityReadOnly\", \"aria-required\", \"accessibilityRequired\", \"role\", \"accessibilityRole\", \"aria-roledescription\", \"accessibilityRoleDescription\", \"aria-rowcount\", \"accessibilityRowCount\", \"aria-rowindex\", \"accessibilityRowIndex\", \"aria-rowspan\", \"accessibilityRowSpan\", \"aria-selected\", \"accessibilitySelected\", \"aria-setsize\", \"accessibilitySetSize\", \"aria-sort\", \"accessibilitySort\", \"aria-valuemax\", \"accessibilityValueMax\", \"aria-valuemin\", \"accessibilityValueMin\", \"aria-valuenow\", \"accessibilityValueNow\", \"aria-valuetext\", \"accessibilityValueText\", \"dataSet\", \"focusable\", \"id\", \"nativeID\", \"pointerEvents\", \"style\", \"tabIndex\", \"testID\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\n}\nvar pointerEventsStyles = _StyleSheet2.default.create({\n auto: {\n pointerEvents: 'auto'\n },\n 'box-none': {\n pointerEvents: 'box-none'\n },\n 'box-only': {\n pointerEvents: 'box-only'\n },\n none: {\n pointerEvents: 'none'\n }\n});\nvar createDOMProps = (elementType, props, options) => {\n if (!props) {\n props = emptyObject;\n }\n var _props = props,\n ariaActiveDescendant = _props['aria-activedescendant'],\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n ariaAtomic = _props['aria-atomic'],\n accessibilityAtomic = _props.accessibilityAtomic,\n ariaAutoComplete = _props['aria-autocomplete'],\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n ariaBusy = _props['aria-busy'],\n accessibilityBusy = _props.accessibilityBusy,\n ariaChecked = _props['aria-checked'],\n accessibilityChecked = _props.accessibilityChecked,\n ariaColumnCount = _props['aria-colcount'],\n accessibilityColumnCount = _props.accessibilityColumnCount,\n ariaColumnIndex = _props['aria-colindex'],\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n ariaColumnSpan = _props['aria-colspan'],\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n ariaControls = _props['aria-controls'],\n accessibilityControls = _props.accessibilityControls,\n ariaCurrent = _props['aria-current'],\n accessibilityCurrent = _props.accessibilityCurrent,\n ariaDescribedBy = _props['aria-describedby'],\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n ariaDetails = _props['aria-details'],\n accessibilityDetails = _props.accessibilityDetails,\n ariaDisabled = _props['aria-disabled'],\n accessibilityDisabled = _props.accessibilityDisabled,\n ariaErrorMessage = _props['aria-errormessage'],\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n ariaExpanded = _props['aria-expanded'],\n accessibilityExpanded = _props.accessibilityExpanded,\n ariaFlowTo = _props['aria-flowto'],\n accessibilityFlowTo = _props.accessibilityFlowTo,\n ariaHasPopup = _props['aria-haspopup'],\n accessibilityHasPopup = _props.accessibilityHasPopup,\n ariaHidden = _props['aria-hidden'],\n accessibilityHidden = _props.accessibilityHidden,\n ariaInvalid = _props['aria-invalid'],\n accessibilityInvalid = _props.accessibilityInvalid,\n ariaKeyShortcuts = _props['aria-keyshortcuts'],\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n ariaLabel = _props['aria-label'],\n accessibilityLabel = _props.accessibilityLabel,\n ariaLabelledBy = _props['aria-labelledby'],\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n ariaLevel = _props['aria-level'],\n accessibilityLevel = _props.accessibilityLevel,\n ariaLive = _props['aria-live'],\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n ariaModal = _props['aria-modal'],\n accessibilityModal = _props.accessibilityModal,\n ariaMultiline = _props['aria-multiline'],\n accessibilityMultiline = _props.accessibilityMultiline,\n ariaMultiSelectable = _props['aria-multiselectable'],\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n ariaOrientation = _props['aria-orientation'],\n accessibilityOrientation = _props.accessibilityOrientation,\n ariaOwns = _props['aria-owns'],\n accessibilityOwns = _props.accessibilityOwns,\n ariaPlaceholder = _props['aria-placeholder'],\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n ariaPosInSet = _props['aria-posinset'],\n accessibilityPosInSet = _props.accessibilityPosInSet,\n ariaPressed = _props['aria-pressed'],\n accessibilityPressed = _props.accessibilityPressed,\n ariaReadOnly = _props['aria-readonly'],\n accessibilityReadOnly = _props.accessibilityReadOnly,\n ariaRequired = _props['aria-required'],\n accessibilityRequired = _props.accessibilityRequired,\n ariaRole = _props.role,\n accessibilityRole = _props.accessibilityRole,\n ariaRoleDescription = _props['aria-roledescription'],\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n ariaRowCount = _props['aria-rowcount'],\n accessibilityRowCount = _props.accessibilityRowCount,\n ariaRowIndex = _props['aria-rowindex'],\n accessibilityRowIndex = _props.accessibilityRowIndex,\n ariaRowSpan = _props['aria-rowspan'],\n accessibilityRowSpan = _props.accessibilityRowSpan,\n ariaSelected = _props['aria-selected'],\n accessibilitySelected = _props.accessibilitySelected,\n ariaSetSize = _props['aria-setsize'],\n accessibilitySetSize = _props.accessibilitySetSize,\n ariaSort = _props['aria-sort'],\n accessibilitySort = _props.accessibilitySort,\n ariaValueMax = _props['aria-valuemax'],\n accessibilityValueMax = _props.accessibilityValueMax,\n ariaValueMin = _props['aria-valuemin'],\n accessibilityValueMin = _props.accessibilityValueMin,\n ariaValueNow = _props['aria-valuenow'],\n accessibilityValueNow = _props.accessibilityValueNow,\n ariaValueText = _props['aria-valuetext'],\n accessibilityValueText = _props.accessibilityValueText,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n id = _props.id,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n style = _props.style,\n tabIndex = _props.tabIndex,\n testID = _props.testID,\n domProps = (0, _objectWithoutPropertiesLoose2.default)(_props, _excluded);\n\n /*\n if (accessibilityDisabled != null) {\n warnOnce('accessibilityDisabled', `accessibilityDisabled is deprecated.`);\n }\n */\n var disabled = ariaDisabled || accessibilityDisabled;\n var role = _AccessibilityUtil.default.propsToAriaRole(props);\n\n // ACCESSIBILITY\n /*\n if (accessibilityActiveDescendant != null) {\n warnOnce(\n 'accessibilityActiveDescendant',\n `accessibilityActiveDescendant is deprecated. Use aria-activedescendant.`\n );\n }\n */\n var _ariaActiveDescendant = ariaActiveDescendant != null ? ariaActiveDescendant : accessibilityActiveDescendant;\n if (_ariaActiveDescendant != null) {\n domProps['aria-activedescendant'] = _ariaActiveDescendant;\n }\n\n /*\n if (accessibilityAtomic != null) {\n warnOnce(\n 'accessibilityAtomic',\n `accessibilityAtomic is deprecated. Use aria-atomic.`\n );\n }\n */\n var _ariaAtomic = ariaAtomic != null ? ariaActiveDescendant : accessibilityAtomic;\n if (_ariaAtomic != null) {\n domProps['aria-atomic'] = _ariaAtomic;\n }\n\n /*\n if (accessibilityAutoComplete != null) {\n warnOnce(\n 'accessibilityAutoComplete',\n `accessibilityAutoComplete is deprecated. Use aria-autocomplete.`\n );\n }\n */\n var _ariaAutoComplete = ariaAutoComplete != null ? ariaAutoComplete : accessibilityAutoComplete;\n if (_ariaAutoComplete != null) {\n domProps['aria-autocomplete'] = _ariaAutoComplete;\n }\n\n /*\n if (accessibilityBusy != null) {\n warnOnce(\n 'accessibilityBusy',\n `accessibilityBusy is deprecated. Use aria-busy.`\n );\n }\n */\n var _ariaBusy = ariaBusy != null ? ariaBusy : accessibilityBusy;\n if (_ariaBusy != null) {\n domProps['aria-busy'] = _ariaBusy;\n }\n\n /*\n if (accessibilityChecked != null) {\n warnOnce(\n 'accessibilityChecked',\n `accessibilityChecked is deprecated. Use aria-checked.`\n );\n }\n */\n var _ariaChecked = ariaChecked != null ? ariaChecked : accessibilityChecked;\n if (_ariaChecked != null) {\n domProps['aria-checked'] = _ariaChecked;\n }\n\n /*\n if (accessibilityColumnCount != null) {\n warnOnce(\n 'accessibilityColumnCount',\n `accessibilityColumnCount is deprecated. Use aria-colcount.`\n );\n }\n */\n var _ariaColumnCount = ariaColumnCount != null ? ariaColumnCount : accessibilityColumnCount;\n if (_ariaColumnCount != null) {\n domProps['aria-colcount'] = _ariaColumnCount;\n }\n\n /*\n if (accessibilityColumnIndex != null) {\n warnOnce(\n 'accessibilityColumnIndex',\n `accessibilityColumnIndex is deprecated. Use aria-colindex.`\n );\n }\n */\n var _ariaColumnIndex = ariaColumnIndex != null ? ariaColumnIndex : accessibilityColumnIndex;\n if (_ariaColumnIndex != null) {\n domProps['aria-colindex'] = _ariaColumnIndex;\n }\n\n /*\n if (accessibilityColumnSpan != null) {\n warnOnce(\n 'accessibilityColumnSpan',\n `accessibilityColumnSpan is deprecated. Use aria-colspan.`\n );\n }\n */\n var _ariaColumnSpan = ariaColumnSpan != null ? ariaColumnSpan : accessibilityColumnSpan;\n if (_ariaColumnSpan != null) {\n domProps['aria-colspan'] = _ariaColumnSpan;\n }\n\n /*\n if (accessibilityControls != null) {\n warnOnce(\n 'accessibilityControls',\n `accessibilityControls is deprecated. Use aria-controls.`\n );\n }\n */\n var _ariaControls = ariaControls != null ? ariaControls : accessibilityControls;\n if (_ariaControls != null) {\n domProps['aria-controls'] = processIDRefList(_ariaControls);\n }\n\n /*\n if (accessibilityCurrent != null) {\n warnOnce(\n 'accessibilityCurrent',\n `accessibilityCurrent is deprecated. Use aria-current.`\n );\n }\n */\n var _ariaCurrent = ariaCurrent != null ? ariaCurrent : accessibilityCurrent;\n if (_ariaCurrent != null) {\n domProps['aria-current'] = _ariaCurrent;\n }\n\n /*\n if (accessibilityDescribedBy != null) {\n warnOnce(\n 'accessibilityDescribedBy',\n `accessibilityDescribedBy is deprecated. Use aria-describedby.`\n );\n }\n */\n var _ariaDescribedBy = ariaDescribedBy != null ? ariaDescribedBy : accessibilityDescribedBy;\n if (_ariaDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(_ariaDescribedBy);\n }\n\n /*\n if (accessibilityDetails != null) {\n warnOnce(\n 'accessibilityDetails',\n `accessibilityDetails is deprecated. Use aria-details.`\n );\n }\n */\n var _ariaDetails = ariaDetails != null ? ariaDetails : accessibilityDetails;\n if (_ariaDetails != null) {\n domProps['aria-details'] = _ariaDetails;\n }\n if (disabled === true) {\n domProps['aria-disabled'] = true;\n // Enhance with native semantics\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n\n /*\n if (accessibilityErrorMessage != null) {\n warnOnce(\n 'accessibilityErrorMessage',\n `accessibilityErrorMessage is deprecated. Use aria-errormessage.`\n );\n }\n */\n var _ariaErrorMessage = ariaErrorMessage != null ? ariaErrorMessage : accessibilityErrorMessage;\n if (_ariaErrorMessage != null) {\n domProps['aria-errormessage'] = _ariaErrorMessage;\n }\n\n /*\n if (accessibilityExpanded != null) {\n warnOnce(\n 'accessibilityExpanded',\n `accessibilityExpanded is deprecated. Use aria-expanded.`\n );\n }\n */\n var _ariaExpanded = ariaExpanded != null ? ariaExpanded : accessibilityExpanded;\n if (_ariaExpanded != null) {\n domProps['aria-expanded'] = _ariaExpanded;\n }\n\n /*\n if (accessibilityFlowTo != null) {\n warnOnce(\n 'accessibilityFlowTo',\n `accessibilityFlowTo is deprecated. Use aria-flowto.`\n );\n }\n */\n var _ariaFlowTo = ariaFlowTo != null ? ariaFlowTo : accessibilityFlowTo;\n if (_ariaFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(_ariaFlowTo);\n }\n\n /*\n if (accessibilityHasPopup != null) {\n warnOnce(\n 'accessibilityHasPopup',\n `accessibilityHasPopup is deprecated. Use aria-haspopup.`\n );\n }\n */\n var _ariaHasPopup = ariaHasPopup != null ? ariaHasPopup : accessibilityHasPopup;\n if (_ariaHasPopup != null) {\n domProps['aria-haspopup'] = _ariaHasPopup;\n }\n\n /*\n if (accessibilityHidden != null) {\n warnOnce(\n 'accessibilityHidden',\n `accessibilityHidden is deprecated. Use aria-hidden.`\n );\n }\n */\n var _ariaHidden = ariaHidden != null ? ariaHidden : accessibilityHidden;\n if (_ariaHidden === true) {\n domProps['aria-hidden'] = _ariaHidden;\n }\n\n /*\n if (accessibilityInvalid != null) {\n warnOnce(\n 'accessibilityInvalid',\n `accessibilityInvalid is deprecated. Use aria-invalid.`\n );\n }\n */\n var _ariaInvalid = ariaInvalid != null ? ariaInvalid : accessibilityInvalid;\n if (_ariaInvalid != null) {\n domProps['aria-invalid'] = _ariaInvalid;\n }\n\n /*\n if (accessibilityKeyShortcuts != null) {\n warnOnce(\n 'accessibilityKeyShortcuts',\n `accessibilityKeyShortcuts is deprecated. Use aria-keyshortcuts.`\n );\n }\n */\n var _ariaKeyShortcuts = ariaKeyShortcuts != null ? ariaKeyShortcuts : accessibilityKeyShortcuts;\n if (_ariaKeyShortcuts != null) {\n domProps['aria-keyshortcuts'] = processIDRefList(_ariaKeyShortcuts);\n }\n\n /*\n if (accessibilityLabel != null) {\n warnOnce(\n 'accessibilityLabel',\n `accessibilityLabel is deprecated. Use aria-label.`\n );\n }\n */\n var _ariaLabel = ariaLabel != null ? ariaLabel : accessibilityLabel;\n if (_ariaLabel != null) {\n domProps['aria-label'] = _ariaLabel;\n }\n\n /*\n if (accessibilityLabelledBy != null) {\n warnOnce(\n 'accessibilityLabelledBy',\n `accessibilityLabelledBy is deprecated. Use aria-labelledby.`\n );\n }\n */\n var _ariaLabelledBy = ariaLabelledBy != null ? ariaLabelledBy : accessibilityLabelledBy;\n if (_ariaLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(_ariaLabelledBy);\n }\n\n /*\n if (accessibilityLevel != null) {\n warnOnce(\n 'accessibilityLevel',\n `accessibilityLevel is deprecated. Use aria-level.`\n );\n }\n */\n var _ariaLevel = ariaLevel != null ? ariaLevel : accessibilityLevel;\n if (_ariaLevel != null) {\n domProps['aria-level'] = _ariaLevel;\n }\n\n /*\n if (accessibilityLiveRegion != null) {\n warnOnce(\n 'accessibilityLiveRegion',\n `accessibilityLiveRegion is deprecated. Use aria-live.`\n );\n }\n */\n var _ariaLive = ariaLive != null ? ariaLive : accessibilityLiveRegion;\n if (_ariaLive != null) {\n domProps['aria-live'] = _ariaLive === 'none' ? 'off' : _ariaLive;\n }\n\n /*\n if (accessibilityModal != null) {\n warnOnce(\n 'accessibilityModal',\n `accessibilityModal is deprecated. Use aria-modal.`\n );\n }\n */\n var _ariaModal = ariaModal != null ? ariaModal : accessibilityModal;\n if (_ariaModal != null) {\n domProps['aria-modal'] = _ariaModal;\n }\n\n /*\n if (accessibilityMultiline != null) {\n warnOnce(\n 'accessibilityMultiline',\n `accessibilityMultiline is deprecated. Use aria-multiline.`\n );\n }\n */\n var _ariaMultiline = ariaMultiline != null ? ariaMultiline : accessibilityMultiline;\n if (_ariaMultiline != null) {\n domProps['aria-multiline'] = _ariaMultiline;\n }\n\n /*\n if (accessibilityMultiSelectable != null) {\n warnOnce(\n 'accessibilityMultiSelectable',\n `accessibilityMultiSelectable is deprecated. Use aria-multiselectable.`\n );\n }\n */\n var _ariaMultiSelectable = ariaMultiSelectable != null ? ariaMultiSelectable : accessibilityMultiSelectable;\n if (_ariaMultiSelectable != null) {\n domProps['aria-multiselectable'] = _ariaMultiSelectable;\n }\n\n /*\n if (accessibilityOrientation != null) {\n warnOnce(\n 'accessibilityOrientation',\n `accessibilityOrientation is deprecated. Use aria-orientation.`\n );\n }\n */\n var _ariaOrientation = ariaOrientation != null ? ariaOrientation : accessibilityOrientation;\n if (_ariaOrientation != null) {\n domProps['aria-orientation'] = _ariaOrientation;\n }\n\n /*\n if (accessibilityOwns != null) {\n warnOnce(\n 'accessibilityOwns',\n `accessibilityOwns is deprecated. Use aria-owns.`\n );\n }\n */\n var _ariaOwns = ariaOwns != null ? ariaOwns : accessibilityOwns;\n if (_ariaOwns != null) {\n domProps['aria-owns'] = processIDRefList(_ariaOwns);\n }\n\n /*\n if (accessibilityPlaceholder != null) {\n warnOnce(\n 'accessibilityPlaceholder',\n `accessibilityPlaceholder is deprecated. Use aria-placeholder.`\n );\n }\n */\n var _ariaPlaceholder = ariaPlaceholder != null ? ariaPlaceholder : accessibilityPlaceholder;\n if (_ariaPlaceholder != null) {\n domProps['aria-placeholder'] = _ariaPlaceholder;\n }\n\n /*\n if (accessibilityPosInSet != null) {\n warnOnce(\n 'accessibilityPosInSet',\n `accessibilityPosInSet is deprecated. Use aria-posinset.`\n );\n }\n */\n var _ariaPosInSet = ariaPosInSet != null ? ariaPosInSet : accessibilityPosInSet;\n if (_ariaPosInSet != null) {\n domProps['aria-posinset'] = _ariaPosInSet;\n }\n\n /*\n if (accessibilityPressed != null) {\n warnOnce(\n 'accessibilityPressed',\n `accessibilityPressed is deprecated. Use aria-pressed.`\n );\n }\n */\n var _ariaPressed = ariaPressed != null ? ariaPressed : accessibilityPressed;\n if (_ariaPressed != null) {\n domProps['aria-pressed'] = _ariaPressed;\n }\n\n /*\n if (accessibilityReadOnly != null) {\n warnOnce(\n 'accessibilityReadOnly',\n `accessibilityReadOnly is deprecated. Use aria-readonly.`\n );\n }\n */\n var _ariaReadOnly = ariaReadOnly != null ? ariaReadOnly : accessibilityReadOnly;\n if (_ariaReadOnly != null) {\n domProps['aria-readonly'] = _ariaReadOnly;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n\n /*\n if (accessibilityRequired != null) {\n warnOnce(\n 'accessibilityRequired',\n `accessibilityRequired is deprecated. Use aria-required.`\n );\n }\n */\n var _ariaRequired = ariaRequired != null ? ariaRequired : accessibilityRequired;\n if (_ariaRequired != null) {\n domProps['aria-required'] = _ariaRequired;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = accessibilityRequired;\n }\n }\n\n /*\n if (accessibilityRole != null) {\n warnOnce('accessibilityRole', `accessibilityRole is deprecated. Use role.`);\n }\n */\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n\n /*\n if (accessibilityRoleDescription != null) {\n warnOnce(\n 'accessibilityRoleDescription',\n `accessibilityRoleDescription is deprecated. Use aria-roledescription.`\n );\n }\n */\n var _ariaRoleDescription = ariaRoleDescription != null ? ariaRoleDescription : accessibilityRoleDescription;\n if (_ariaRoleDescription != null) {\n domProps['aria-roledescription'] = _ariaRoleDescription;\n }\n\n /*\n if (accessibilityRowCount != null) {\n warnOnce(\n 'accessibilityRowCount',\n `accessibilityRowCount is deprecated. Use aria-rowcount.`\n );\n }\n */\n var _ariaRowCount = ariaRowCount != null ? ariaRowCount : accessibilityRowCount;\n if (_ariaRowCount != null) {\n domProps['aria-rowcount'] = _ariaRowCount;\n }\n\n /*\n if (accessibilityRowIndex != null) {\n warnOnce(\n 'accessibilityRowIndex',\n `accessibilityRowIndex is deprecated. Use aria-rowindex.`\n );\n }\n */\n var _ariaRowIndex = ariaRowIndex != null ? ariaRowIndex : accessibilityRowIndex;\n if (_ariaRowIndex != null) {\n domProps['aria-rowindex'] = _ariaRowIndex;\n }\n\n /*\n if (accessibilityRowSpan != null) {\n warnOnce(\n 'accessibilityRowSpan',\n `accessibilityRowSpan is deprecated. Use aria-rowspan.`\n );\n }\n */\n var _ariaRowSpan = ariaRowSpan != null ? ariaRowSpan : accessibilityRowSpan;\n if (_ariaRowSpan != null) {\n domProps['aria-rowspan'] = _ariaRowSpan;\n }\n\n /*\n if (accessibilitySelected != null) {\n warnOnce(\n 'accessibilitySelected',\n `accessibilitySelected is deprecated. Use aria-selected.`\n );\n }\n */\n var _ariaSelected = ariaSelected != null ? ariaSelected : accessibilitySelected;\n if (_ariaSelected != null) {\n domProps['aria-selected'] = _ariaSelected;\n }\n\n /*\n if (accessibilitySetSize != null) {\n warnOnce(\n 'accessibilitySetSize',\n `accessibilitySetSize is deprecated. Use aria-setsize.`\n );\n }\n */\n var _ariaSetSize = ariaSetSize != null ? ariaSetSize : accessibilitySetSize;\n if (_ariaSetSize != null) {\n domProps['aria-setsize'] = _ariaSetSize;\n }\n\n /*\n if (accessibilitySort != null) {\n warnOnce(\n 'accessibilitySort',\n `accessibilitySort is deprecated. Use aria-sort.`\n );\n }\n */\n var _ariaSort = ariaSort != null ? ariaSort : accessibilitySort;\n if (_ariaSort != null) {\n domProps['aria-sort'] = _ariaSort;\n }\n\n /*\n if (accessibilityValueMax != null) {\n warnOnce(\n 'accessibilityValueMax',\n `accessibilityValueMax is deprecated. Use aria-valuemax.`\n );\n }\n */\n var _ariaValueMax = ariaValueMax != null ? ariaValueMax : accessibilityValueMax;\n if (_ariaValueMax != null) {\n domProps['aria-valuemax'] = _ariaValueMax;\n }\n\n /*\n if (accessibilityValueMin != null) {\n warnOnce(\n 'accessibilityValueMin',\n `accessibilityValueMin is deprecated. Use aria-valuemin.`\n );\n }\n */\n var _ariaValueMin = ariaValueMin != null ? ariaValueMin : accessibilityValueMin;\n if (_ariaValueMin != null) {\n domProps['aria-valuemin'] = _ariaValueMin;\n }\n\n /*\n if (accessibilityValueNow != null) {\n warnOnce(\n 'accessibilityValueNow',\n `accessibilityValueNow is deprecated. Use aria-valuenow.`\n );\n }\n */\n var _ariaValueNow = ariaValueNow != null ? ariaValueNow : accessibilityValueNow;\n if (_ariaValueNow != null) {\n domProps['aria-valuenow'] = _ariaValueNow;\n }\n\n /*\n if (accessibilityValueText != null) {\n warnOnce(\n 'accessibilityValueText',\n `accessibilityValueText is deprecated. Use aria-valuetext.`\n );\n }\n */\n var _ariaValueText = ariaValueText != null ? ariaValueText : accessibilityValueText;\n if (_ariaValueText != null) {\n domProps['aria-valuetext'] = _ariaValueText;\n }\n\n // \"dataSet\" replaced with \"data-*\"\n if (dataSet != null) {\n for (var dataProp in dataSet) {\n if (hasOwnProperty.call(dataSet, dataProp)) {\n var dataName = hyphenateString(dataProp);\n var dataValue = dataSet[dataProp];\n if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n }\n\n // FOCUS\n if (tabIndex === 0 || tabIndex === '0' || tabIndex === -1 || tabIndex === '-1') {\n domProps.tabIndex = tabIndex;\n } else {\n /*\n if (focusable != null) {\n warnOnce('focusable', `focusable is deprecated.`);\n }\n */\n\n // \"focusable\" indicates that an element may be a keyboard tab-stop.\n if (focusable === false) {\n domProps.tabIndex = '-1';\n }\n if (\n // These native elements are keyboard focusable by default\n elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n if (focusable === false || accessibilityDisabled === true) {\n domProps.tabIndex = '-1';\n }\n } else if (\n // These roles are made keyboard focusable by default\n role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {\n if (focusable !== false) {\n domProps.tabIndex = '0';\n }\n } else {\n // Everything else must explicitly set the prop\n if (focusable === true) {\n domProps.tabIndex = '0';\n }\n }\n }\n\n // Resolve styles\n if (pointerEvents != null) {\n (0, _warnOnce.warnOnce)('pointerEvents', \"props.pointerEvents is deprecated. Use style.pointerEvents\");\n }\n var _StyleSheet = (0, _StyleSheet2.default)([style, pointerEvents && pointerEventsStyles[pointerEvents]], (0, _objectSpread2.default)({\n writingDirection: 'ltr'\n }, options)),\n className = _StyleSheet[0],\n inlineStyle = _StyleSheet[1];\n if (className) {\n domProps.className = className;\n }\n if (inlineStyle) {\n domProps.style = inlineStyle;\n }\n\n // OTHER\n // Native element ID\n /*\n if (nativeID != null) {\n warnOnce('nativeID', `nativeID is deprecated. Use id.`);\n }\n */\n var _id = id != null ? id : nativeID;\n if (_id != null) {\n domProps.id = _id;\n }\n // Automated test IDs\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n if (domProps.type == null && elementType === 'button') {\n domProps.type = 'button';\n }\n return domProps;\n};\nvar _default = exports.default = createDOMProps;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.touchProps = exports.styleProps = exports.mouseProps = exports.keyboardProps = exports.focusProps = exports.defaultProps = exports.clickProps = exports.accessibilityProps = void 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 * \n */\n\nvar defaultProps = exports.defaultProps = {\n children: true,\n dataSet: true,\n dir: true,\n id: true,\n ref: true,\n suppressHydrationWarning: true,\n tabIndex: true,\n testID: true,\n // @deprecated\n focusable: true,\n nativeID: true\n};\nvar accessibilityProps = exports.accessibilityProps = {\n 'aria-activedescendant': true,\n 'aria-atomic': true,\n 'aria-autocomplete': true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-colcount': true,\n 'aria-colindex': true,\n 'aria-colspan': true,\n 'aria-controls': true,\n 'aria-current': true,\n 'aria-describedby': true,\n 'aria-details': true,\n 'aria-disabled': true,\n 'aria-errormessage': true,\n 'aria-expanded': true,\n 'aria-flowto': true,\n 'aria-haspopup': true,\n 'aria-hidden': true,\n 'aria-invalid': true,\n 'aria-keyshortcuts': true,\n 'aria-label': true,\n 'aria-labelledby': true,\n 'aria-level': true,\n 'aria-live': true,\n 'aria-modal': true,\n 'aria-multiline': true,\n 'aria-multiselectable': true,\n 'aria-orientation': true,\n 'aria-owns': true,\n 'aria-placeholder': true,\n 'aria-posinset': true,\n 'aria-pressed': true,\n 'aria-readonly': true,\n 'aria-required': true,\n role: true,\n 'aria-roledescription': true,\n 'aria-rowcount': true,\n 'aria-rowindex': true,\n 'aria-rowspan': true,\n 'aria-selected': true,\n 'aria-setsize': true,\n 'aria-sort': true,\n 'aria-valuemax': true,\n 'aria-valuemin': true,\n 'aria-valuenow': true,\n 'aria-valuetext': true,\n // @deprecated\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n accessibilityDisabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRole: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true\n};\nvar clickProps = exports.clickProps = {\n onClick: true,\n onAuxClick: true,\n onContextMenu: true,\n onGotPointerCapture: true,\n onLostPointerCapture: true,\n onPointerCancel: true,\n onPointerDown: true,\n onPointerEnter: true,\n onPointerMove: true,\n onPointerLeave: true,\n onPointerOut: true,\n onPointerOver: true,\n onPointerUp: true\n};\nvar focusProps = exports.focusProps = {\n onBlur: true,\n onFocus: true\n};\nvar keyboardProps = exports.keyboardProps = {\n onKeyDown: true,\n onKeyDownCapture: true,\n onKeyUp: true,\n onKeyUpCapture: true\n};\nvar mouseProps = exports.mouseProps = {\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOver: true,\n onMouseOut: true,\n onMouseUp: true\n};\nvar touchProps = exports.touchProps = {\n onTouchCancel: true,\n onTouchCancelCapture: true,\n onTouchEnd: true,\n onTouchEndCapture: true,\n onTouchMove: true,\n onTouchMoveCapture: true,\n onTouchStart: true,\n onTouchStartCapture: true\n};\nvar styleProps = exports.styleProps = {\n style: true\n};","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar getBoundingClientRect = node => {\n if (node != null) {\n var isElement = node.nodeType === 1; /* Node.ELEMENT_NODE */\n if (isElement && typeof node.getBoundingClientRect === 'function') {\n return node.getBoundingClientRect();\n }\n }\n};\nvar _default = exports.default = getBoundingClientRect;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = isSelectionValid;\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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 */\n\nfunction isSelectionValid() {\n var selection = window.getSelection();\n var string = selection.toString();\n var anchorNode = selection.anchorNode;\n var focusNode = selection.focusNode;\n var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;\n return string.length >= 1 && string !== '\\n' && isTextNode;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar isWebColor = color => color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\nvar _default = exports.default = isWebColor;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = mergeRefs;\nvar React = _interopRequireWildcard(require(\"react\"));\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nfunction mergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return function forwardRef(node) {\n args.forEach(ref => {\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n if (typeof ref === 'object') {\n ref.current = node;\n return;\n }\n console.error(\"mergeRefs cannot handle Refs of type boolean, number or string, received ref \" + String(ref));\n });\n };\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addModalityListener = addModalityListener;\nexports.getActiveModality = getActiveModality;\nexports.getModality = getModality;\nexports.testOnly_resetActiveModality = testOnly_resetActiveModality;\nvar _addEventListener = require(\"../addEventListener\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nvar activeModality = 'keyboard';\nvar modality = 'keyboard';\nvar previousModality;\nvar previousActiveModality;\nvar isEmulatingMouseEvents = false;\nvar listeners = new Set();\nvar KEYBOARD = 'keyboard';\nvar MOUSE = 'mouse';\nvar TOUCH = 'touch';\nvar BLUR = 'blur';\nvar CONTEXTMENU = 'contextmenu';\nvar FOCUS = 'focus';\nvar KEYDOWN = 'keydown';\nvar MOUSEDOWN = 'mousedown';\nvar MOUSEMOVE = 'mousemove';\nvar MOUSEUP = 'mouseup';\nvar POINTERDOWN = 'pointerdown';\nvar POINTERMOVE = 'pointermove';\nvar SCROLL = 'scroll';\nvar SELECTIONCHANGE = 'selectionchange';\nvar TOUCHCANCEL = 'touchcancel';\nvar TOUCHMOVE = 'touchmove';\nvar TOUCHSTART = 'touchstart';\nvar VISIBILITYCHANGE = 'visibilitychange';\nvar bubbleOptions = {\n passive: true\n};\nvar captureOptions = {\n capture: true,\n passive: true\n};\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n callListeners();\n }\n}\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners();\n // for fallback events\n isEmulatingMouseEvents = false;\n}\nfunction onFocusWindow() {\n restoreModality();\n}\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\nfunction onPointerish(event) {\n var eventType = event.type;\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n return;\n }\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n return;\n }\n }\n // Fallback for non-PointerEvent environment\n else {\n if (!isEmulatingMouseEvents) {\n if (eventType === MOUSEDOWN) {\n if (activeModality !== MOUSE) {\n modality = MOUSE;\n activeModality = MOUSE;\n callListeners();\n }\n }\n if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n }\n\n // Flag when browser may produce emulated events\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n return;\n }\n\n // Remove flag after emulated events are finished or cancelled, and if an\n // event occurs that cuts short a touch event sequence.\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\nif (_canUseDom.default) {\n // Window events\n (0, _addEventListener.addEventListener)(window, BLUR, onBlurWindow, bubbleOptions);\n (0, _addEventListener.addEventListener)(window, FOCUS, onFocusWindow, bubbleOptions);\n // Must be capture phase because 'stopPropagation' might prevent these\n // events bubbling to the document.\n (0, _addEventListener.addEventListener)(document, KEYDOWN, onKeyDown, captureOptions);\n (0, _addEventListener.addEventListener)(document, VISIBILITYCHANGE, onVisibilityChange, captureOptions);\n (0, _addEventListener.addEventListener)(document, POINTERDOWN, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, POINTERMOVE, onPointerish, captureOptions);\n // Fallback events\n (0, _addEventListener.addEventListener)(document, CONTEXTMENU, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEDOWN, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEMOVE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, MOUSEUP, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHCANCEL, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHMOVE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, TOUCHSTART, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, SELECTIONCHANGE, onPointerish, captureOptions);\n (0, _addEventListener.addEventListener)(document, SCROLL, onPointerish, captureOptions);\n}\nfunction callListeners() {\n var value = {\n activeModality,\n modality\n };\n listeners.forEach(listener => {\n listener(value);\n });\n}\nfunction getActiveModality() {\n return activeModality;\n}\nfunction getModality() {\n return modality;\n}\nfunction addModalityListener(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\nfunction testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = pick;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nfunction pick(obj, list) {\n var nextObj = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (list[key] === true) {\n nextObj[key] = obj[key];\n }\n }\n }\n return nextObj;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _createPrefixer = _interopRequireDefault(require(\"inline-style-prefixer/lib/createPrefixer\"));\nvar _static = _interopRequireDefault(require(\"./static\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar prefixAll = (0, _createPrefixer.default)(_static.default);\nvar _default = exports.default = prefixAll;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _backgroundClip = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/backgroundClip\"));\nvar _crossFade = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/crossFade\"));\nvar _cursor = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/cursor\"));\nvar _filter = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/filter\"));\nvar _imageSet = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/imageSet\"));\nvar _logical = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/logical\"));\nvar _position = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/position\"));\nvar _sizing = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/sizing\"));\nvar _transition = _interopRequireDefault(require(\"inline-style-prefixer/lib/plugins/transition\"));\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nvar _default = exports.default = {\n plugins: [_backgroundClip.default, _crossFade.default, _cursor.default, _filter.default, _imageSet.default, _logical.default, _position.default, _sizing.default, _transition.default],\n prefixMap: {\n appearance: wmms,\n userSelect: wm,\n textEmphasisPosition: wms,\n textEmphasis: wms,\n textEmphasisStyle: wms,\n textEmphasisColor: wms,\n boxDecorationBreak: wms,\n clipPath: w,\n maskImage: wms,\n maskMode: wms,\n maskRepeat: wms,\n maskPosition: wms,\n maskClip: wms,\n maskOrigin: wms,\n maskSize: wms,\n maskComposite: wms,\n mask: wms,\n maskBorderSource: wms,\n maskBorderMode: wms,\n maskBorderSlice: wms,\n maskBorderWidth: wms,\n maskBorderOutset: wms,\n maskBorderRepeat: wms,\n maskBorder: wms,\n maskType: wms,\n textDecorationStyle: w,\n textDecorationSkip: w,\n textDecorationLine: w,\n textDecorationColor: w,\n filter: w,\n breakAfter: w,\n breakBefore: w,\n breakInside: w,\n columnCount: w,\n columnFill: w,\n columnGap: w,\n columnRule: w,\n columnRuleColor: w,\n columnRuleStyle: w,\n columnRuleWidth: w,\n columns: w,\n columnSpan: w,\n columnWidth: w,\n backdropFilter: w,\n hyphens: w,\n flowInto: w,\n flowFrom: w,\n regionFragment: w,\n textOrientation: w,\n tabSize: m,\n fontKerning: w,\n textSizeAdjust: w\n }\n};\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _unitlessNumbers = _interopRequireDefault(require(\"../unitlessNumbers\"));\n/* eslint-disable */\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 * From React 16.0.0\n * \n */\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n if (isEmpty) {\n return '';\n }\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(_unitlessNumbers.default.hasOwnProperty(name) && _unitlessNumbers.default[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n return ('' + value).trim();\n}\nvar _default = exports.default = dangerousStyleValue;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _dangerousStyleValue = _interopRequireDefault(require(\"./dangerousStyleValue\"));\n/* eslint-disable */\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 * From React 16.3.0\n * \n */\n\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = (0, _dangerousStyleValue.default)(styleName, styles[styleName], isCustomProperty);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\nvar _default = exports.default = setValueForStyles;\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nvar _default = exports.default = unitlessNumbers;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useElementLayout;\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\nvar _UIManager = _interopRequireDefault(require(\"../../exports/UIManager\"));\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !_canUseDom.default;\nvar resizeObserver = null;\nfunction getResizeObserver() {\n if (_canUseDom.default && typeof window.ResizeObserver !== 'undefined') {\n if (resizeObserver == null) {\n resizeObserver = new window.ResizeObserver(function (entries) {\n entries.forEach(entry => {\n var node = entry.target;\n var onLayout = node[DOM_LAYOUT_HANDLER_NAME];\n if (typeof onLayout === 'function') {\n // We still need to measure the view because browsers don't yet provide\n // border-box dimensions in the entry\n _UIManager.default.measure(node, (x, y, width, height, left, top) => {\n var event = {\n // $FlowFixMe\n nativeEvent: {\n layout: {\n x,\n y,\n width,\n height,\n left,\n top\n }\n },\n timeStamp: Date.now()\n };\n Object.defineProperty(event.nativeEvent, 'target', {\n enumerable: true,\n get: () => entry.target\n });\n onLayout(event);\n });\n }\n });\n });\n }\n } else if (!didWarn) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n console.warn('onLayout relies on ResizeObserver which is not supported by your browser. ' + 'Please include a polyfill, e.g., https://github.com/que-etc/resize-observer-polyfill.');\n didWarn = true;\n }\n }\n return resizeObserver;\n}\nfunction useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n (0, _useLayoutEffect.default)(() => {\n var node = ref.current;\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]);\n\n // Observing is done in a separate effect to avoid this effect running\n // when 'onLayout' changes.\n (0, _useLayoutEffect.default)(() => {\n var node = ref.current;\n if (node != null && observer != null) {\n if (typeof node[DOM_LAYOUT_HANDLER_NAME] === 'function') {\n observer.observe(node);\n } else {\n observer.unobserve(node);\n }\n }\n return () => {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useEvent;\nvar _addEventListener = require(\"../addEventListener\");\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\nvar _useStable = _interopRequireDefault(require(\"../useStable\"));\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n/**\n * This can be used with any event type include custom events.\n *\n * const click = useEvent('click', options);\n * useEffect(() => {\n * click.setListener(target, onClick);\n * return () => click.clear();\n * }).\n */\nfunction useEvent(eventType, options) {\n var targetListeners = (0, _useStable.default)(() => new Map());\n var addListener = (0, _useStable.default)(() => {\n return (target, callback) => {\n var removeTargetListener = targetListeners.get(target);\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n if (callback == null) {\n targetListeners.delete(target);\n callback = () => {};\n }\n var removeEventListener = (0, _addEventListener.addEventListener)(target, eventType, callback, options);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n (0, _useLayoutEffect.default)(() => {\n return () => {\n targetListeners.forEach(removeListener => {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = useHover;\nvar _modality = require(\"../modality\");\nvar _useEvent = _interopRequireDefault(require(\"../useEvent\"));\nvar _useLayoutEffect = _interopRequireDefault(require(\"../useLayoutEffect\"));\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n/**\n * Types\n */\n\n/**\n * Implementation\n */\n\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\n var _ref = payload || emptyObject,\n _ref$bubbles = _ref.bubbles,\n bubbles = _ref$bubbles === void 0 ? true : _ref$bubbles,\n _ref$cancelable = _ref.cancelable,\n cancelable = _ref$cancelable === void 0 ? true : _ref$cancelable,\n detail = _ref.detail;\n event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n}\n\n// This accounts for the non-PointerEvent fallback events.\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : (0, _modality.getModality)();\n}\nfunction useHover(targetRef, config) {\n var contain = config.contain,\n disabled = config.disabled,\n onHoverStart = config.onHoverStart,\n onHoverChange = config.onHoverChange,\n onHoverUpdate = config.onHoverUpdate,\n onHoverEnd = config.onHoverEnd;\n var canUsePE = supportsPointerEvent();\n var addMoveListener = (0, _useEvent.default)(canUsePE ? 'pointermove' : 'mousemove', opts);\n var addEnterListener = (0, _useEvent.default)(canUsePE ? 'pointerenter' : 'mouseenter', opts);\n var addLeaveListener = (0, _useEvent.default)(canUsePE ? 'pointerleave' : 'mouseleave', opts);\n // These custom events are used to implement the \"contain\" prop.\n var addLockListener = (0, _useEvent.default)(lockEventType, opts);\n var addUnlockListener = (0, _useEvent.default)(unlockEventType, opts);\n (0, _useLayoutEffect.default)(() => {\n var target = targetRef.current;\n if (target !== null) {\n /**\n * End the hover gesture\n */\n var hoverEnd = function hoverEnd(e) {\n if (onHoverEnd != null) {\n onHoverEnd(e);\n }\n if (onHoverChange != null) {\n onHoverChange(false);\n }\n // Remove the listeners once finished.\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n\n /**\n * Leave element\n */\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n hoverEnd(e);\n }\n };\n\n /**\n * Move within element\n */\n var moveListener = function moveListener(e) {\n if (getPointerType(e) !== 'touch') {\n if (onHoverUpdate != null) {\n // Not all browsers have these properties\n if (e.x == null) {\n e.x = e.clientX;\n }\n if (e.y == null) {\n e.y = e.clientY;\n }\n onHoverUpdate(e);\n }\n }\n };\n\n /**\n * Start the hover gesture\n */\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n if (onHoverChange != null) {\n onHoverChange(true);\n }\n // Set the listeners needed for the rest of the hover gesture.\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n\n /**\n * Enter element\n */\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n hoverStart(e);\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\n }\n };\n addEnterListener(target, !disabled ? enterListener : null);\n }\n }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = void 0;\nvar _react = require(\"react\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * useLayoutEffect throws an error on the server. On the few occasions where is\n * problematic, use this hook.\n *\n * \n */\n\nvar useLayoutEffectImpl = _canUseDom.default ? _react.useLayoutEffect : _react.useEffect;\nvar _default = exports.default = useLayoutEffectImpl;\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.LocaleProvider = LocaleProvider;\nexports.getLocaleDirection = getLocaleDirection;\nexports.useLocaleContext = useLocaleContext;\nvar _react = _interopRequireWildcard(require(\"react\"));\nvar _isLocaleRTL = require(\"./isLocaleRTL\");\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar defaultLocale = {\n direction: 'ltr',\n locale: 'en-US'\n};\nvar LocaleContext = /*#__PURE__*/(0, _react.createContext)(defaultLocale);\nfunction getLocaleDirection(locale) {\n return (0, _isLocaleRTL.isLocaleRTL)(locale) ? 'rtl' : 'ltr';\n}\nfunction LocaleProvider(props) {\n var direction = props.direction,\n locale = props.locale,\n children = props.children;\n var needsContext = direction || locale;\n return needsContext ? /*#__PURE__*/_react.default.createElement(LocaleContext.Provider, {\n children: children,\n value: {\n direction: locale ? getLocaleDirection(locale) : direction,\n locale\n }\n }) : children;\n}\nfunction useLocaleContext() {\n return (0, _react.useContext)(LocaleContext);\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.isLocaleRTL = isLocaleRTL;\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar rtlScripts = new Set(['Arab', 'Syrc', 'Samr', 'Mand', 'Thaa', 'Mend', 'Nkoo', 'Adlm', 'Rohg', 'Hebr']);\nvar rtlLangs = new Set(['ae',\n// Avestan\n'ar',\n// Arabic\n'arc',\n// Aramaic\n'bcc',\n// Southern Balochi\n'bqi',\n// Bakthiari\n'ckb',\n// Sorani\n'dv',\n// Dhivehi\n'fa', 'far',\n// Persian\n'glk',\n// Gilaki\n'he', 'iw',\n// Hebrew\n'khw',\n// Khowar\n'ks',\n// Kashmiri\n'ku',\n// Kurdish\n'mzn',\n// Mazanderani\n'nqo',\n// N'Ko\n'pnb',\n// Western Punjabi\n'ps',\n// Pashto\n'sd',\n// Sindhi\n'ug',\n// Uyghur\n'ur',\n// Urdu\n'yi' // Yiddish\n]);\nvar cache = new Map();\n\n/**\n * Determine the writing direction of a locale\n */\nfunction isLocaleRTL(locale) {\n var cachedRTL = cache.get(locale);\n if (cachedRTL) {\n return cachedRTL;\n }\n var isRTL = false;\n // $FlowFixMe\n if (Intl.Locale) {\n try {\n // $FlowFixMe\n var script = new Intl.Locale(locale).maximize().script;\n isRTL = rtlScripts.has(script);\n } catch (_unused) {\n // RangeError: Incorrect locale information provided\n // Fallback to inferring from language\n var lang = locale.split('-')[0];\n isRTL = rtlLangs.has(lang);\n }\n } else {\n // Fallback to inferring from language\n var _lang = locale.split('-')[0];\n isRTL = rtlLangs.has(_lang);\n }\n cache.set(locale, isRTL);\n return isRTL;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = useMergeRefs;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar _mergeRefs = _interopRequireDefault(require(\"../mergeRefs\"));\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nfunction useMergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return React.useMemo(() => (0, _mergeRefs.default)(...args),\n // eslint-disable-next-line\n [...args]);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = usePlatformMethods;\nvar _UIManager = _interopRequireDefault(require(\"../../exports/UIManager\"));\nvar _useStable = _interopRequireDefault(require(\"../useStable\"));\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\n/**\n * Adds non-standard methods to the hode element. This is temporarily until an\n * API like `ReactNative.measure(hostRef, callback)` is added to React Native.\n */\nfunction usePlatformMethods(_ref) {\n var pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n // Avoid creating a new ref on every render.\n var ref = (0, _useStable.default)(() => hostNode => {\n if (hostNode != null) {\n hostNode.measure = callback => _UIManager.default.measure(hostNode, callback);\n hostNode.measureLayout = (relativeToNode, success, failure) => _UIManager.default.measureLayout(hostNode, relativeToNode, failure, success);\n hostNode.measureInWindow = callback => _UIManager.default.measureInWindow(hostNode, callback);\n }\n });\n return ref;\n}\nmodule.exports = exports.default;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nexports.__esModule = true;\nexports.default = void 0;\nvar DELAY = 'DELAY';\nvar ERROR = 'ERROR';\nvar LONG_PRESS_DETECTED = 'LONG_PRESS_DETECTED';\nvar NOT_RESPONDER = 'NOT_RESPONDER';\nvar RESPONDER_ACTIVE_LONG_PRESS_START = 'RESPONDER_ACTIVE_LONG_PRESS_START';\nvar RESPONDER_ACTIVE_PRESS_START = 'RESPONDER_ACTIVE_PRESS_START';\nvar RESPONDER_INACTIVE_PRESS_START = 'RESPONDER_INACTIVE_PRESS_START';\nvar RESPONDER_GRANT = 'RESPONDER_GRANT';\nvar RESPONDER_RELEASE = 'RESPONDER_RELEASE';\nvar RESPONDER_TERMINATED = 'RESPONDER_TERMINATED';\nvar Transitions = Object.freeze({\n NOT_RESPONDER: {\n DELAY: ERROR,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: ERROR,\n RESPONDER_TERMINATED: ERROR,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_INACTIVE_PRESS_START: {\n DELAY: RESPONDER_ACTIVE_PRESS_START,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_ACTIVE_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n RESPONDER_ACTIVE_LONG_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n ERROR: {\n DELAY: NOT_RESPONDER,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: NOT_RESPONDER\n }\n});\nvar getElementRole = element => element.getAttribute('role');\nvar getElementType = element => element.tagName.toLowerCase();\nvar isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isButtonRole = element => getElementRole(element) === 'button';\nvar isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\nvar isValidKeyPress = event => {\n var key = event.key,\n target = event.target;\n var isSpacebar = key === ' ' || key === 'Spacebar';\n var isButtonish = getElementType(target) === 'button' || isButtonRole(target);\n return key === 'Enter' || isSpacebar && isButtonish;\n};\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450; // 500 - 50\nvar DEFAULT_PRESS_DELAY_MS = 50;\n\n/**\n * =========================== PressResponder Tutorial ===========================\n *\n * The `PressResponder` 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 `PressResponder`, do the following:\n *\n * const pressResponder = new PressResponder(config);\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 `PressResponder` when your component unmounts.\n *\n * componentWillUnmount() {\n * this.state.pressResponder.reset();\n * }\n *\n * ==================== Implementation Details ====================\n *\n * `PressResponder` 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`.\n * │ │ ┌────────────┐ │ │\n * │ │ │ VisualRect │ │ │\n * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time\n * │ │ HitRect │ │ before letting up, `VisualRect` activates.\n * │ └──────────────────┘ │\n * │ Out Region o │\n * └────────────────────│───┘\n * └────── When the press is released outside the `HitRect`,\n * the responder is NOT 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_START ├────────▶ │ PRESS_START ├────────────▶ │ LONG_PRESS_START │\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 `onLongPress`. Only when the browser produces a\n * `click` event is `onPress` invoked.\n */\nclass PressResponder {\n constructor(config) {\n this._eventHandlers = null;\n this._isPointerTouch = false;\n this._longPressDelayTimeout = null;\n this._longPressDispatched = false;\n this._pressDelayTimeout = null;\n this._pressOutDelayTimeout = null;\n this._touchState = NOT_RESPONDER;\n this._responderElement = null;\n this.configure(config);\n }\n configure(config) {\n this._config = config;\n }\n\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n reset() {\n this._cancelLongPressDelayTimeout();\n this._cancelPressDelayTimeout();\n this._cancelPressOutDelayTimeout();\n }\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 var start = (event, shouldDelay) => {\n event.persist();\n this._cancelPressOutDelayTimeout();\n this._longPressDispatched = false;\n this._selectionTerminated = false;\n this._touchState = NOT_RESPONDER;\n this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n this._receiveSignal(RESPONDER_GRANT, event);\n var delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n if (shouldDelay !== false && delayPressStart > 0) {\n this._pressDelayTimeout = setTimeout(() => {\n this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n this._receiveSignal(DELAY, event);\n }\n var delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n this._longPressDelayTimeout = setTimeout(() => {\n this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n var end = event => {\n this._receiveSignal(RESPONDER_RELEASE, event);\n };\n var keyupHandler = event => {\n var onPress = this._config.onPress;\n var target = event.target;\n if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {\n end(event);\n document.removeEventListener('keyup', keyupHandler);\n var role = target.getAttribute('role');\n var elementType = getElementType(target);\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n var isActiveElement = this._responderElement === target;\n if (onPress != null && !isNativeInteractiveElement && isActiveElement) {\n onPress(event);\n }\n this._responderElement = null;\n }\n };\n return {\n onStartShouldSetResponder: event => {\n var disabled = this._config.disabled;\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n if (disabled == null) {\n return true;\n }\n return !disabled;\n },\n onKeyDown: event => {\n var disabled = this._config.disabled;\n var key = event.key,\n target = event.target;\n if (!disabled && isValidKeyPress(event)) {\n if (this._touchState === NOT_RESPONDER) {\n start(event, false);\n this._responderElement = target;\n // Listen to 'keyup' on document to account for situations where\n // focus is moved to another element during 'keydown'.\n document.addEventListener('keyup', keyupHandler);\n }\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n var role = getElementRole(target);\n var isButtonLikeRole = role === 'button' || role === 'menuitem';\n if (isSpacebarKey && isButtonLikeRole && getElementType(target) !== 'button') {\n // Prevent spacebar scrolling the window if using non-native button\n event.preventDefault();\n }\n event.stopPropagation();\n }\n },\n onResponderGrant: event => start(event),\n onResponderMove: event => {\n if (this._config.onPressMove != null) {\n this._config.onPressMove(event);\n }\n var touch = getTouchFromResponderEvent(event);\n if (this._touchActivatePosition != null) {\n var deltaX = this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = this._touchActivatePosition.pageY - touch.pageY;\n if (Math.hypot(deltaX, deltaY) > 10) {\n this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: event => end(event),\n onResponderTerminate: event => {\n if (event.nativeEvent.type === 'selectionchange') {\n this._selectionTerminated = true;\n }\n this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: event => {\n var _this$_config = this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress;\n // If `onLongPress` is provided, don't terminate on `contextmenu` as default\n // behavior will be prevented for non-mouse pointers.\n if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n if (cancelable == null) {\n return true;\n }\n return cancelable;\n },\n // NOTE: this diverges from react-native in 3 significant ways:\n // * The `onPress` callback is not connected to the responder system (the native\n // `click` event must be used but is dispatched in many scenarios where no pointers\n // are on the screen.) Therefore, it's possible for `onPress` to be called without\n // `onPress{Start,End}` being called first.\n // * The `onPress` callback is only be called on the first ancestor of the native\n // `click` target that is using the PressResponder.\n // * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.\n onClick: event => {\n var _this$_config2 = this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n if (!disabled) {\n // If long press dispatched, cancel default click behavior.\n // If the responder terminated because text was selected during the gesture,\n // cancel the default click behavior.\n event.stopPropagation();\n if (this._longPressDispatched || this._selectionTerminated) {\n event.preventDefault();\n } else if (onPress != null && event.altKey === false) {\n onPress(event);\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n },\n // If `onLongPress` is provided and a touch pointer is being used, prevent the\n // default context menu from opening.\n onContextMenu: event => {\n var _this$_config3 = this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n if (!disabled) {\n if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) {\n event.preventDefault();\n event.stopPropagation();\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\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, event) {\n var prevState = this._touchState;\n var nextState = null;\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\n if (nextState == null || nextState === ERROR) {\n console.error(\"PressResponder: Invalid signal \" + signal + \" for state \" + prevState + \" on responder\");\n } else if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n this._touchState = nextState;\n }\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 // Pressable suppression of contextmenu on windows.\n // On Windows, the contextmenu is displayed after pointerup.\n // https://github.com/necolas/react-native-web/issues/2296\n setTimeout(() => {\n this._isPointerTouch = false;\n }, 0);\n this._touchActivatePosition = null;\n this._cancelLongPressDelayTimeout();\n }\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress;\n // Long press is not supported for keyboards because 'click' can be dispatched\n // immediately (and multiple times) after 'keydown'.\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\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 }\n }\n this._cancelPressDelayTimeout();\n }\n _activate(event) {\n var _this$_config5 = this._config,\n onPressChange = _this$_config5.onPressChange,\n onPressStart = _this$_config5.onPressStart;\n var touch = getTouchFromResponderEvent(event);\n this._touchActivatePosition = {\n pageX: touch.pageX,\n pageY: touch.pageY\n };\n if (onPressStart != null) {\n onPressStart(event);\n }\n if (onPressChange != null) {\n onPressChange(true);\n }\n }\n _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(() => {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n }\n _handleLongPress(event) {\n if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {\n this._receiveSignal(LONG_PRESS_DETECTED, event);\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}\nexports.default = PressResponder;\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n if (fallback === void 0) {\n fallback = 0;\n }\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\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}\nmodule.exports = exports.default;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = usePressEvents;\nvar _PressResponder = _interopRequireDefault(require(\"./PressResponder\"));\nvar _react = require(\"react\");\nfunction usePressEvents(hostRef, config) {\n var pressResponderRef = (0, _react.useRef)(null);\n if (pressResponderRef.current == null) {\n pressResponderRef.current = new _PressResponder.default(config);\n }\n var pressResponder = pressResponderRef.current;\n\n // Re-configure to use the current node and configuration.\n (0, _react.useEffect)(() => {\n pressResponder.configure(config);\n }, [config, pressResponder]);\n\n // Reset the `pressResponder` when cleanup needs to occur. This is\n // a separate effect because we do not want to rest the responder when `config` changes.\n (0, _react.useEffect)(() => {\n return () => {\n pressResponder.reset();\n };\n }, [pressResponder]);\n (0, _react.useDebugValue)(config);\n return pressResponder.getEventHandlers();\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.TOUCH_START = exports.TOUCH_MOVE = exports.TOUCH_END = exports.TOUCH_CANCEL = exports.SELECTION_CHANGE = exports.SELECT = exports.SCROLL = exports.MOUSE_UP = exports.MOUSE_MOVE = exports.MOUSE_DOWN = exports.MOUSE_CANCEL = exports.FOCUS_OUT = exports.CONTEXT_MENU = exports.BLUR = void 0;\nexports.isCancelish = isCancelish;\nexports.isEndish = isEndish;\nexports.isMoveish = isMoveish;\nexports.isScroll = isScroll;\nexports.isSelectionChange = isSelectionChange;\nexports.isStartish = isStartish;\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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 */\n\nvar BLUR = exports.BLUR = 'blur';\nvar CONTEXT_MENU = exports.CONTEXT_MENU = 'contextmenu';\nvar FOCUS_OUT = exports.FOCUS_OUT = 'focusout';\nvar MOUSE_DOWN = exports.MOUSE_DOWN = 'mousedown';\nvar MOUSE_MOVE = exports.MOUSE_MOVE = 'mousemove';\nvar MOUSE_UP = exports.MOUSE_UP = 'mouseup';\nvar MOUSE_CANCEL = exports.MOUSE_CANCEL = 'dragstart';\nvar TOUCH_START = exports.TOUCH_START = 'touchstart';\nvar TOUCH_MOVE = exports.TOUCH_MOVE = 'touchmove';\nvar TOUCH_END = exports.TOUCH_END = 'touchend';\nvar TOUCH_CANCEL = exports.TOUCH_CANCEL = 'touchcancel';\nvar SCROLL = exports.SCROLL = 'scroll';\nvar SELECT = exports.SELECT = 'select';\nvar SELECTION_CHANGE = exports.SELECTION_CHANGE = 'selectionchange';\nfunction isStartish(eventType) {\n return eventType === TOUCH_START || eventType === MOUSE_DOWN;\n}\nfunction isMoveish(eventType) {\n return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;\n}\nfunction isEndish(eventType) {\n return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);\n}\nfunction isCancelish(eventType) {\n return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;\n}\nfunction isScroll(eventType) {\n return eventType === SCROLL;\n}\nfunction isSelectionChange(eventType) {\n return eventType === SELECT || eventType === SELECTION_CHANGE;\n}","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.addNode = addNode;\nexports.attachListeners = attachListeners;\nexports.getResponderNode = getResponderNode;\nexports.removeNode = removeNode;\nexports.terminateResponder = terminateResponder;\nvar _createResponderEvent = _interopRequireDefault(require(\"./createResponderEvent\"));\nvar _ResponderEventTypes = require(\"./ResponderEventTypes\");\nvar _utils = require(\"./utils\");\nvar _ResponderTouchHistoryStore = require(\"./ResponderTouchHistoryStore\");\nvar _canUseDom = _interopRequireDefault(require(\"../canUseDom\"));\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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 */\n\n/**\n * RESPONDER EVENT SYSTEM\n *\n * A single, global \"interaction lock\" on views. For a view to be the \"responder\" means\n * that pointer interactions are exclusive to that view and none other. The \"interaction\n * lock\" can be transferred (only) to ancestors of the current \"responder\" as long as\n * pointers continue to be active.\n *\n * Responder being granted:\n *\n * A view can become the \"responder\" after the following events:\n * * \"pointerdown\" (implemented using \"touchstart\", \"mousedown\")\n * * \"pointermove\" (implemented using \"touchmove\", \"mousemove\")\n * * \"scroll\" (while a pointer is down)\n * * \"selectionchange\" (while a pointer is down)\n *\n * If nothing is already the \"responder\", the event propagates to (capture) and from\n * (bubble) the event target until a view returns `true` for\n * `on*ShouldSetResponder(Capture)`.\n *\n * If something is already the responder, the event propagates to (capture) and from\n * (bubble) the lowest common ancestor of the event target and the current \"responder\".\n * Then negotiation happens between the current \"responder\" and a view that wants to\n * become the \"responder\": see the timing diagram below.\n *\n * (NOTE: Scrolled views either automatically become the \"responder\" or release the\n * \"interaction lock\". A native scroll view that isn't built on top of the responder\n * system must result in the current \"responder\" being notified that it no longer has\n * the \"interaction lock\" - the native system has taken over.\n *\n * Responder being released:\n *\n * As soon as there are no more active pointers that *started* inside descendants\n * of the *current* \"responder\", an `onResponderRelease` event is dispatched to the\n * current \"responder\", and the responder lock is released.\n *\n * Typical sequence of events:\n * * startShouldSetResponder\n * * responderGrant/Reject\n * * responderStart\n * * responderMove\n * * responderEnd\n * * responderRelease\n */\n\n/* Negotiation Performed\n +-----------------------+\n / \\\nProcess low level events to + Current Responder + wantsResponderID\ndetermine who to perform negot-| (if any exists at all) |\niation/transition | Otherwise just pass through|\n-------------------------------+----------------------------+------------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +--------------+ | |\n | onTouchStart | | |\n +------+-------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onStartShouldSetResponder|----->| onResponderStart (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest | |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderStart|\n | | +----------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +-------------+ | |\n | onTouchMove | | |\n +------+------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onMoveShouldSetResponder |----->| onResponderMove (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest| |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderMove |\n | | +----------------+\n | |\n | |\n Some active touch started| |\n inside current responder | +------------------------+ |\n +------------------------->| onResponderEnd | |\n | | +------------------------+ |\n +---+---------+ | |\n | onTouchEnd | | |\n +---+---------+ | |\n | | +------------------------+ |\n +------------------------->| onResponderEnd | |\n No active touches started| +-----------+------------+ |\n inside current responder | | |\n | v |\n | +------------------------+ |\n | | onResponderRelease | |\n | +------------------------+ |\n | |\n + + */\n\n/* ------------ TYPES ------------ */\n\nvar emptyObject = {};\n\n/* ------------ IMPLEMENTATION ------------ */\n\nvar startRegistration = ['onStartShouldSetResponderCapture', 'onStartShouldSetResponder', {\n bubbles: true\n}];\nvar moveRegistration = ['onMoveShouldSetResponderCapture', 'onMoveShouldSetResponder', {\n bubbles: true\n}];\nvar scrollRegistration = ['onScrollShouldSetResponderCapture', 'onScrollShouldSetResponder', {\n bubbles: false\n}];\nvar shouldSetResponderEvents = {\n touchstart: startRegistration,\n mousedown: startRegistration,\n touchmove: moveRegistration,\n mousemove: moveRegistration,\n scroll: scrollRegistration\n};\nvar emptyResponder = {\n id: null,\n idPath: null,\n node: null\n};\nvar responderListenersMap = new Map();\nvar isEmulatingMouseEvents = false;\nvar trackedTouchCount = 0;\nvar currentResponder = {\n id: null,\n node: null,\n idPath: null\n};\nvar responderTouchHistoryStore = new _ResponderTouchHistoryStore.ResponderTouchHistoryStore();\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\n\n/**\n * Process native events\n *\n * A single event listener is used to manage the responder system.\n * All pointers are tracked in the ResponderTouchHistoryStore. Native events\n * are interpreted in terms of the Responder System and checked to see if\n * the responder should be transferred. Each host node that is attached to\n * the Responder System has an ID, which is used to look up its associated\n * callbacks.\n */\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n\n /**\n * Manage emulated events and early bailout.\n * Since PointerEvent is not used yet (lack of support in older Safari), it's\n * necessary to manually manage the mess of browser touch/mouse events.\n * And bailout early for termination events when there is no active responder.\n */\n\n // Flag when browser may produce emulated events\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n }\n // Remove flag when browser will not produce emulated events\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n }\n // Ignore various events in particular circumstances\n if (\n // Ignore browser emulated mouse events\n eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents ||\n // Ignore mousemove if a mousedown didn't occur first\n eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n }\n // Remove flag after emulated events are finished\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n return;\n }\n var isStartEvent = (0, _ResponderEventTypes.isStartish)(eventType) && (0, _utils.isPrimaryPointerDown)(domEvent);\n var isMoveEvent = (0, _ResponderEventTypes.isMoveish)(eventType);\n var isEndEvent = (0, _ResponderEventTypes.isEndish)(eventType);\n var isScrollEvent = (0, _ResponderEventTypes.isScroll)(eventType);\n var isSelectionChangeEvent = (0, _ResponderEventTypes.isSelectionChange)(eventType);\n var responderEvent = (0, _createResponderEvent.default)(domEvent, responderTouchHistoryStore);\n\n /**\n * Record the state of active pointers\n */\n\n if (isStartEvent || isMoveEvent || isEndEvent) {\n if (domEvent.touches) {\n trackedTouchCount = domEvent.touches.length;\n } else {\n if (isStartEvent) {\n trackedTouchCount = 1;\n } else if (isEndEvent) {\n trackedTouchCount = 0;\n }\n }\n responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n\n /**\n * Responder System logic\n */\n\n var eventPaths = (0, _utils.getResponderPaths)(domEvent);\n var wasNegotiated = false;\n var wantsResponder;\n\n // If an event occured that might change the current responder...\n if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {\n // If there is already a responder, prune the event paths to the lowest common ancestor\n // of the existing responder and deepest target of the event.\n var currentResponderIdPath = currentResponder.idPath;\n var eventIdPath = eventPaths.idPath;\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = (0, _utils.getLowestCommonAncestor)(currentResponderIdPath, eventIdPath);\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor);\n // Skip the current responder so it doesn't receive unexpected \"shouldSet\" events.\n var index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);\n eventPaths = {\n idPath: eventIdPath.slice(index),\n nodePath: eventPaths.nodePath.slice(index)\n };\n } else {\n eventPaths = null;\n }\n }\n if (eventPaths != null) {\n // If a node wants to become the responder, attempt to transfer.\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n if (wantsResponder != null) {\n // Sets responder if none exists, or negotates with existing responder.\n attemptTransfer(responderEvent, wantsResponder);\n wasNegotiated = true;\n }\n }\n }\n\n // If there is now a responder, invoke its callbacks for the lifecycle of the gesture.\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\n var _getResponderConfig = getResponderConfig(id),\n onResponderStart = _getResponderConfig.onResponderStart,\n onResponderMove = _getResponderConfig.onResponderMove,\n onResponderEnd = _getResponderConfig.onResponderEnd,\n onResponderRelease = _getResponderConfig.onResponderRelease,\n onResponderTerminate = _getResponderConfig.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig.onResponderTerminationRequest;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Start\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\n }\n }\n // Move\n else if (isMoveEvent) {\n if (onResponderMove != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderMove';\n onResponderMove(responderEvent);\n }\n } else {\n var isTerminateEvent = (0, _ResponderEventTypes.isCancelish)(eventType) ||\n // native context menu\n eventType === 'contextmenu' ||\n // window blur\n eventType === 'blur' && eventTarget === window ||\n // responder (or ancestors) blur\n eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node ||\n // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 ||\n // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node ||\n // native select/selectionchange on node\n isSelectionChangeEvent && (0, _utils.hasValidSelection)(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !(0, _utils.hasTargetTouches)(node, domEvent.touches);\n\n // End\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n }\n // Release\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n }\n // Terminate\n if (isTerminateEvent) {\n var shouldTerminate = true;\n\n // Responders can still avoid termination but only for these events.\n if (eventType === 'contextmenu' || eventType === 'scroll' || eventType === 'selectionchange') {\n // Only call this function is it wasn't already called during negotiation.\n if (wasNegotiated) {\n shouldTerminate = false;\n } else if (onResponderTerminationRequest != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\n }\n }\n }\n}\n\n/**\n * Walk the event path to/from the target node. At each node, stop and call the\n * relevant \"shouldSet\" functions for the given event type. If any of those functions\n * call \"stopPropagation\" on the event, stop searching for a responder.\n */\nfunction findWantsResponder(eventPaths, domEvent, responderEvent) {\n var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type]; // for Flow\n\n if (shouldSetCallbacks != null) {\n var idPath = eventPaths.idPath,\n nodePath = eventPaths.nodePath;\n var shouldSetCallbackCaptureName = shouldSetCallbacks[0];\n var shouldSetCallbackBubbleName = shouldSetCallbacks[1];\n var bubbles = shouldSetCallbacks[2].bubbles;\n var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\n if (shouldSetCallback(responderEvent) === true) {\n // Start the path from the potential responder\n var prunedIdPath = idPath.slice(idPath.indexOf(id));\n return {\n id,\n node,\n idPath: prunedIdPath\n };\n }\n }\n };\n\n // capture\n for (var i = idPath.length - 1; i >= 0; i--) {\n var id = idPath[i];\n var node = nodePath[i];\n var result = check(id, node, shouldSetCallbackCaptureName);\n if (result != null) {\n return result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n\n // bubble\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n if (_result != null) {\n return _result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n } else {\n var _id2 = idPath[0];\n var _node2 = nodePath[0];\n var target = domEvent.target;\n if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\n\n/**\n * Attempt to transfer the responder.\n */\nfunction attemptTransfer(responderEvent, wantsResponder) {\n var _currentResponder2 = currentResponder,\n currentId = _currentResponder2.id,\n currentNode = _currentResponder2.node;\n var id = wantsResponder.id,\n node = wantsResponder.node;\n var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Set responder\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n }\n // Negotiate with current responder\n else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n var allowTransfer = true;\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\n }\n if (allowTransfer) {\n // Terminate existing responder\n if (onResponderTerminate != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n // Grant next responder\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n } else {\n // Reject responder request\n if (onResponderReject != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderReject';\n onResponderReject(responderEvent);\n }\n }\n }\n}\n\n/* ------------ PUBLIC API ------------ */\n\n/**\n * Attach Listeners\n *\n * Use native events as ReactDOM doesn't have a non-plugin API to implement\n * this system.\n */\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = [\n// mouse\n'mousedown', 'mousemove', 'mouseup', 'dragstart',\n// touch\n'touchstart', 'touchmove', 'touchend', 'touchcancel',\n// other\n'contextmenu', 'select', 'selectionchange'];\nfunction attachListeners() {\n if (_canUseDom.default && window.__reactResponderSystemActive == null) {\n window.addEventListener('blur', eventListener);\n documentEventsBubblePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener, true);\n });\n window.__reactResponderSystemActive = true;\n }\n}\n\n/**\n * Register a node with the ResponderSystem.\n */\nfunction addNode(id, node, config) {\n (0, _utils.setResponderId)(node, id);\n responderListenersMap.set(id, config);\n}\n\n/**\n * Unregister a node with the ResponderSystem.\n */\nfunction removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\n}\n\n/**\n * Allow the current responder to be terminated from within components to support\n * more complex requirements, such as use with other React libraries for working\n * with scroll views, input views, etc.\n */\nfunction terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n if (onResponderTerminate != null) {\n var event = (0, _createResponderEvent.default)({}, responderTouchHistoryStore);\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n changeCurrentResponder(emptyResponder);\n }\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\n\n/**\n * Allow unit tests to inspect the current responder in the system.\n * FOR TESTING ONLY.\n */\nfunction getResponderNode() {\n return currentResponder.node;\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.ResponderTouchHistoryStore = void 0;\nvar _ResponderEventTypes = require(\"./ResponderEventTypes\");\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n/**\n * Tracks the position and time of each active touch by `touch.identifier`. We\n * should typically only see IDs in the range of 1-20 because IDs get recycled\n * when touches end and start again.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar MAX_TOUCH_BANK = 20;\nfunction timestampForTouch(touch) {\n // The legacy internal implementation provides \"timeStamp\", which has been\n // renamed to \"timestamp\".\n return touch.timeStamp || touch.timestamp;\n}\n\n/**\n * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\n */\nfunction createTouchRecord(touch) {\n return {\n touchActive: true,\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}\nfunction resetTouchRecord(touchRecord, touch) {\n touchRecord.touchActive = true;\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}\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n if (identifier == null) {\n console.error('Touch object is missing identifier.');\n }\n if (__DEV__) {\n if (identifier > MAX_TOUCH_BANK) {\n console.error('Touch identifier %s is greater than maximum supported %s which causes ' + 'performance issues backfilling array locations for all of the indices.', identifier, MAX_TOUCH_BANK);\n }\n }\n return identifier;\n}\nfunction recordTouchStart(touch, touchHistory) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchHistory.touchBank[identifier];\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchHistory.touchBank[identifier] = createTouchRecord(touch);\n }\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\nfunction recordTouchMove(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = true;\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 } else {\n console.warn('Cannot record touch move without a touch start.\\n', \"Touch Move: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction recordTouchEnd(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = false;\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 } else {\n console.warn('Cannot record touch end without a touch start.\\n', \"Touch End: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction printTouch(touch) {\n return JSON.stringify({\n identifier: touch.identifier,\n pageX: touch.pageX,\n pageY: touch.pageY,\n timestamp: timestampForTouch(touch)\n });\n}\nfunction printTouchBank(touchHistory) {\n var touchBank = touchHistory.touchBank;\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ' (original size: ' + touchBank.length + ')';\n }\n return printed;\n}\nclass ResponderTouchHistoryStore {\n constructor() {\n this._touchHistory = {\n touchBank: [],\n //Array\n numberActiveTouches: 0,\n // If there is only one active touch, we remember its location. This prevents\n // us having to loop through all of the touches all the time in the most\n // common case.\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\n }\n recordTouchTrack(topLevelType, nativeEvent) {\n var touchHistory = this._touchHistory;\n if ((0, _ResponderEventTypes.isMoveish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchMove(touch, touchHistory));\n } else if ((0, _ResponderEventTypes.isStartish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchStart(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if ((0, _ResponderEventTypes.isEndish)(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchEnd(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n var touchBank = touchHistory.touchBank;\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error('Cannot find single active touch.');\n }\n }\n }\n }\n }\n get touchHistory() {\n return this._touchHistory;\n }\n}\nexports.ResponderTouchHistoryStore = ResponderTouchHistoryStore;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.default = createResponderEvent;\nvar _getBoundingClientRect = _interopRequireDefault(require(\"../../modules/getBoundingClientRect\"));\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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 */\n\nvar emptyFunction = () => {};\nvar emptyObject = {};\nvar emptyArray = [];\n\n/**\n * Safari produces very large identifiers that would cause the `touchBank` array\n * length to be so large as to crash the browser, if not normalized like this.\n * In the future the `touchBank` should use an object/map instead.\n */\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n\n/**\n * Converts a native DOM event to a ResponderEvent.\n * Mouse events are transformed into fake touch events.\n */\nfunction createResponderEvent(domEvent, responderTouchHistoryStore) {\n var rect;\n var propagationWasStopped = false;\n var changedTouches;\n var touches;\n var domEventChangedTouches = domEvent.changedTouches;\n var domEventType = domEvent.type;\n var metaKey = domEvent.metaKey === true;\n var shiftKey = domEvent.shiftKey === true;\n var force = domEventChangedTouches && domEventChangedTouches[0].force || 0;\n var identifier = normalizeIdentifier(domEventChangedTouches && domEventChangedTouches[0].identifier || 0);\n var clientX = domEventChangedTouches && domEventChangedTouches[0].clientX || domEvent.clientX;\n var clientY = domEventChangedTouches && domEventChangedTouches[0].clientY || domEvent.clientY;\n var pageX = domEventChangedTouches && domEventChangedTouches[0].pageX || domEvent.pageX;\n var pageY = domEventChangedTouches && domEventChangedTouches[0].pageY || domEvent.pageY;\n var preventDefault = typeof domEvent.preventDefault === 'function' ? domEvent.preventDefault.bind(domEvent) : emptyFunction;\n var timestamp = domEvent.timeStamp;\n function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(touch => {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n get locationX() {\n return locationX(touch.clientX);\n },\n get locationY() {\n return locationY(touch.clientY);\n },\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp\n };\n });\n }\n if (domEventChangedTouches != null) {\n changedTouches = normalizeTouches(domEventChangedTouches);\n touches = normalizeTouches(domEvent.touches);\n } else {\n var emulatedTouches = [{\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp\n }];\n changedTouches = emulatedTouches;\n touches = domEventType === 'mouseup' || domEventType === 'dragstart' ? emptyArray : emulatedTouches;\n }\n var responderEvent = {\n bubbles: true,\n cancelable: true,\n // `currentTarget` is set before dispatch\n currentTarget: null,\n defaultPrevented: domEvent.defaultPrevented,\n dispatchConfig: emptyObject,\n eventPhase: domEvent.eventPhase,\n isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n isPropagationStopped() {\n return propagationWasStopped;\n },\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey,\n shiftKey,\n changedTouches,\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp,\n touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault,\n stopPropagation() {\n propagationWasStopped = true;\n },\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: responderTouchHistoryStore.touchHistory\n };\n\n // Using getters and functions serves two purposes:\n // 1) The value of `currentTarget` is not initially available.\n // 2) Measuring the clientRect may cause layout jank and should only be done on-demand.\n function locationX(x) {\n rect = rect || (0, _getBoundingClientRect.default)(responderEvent.currentTarget);\n if (rect) {\n return x - rect.left;\n }\n }\n function locationY(y) {\n rect = rect || (0, _getBoundingClientRect.default)(responderEvent.currentTarget);\n if (rect) {\n return y - rect.top;\n }\n }\n return responderEvent;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = useResponderEvents;\nvar React = _interopRequireWildcard(require(\"react\"));\nvar ResponderSystem = _interopRequireWildcard(require(\"./ResponderSystem\"));\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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 */\n\n/**\n * Hook for integrating the Responder System into React\n *\n * function SomeComponent({ onStartShouldSetResponder }) {\n * const ref = useRef(null);\n * useResponderEvents(ref, { onStartShouldSetResponder });\n * return
\n * }\n */\n\nvar emptyObject = {};\nvar idCounter = 0;\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n return ref.current;\n}\nfunction useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n var id = useStable(() => idCounter++);\n var isAttachedRef = React.useRef(false);\n\n // This is a separate effects so it doesn't run when the config changes.\n // On initial mount, attach global listeners if needed.\n // On unmount, remove node potentially attached to the Responder System.\n React.useEffect(() => {\n ResponderSystem.attachListeners();\n return () => {\n ResponderSystem.removeNode(id);\n };\n }, [id]);\n\n // Register and unregister with the Responder System as necessary\n React.useEffect(() => {\n var _config = config,\n onMoveShouldSetResponder = _config.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = _config.onMoveShouldSetResponderCapture,\n onScrollShouldSetResponder = _config.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = _config.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = _config.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = _config.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = _config.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = _config.onStartShouldSetResponderCapture;\n var requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null;\n var node = hostRef.current;\n if (requiresResponderSystem) {\n ResponderSystem.addNode(id, node, config);\n isAttachedRef.current = true;\n } else if (isAttachedRef.current) {\n ResponderSystem.removeNode(id);\n isAttachedRef.current = false;\n }\n }, [config, hostRef, id]);\n React.useDebugValue({\n isResponder: hostRef.current === ResponderSystem.getResponderNode()\n });\n React.useDebugValue(config);\n}\nmodule.exports = exports.default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\").default;\nexports.__esModule = true;\nexports.getLowestCommonAncestor = getLowestCommonAncestor;\nexports.getResponderPaths = getResponderPaths;\nexports.hasTargetTouches = hasTargetTouches;\nexports.hasValidSelection = hasValidSelection;\nexports.isPrimaryPointerDown = isPrimaryPointerDown;\nexports.setResponderId = setResponderId;\nvar _isSelectionValid = _interopRequireDefault(require(\"../../modules/isSelectionValid\"));\n/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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 */\n\nvar keyName = '__reactResponderId';\nfunction getEventPath(domEvent) {\n // The 'selectionchange' event always has the 'document' as the target.\n // Use the anchor node as the initial target to reconstruct a path.\n // (We actually only need the first \"responder\" node in practice.)\n if (domEvent.type === 'selectionchange') {\n var target = window.getSelection().anchorNode;\n return composedPathFallback(target);\n } else {\n var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);\n return path;\n }\n}\nfunction composedPathFallback(target) {\n var path = [];\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n return path;\n}\n\n/**\n * Retrieve the responderId from a host node\n */\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n return null;\n}\n\n/**\n * Store the responderId on a host node\n */\nfunction setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\n\n/**\n * Filter the event path to contain only the nodes attached to the responder system\n */\nfunction getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n return {\n idPath,\n nodePath\n };\n}\n\n/**\n * Walk the paths and find the first common ancestor\n */\nfunction getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n if (\n // If either path is empty\n pathALength === 0 || pathBLength === 0 ||\n // If the last elements aren't the same there can't be a common ancestor\n // that is connected to the responder system\n pathA[pathALength - 1] !== pathB[pathBLength - 1]) {\n return null;\n }\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0;\n\n // If A is deeper, skip indices that can't match.\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n }\n\n // If B is deeper, skip indices that can't match\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n }\n\n // Walk in lockstep until a match is found\n var depth = pathALength;\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n return null;\n}\n\n/**\n * Determine whether any of the active touches are within the current responder.\n * This cannot rely on W3C `targetTouches`, as neither IE11 nor Safari implement it.\n */\nfunction hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Ignore 'selectionchange' events that don't correspond with a person's intent to\n * select text.\n */\nfunction hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return (0, _isSelectionValid.default)();\n }\n return domEvent.type === 'select';\n}\n\n/**\n * Events are only valid if the primary button was used without specific modifier keys.\n */\nfunction isPrimaryPointerDown(domEvent) {\n var altKey = domEvent.altKey,\n button = domEvent.button,\n buttons = domEvent.buttons,\n ctrlKey = domEvent.ctrlKey,\n type = domEvent.type;\n var isTouch = type === 'touchstart' || type === 'touchmove';\n var isPrimaryMouseDown = type === 'mousedown' && (button === 0 || buttons === 1);\n var isPrimaryMouseMove = type === 'mousemove' && buttons === 1;\n var noModifiers = altKey === false && ctrlKey === false;\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n return false;\n}","\"use strict\";\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\").default;\nexports.__esModule = true;\nexports.default = useStable;\nvar React = _interopRequireWildcard(require(\"react\"));\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar UNINITIALIZED = typeof Symbol === 'function' && typeof Symbol() === 'symbol' ? Symbol() : Object.freeze({});\nfunction useStable(getInitialValue) {\n var ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n }\n // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n return ref.current;\n}\nmodule.exports = exports.default;","\"use strict\";\n\nexports.__esModule = true;\nexports.warnOnce = 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 * \n */\n\nvar warnedKeys = {};\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, message) {\n if (process.env.NODE_ENV !== 'production') {\n if (warnedKeys[key]) {\n return;\n }\n console.warn(message);\n warnedKeys[key] = true;\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 * \n */\n\n'use client';\n\nimport canUseDOM from '../../modules/canUseDom';\nfunction isScreenReaderEnabled() {\n return new Promise((resolve, reject) => {\n resolve(true);\n });\n}\nvar prefersReducedMotionMedia = canUseDOM && typeof window.matchMedia === 'function' ? window.matchMedia('(prefers-reduced-motion: reduce)') : null;\nfunction isReduceMotionEnabled() {\n return new Promise((resolve, reject) => {\n resolve(prefersReducedMotionMedia ? prefersReducedMotionMedia.matches : true);\n });\n}\nfunction addChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.addEventListener != null ? prefersReducedMotionMedia.addEventListener('change', fn) : prefersReducedMotionMedia.addListener(fn);\n }\n}\nfunction removeChangeListener(fn) {\n if (prefersReducedMotionMedia != null) {\n prefersReducedMotionMedia.removeEventListener != null ? prefersReducedMotionMedia.removeEventListener('change', fn) : prefersReducedMotionMedia.removeListener(fn);\n }\n}\nvar handlers = {};\nvar AccessibilityInfo = {\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 isScreenReaderEnabled,\n /**\n * Query whether the user prefers reduced motion.\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 isReduceMotionEnabled,\n /**\n * Deprecated\n */\n fetch: isScreenReaderEnabled,\n /**\n * Add an event handler. Supported events: reduceMotionChanged\n */\n addEventListener: function addEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n if (!prefersReducedMotionMedia) {\n return;\n }\n var listener = event => {\n handler(event.matches);\n };\n addChangeListener(listener);\n handlers[handler] = listener;\n }\n return {\n remove: () => AccessibilityInfo.removeEventListener(eventName, handler)\n };\n },\n /**\n * Set accessibility focus to a react component.\n */\n setAccessibilityFocus: function setAccessibilityFocus(reactTag) {},\n /**\n * Post a string to be announced by the screen reader.\n */\n announceForAccessibility: function announceForAccessibility(announcement) {},\n /**\n * Remove an event handler.\n */\n removeEventListener: function removeEventListener(eventName, handler) {\n if (eventName === 'reduceMotionChanged') {\n var listener = handlers[handler];\n if (!listener || !prefersReducedMotionMedia) {\n return;\n }\n removeChangeListener(listener);\n }\n return;\n }\n};\nexport default AccessibilityInfo;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';\n\n// The config has different keys depending on the type of the Node\n// TODO(T54896888): Make these types strict\n\nexport default TurboModuleRegistry.get('NativeAnimatedModule');","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport NativeAnimatedNonTurboModule from './NativeAnimatedModule';\nimport NativeAnimatedTurboModule from './NativeAnimatedTurboModule';\nimport NativeEventEmitter from '../EventEmitter/NativeEventEmitter';\nimport Platform from '../Utilities/Platform';\nimport ReactNativeFeatureFlags from '../ReactNative/ReactNativeFeatureFlags';\nimport invariant from 'fbjs/lib/invariant';\nimport RCTDeviceEventEmitter from '../EventEmitter/RCTDeviceEventEmitter';\n// TODO T69437152 @petetheheat - Delete this fork when Fabric ships to 100%.\nvar NativeAnimatedModule = Platform.OS === 'ios' && global.RN$Bridgeless === true ? NativeAnimatedTurboModule : NativeAnimatedNonTurboModule;\nvar __nativeAnimatedNodeTagCount = 1; /* used for animated nodes */\nvar __nativeAnimationIdCount = 1; /* used for started animations */\n\nvar nativeEventEmitter;\nvar waitingForQueuedOperations = new Set();\nvar queueOperations = false;\nvar queue = [];\n// $FlowFixMe\nvar singleOpQueue = [];\nvar useSingleOpBatching = false;\nPlatform.OS === 'android' && !!(NativeAnimatedModule != null && NativeAnimatedModule.queueAndExecuteBatchedOperations) && ReactNativeFeatureFlags.animatedShouldUseSingleOp();\nvar flushQueueTimeout = null;\nvar eventListenerGetValueCallbacks = {};\nvar eventListenerAnimationFinishedCallbacks = {};\nvar globalEventEmitterGetValueListener = null;\nvar globalEventEmitterAnimationFinishedListener = null;\nvar nativeOps = useSingleOpBatching ? function () {\n var apis = ['createAnimatedNode',\n // 1\n 'updateAnimatedNodeConfig',\n // 2\n 'getValue',\n // 3\n 'startListeningToAnimatedNodeValue',\n // 4\n 'stopListeningToAnimatedNodeValue',\n // 5\n 'connectAnimatedNodes',\n // 6\n 'disconnectAnimatedNodes',\n // 7\n 'startAnimatingNode',\n // 8\n 'stopAnimation',\n // 9\n 'setAnimatedNodeValue',\n // 10\n 'setAnimatedNodeOffset',\n // 11\n 'flattenAnimatedNodeOffset',\n // 12\n 'extractAnimatedNodeOffset',\n // 13\n 'connectAnimatedNodeToView',\n // 14\n 'disconnectAnimatedNodeFromView',\n // 15\n 'restoreDefaultValues',\n // 16\n 'dropAnimatedNode',\n // 17\n 'addAnimatedEventToView',\n // 18\n 'removeAnimatedEventFromView',\n // 19\n 'addListener',\n // 20\n 'removeListener' // 21\n ];\n return apis.reduce((acc, functionName, i) => {\n // These indices need to be kept in sync with the indices in native (see NativeAnimatedModule in Java, or the equivalent for any other native platform).\n // $FlowFixMe[prop-missing]\n acc[functionName] = i + 1;\n return acc;\n }, {});\n}() : NativeAnimatedModule;\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 */\nvar API = {\n getValue: function getValue(tag, saveValueCallback) {\n invariant(nativeOps, 'Native animated module is not available');\n if (useSingleOpBatching) {\n if (saveValueCallback) {\n eventListenerGetValueCallbacks[tag] = saveValueCallback;\n }\n // $FlowFixMe\n API.queueOperation(nativeOps.getValue, tag);\n } else {\n API.queueOperation(nativeOps.getValue, tag, saveValueCallback);\n }\n },\n setWaitingForIdentifier: function setWaitingForIdentifier(id) {\n waitingForQueuedOperations.add(id);\n queueOperations = true;\n if (ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush() && flushQueueTimeout) {\n clearTimeout(flushQueueTimeout);\n }\n },\n unsetWaitingForIdentifier: function unsetWaitingForIdentifier(id) {\n waitingForQueuedOperations.delete(id);\n if (waitingForQueuedOperations.size === 0) {\n queueOperations = false;\n API.disableQueue();\n }\n },\n disableQueue: function disableQueue() {\n invariant(nativeOps, 'Native animated module is not available');\n if (ReactNativeFeatureFlags.animatedShouldDebounceQueueFlush()) {\n var prevTimeout = flushQueueTimeout;\n clearImmediate(prevTimeout);\n flushQueueTimeout = setImmediate(API.flushQueue);\n } else {\n API.flushQueue();\n }\n },\n flushQueue: function flushQueue() {\n /*\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n flushQueueTimeout = null;\n // Early returns before calling any APIs\n if (useSingleOpBatching && singleOpQueue.length === 0) {\n return;\n }\n if (!useSingleOpBatching && queue.length === 0) {\n return;\n }\n if (useSingleOpBatching) {\n // Set up event listener for callbacks if it's not set up\n if (\n !globalEventEmitterGetValueListener ||\n !globalEventEmitterAnimationFinishedListener\n ) {\n setupGlobalEventEmitterListeners();\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 } else {\n Platform.OS === 'android' && NativeAnimatedModule.startOperationBatch?.();\n for (let q = 0, l = queue.length; q < l; q++) {\n queue[q]();\n }\n queue.length = 0;\n Platform.OS === 'android' &&\n NativeAnimatedModule.finishOperationBatch?.();\n }\n */\n },\n queueOperation: function queueOperation(fn) {\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 (useSingleOpBatching) {\n // Get the command ID from the queued function, and push that ID and any arguments needed to execute the operation\n // $FlowFixMe: surprise, fn is actually a number\n singleOpQueue.push(fn, ...args);\n return;\n }\n\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 queue.push(() => fn(...args));\n } else {\n fn(...args);\n }\n },\n createAnimatedNode: function createAnimatedNode(tag, config) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.createAnimatedNode, tag, config);\n },\n updateAnimatedNodeConfig: function updateAnimatedNodeConfig(tag, config) {\n invariant(nativeOps, 'Native animated module is not available');\n //if (nativeOps.updateAnimatedNodeConfig) {\n // API.queueOperation(nativeOps.updateAnimatedNodeConfig, tag, config);\n //}\n },\n startListeningToAnimatedNodeValue: function startListeningToAnimatedNodeValue(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.startListeningToAnimatedNodeValue, tag);\n },\n stopListeningToAnimatedNodeValue: function stopListeningToAnimatedNodeValue(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.stopListeningToAnimatedNodeValue, tag);\n },\n connectAnimatedNodes: function connectAnimatedNodes(parentTag, childTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.connectAnimatedNodes, parentTag, childTag);\n },\n disconnectAnimatedNodes: function disconnectAnimatedNodes(parentTag, childTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.disconnectAnimatedNodes, parentTag, childTag);\n },\n startAnimatingNode: function startAnimatingNode(animationId, nodeTag, config, endCallback) {\n invariant(nativeOps, 'Native animated module is not available');\n if (useSingleOpBatching) {\n if (endCallback) {\n eventListenerAnimationFinishedCallbacks[animationId] = endCallback;\n }\n // $FlowFixMe\n API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config);\n } else {\n API.queueOperation(nativeOps.startAnimatingNode, animationId, nodeTag, config, endCallback);\n }\n },\n stopAnimation: function stopAnimation(animationId) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.stopAnimation, animationId);\n },\n setAnimatedNodeValue: function setAnimatedNodeValue(nodeTag, value) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.setAnimatedNodeValue, nodeTag, value);\n },\n setAnimatedNodeOffset: function setAnimatedNodeOffset(nodeTag, offset) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.setAnimatedNodeOffset, nodeTag, offset);\n },\n flattenAnimatedNodeOffset: function flattenAnimatedNodeOffset(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.flattenAnimatedNodeOffset, nodeTag);\n },\n extractAnimatedNodeOffset: function extractAnimatedNodeOffset(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.extractAnimatedNodeOffset, nodeTag);\n },\n connectAnimatedNodeToView: function connectAnimatedNodeToView(nodeTag, viewTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.connectAnimatedNodeToView, nodeTag, viewTag);\n },\n disconnectAnimatedNodeFromView: function disconnectAnimatedNodeFromView(nodeTag, viewTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.disconnectAnimatedNodeFromView, nodeTag, viewTag);\n },\n restoreDefaultValues: function restoreDefaultValues(nodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n // Backwards compat with older native runtimes, can be removed later.\n if (nativeOps.restoreDefaultValues != null) {\n API.queueOperation(nativeOps.restoreDefaultValues, nodeTag);\n }\n },\n dropAnimatedNode: function dropAnimatedNode(tag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.dropAnimatedNode, tag);\n },\n addAnimatedEventToView: function addAnimatedEventToView(viewTag, eventName, eventMapping) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.addAnimatedEventToView, viewTag, eventName, eventMapping);\n },\n removeAnimatedEventFromView(viewTag, eventName, animatedNodeTag) {\n invariant(nativeOps, 'Native animated module is not available');\n API.queueOperation(nativeOps.removeAnimatedEventFromView, viewTag, eventName, animatedNodeTag);\n }\n};\nfunction setupGlobalEventEmitterListeners() {\n globalEventEmitterGetValueListener = RCTDeviceEventEmitter.addListener('onNativeAnimatedModuleGetValue', function (params) {\n var tag = params.tag;\n var callback = eventListenerGetValueCallbacks[tag];\n if (!callback) {\n return;\n }\n callback(params.value);\n delete eventListenerGetValueCallbacks[tag];\n });\n globalEventEmitterAnimationFinishedListener = RCTDeviceEventEmitter.addListener('onNativeAnimatedModuleAnimationFinished', function (params) {\n var animationId = params.animationId;\n var callback = eventListenerAnimationFinishedCallbacks[animationId];\n if (!callback) {\n return;\n }\n callback(params);\n delete eventListenerAnimationFinishedCallbacks[animationId];\n });\n}\n\n/**\n * Styles allowed by the native animated implementation.\n *\n * In general native animated implementation should support any numeric or color property that\n * doesn't need to be updated through the shadow view hierarchy (all non-layout properties).\n */\nvar SUPPORTED_COLOR_STYLES = {\n backgroundColor: true,\n borderBottomColor: true,\n borderColor: true,\n borderEndColor: true,\n borderLeftColor: true,\n borderRightColor: true,\n borderStartColor: true,\n borderTopColor: true,\n color: true,\n tintColor: true\n};\nvar SUPPORTED_STYLES = _objectSpread(_objectSpread({}, SUPPORTED_COLOR_STYLES), {}, {\n borderBottomEndRadius: true,\n borderBottomLeftRadius: true,\n borderBottomRightRadius: true,\n borderBottomStartRadius: true,\n borderRadius: true,\n borderTopEndRadius: true,\n borderTopLeftRadius: true,\n borderTopRightRadius: true,\n borderTopStartRadius: true,\n elevation: true,\n opacity: true,\n transform: true,\n zIndex: true,\n /* ios styles */\n shadowOpacity: true,\n shadowRadius: true,\n /* legacy android transform properties */\n scaleX: true,\n scaleY: true,\n translateX: true,\n translateY: true\n});\nvar SUPPORTED_TRANSFORMS = {\n translateX: true,\n translateY: true,\n scale: true,\n scaleX: true,\n scaleY: true,\n rotate: true,\n rotateX: true,\n rotateY: true,\n rotateZ: true,\n perspective: true\n};\nvar SUPPORTED_INTERPOLATION_PARAMS = {\n inputRange: true,\n outputRange: true,\n extrapolate: true,\n extrapolateRight: true,\n extrapolateLeft: true\n};\nfunction addWhitelistedStyleProp(prop) {\n SUPPORTED_STYLES[prop] = true;\n}\nfunction addWhitelistedTransformProp(prop) {\n SUPPORTED_TRANSFORMS[prop] = true;\n}\nfunction addWhitelistedInterpolationParam(param) {\n SUPPORTED_INTERPOLATION_PARAMS[param] = true;\n}\nfunction isSupportedColorStyleProp(prop) {\n return SUPPORTED_COLOR_STYLES.hasOwnProperty(prop);\n}\nfunction isSupportedStyleProp(prop) {\n return SUPPORTED_STYLES.hasOwnProperty(prop);\n}\nfunction isSupportedTransformProp(prop) {\n return SUPPORTED_TRANSFORMS.hasOwnProperty(prop);\n}\nfunction isSupportedInterpolationParam(param) {\n return SUPPORTED_INTERPOLATION_PARAMS.hasOwnProperty(param);\n}\nfunction validateTransform(configs) {\n configs.forEach(config => {\n if (!isSupportedTransformProp(config.property)) {\n throw new Error(\"Property '\" + config.property + \"' is not supported by native animated module\");\n }\n });\n}\nfunction validateStyles(styles) {\n for (var _key2 in styles) {\n if (!isSupportedStyleProp(_key2)) {\n throw new Error(\"Style property '\" + _key2 + \"' is not supported by native animated module\");\n }\n }\n}\nfunction validateInterpolation(config) {\n for (var _key3 in config) {\n if (!isSupportedInterpolationParam(_key3)) {\n throw new Error(\"Interpolation property '\" + _key3 + \"' is not supported by native animated module\");\n }\n }\n}\nfunction generateNewNodeTag() {\n return __nativeAnimatedNodeTagCount++;\n}\nfunction generateNewAnimationId() {\n return __nativeAnimationIdCount++;\n}\nfunction assertNativeAnimatedModule() {\n invariant(NativeAnimatedModule, 'Native animated module is not available');\n}\nvar _warnedMissingNativeAnimated = false;\nfunction shouldUseNativeDriver(config) {\n if (config.useNativeDriver == null) {\n console.warn('Animated: `useNativeDriver` was not specified. This is a required ' + 'option and must be explicitly set to `true` or `false`');\n }\n if (config.useNativeDriver === true && !NativeAnimatedModule) {\n if (!_warnedMissingNativeAnimated) {\n console.warn('Animated: `useNativeDriver` is not supported because the native ' + 'animated module is missing. Falling back to JS-based animation. To ' + 'resolve this, add `RCTAnimation` module to this app, or remove ' + '`useNativeDriver`. ' + '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 _warnedMissingNativeAnimated = true;\n }\n return false;\n }\n return config.useNativeDriver || false;\n}\nfunction transformDataType(value) {\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 if (/deg$/.test(value)) {\n var degrees = parseFloat(value) || 0;\n var radians = degrees * Math.PI / 180.0;\n return radians;\n } else {\n return value;\n }\n}\nexport { API, isSupportedColorStyleProp, isSupportedStyleProp, isSupportedTransformProp, isSupportedInterpolationParam, addWhitelistedStyleProp, addWhitelistedTransformProp, addWhitelistedInterpolationParam, validateStyles, validateTransform, validateInterpolation, generateNewNodeTag, generateNewAnimationId, assertNativeAnimatedModule, shouldUseNativeDriver, transformDataType };\nexport default {\n API,\n isSupportedColorStyleProp,\n isSupportedStyleProp,\n isSupportedTransformProp,\n isSupportedInterpolationParam,\n addWhitelistedStyleProp,\n addWhitelistedTransformProp,\n addWhitelistedInterpolationParam,\n validateStyles,\n validateTransform,\n validateInterpolation,\n generateNewNodeTag,\n generateNewAnimationId,\n assertNativeAnimatedModule,\n shouldUseNativeDriver,\n transformDataType,\n // $FlowExpectedError[unsafe-getters-setters] - unsafe getter lint suppresion\n // $FlowExpectedError[missing-type-arg] - unsafe getter lint suppresion\n get nativeEventEmitter() {\n if (!nativeEventEmitter) {\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 return nativeEventEmitter;\n }\n};","import Platform from '../../../exports/Platform';\nexport default Platform;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nvar ReactNativeFeatureFlags = {\n isLayoutAnimationEnabled: () => true,\n shouldEmitW3CPointerEvents: () => false,\n shouldPressibilityUseW3CPointerEventsForHover: () => false,\n animatedShouldDebounceQueueFlush: () => false,\n animatedShouldUseSingleOp: () => false\n};\nexport default ReactNativeFeatureFlags;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport invariant from 'fbjs/lib/invariant';\nexport function get(name) {\n return null;\n}\nexport function getEnforcing(name) {\n var module = get(name);\n invariant(module != null, \"TurboModuleRegistry.getEnforcing(...): '\" + name + \"' could not be found. \" + 'Verify that a module by this name is registered in the native binary.');\n return module;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nimport invariant from 'fbjs/lib/invariant';\nvar _uniqueId = 1;\n\n// Note(vjeux): this would be better as an interface but flow doesn't\n// support them yet\nclass AnimatedNode {\n __attach() {}\n __detach() {\n if (this.__isNative && this.__nativeTag != null) {\n NativeAnimatedHelper.API.dropAnimatedNode(this.__nativeTag);\n this.__nativeTag = undefined;\n }\n }\n __getValue() {}\n __getAnimatedValue() {\n return this.__getValue();\n }\n __addChild(child) {}\n __removeChild(child) {}\n __getChildren() {\n return [];\n }\n\n /* Methods and props used by native Animated impl */\n\n constructor() {\n this._listeners = {};\n }\n __makeNative(platformConfig) {\n if (!this.__isNative) {\n throw new Error('This node cannot be made a \"native\" animated node');\n }\n this._platformConfig = platformConfig;\n if (this.hasListeners()) {\n this._startListeningToNativeValueUpdates();\n }\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) {\n var id = String(_uniqueId++);\n this._listeners[id] = callback;\n if (this.__isNative) {\n this._startListeningToNativeValueUpdates();\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/animatedvalue#removelistener\n */\n removeListener(id) {\n delete this._listeners[id];\n if (this.__isNative && !this.hasListeners()) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n\n /**\n * Remove all registered listeners.\n *\n * See https://reactnative.dev/docs/animatedvalue#removealllisteners\n */\n removeAllListeners() {\n this._listeners = {};\n if (this.__isNative) {\n this._stopListeningForNativeValueUpdates();\n }\n }\n hasListeners() {\n return !!Object.keys(this._listeners).length;\n }\n _startListeningToNativeValueUpdates() {\n if (this.__nativeAnimatedValueListener && !this.__shouldUpdateListenersForNewNativeTag) {\n return;\n }\n if (this.__shouldUpdateListenersForNewNativeTag) {\n this.__shouldUpdateListenersForNewNativeTag = false;\n this._stopListeningForNativeValueUpdates();\n }\n NativeAnimatedAPI.startListeningToAnimatedNodeValue(this.__getNativeTag());\n this.__nativeAnimatedValueListener = NativeAnimatedHelper.nativeEventEmitter.addListener('onAnimatedValueUpdate', data => {\n if (data.tag !== this.__getNativeTag()) {\n return;\n }\n this.__onAnimatedValueUpdateReceived(data.value);\n });\n }\n __onAnimatedValueUpdateReceived(value) {\n this.__callListeners(value);\n }\n __callListeners(value) {\n for (var _key in this._listeners) {\n this._listeners[_key]({\n value\n });\n }\n }\n _stopListeningForNativeValueUpdates() {\n if (!this.__nativeAnimatedValueListener) {\n return;\n }\n this.__nativeAnimatedValueListener.remove();\n this.__nativeAnimatedValueListener = null;\n NativeAnimatedAPI.stopListeningToAnimatedNodeValue(this.__getNativeTag());\n }\n __getNativeTag() {\n var _this$__nativeTag;\n NativeAnimatedHelper.assertNativeAnimatedModule();\n invariant(this.__isNative, 'Attempt to get native tag from node not marked as \"native\"');\n var nativeTag = (_this$__nativeTag = this.__nativeTag) !== null && _this$__nativeTag !== void 0 ? _this$__nativeTag : NativeAnimatedHelper.generateNewNodeTag();\n if (this.__nativeTag == null) {\n this.__nativeTag = nativeTag;\n var config = this.__getNativeConfig();\n if (this._platformConfig) {\n config.platformConfig = this._platformConfig;\n }\n NativeAnimatedHelper.API.createAnimatedNode(nativeTag, config);\n this.__shouldUpdateListenersForNewNativeTag = true;\n }\n return nativeTag;\n }\n __getNativeConfig() {\n throw new Error('This JS animated node type cannot be used as native animated node');\n }\n toJSON() {\n return this.__getValue();\n }\n __getPlatformConfig() {\n return this._platformConfig;\n }\n __setPlatformConfig(platformConfig) {\n this._platformConfig = platformConfig;\n }\n}\nexport default AnimatedNode;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport AnimatedNode from './AnimatedNode';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nclass AnimatedWithChildren extends AnimatedNode {\n constructor() {\n super();\n this._children = [];\n }\n __makeNative(platformConfig) {\n if (!this.__isNative) {\n this.__isNative = true;\n for (var _iterator = _createForOfIteratorHelperLoose(this._children), _step; !(_step = _iterator()).done;) {\n var child = _step.value;\n child.__makeNative(platformConfig);\n NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n super.__makeNative(platformConfig);\n }\n __addChild(child) {\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 NativeAnimatedHelper.API.connectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n }\n __removeChild(child) {\n var 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 NativeAnimatedHelper.API.disconnectAnimatedNodes(this.__getNativeTag(), child.__getNativeTag());\n }\n this._children.splice(index, 1);\n if (this._children.length === 0) {\n this.__detach();\n }\n }\n __getChildren() {\n return this._children;\n }\n __callListeners(value) {\n super.__callListeners(value);\n if (!this.__isNative) {\n for (var _iterator2 = _createForOfIteratorHelperLoose(this._children), _step2; !(_step2 = _iterator2()).done;) {\n var child = _step2.value;\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}\nexport default AnimatedWithChildren;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n/* eslint no-bitwise: 0 */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport normalizeColor from '@react-native/normalize-colors';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar linear = t => t;\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 createInterpolation(config) {\n if (config.outputRange && typeof config.outputRange[0] === 'string') {\n return createInterpolationFromStringOutputRange(config);\n }\n var outputRange = config.outputRange;\n var inputRange = config.inputRange;\n if (__DEV__) {\n checkInfiniteRange('outputRange', outputRange);\n checkInfiniteRange('inputRange', inputRange);\n checkValidInputRange(inputRange);\n invariant(inputRange.length === outputRange.length, 'inputRange (' + inputRange.length + ') and outputRange (' + outputRange.length + ') must have the same length');\n }\n var easing = config.easing || linear;\n var extrapolateLeft = 'extend';\n if (config.extrapolateLeft !== undefined) {\n extrapolateLeft = config.extrapolateLeft;\n } else if (config.extrapolate !== undefined) {\n extrapolateLeft = config.extrapolate;\n }\n var extrapolateRight = 'extend';\n if (config.extrapolateRight !== undefined) {\n extrapolateRight = config.extrapolateRight;\n } else if (config.extrapolate !== undefined) {\n extrapolateRight = config.extrapolate;\n }\n return input => {\n invariant(typeof input === 'number', 'Cannot interpolation an input which is not a number');\n var range = findRange(input, inputRange);\n return interpolate(input, inputRange[range], inputRange[range + 1], outputRange[range], outputRange[range + 1], easing, extrapolateLeft, extrapolateRight);\n };\n}\nfunction interpolate(input, inputMin, inputMax, outputMin, outputMax, easing, extrapolateLeft, extrapolateRight) {\n var 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 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 if (outputMin === outputMax) {\n return outputMin;\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 return result;\n}\nfunction colorToRgba(input) {\n var normalizedColor = normalizeColor(input);\n if (normalizedColor === null || typeof normalizedColor !== 'number') {\n return input;\n }\n normalizedColor = normalizedColor || 0;\n var r = (normalizedColor & 0xff000000) >>> 24;\n var g = (normalizedColor & 0x00ff0000) >>> 16;\n var b = (normalizedColor & 0x0000ff00) >>> 8;\n var a = (normalizedColor & 0x000000ff) / 255;\n return \"rgba(\" + r + \", \" + g + \", \" + b + \", \" + a + \")\";\n}\nvar stringShapeRegex = /[+-]?(?:\\d+\\.?\\d*|\\.\\d+)(?:[eE][+-]?\\d+)?/g;\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 createInterpolationFromStringOutputRange(config) {\n var outputRange = config.outputRange;\n invariant(outputRange.length >= 2, 'Bad output range');\n outputRange = outputRange.map(colorToRgba);\n checkPattern(outputRange);\n\n // ['rgba(0, 100, 200, 0)', 'rgba(50, 150, 250, 0.5)']\n // ->\n // [\n // [0, 50],\n // [100, 150],\n // [200, 250],\n // [0, 0.5],\n // ]\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */\n var outputRanges = outputRange[0].match(stringShapeRegex).map(() => []);\n outputRange.forEach(value => {\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `value.match()` can return\n * `null`. Need to guard against this possibility. */\n value.match(stringShapeRegex).forEach((number, i) => {\n outputRanges[i].push(+number);\n });\n });\n var interpolations = outputRange[0].match(stringShapeRegex)\n /* $FlowFixMe[incompatible-use] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */\n /* $FlowFixMe[incompatible-call] (>=0.18.0): `outputRange[0].match()` can\n * return `null`. Need to guard against this possibility. */.map((value, i) => {\n return createInterpolation(_objectSpread(_objectSpread({}, config), {}, {\n outputRange: outputRanges[i]\n }));\n });\n\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 var shouldRound = isRgbOrRgba(outputRange[0]);\n return input => {\n var i = 0;\n // 'rgba(0, 100, 200, 0)'\n // ->\n // 'rgba(${interpolations[0](input)}, ${interpolations[1](input)}, ...'\n return outputRange[0].replace(stringShapeRegex, () => {\n var val = +interpolations[i++](input);\n if (shouldRound) {\n val = i < 4 ? Math.round(val) : Math.round(val * 1000) / 1000;\n }\n return String(val);\n });\n };\n}\nfunction isRgbOrRgba(range) {\n return typeof range === 'string' && range.startsWith('rgb');\n}\nfunction checkPattern(arr) {\n var pattern = arr[0].replace(stringShapeRegex, '');\n for (var i = 1; i < arr.length; ++i) {\n invariant(pattern === arr[i].replace(stringShapeRegex, ''), 'invalid pattern ' + arr[0] + ' and ' + arr[i]);\n }\n}\nfunction findRange(input, inputRange) {\n var i;\n for (i = 1; i < inputRange.length - 1; ++i) {\n if (inputRange[i] >= input) {\n break;\n }\n }\n return i - 1;\n}\nfunction checkValidInputRange(arr) {\n invariant(arr.length >= 2, 'inputRange must have at least 2 elements');\n var message = 'inputRange must be monotonically non-decreasing ' + String(arr);\n for (var i = 1; i < arr.length; ++i) {\n invariant(arr[i] >= arr[i - 1], message);\n }\n}\nfunction checkInfiniteRange(name, arr) {\n invariant(arr.length >= 2, name + ' must have at least 2 elements');\n invariant(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 name + 'cannot be ]-infinity;+infinity[ ' + arr);\n}\nclass AnimatedInterpolation extends AnimatedWithChildren {\n // Export for testing.\n\n constructor(parent, config) {\n super();\n this._parent = parent;\n this._config = config;\n this._interpolation = createInterpolation(config);\n }\n __makeNative(platformConfig) {\n this._parent.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n var parentValue = this._parent.__getValue();\n invariant(typeof parentValue === 'number', 'Cannot interpolate an input which is not a number.');\n return this._interpolation(parentValue);\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._parent.__addChild(this);\n }\n __detach() {\n this._parent.__removeChild(this);\n super.__detach();\n }\n __transformDataType(range) {\n return range.map(NativeAnimatedHelper.transformDataType);\n }\n __getNativeConfig() {\n if (__DEV__) {\n NativeAnimatedHelper.validateInterpolation(this._config);\n }\n return {\n inputRange: this._config.inputRange,\n // Only the `outputRange` can contain strings so we don't need to transform `inputRange` here\n outputRange: this.__transformDataType(this._config.outputRange),\n extrapolateLeft: this._config.extrapolateLeft || this._config.extrapolate || 'extend',\n extrapolateRight: this._config.extrapolateRight || this._config.extrapolate || 'extend',\n type: 'interpolation'\n };\n }\n}\nAnimatedInterpolation.__createInterpolation = createInterpolation;\nexport default AnimatedInterpolation;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport InteractionManager from '../../../../exports/InteractionManager';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar 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 */\nfunction _flush(rootNode) {\n var animatedStyles = new Set();\n function findAnimatedStyles(node) {\n /* $FlowFixMe[prop-missing] (>=0.68.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.68 was deployed. To see the error\n * delete this comment and run Flow. */\n if (typeof node.update === 'function') {\n animatedStyles.add(node);\n } else {\n node.__getChildren().forEach(findAnimatedStyles);\n }\n }\n findAnimatedStyles(rootNode);\n // $FlowFixMe[prop-missing]\n animatedStyles.forEach(animatedStyle => animatedStyle.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, operation) {\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 */\nclass AnimatedValue extends AnimatedWithChildren {\n constructor(value, config) {\n super();\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 __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 __getValue() {\n return this._value + this._offset;\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) {\n if (this._animation) {\n this._animation.stop();\n this._animation = null;\n }\n this._updateValue(value, !this.__isNative /* don't perform a flush for natively driven values */);\n if (this.__isNative) {\n _executeAsAnimatedBatch(this.__getNativeTag().toString(), () => NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), value));\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) {\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() {\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() {\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) {\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) {\n this.stopAnimation(callback);\n this._value = this._startingValue;\n if (this.__isNative) {\n NativeAnimatedAPI.setAnimatedNodeValue(this.__getNativeTag(), this._startingValue);\n }\n }\n __onAnimatedValueUpdateReceived(value) {\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(config) {\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, callback) {\n var handle = null;\n if (animation.__isInteraction) {\n handle = InteractionManager.createInteractionHandle();\n }\n var previousAnimation = this._animation;\n this._animation && this._animation.stop();\n this._animation = animation;\n animation.start(this._value, value => {\n // Natively driven animations will never call into that callback\n this._updateValue(value, true /* flush */);\n }, result => {\n this._animation = null;\n if (handle !== null) {\n InteractionManager.clearInteractionHandle(handle);\n }\n callback && callback(result);\n }, previousAnimation, this);\n }\n\n /**\n * Typically only used internally.\n */\n stopTracking() {\n this._tracking && this._tracking.__detach();\n this._tracking = null;\n }\n\n /**\n * Typically only used internally.\n */\n track(tracking) {\n this.stopTracking();\n this._tracking = tracking;\n // Make sure that the tracking animation starts executing\n this._tracking && this._tracking.update();\n }\n _updateValue(value, flush) {\n if (value === undefined) {\n throw new Error('AnimatedValue: Attempting to set value to undefined');\n }\n this._value = value;\n if (flush) {\n _flush(this);\n }\n super.__callListeners(this.__getValue());\n }\n __getNativeConfig() {\n return {\n type: 'value',\n value: this._value,\n offset: this._offset\n };\n }\n}\nexport default AnimatedValue;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport AnimatedValue from './nodes/AnimatedValue';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from './NativeAnimatedHelper';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nexport function attachNativeEvent(viewRef, eventName, argMapping) {\n // Find animated values in `argMapping` and create an array representing their\n // key path inside the `nativeEvent` object. Ex.: ['contentOffset', 'x'].\n var eventMappings = [];\n var traverse = (value, path) => {\n if (value instanceof AnimatedValue) {\n value.__makeNative();\n eventMappings.push({\n nativeEventPath: path,\n animatedValueTag: value.__getNativeTag()\n });\n } else if (typeof value === 'object') {\n for (var _key in value) {\n traverse(value[_key], path.concat(_key));\n }\n }\n };\n invariant(argMapping[0] && argMapping[0].nativeEvent, 'Native driven events only support animated values contained inside `nativeEvent`.');\n\n // Assume that the event containing `nativeEvent` is always the first argument.\n traverse(argMapping[0].nativeEvent, []);\n if (viewRef != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.addAnimatedEventToView(viewRef, eventName, mapping);\n });\n }\n return {\n detach() {\n if (viewRef != null) {\n eventMappings.forEach(mapping => {\n NativeAnimatedHelper.API.removeAnimatedEventFromView(viewRef, eventName,\n // $FlowFixMe[incompatible-call]\n mapping.animatedValueTag);\n });\n }\n }\n };\n}\nfunction validateMapping(argMapping, args) {\n var validate = (recMapping, recEvt, key) => {\n if (recMapping instanceof AnimatedValue) {\n invariant(typeof recEvt === 'number', 'Bad mapping of event key ' + key + ', should be number but got ' + typeof recEvt);\n return;\n }\n if (typeof recEvt === 'number') {\n invariant(recMapping instanceof AnimatedValue, 'Bad mapping of type ' + typeof recMapping + ' for key ' + key + ', event value must map to AnimatedValue');\n return;\n }\n invariant(typeof recMapping === 'object', 'Bad mapping of type ' + typeof recMapping + ' for key ' + key);\n invariant(typeof recEvt === 'object', 'Bad event of type ' + typeof recEvt + ' for key ' + key);\n for (var mappingKey in recMapping) {\n validate(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n };\n invariant(args.length >= argMapping.length, 'Event has less arguments than mapping');\n argMapping.forEach((mapping, idx) => {\n validate(mapping, args[idx], 'arg' + idx);\n });\n}\nexport class AnimatedEvent {\n constructor(argMapping, config) {\n this._listeners = [];\n this._argMapping = argMapping;\n if (config == null) {\n console.warn('Animated.event now requires a second argument for options');\n config = {\n useNativeDriver: false\n };\n }\n if (config.listener) {\n this.__addListener(config.listener);\n }\n this._callListeners = this._callListeners.bind(this);\n this._attachedEvent = null;\n this.__isNative = shouldUseNativeDriver(config);\n }\n __addListener(callback) {\n this._listeners.push(callback);\n }\n __removeListener(callback) {\n this._listeners = this._listeners.filter(listener => listener !== callback);\n }\n __attach(viewRef, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be attached.');\n this._attachedEvent = attachNativeEvent(viewRef, eventName, this._argMapping);\n }\n __detach(viewTag, eventName) {\n invariant(this.__isNative, 'Only native driven events need to be detached.');\n this._attachedEvent && this._attachedEvent.detach();\n }\n __getHandler() {\n var _this = this;\n if (this.__isNative) {\n if (__DEV__) {\n var _validatedMapping = false;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\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 var validatedMapping = false;\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key3 = 0; _key3 < _len2; _key3++) {\n args[_key3] = arguments[_key3];\n }\n if (__DEV__ && !validatedMapping) {\n validateMapping(_this._argMapping, args);\n validatedMapping = true;\n }\n var traverse = (recMapping, recEvt, key) => {\n if (recMapping instanceof AnimatedValue) {\n if (typeof recEvt === 'number') {\n recMapping.setValue(recEvt);\n }\n } else if (typeof recMapping === 'object') {\n for (var mappingKey in recMapping) {\n /* $FlowFixMe(>=0.120.0) This comment suppresses an error found\n * when Flow v0.120 was deployed. To see the error, delete this\n * comment and run Flow. */\n traverse(recMapping[mappingKey], recEvt[mappingKey], mappingKey);\n }\n }\n };\n _this._argMapping.forEach((mapping, idx) => {\n traverse(mapping, args[idx], 'arg' + idx);\n });\n _this._callListeners(...args);\n };\n }\n _callListeners() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key4 = 0; _key4 < _len3; _key4++) {\n args[_key4] = arguments[_key4];\n }\n this._listeners.forEach(listener => listener(...args));\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 * \n * @format\n */\n\n'use strict';\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nclass AnimatedTransform extends AnimatedWithChildren {\n constructor(transforms) {\n super();\n this._transforms = transforms;\n }\n __makeNative() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n });\n super.__makeNative();\n }\n __getValue() {\n return this._transforms.map(transform => {\n var result = {};\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n result[key] = value.__getValue();\n } else {\n result[key] = value;\n }\n }\n return result;\n });\n }\n __getAnimatedValue() {\n return this._transforms.map(transform => {\n var result = {};\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n result[key] = value.__getAnimatedValue();\n } else {\n // All transform components needed to recompose matrix\n result[key] = value;\n }\n }\n return result;\n });\n }\n __attach() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n });\n }\n __detach() {\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n });\n super.__detach();\n }\n __getNativeConfig() {\n var transConfigs = [];\n this._transforms.forEach(transform => {\n for (var key in transform) {\n var value = transform[key];\n if (value instanceof AnimatedNode) {\n transConfigs.push({\n type: 'animated',\n property: key,\n nodeTag: value.__getNativeTag()\n });\n } else {\n transConfigs.push({\n type: 'static',\n property: key,\n value: NativeAnimatedHelper.transformDataType(value)\n });\n }\n }\n });\n NativeAnimatedHelper.validateTransform(transConfigs);\n return {\n type: 'transform',\n transforms: transConfigs\n };\n }\n}\nexport default AnimatedTransform;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedTransform from './AnimatedTransform';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport StyleSheet from '../../../../exports/StyleSheet';\nvar flattenStyle = StyleSheet.flatten;\nfunction createAnimatedStyle(inputStyle) {\n var style = flattenStyle(inputStyle);\n var animatedStyles = {};\n for (var key in style) {\n var value = style[key];\n if (key === 'transform' && Array.isArray(value)) {\n animatedStyles[key] = new AnimatedTransform(value);\n } else if (value instanceof AnimatedNode) {\n animatedStyles[key] = value;\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n animatedStyles[key] = createAnimatedStyle(value);\n }\n }\n return animatedStyles;\n}\nclass AnimatedStyle extends AnimatedWithChildren {\n constructor(style) {\n super();\n this._inputStyle = style;\n this._style = createAnimatedStyle(style);\n }\n\n // Recursively get values for nested styles (like iOS's shadowOffset)\n _walkStyleAndGetValues(style) {\n var updatedStyle = {};\n for (var key in style) {\n var value = style[key];\n if (value instanceof AnimatedNode) {\n if (!value.__isNative) {\n // We cannot use value of natively driven nodes this way as the value we have access from\n // JS may not be up to date.\n updatedStyle[key] = value.__getValue();\n }\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n // Support animating nested values (for example: shadowOffset.height)\n updatedStyle[key] = this._walkStyleAndGetValues(value);\n } else {\n updatedStyle[key] = value;\n }\n }\n return updatedStyle;\n }\n __getValue() {\n return [this._inputStyle, this._walkStyleAndGetValues(this._style)];\n }\n\n // Recursively get animated values for nested styles (like iOS's shadowOffset)\n _walkStyleAndGetAnimatedValues(style) {\n var updatedStyle = {};\n for (var key in style) {\n var value = style[key];\n if (value instanceof AnimatedNode) {\n updatedStyle[key] = value.__getAnimatedValue();\n } else if (value && !Array.isArray(value) && typeof value === 'object') {\n // Support animating nested values (for example: shadowOffset.height)\n updatedStyle[key] = this._walkStyleAndGetAnimatedValues(value);\n }\n }\n return updatedStyle;\n }\n __getAnimatedValue() {\n return this._walkStyleAndGetAnimatedValues(this._style);\n }\n __attach() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n }\n __detach() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n super.__detach();\n }\n __makeNative() {\n for (var key in this._style) {\n var value = this._style[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n super.__makeNative();\n }\n __getNativeConfig() {\n var styleConfig = {};\n for (var styleKey in this._style) {\n if (this._style[styleKey] instanceof AnimatedNode) {\n var style = this._style[styleKey];\n style.__makeNative();\n styleConfig[styleKey] = style.__getNativeTag();\n }\n }\n NativeAnimatedHelper.validateStyles(styleConfig);\n return {\n type: 'style',\n style: styleConfig\n };\n }\n}\nexport default AnimatedStyle;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent } from '../AnimatedEvent';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedStyle from './AnimatedStyle';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nimport invariant from 'fbjs/lib/invariant';\nclass AnimatedProps extends AnimatedNode {\n constructor(props, callback) {\n super();\n if (props.style) {\n props = _objectSpread(_objectSpread({}, props), {}, {\n style: new AnimatedStyle(props.style)\n });\n }\n this._props = props;\n this._callback = callback;\n this.__attach();\n }\n __getValue() {\n var props = {};\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n if (!value.__isNative || value instanceof AnimatedStyle) {\n // We cannot use value of natively driven nodes this way as the value we have access from\n // JS may not be up to date.\n props[key] = value.__getValue();\n }\n } else if (value instanceof AnimatedEvent) {\n props[key] = value.__getHandler();\n } else {\n props[key] = value;\n }\n }\n return props;\n }\n __getAnimatedValue() {\n var props = {};\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n props[key] = value.__getAnimatedValue();\n }\n }\n return props;\n }\n __attach() {\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__addChild(this);\n }\n }\n }\n __detach() {\n if (this.__isNative && this._animatedView) {\n this.__disconnectAnimatedView();\n }\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__removeChild(this);\n }\n }\n super.__detach();\n }\n update() {\n this._callback();\n }\n __makeNative() {\n if (!this.__isNative) {\n this.__isNative = true;\n for (var key in this._props) {\n var value = this._props[key];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n }\n }\n if (this._animatedView) {\n this.__connectAnimatedView();\n }\n }\n }\n setNativeView(animatedView) {\n if (this._animatedView === animatedView) {\n return;\n }\n this._animatedView = animatedView;\n if (this.__isNative) {\n this.__connectAnimatedView();\n }\n }\n __connectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = this._animatedView;\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.connectAnimatedNodeToView(this.__getNativeTag(), nativeViewTag);\n }\n __disconnectAnimatedView() {\n invariant(this.__isNative, 'Expected node to be marked as \"native\"');\n var nativeViewTag = this._animatedView;\n invariant(nativeViewTag != null, 'Unable to locate attached view in the native tree');\n NativeAnimatedHelper.API.disconnectAnimatedNodeFromView(this.__getNativeTag(), nativeViewTag);\n }\n __restoreDefaultValues() {\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 __getNativeConfig() {\n var propsConfig = {};\n for (var propKey in this._props) {\n var value = this._props[propKey];\n if (value instanceof AnimatedNode) {\n value.__makeNative();\n propsConfig[propKey] = value.__getNativeTag();\n }\n }\n return {\n type: 'props',\n props: propsConfig\n };\n }\n}\nexport default AnimatedProps;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedProps from './nodes/AnimatedProps';\nimport { AnimatedEvent } from './AnimatedEvent';\nimport useRefEffect from '../Utilities/useRefEffect';\nimport NativeAnimatedHelper from './NativeAnimatedHelper';\nimport { useCallback, useEffect, useMemo, useReducer, useRef } from 'react';\nimport useLayoutEffect from '../../../modules/useLayoutEffect';\nexport default function useAnimatedProps(props) {\n var _useReducer = useReducer(count => count + 1, 0),\n scheduleUpdate = _useReducer[1];\n var onUpdateRef = useRef(null);\n\n // TODO: Only invalidate `node` if animated props or `style` change. In the\n // previous implementation, we permitted `style` to override props with the\n // same name property name as styles, so we can probably continue doing that.\n // The ordering of other props *should* not matter.\n var node = useMemo(() => new AnimatedProps(props, () => onUpdateRef.current == null ? void 0 : onUpdateRef.current()), [props]);\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 separat \"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 var refEffect = useCallback(instance => {\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: This callback is only used by the JavaScript animation driver.\n onUpdateRef.current = () => {\n // Schedule an update for this component to update `reducedProps`,\n // but do not compute it immediately. If a parent also updated, we\n // need to merge those new props in before updating.\n scheduleUpdate();\n };\n var target = getEventTarget(instance);\n var events = [];\n for (var propName in props) {\n var propValue = props[propName];\n if (propValue instanceof AnimatedEvent && propValue.__isNative) {\n propValue.__attach(target, propName);\n events.push([propName, propValue]);\n }\n }\n return () => {\n onUpdateRef.current = null;\n for (var _i = 0, _events = events; _i < _events.length; _i++) {\n var _events$_i = _events[_i],\n _propName = _events$_i[0],\n _propValue = _events$_i[1];\n _propValue.__detach(target, _propName);\n }\n };\n }, [props, node]);\n var callbackRef = useRefEffect(refEffect);\n return [reduceAnimatedProps(node), callbackRef];\n}\nfunction reduceAnimatedProps(node) {\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 _objectSpread(_objectSpread({}, node.__getValue()), {}, {\n collapsable: false\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 useAnimatedPropsLifecycle(node) {\n var prevNodeRef = useRef(null);\n var isUnmountingRef = useRef(false);\n useEffect(() => {\n // It is ok for multiple components to call `flushQueue` because it noops\n // if the queue is empty. When multiple animated components are mounted at\n // the same time. Only first component flushes the queue and the others will noop.\n NativeAnimatedHelper.API.flushQueue();\n });\n useLayoutEffect(() => {\n isUnmountingRef.current = false;\n return () => {\n isUnmountingRef.current = true;\n };\n }, []);\n useLayoutEffect(() => {\n node.__attach();\n if (prevNodeRef.current != null) {\n var 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}\nfunction getEventTarget(instance) {\n return typeof instance === 'object' && typeof (instance == null ? void 0 : instance.getScrollableNode) === 'function' ?\n // $FlowFixMe[incompatible-use] - Legacy instance assumptions.\n instance.getScrollableNode() : instance;\n}\n\n// $FlowFixMe[unclear-type] - Legacy instance assumptions.\nfunction isFabricInstance(instance) {\n var _instance$getScrollRe;\n return hasFabricHandle(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 hasFabricHandle(instance == null ? void 0 : instance.getNativeScrollRef == null ? void 0 : instance.getNativeScrollRef()) || hasFabricHandle(instance == null ? void 0 : instance.getScrollResponder == null ? void 0 : (_instance$getScrollRe = instance.getScrollResponder()) == null ? void 0 : _instance$getScrollRe.getNativeScrollRef == null ? void 0 : _instance$getScrollRe.getNativeScrollRef());\n}\n\n// $FlowFixMe[unclear-type] - Legacy instance assumptions.\nfunction hasFabricHandle(instance) {\n var _instance$_internalIn, _instance$_internalIn2;\n // eslint-disable-next-line dot-notation\n return (instance == null ? void 0 : (_instance$_internalIn = instance['_internalInstanceHandle']) == null ? void 0 : (_instance$_internalIn2 = _instance$_internalIn.stateNode) == null ? void 0 : _instance$_internalIn2.canonical) != null;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport { useCallback, useRef } from 'react';\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(effect) {\n var cleanupRef = useRef(undefined);\n return useCallback(instance => {\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = undefined;\n }\n if (instance != null) {\n cleanupRef.current = effect(instance);\n }\n }, [effect]);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"];\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport useAnimatedProps from './useAnimatedProps';\nimport useMergeRefs from '../Utilities/useMergeRefs';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport View from '../../../exports/View';\nimport * as React from 'react';\n/**\n * Experimental implementation of `createAnimatedComponent` that is intended to\n * be compatible with concurrent rendering.\n */\nexport default function createAnimatedComponent(Component) {\n return /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _useAnimatedProps = useAnimatedProps(props),\n reducedProps = _useAnimatedProps[0],\n callbackRef = _useAnimatedProps[1];\n var 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 var passthroughAnimatedPropExplicitValues = reducedProps.passthroughAnimatedPropExplicitValues,\n style = reducedProps.style;\n var _ref = passthroughAnimatedPropExplicitValues !== null && passthroughAnimatedPropExplicitValues !== void 0 ? passthroughAnimatedPropExplicitValues : {},\n passthroughStyle = _ref.style,\n passthroughProps = _objectWithoutPropertiesLoose(_ref, _excluded);\n var mergedStyle = [style, passthroughStyle];\n return /*#__PURE__*/React.createElement(Component, _extends({}, reducedProps, passthroughProps, {\n style: mergedStyle,\n ref: 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 * \n * @format\n */\n\nimport { useCallback } from 'react';\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 for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n return useCallback(current => {\n for (var _i = 0, _refs = refs; _i < _refs.length; _i++) {\n var ref = _refs[_i];\n if (ref != null) {\n if (typeof ref === 'function') {\n ref(current);\n } else {\n ref.current = current;\n }\n }\n }\n }, [...refs] // eslint-disable-line react-hooks/exhaustive-deps\n );\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport * as React from 'react';\nimport FlatList from '../../../../exports/FlatList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar FlatListWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(FlatList, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(FlatListWithEventThrottle);","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport * as React from 'react';\nimport Image from '../../../../exports/Image';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Image);","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport * as React from 'react';\nimport ScrollView from '../../../../exports/ScrollView';\nimport createAnimatedComponent from '../createAnimatedComponent';\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar ScrollViewWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(ScrollView, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(ScrollViewWithEventThrottle);","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport * as React from 'react';\nimport SectionList from '../../../../exports/SectionList';\nimport createAnimatedComponent from '../createAnimatedComponent';\n/**\n * @see https://github.com/facebook/react-native/commit/b8c8562\n */\nvar SectionListWithEventThrottle = /*#__PURE__*/React.forwardRef((props, ref) => /*#__PURE__*/React.createElement(SectionList, _extends({\n scrollEventThrottle: 0.0001\n}, props, {\n ref: ref\n})));\nexport default createAnimatedComponent(SectionListWithEventThrottle);","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport * as React from 'react';\nimport Text from '../../../../exports/Text';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(Text);","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport * as React from 'react';\nimport View from '../../../../exports/View';\nimport createAnimatedComponent from '../createAnimatedComponent';\nexport default createAnimatedComponent(View);","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedAddition extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() + this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'addition',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedAddition;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedDiffClamp extends AnimatedWithChildren {\n constructor(a, min, max) {\n super();\n this._a = a;\n this._min = min;\n this._max = max;\n this._value = this._lastValue = this._a.__getValue();\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __getValue() {\n var value = this._a.__getValue();\n var 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 __attach() {\n this._a.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'diffclamp',\n input: this._a.__getNativeTag(),\n min: this._min,\n max: this._max\n };\n }\n}\nexport default AnimatedDiffClamp;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedNode from './AnimatedNode';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedDivision extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._warnedAboutDivideByZero = false;\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 __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n var a = this._a.__getValue();\n var 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 interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'division',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedDivision;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedModulo extends AnimatedWithChildren {\n constructor(a, modulus) {\n super();\n this._a = a;\n this._modulus = modulus;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return (this._a.__getValue() % this._modulus + this._modulus) % this._modulus;\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'modulus',\n input: this._a.__getNativeTag(),\n modulus: this._modulus\n };\n }\n}\nexport default AnimatedModulo;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedMultiplication extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() * this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'multiplication',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedMultiplication;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport AnimatedInterpolation from './AnimatedInterpolation';\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nclass AnimatedSubtraction extends AnimatedWithChildren {\n constructor(a, b) {\n super();\n this._a = typeof a === 'number' ? new AnimatedValue(a) : a;\n this._b = typeof b === 'number' ? new AnimatedValue(b) : b;\n }\n __makeNative(platformConfig) {\n this._a.__makeNative(platformConfig);\n this._b.__makeNative(platformConfig);\n super.__makeNative(platformConfig);\n }\n __getValue() {\n return this._a.__getValue() - this._b.__getValue();\n }\n interpolate(config) {\n return new AnimatedInterpolation(this, config);\n }\n __attach() {\n this._a.__addChild(this);\n this._b.__addChild(this);\n }\n __detach() {\n this._a.__removeChild(this);\n this._b.__removeChild(this);\n super.__detach();\n }\n __getNativeConfig() {\n return {\n type: 'subtraction',\n input: [this._a.__getNativeTag(), this._b.__getNativeTag()]\n };\n }\n}\nexport default AnimatedSubtraction;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedNode from './AnimatedNode';\nimport { generateNewAnimationId, shouldUseNativeDriver } from '../NativeAnimatedHelper';\nclass AnimatedTracking extends AnimatedNode {\n constructor(value, parent, animationClass, animationConfig, callback) {\n super();\n this._value = value;\n this._parent = parent;\n this._animationClass = animationClass;\n this._animationConfig = animationConfig;\n this._useNativeDriver = shouldUseNativeDriver(animationConfig);\n this._callback = callback;\n this.__attach();\n }\n __makeNative() {\n this.__isNative = true;\n this._parent.__makeNative();\n super.__makeNative();\n this._value.__makeNative();\n }\n __getValue() {\n return this._parent.__getValue();\n }\n __attach() {\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 this.__makeNative();\n }\n }\n __detach() {\n this._parent.__removeChild(this);\n super.__detach();\n }\n update() {\n this._value.animate(new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n toValue: this._animationConfig.toValue.__getValue()\n })), this._callback);\n }\n __getNativeConfig() {\n var animation = new this._animationClass(_objectSpread(_objectSpread({}, this._animationConfig), {}, {\n // remove toValue from the config as it's a ref to Animated.Value\n toValue: undefined\n }));\n var animationConfig = animation.__getNativeAnimationConfig();\n return {\n type: 'tracking',\n animationId: generateNewAnimationId(),\n animationConfig,\n toValue: this._parent.__getNativeTag(),\n value: this._value.__getNativeTag()\n };\n }\n}\nexport default AnimatedTracking;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport invariant from 'fbjs/lib/invariant';\nvar _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.html\n */\nclass AnimatedValueXY extends AnimatedWithChildren {\n constructor(valueIn) {\n super();\n var value = valueIn || {\n x: 0,\n y: 0\n }; // fixme: 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(value.x instanceof AnimatedValue && value.y instanceof AnimatedValue, 'AnimatedValueXY must be initialized with an object of numbers or ' + 'AnimatedValues.');\n this.x = value.x;\n this.y = value.y;\n }\n this._listeners = {};\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.html#setvalue\n */\n setValue(value) {\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.html#setoffset\n */\n setOffset(offset) {\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.html#flattenoffset\n */\n flattenOffset() {\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.html#extractoffset\n */\n extractOffset() {\n this.x.extractOffset();\n this.y.extractOffset();\n }\n __getValue() {\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.html#resetanimation\n */\n resetAnimation(callback) {\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.html#stopanimation\n */\n stopAnimation(callback) {\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.html#addlistener\n */\n addListener(callback) {\n var id = String(_uniqueId++);\n var jointCallback = _ref => {\n var number = _ref.value;\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.html#removelistener\n */\n removeListener(id) {\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.html#removealllisteners\n */\n removeAllListeners() {\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.html#getlayout\n */\n getLayout() {\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.html#gettranslatetransform\n */\n getTranslateTransform() {\n return [{\n translateX: this.x\n }, {\n translateY: this.y\n }];\n }\n}\nexport default AnimatedValueXY;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar 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.\nclass Animation {\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {}\n stop() {\n if (this.__nativeId) {\n NativeAnimatedHelper.API.stopAnimation(this.__nativeId);\n }\n }\n __getNativeAnimationConfig() {\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 // Helper function for subclasses to make sure onEnd is only called once.\n __debouncedOnEnd(result) {\n var onEnd = this.__onEnd;\n this.__onEnd = null;\n onEnd && onEnd(result);\n }\n __startNativeAnimation(animatedValue) {\n var startNativeAnimationWaitId = startNativeAnimationNextId + \":startAnimation\";\n startNativeAnimationNextId += 1;\n NativeAnimatedHelper.API.setWaitingForIdentifier(startNativeAnimationWaitId);\n try {\n var config = this.__getNativeAnimationConfig();\n animatedValue.__makeNative(config.platformConfig);\n this.__nativeId = NativeAnimatedHelper.generateNewAnimationId();\n NativeAnimatedHelper.API.startAnimatingNode(this.__nativeId, animatedValue.__getNativeTag(), config,\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.__debouncedOnEnd.bind(this));\n } catch (e) {\n throw e;\n } finally {\n NativeAnimatedHelper.API.unsetWaitingForIdentifier(startNativeAnimationWaitId);\n }\n }\n}\nexport default Animation;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nclass DecayAnimation extends Animation {\n constructor(config) {\n var _config$deceleration, _config$isInteraction, _config$iterations;\n super();\n this._deceleration = (_config$deceleration = config.deceleration) !== null && _config$deceleration !== void 0 ? _config$deceleration : 0.998;\n this._velocity = config.velocity;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n }\n __getNativeAnimationConfig() {\n return {\n type: 'decay',\n deceleration: this._deceleration,\n velocity: this._velocity,\n iterations: this.__iterations\n };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._lastValue = fromValue;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._startTime = Date.now();\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n onUpdate() {\n var now = Date.now();\n var value = this._fromValue + this._velocity / (1 - this._deceleration) * (1 - Math.exp(-(1 - this._deceleration) * (now - this._startTime)));\n this._onUpdate(value);\n if (Math.abs(this._lastValue - value) < 0.1) {\n this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n this._lastValue = value;\n if (this.__active) {\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n }\n stop() {\n super.stop();\n this.__active = false;\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\n });\n }\n}\nexport default DecayAnimation;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * \n */\n\n'use strict';\n\nfunction stiffnessFromOrigamiValue(oValue) {\n return (oValue - 30) * 3.62 + 194;\n}\nfunction dampingFromOrigamiValue(oValue) {\n return (oValue - 8) * 3 + 25;\n}\nfunction fromOrigamiTensionAndFriction(tension, friction) {\n return {\n stiffness: stiffnessFromOrigamiValue(tension),\n damping: dampingFromOrigamiValue(friction)\n };\n}\nfunction fromBouncinessAndSpeed(bounciness, speed) {\n function normalize(value, startValue, endValue) {\n return (value - startValue) / (endValue - startValue);\n }\n function projectNormal(n, start, end) {\n return start + n * (end - start);\n }\n function linearInterpolation(t, start, end) {\n return t * end + (1 - t) * start;\n }\n function quadraticOutInterpolation(t, start, end) {\n return linearInterpolation(2 * t - t * t, start, end);\n }\n function b3Friction1(x) {\n return 0.0007 * Math.pow(x, 3) - 0.031 * Math.pow(x, 2) + 0.64 * x + 1.28;\n }\n function b3Friction2(x) {\n return 0.000044 * Math.pow(x, 3) - 0.006 * Math.pow(x, 2) + 0.36 * x + 2;\n }\n function b3Friction3(x) {\n return 0.00000045 * Math.pow(x, 3) - 0.000332 * Math.pow(x, 2) + 0.1078 * x + 5.84;\n }\n function b3Nobounce(tension) {\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 var b = normalize(bounciness / 1.7, 0, 20);\n b = projectNormal(b, 0, 0.8);\n var s = normalize(speed / 1.7, 0, 20);\n var bouncyTension = projectNormal(s, 0.5, 200);\n var bouncyFriction = quadraticOutInterpolation(b, b3Nobounce(bouncyTension), 0.01);\n return {\n stiffness: stiffnessFromOrigamiValue(bouncyTension),\n damping: dampingFromOrigamiValue(bouncyFriction)\n };\n}\nexport default {\n fromOrigamiTensionAndFriction,\n fromBouncinessAndSpeed\n};","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport Animation from './Animation';\nimport SpringConfig from '../SpringConfig';\nimport invariant from 'fbjs/lib/invariant';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nimport AnimatedColor from '../nodes/AnimatedColor';\nclass SpringAnimation extends Animation {\n constructor(config) {\n var _config$overshootClam, _config$restDisplacem, _config$restSpeedThre, _config$velocity, _config$velocity2, _config$delay, _config$isInteraction, _config$iterations;\n super();\n this._overshootClamping = (_config$overshootClam = config.overshootClamping) !== null && _config$overshootClam !== void 0 ? _config$overshootClam : false;\n this._restDisplacementThreshold = (_config$restDisplacem = config.restDisplacementThreshold) !== null && _config$restDisplacem !== void 0 ? _config$restDisplacem : 0.001;\n this._restSpeedThreshold = (_config$restSpeedThre = config.restSpeedThreshold) !== null && _config$restSpeedThre !== void 0 ? _config$restSpeedThre : 0.001;\n this._initialVelocity = (_config$velocity = config.velocity) !== null && _config$velocity !== void 0 ? _config$velocity : 0;\n this._lastVelocity = (_config$velocity2 = config.velocity) !== null && _config$velocity2 !== void 0 ? _config$velocity2 : 0;\n this._toValue = config.toValue;\n this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this._platformConfig = config.platformConfig;\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n if (config.stiffness !== undefined || config.damping !== undefined || config.mass !== undefined) {\n var _config$stiffness, _config$damping, _config$mass;\n invariant(config.bounciness === undefined && config.speed === undefined && config.tension === undefined && config.friction === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');\n this._stiffness = (_config$stiffness = config.stiffness) !== null && _config$stiffness !== void 0 ? _config$stiffness : 100;\n this._damping = (_config$damping = config.damping) !== null && _config$damping !== void 0 ? _config$damping : 10;\n this._mass = (_config$mass = config.mass) !== null && _config$mass !== void 0 ? _config$mass : 1;\n } else if (config.bounciness !== undefined || config.speed !== undefined) {\n var _config$bounciness, _config$speed;\n // Convert the origami bounciness/speed values to stiffness/damping\n // We assume mass is 1.\n invariant(config.tension === undefined && config.friction === undefined && config.stiffness === undefined && config.damping === undefined && config.mass === undefined, 'You can define one of bounciness/speed, tension/friction, or stiffness/damping/mass, but not more than one');\n var springConfig = SpringConfig.fromBouncinessAndSpeed((_config$bounciness = config.bounciness) !== null && _config$bounciness !== void 0 ? _config$bounciness : 8, (_config$speed = config.speed) !== null && _config$speed !== void 0 ? _config$speed : 12);\n this._stiffness = springConfig.stiffness;\n this._damping = springConfig.damping;\n this._mass = 1;\n } else {\n var _config$tension, _config$friction;\n // Convert the origami tension/friction values to stiffness/damping\n // We assume mass is 1.\n var _springConfig = SpringConfig.fromOrigamiTensionAndFriction((_config$tension = config.tension) !== null && _config$tension !== void 0 ? _config$tension : 40, (_config$friction = config.friction) !== null && _config$friction !== void 0 ? _config$friction : 7);\n this._stiffness = _springConfig.stiffness;\n this._damping = _springConfig.damping;\n this._mass = 1;\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 __getNativeAnimationConfig() {\n var _this$_initialVelocit;\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$_initialVelocit = this._initialVelocity) !== null && _this$_initialVelocit !== void 0 ? _this$_initialVelocit : this._lastVelocity,\n toValue: this._toValue,\n iterations: this.__iterations,\n platformConfig: this._platformConfig\n };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._startPosition = fromValue;\n this._lastPosition = this._startPosition;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n this._lastTime = Date.now();\n this._frameTime = 0.0;\n if (previousAnimation instanceof SpringAnimation) {\n var 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 var start = () => {\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\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 getInternalState() {\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() {\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 var MAX_STEPS = 64;\n var now = Date.now();\n if (now > this._lastTime + MAX_STEPS) {\n now = this._lastTime + MAX_STEPS;\n }\n var deltaTime = (now - this._lastTime) / 1000;\n this._frameTime += deltaTime;\n var c = this._damping;\n var m = this._mass;\n var k = this._stiffness;\n var v0 = -this._initialVelocity;\n var zeta = c / (2 * Math.sqrt(k * m)); // damping ratio\n var omega0 = Math.sqrt(k / m); // undamped angular frequency of the oscillator (rad/ms)\n var omega1 = omega0 * Math.sqrt(1.0 - zeta * zeta); // exponential decay\n var x0 = this._toValue - this._startPosition; // calculate the oscillation from x0 = 1 to x = 0\n\n var position = 0.0;\n var velocity = 0.0;\n var t = this._frameTime;\n if (zeta < 1) {\n // Under damped\n var envelope = Math.exp(-zeta * omega0 * t);\n position = this._toValue - envelope * ((v0 + zeta * omega0 * x0) / omega1 * Math.sin(omega1 * t) + x0 * Math.cos(omega1 * t));\n // This looks crazy -- it's actually just the derivative of the\n // oscillation function\n velocity = zeta * omega0 * envelope * (Math.sin(omega1 * t) * (v0 + zeta * omega0 * x0) / omega1 + x0 * Math.cos(omega1 * t)) - envelope * (Math.cos(omega1 * t) * (v0 + zeta * omega0 * x0) - omega1 * x0 * Math.sin(omega1 * t));\n } else {\n // Critically damped\n var _envelope = Math.exp(-omega0 * t);\n position = this._toValue - _envelope * (x0 + (v0 + omega0 * x0) * t);\n velocity = _envelope * (v0 * (t * omega0 - 1) + t * x0 * (omega0 * omega0));\n }\n this._lastTime = now;\n this._lastPosition = position;\n this._lastVelocity = velocity;\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 var 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 var isVelocity = Math.abs(velocity) <= this._restSpeedThreshold;\n var isDisplacement = true;\n if (this._stiffness !== 0) {\n isDisplacement = Math.abs(this._toValue - position) <= this._restDisplacementThreshold;\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 this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this._animationFrame = requestAnimationFrame(this.onUpdate.bind(this));\n }\n stop() {\n super.stop();\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\n });\n }\n}\nexport default SpringAnimation;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport AnimatedValue from '../nodes/AnimatedValue';\nimport AnimatedValueXY from '../nodes/AnimatedValueXY';\nimport AnimatedInterpolation from '../nodes/AnimatedInterpolation';\nimport Easing from '../../../../exports/Easing';\nimport Animation from './Animation';\nimport { shouldUseNativeDriver } from '../NativeAnimatedHelper';\nimport AnimatedColor from '../nodes/AnimatedColor';\nvar _easeInOut;\nfunction easeInOut() {\n if (!_easeInOut) {\n _easeInOut = Easing.inOut(Easing.ease);\n }\n return _easeInOut;\n}\nclass TimingAnimation extends Animation {\n constructor(config) {\n var _config$easing, _config$duration, _config$delay, _config$iterations, _config$isInteraction;\n super();\n this._toValue = config.toValue;\n this._easing = (_config$easing = config.easing) !== null && _config$easing !== void 0 ? _config$easing : easeInOut();\n this._duration = (_config$duration = config.duration) !== null && _config$duration !== void 0 ? _config$duration : 500;\n this._delay = (_config$delay = config.delay) !== null && _config$delay !== void 0 ? _config$delay : 0;\n this.__iterations = (_config$iterations = config.iterations) !== null && _config$iterations !== void 0 ? _config$iterations : 1;\n this._useNativeDriver = shouldUseNativeDriver(config);\n this._platformConfig = config.platformConfig;\n this.__isInteraction = (_config$isInteraction = config.isInteraction) !== null && _config$isInteraction !== void 0 ? _config$isInteraction : !this._useNativeDriver;\n }\n __getNativeAnimationConfig() {\n var frameDuration = 1000.0 / 60.0;\n var frames = [];\n var numFrames = Math.round(this._duration / frameDuration);\n for (var 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 };\n }\n start(fromValue, onUpdate, onEnd, previousAnimation, animatedValue) {\n this.__active = true;\n this._fromValue = fromValue;\n this._onUpdate = onUpdate;\n this.__onEnd = onEnd;\n var start = () => {\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 && !this._useNativeDriver) {\n this._onUpdate(this._toValue);\n this.__debouncedOnEnd({\n finished: true\n });\n } else {\n this._startTime = Date.now();\n if (this._useNativeDriver) {\n this.__startNativeAnimation(animatedValue);\n } else {\n this._animationFrame = requestAnimationFrame(\n // $FlowFixMe[method-unbinding] added when improving typing for this parameters\n this.onUpdate.bind(this));\n }\n }\n };\n if (this._delay) {\n this._timeout = setTimeout(start, this._delay);\n } else {\n start();\n }\n }\n onUpdate() {\n var 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(this._fromValue + this._easing(1) * (this._toValue - this._fromValue));\n }\n this.__debouncedOnEnd({\n finished: true\n });\n return;\n }\n this._onUpdate(this._fromValue + this._easing((now - this._startTime) / this._duration) * (this._toValue - this._fromValue));\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 stop() {\n super.stop();\n this.__active = false;\n clearTimeout(this._timeout);\n global.cancelAnimationFrame(this._animationFrame);\n this.__debouncedOnEnd({\n finished: false\n });\n }\n}\nexport default TimingAnimation;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport AnimatedValue from './AnimatedValue';\nimport AnimatedWithChildren from './AnimatedWithChildren';\nimport normalizeColor from '@react-native/normalize-colors';\nimport NativeAnimatedHelper from '../NativeAnimatedHelper';\nvar NativeAnimatedAPI = NativeAnimatedHelper.API;\nvar defaultColor = {\n r: 0,\n g: 0,\n b: 0,\n a: 1.0\n};\nvar _uniqueId = 1;\nvar processColorObject = color => {\n return color;\n};\n\n/* eslint no-bitwise: 0 */\nfunction processColor(color) {\n if (color === undefined || color === null) {\n return null;\n }\n if (isRgbaValue(color)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n return color;\n }\n var normalizedColor = normalizeColor(\n // $FlowIgnore[incompatible-cast] - Type is verified above\n color);\n if (normalizedColor === undefined || normalizedColor === null) {\n return null;\n }\n if (typeof normalizedColor === 'object') {\n var processedColorObj = processColorObject(normalizedColor);\n if (processedColorObj != null) {\n return processedColorObj;\n }\n } else if (typeof normalizedColor === 'number') {\n var r = (normalizedColor & 0xff000000) >>> 24;\n var g = (normalizedColor & 0x00ff0000) >>> 16;\n var b = (normalizedColor & 0x0000ff00) >>> 8;\n var a = (normalizedColor & 0x000000ff) / 255;\n return {\n r,\n g,\n b,\n a\n };\n }\n return null;\n}\nfunction isRgbaValue(value) {\n return value && typeof value.r === 'number' && typeof value.g === 'number' && typeof value.b === 'number' && typeof value.a === 'number';\n}\nfunction isRgbaAnimatedValue(value) {\n return value && value.r instanceof AnimatedValue && value.g instanceof AnimatedValue && value.b instanceof AnimatedValue && value.a instanceof AnimatedValue;\n}\nexport default class AnimatedColor extends AnimatedWithChildren {\n constructor(valueIn, config) {\n super();\n this._listeners = {};\n var value = valueIn !== null && valueIn !== void 0 ? valueIn : defaultColor;\n if (isRgbaAnimatedValue(value)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n var rgbaAnimatedValue = value;\n this.r = rgbaAnimatedValue.r;\n this.g = rgbaAnimatedValue.g;\n this.b = rgbaAnimatedValue.b;\n this.a = rgbaAnimatedValue.a;\n } else {\n var _processColor;\n var processedColor = // $FlowIgnore[incompatible-cast] - Type is verified above\n (_processColor = processColor(value)) !== null && _processColor !== void 0 ? _processColor : defaultColor;\n var initColor = defaultColor;\n if (isRgbaValue(processedColor)) {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n initColor = processedColor;\n } else {\n // $FlowIgnore[incompatible-cast] - Type is verified above\n this.nativeColor = processedColor;\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 if (this.nativeColor || 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 setValue(value) {\n var _processColor2;\n var shouldUpdateNodeConfig = false;\n if (this.__isNative) {\n var nativeTag = this.__getNativeTag();\n NativeAnimatedAPI.setWaitingForIdentifier(nativeTag.toString());\n }\n var processedColor = (_processColor2 = processColor(value)) !== null && _processColor2 !== void 0 ? _processColor2 : defaultColor;\n if (isRgbaValue(processedColor)) {\n // $FlowIgnore[incompatible-type] - Type is verified above\n var 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 var nativeColor = processedColor;\n if (this.nativeColor !== nativeColor) {\n this.nativeColor = nativeColor;\n shouldUpdateNodeConfig = true;\n }\n }\n if (this.__isNative) {\n var _nativeTag = this.__getNativeTag();\n if (shouldUpdateNodeConfig) {\n NativeAnimatedAPI.updateAnimatedNodeConfig(_nativeTag, this.__getNativeConfig());\n }\n NativeAnimatedAPI.unsetWaitingForIdentifier(_nativeTag.toString());\n }\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) {\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() {\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() {\n this.r.extractOffset();\n this.g.extractOffset();\n this.b.extractOffset();\n this.a.extractOffset();\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 addListener(callback) {\n var id = String(_uniqueId++);\n var jointCallback = _ref => {\n var number = _ref.value;\n callback(this.__getValue());\n };\n this._listeners[id] = {\n r: this.r.addListener(jointCallback),\n g: this.g.addListener(jointCallback),\n b: this.b.addListener(jointCallback),\n a: this.a.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 removeListener(id) {\n this.r.removeListener(this._listeners[id].r);\n this.g.removeListener(this._listeners[id].g);\n this.b.removeListener(this._listeners[id].b);\n this.a.removeListener(this._listeners[id].a);\n delete this._listeners[id];\n }\n\n /**\n * Remove all registered listeners.\n */\n removeAllListeners() {\n this.r.removeAllListeners();\n this.g.removeAllListeners();\n this.b.removeAllListeners();\n this.a.removeAllListeners();\n this._listeners = {};\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) {\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) {\n this.r.resetAnimation();\n this.g.resetAnimation();\n this.b.resetAnimation();\n this.a.resetAnimation();\n callback && callback(this.__getValue());\n }\n __getValue() {\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 __attach() {\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 __detach() {\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 __makeNative(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 __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 };\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 * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent, attachNativeEvent } from './AnimatedEvent';\nimport AnimatedAddition from './nodes/AnimatedAddition';\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 AnimatedProps from './nodes/AnimatedProps';\nimport AnimatedSubtraction from './nodes/AnimatedSubtraction';\nimport AnimatedTracking from './nodes/AnimatedTracking';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport DecayAnimation from './animations/DecayAnimation';\nimport SpringAnimation from './animations/SpringAnimation';\nimport TimingAnimation from './animations/TimingAnimation';\nimport createAnimatedComponent from './createAnimatedComponent';\nimport AnimatedColor from './nodes/AnimatedColor';\nvar add = function add(a, b) {\n return new AnimatedAddition(a, b);\n};\nvar subtract = function subtract(a, b) {\n return new AnimatedSubtraction(a, b);\n};\nvar divide = function divide(a, b) {\n return new AnimatedDivision(a, b);\n};\nvar multiply = function multiply(a, b) {\n return new AnimatedMultiplication(a, b);\n};\nvar modulo = function modulo(a, modulus) {\n return new AnimatedModulo(a, modulus);\n};\nvar diffClamp = function diffClamp(a, min, max) {\n return new AnimatedDiffClamp(a, min, max);\n};\nvar _combineCallbacks = function _combineCallbacks(callback, config) {\n if (callback && config.onComplete) {\n return function () {\n config.onComplete && config.onComplete(...arguments);\n callback && callback(...arguments);\n };\n } else {\n return callback || config.onComplete;\n }\n};\nvar maybeVectorAnim = function maybeVectorAnim(value, config, anim) {\n if (value instanceof AnimatedValueXY) {\n var configX = _objectSpread({}, config);\n var configY = _objectSpread({}, config);\n for (var key in config) {\n var _config$key = config[key],\n x = _config$key.x,\n y = _config$key.y;\n if (x !== undefined && y !== undefined) {\n configX[key] = x;\n configY[key] = y;\n }\n }\n var aX = anim(value.x, configX);\n var aY = anim(value.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], {\n stopTogether: false\n });\n } else if (value instanceof AnimatedColor) {\n var configR = _objectSpread({}, config);\n var configG = _objectSpread({}, config);\n var configB = _objectSpread({}, config);\n var configA = _objectSpread({}, config);\n for (var _key in config) {\n var _config$_key = config[_key],\n r = _config$_key.r,\n g = _config$_key.g,\n b = _config$_key.b,\n a = _config$_key.a;\n if (r !== undefined && g !== undefined && b !== undefined && a !== undefined) {\n configR[_key] = r;\n configG[_key] = g;\n configB[_key] = b;\n configA[_key] = a;\n }\n }\n var aR = anim(value.r, configR);\n var aG = anim(value.g, configG);\n var aB = anim(value.b, configB);\n var aA = anim(value.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], {\n stopTogether: false\n });\n }\n return null;\n};\nvar spring = function spring(value, config) {\n var _start = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, SpringAnimation, singleConfig, callback));\n } else {\n singleValue.animate(new SpringAnimation(singleConfig), callback);\n }\n };\n return maybeVectorAnim(value, config, spring) || {\n start: function start(callback) {\n _start(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n _start(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\nvar timing = function timing(value, config) {\n var _start2 = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n if (configuration.toValue instanceof AnimatedNode) {\n singleValue.track(new AnimatedTracking(singleValue, configuration.toValue, TimingAnimation, singleConfig, callback));\n } else {\n singleValue.animate(new TimingAnimation(singleConfig), callback);\n }\n };\n return maybeVectorAnim(value, config, timing) || {\n start: function start(callback) {\n _start2(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n _start2(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\nvar decay = function decay(value, config) {\n var _start3 = function start(animatedValue, configuration, callback) {\n callback = _combineCallbacks(callback, configuration);\n var singleValue = animatedValue;\n var singleConfig = configuration;\n singleValue.stopTracking();\n singleValue.animate(new DecayAnimation(singleConfig), callback);\n };\n return maybeVectorAnim(value, config, decay) || {\n start: function start(callback) {\n _start3(value, config, callback);\n },\n stop: function stop() {\n value.stopAnimation();\n },\n reset: function reset() {\n value.resetAnimation();\n },\n _startNativeLoop: function _startNativeLoop(iterations) {\n var singleConfig = _objectSpread(_objectSpread({}, config), {}, {\n iterations\n });\n _start3(value, singleConfig);\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return config.useNativeDriver || false;\n }\n };\n};\nvar sequence = function sequence(animations) {\n var current = 0;\n return {\n start: function start(callback) {\n var onComplete = function onComplete(result) {\n if (!result.finished) {\n callback && callback(result);\n return;\n }\n current++;\n if (current === animations.length) {\n callback && callback(result);\n return;\n }\n animations[current].start(onComplete);\n };\n if (animations.length === 0) {\n callback && callback({\n finished: true\n });\n } else {\n animations[current].start(onComplete);\n }\n },\n stop: function stop() {\n if (current < animations.length) {\n animations[current].stop();\n }\n },\n reset: function reset() {\n animations.forEach((animation, idx) => {\n if (idx <= current) {\n animation.reset();\n }\n });\n current = 0;\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.sequence animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n };\n};\nvar parallel = function parallel(animations, config) {\n var doneCount = 0;\n // Make sure we only call stop() at most once for each animation\n var hasEnded = {};\n var stopTogether = !(config && config.stopTogether === false);\n var result = {\n start: function start(callback) {\n if (doneCount === animations.length) {\n callback && callback({\n finished: true\n });\n return;\n }\n animations.forEach((animation, idx) => {\n var cb = function cb(endResult) {\n hasEnded[idx] = true;\n doneCount++;\n if (doneCount === animations.length) {\n doneCount = 0;\n callback && callback(endResult);\n return;\n }\n if (!endResult.finished && stopTogether) {\n result.stop();\n }\n };\n if (!animation) {\n cb({\n finished: true\n });\n } else {\n animation.start(cb);\n }\n });\n },\n stop: function stop() {\n animations.forEach((animation, idx) => {\n !hasEnded[idx] && animation.stop();\n hasEnded[idx] = true;\n });\n },\n reset: function reset() {\n animations.forEach((animation, idx) => {\n animation.reset();\n hasEnded[idx] = false;\n doneCount = 0;\n });\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.parallel animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return false;\n }\n };\n return result;\n};\nvar delay = function delay(time) {\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};\nvar stagger = function stagger(time, animations) {\n return parallel(animations.map((animation, i) => {\n return sequence([delay(time * i), animation]);\n }));\n};\nvar loop = function loop(animation, // $FlowFixMe[prop-missing]\n_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations,\n _ref$resetBeforeItera = _ref.resetBeforeIteration,\n resetBeforeIteration = _ref$resetBeforeItera === void 0 ? true : _ref$resetBeforeItera;\n var isFinished = false;\n var iterationsSoFar = 0;\n return {\n start: function start(callback) {\n var restart = function restart(result) {\n if (result === void 0) {\n result = {\n finished: true\n };\n }\n if (isFinished || iterationsSoFar === iterations || result.finished === false) {\n callback && callback(result);\n } else {\n iterationsSoFar++;\n resetBeforeIteration && animation.reset();\n animation.start(restart);\n }\n };\n if (!animation || iterations === 0) {\n callback && callback({\n finished: true\n });\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 stop: function stop() {\n isFinished = true;\n animation.stop();\n },\n reset: function reset() {\n iterationsSoFar = 0;\n isFinished = false;\n animation.reset();\n },\n _startNativeLoop: function _startNativeLoop() {\n throw new Error('Loops run using the native driver cannot contain Animated.loop animations');\n },\n _isUsingNativeDriver: function _isUsingNativeDriver() {\n return animation._isUsingNativeDriver();\n }\n };\n};\nfunction forkEvent(event, listener) {\n if (!event) {\n return listener;\n } else if (event instanceof AnimatedEvent) {\n event.__addListener(listener);\n return event;\n } else {\n return function () {\n typeof event === 'function' && event(...arguments);\n listener(...arguments);\n };\n }\n}\nfunction unforkEvent(event, listener) {\n if (event && event instanceof AnimatedEvent) {\n event.__removeListener(listener);\n }\n}\nvar event = function event(argMapping, config) {\n var 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)\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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * Expose Event class, so it can be used as a type for type checkers.\n */\n Event: AnimatedEvent\n};","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport { AnimatedEvent, attachNativeEvent } from './AnimatedEvent';\nimport AnimatedImplementation from './AnimatedImplementation';\nimport AnimatedInterpolation from './nodes/AnimatedInterpolation';\nimport AnimatedNode from './nodes/AnimatedNode';\nimport AnimatedValue from './nodes/AnimatedValue';\nimport AnimatedValueXY from './nodes/AnimatedValueXY';\nimport createAnimatedComponent from './createAnimatedComponent';\nimport AnimatedColor from './nodes/AnimatedColor';\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\nvar inAnimationCallback = false;\nfunction mockAnimationStart(start) {\n return callback => {\n var guardedCallback = callback == null ? callback : function () {\n if (inAnimationCallback) {\n console.warn('Ignoring recursive animation callback when running mock animations');\n return;\n }\n inAnimationCallback = true;\n try {\n callback(...arguments);\n } finally {\n inAnimationCallback = false;\n }\n };\n start(guardedCallback);\n };\n}\nvar emptyAnimation = {\n start: () => {},\n stop: () => {},\n reset: () => {},\n _startNativeLoop: () => {},\n _isUsingNativeDriver: () => {\n return false;\n }\n};\nvar mockCompositeAnimation = animations => _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n animations.forEach(animation => animation.start());\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n});\nvar spring = function spring(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n anyValue.setValue(config.toValue);\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n });\n};\nvar timing = function timing(value, config) {\n var anyValue = value;\n return _objectSpread(_objectSpread({}, emptyAnimation), {}, {\n start: mockAnimationStart(callback => {\n anyValue.setValue(config.toValue);\n callback == null ? void 0 : callback({\n finished: true\n });\n })\n });\n};\nvar decay = function decay(value, config) {\n return emptyAnimation;\n};\nvar sequence = function sequence(animations) {\n return mockCompositeAnimation(animations);\n};\nvar parallel = function parallel(animations, config) {\n return mockCompositeAnimation(animations);\n};\nvar delay = function delay(time) {\n return emptyAnimation;\n};\nvar stagger = function stagger(time, animations) {\n return mockCompositeAnimation(animations);\n};\nvar loop = function loop(animation, // $FlowFixMe[prop-missing]\n_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$iterations = _ref.iterations,\n iterations = _ref$iterations === void 0 ? -1 : _ref$iterations;\n return emptyAnimation;\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};","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport Platform from '../../../exports/Platform';\nimport FlatList from './components/AnimatedFlatList';\nimport Image from './components/AnimatedImage';\nimport ScrollView from './components/AnimatedScrollView';\nimport SectionList from './components/AnimatedSectionList';\nimport Text from './components/AnimatedText';\nimport View from './components/AnimatedView';\nimport AnimatedMock from './AnimatedMock';\nimport AnimatedImplementation from './AnimatedImplementation';\nvar Animated = Platform.isTesting ? AnimatedMock : AnimatedImplementation;\nexport default _objectSpread({\n FlatList,\n Image,\n ScrollView,\n SectionList,\n Text,\n View\n}, Animated);","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\n'use client';\n\nimport Animated from '../../vendor/react-native/Animated/Animated';\nexport default Animated;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport canUseDOM from '../../modules/canUseDom';\nfunction getQuery() {\n return canUseDOM && window.matchMedia != null ? window.matchMedia('(prefers-color-scheme: dark)') : null;\n}\nvar query = getQuery();\nvar listenerMapping = new WeakMap();\nvar Appearance = {\n getColorScheme() {\n return query && query.matches ? 'dark' : 'light';\n },\n addChangeListener(listener) {\n var mappedListener = listenerMapping.get(listener);\n if (!mappedListener) {\n mappedListener = _ref => {\n var matches = _ref.matches;\n listener({\n colorScheme: matches ? 'dark' : 'light'\n });\n };\n listenerMapping.set(listener, mappedListener);\n }\n if (query) {\n query.addListener(mappedListener);\n }\n function remove() {\n var mappedListener = listenerMapping.get(listener);\n if (query && mappedListener) {\n query.removeListener(mappedListener);\n }\n listenerMapping.delete(listener);\n }\n return {\n remove\n };\n }\n};\nexport default Appearance;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport invariant from 'fbjs/lib/invariant';\nimport canUseDOM from '../../modules/canUseDom';\nvar dimensions = {\n window: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n },\n screen: {\n fontScale: 1,\n height: 0,\n scale: 1,\n width: 0\n }\n};\nvar listeners = {};\nvar shouldInit = canUseDOM;\nfunction update() {\n if (!canUseDOM) {\n return;\n }\n var win = window;\n var height;\n var width;\n\n /**\n * iOS does not update viewport dimensions on keyboard open/close.\n * window.visualViewport(https://developer.mozilla.org/en-US/docs/Web/API/VisualViewport)\n * is used instead of document.documentElement.clientHeight (which remains as a fallback)\n */\n if (win.visualViewport) {\n var visualViewport = win.visualViewport;\n /**\n * We are multiplying by scale because height and width from visual viewport\n * also react to pinch zoom, and become smaller when zoomed. But it is not desired\n * behaviour, since originally documentElement client height and width were used,\n * and they do not react to pinch zoom.\n */\n height = Math.round(visualViewport.height * visualViewport.scale);\n width = Math.round(visualViewport.width * visualViewport.scale);\n } else {\n var docEl = win.document.documentElement;\n height = docEl.clientHeight;\n width = docEl.clientWidth;\n }\n dimensions.window = {\n fontScale: 1,\n height,\n scale: win.devicePixelRatio || 1,\n width\n };\n dimensions.screen = {\n fontScale: 1,\n height: win.screen.height,\n scale: win.devicePixelRatio || 1,\n width: win.screen.width\n };\n}\nfunction handleResize() {\n update();\n if (Array.isArray(listeners['change'])) {\n listeners['change'].forEach(handler => handler(dimensions));\n }\n}\nexport default class Dimensions {\n static get(dimension) {\n if (shouldInit) {\n shouldInit = false;\n update();\n }\n invariant(dimensions[dimension], \"No dimension set for key \" + dimension);\n return dimensions[dimension];\n }\n static set(initialDimensions) {\n if (initialDimensions) {\n if (canUseDOM) {\n invariant(false, 'Dimensions cannot be set in the browser');\n } else {\n if (initialDimensions.screen != null) {\n dimensions.screen = initialDimensions.screen;\n }\n if (initialDimensions.window != null) {\n dimensions.window = initialDimensions.window;\n }\n }\n }\n }\n static addEventListener(type, handler) {\n listeners[type] = listeners[type] || [];\n listeners[type].push(handler);\n return {\n remove: () => {\n this.removeEventListener(type, handler);\n }\n };\n }\n static removeEventListener(type, handler) {\n if (Array.isArray(listeners[type])) {\n listeners[type] = listeners[type].filter(_handler => _handler !== handler);\n }\n }\n}\nif (canUseDOM) {\n if (window.visualViewport) {\n window.visualViewport.addEventListener('resize', handleResize, false);\n } else {\n window.addEventListener('resize', handleResize, false);\n }\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 * \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)\nvar NEWTON_ITERATIONS = 4;\nvar NEWTON_MIN_SLOPE = 0.001;\nvar SUBDIVISION_PRECISION = 0.0000001;\nvar SUBDIVISION_MAX_ITERATIONS = 10;\nvar kSplineTableSize = 11;\nvar kSampleStepSize = 1.0 / (kSplineTableSize - 1.0);\nvar float32ArraySupported = typeof Float32Array === 'function';\nfunction A(aA1, aA2) {\n return 1.0 - 3.0 * aA2 + 3.0 * aA1;\n}\nfunction B(aA1, aA2) {\n return 3.0 * aA2 - 6.0 * aA1;\n}\nfunction C(aA1) {\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, aA1, aA2) {\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, aA1, aA2) {\n return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1);\n}\nfunction binarySubdivide(aX, _aA, _aB, mX1, mX2) {\n var 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 (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS);\n return currentT;\n}\nfunction newtonRaphsonIterate(aX, _aGuessT, mX1, mX2) {\n var aGuessT = _aGuessT;\n for (var i = 0; i < NEWTON_ITERATIONS; ++i) {\n var currentSlope = getSlope(aGuessT, mX1, mX2);\n if (currentSlope === 0.0) {\n return aGuessT;\n }\n var currentX = calcBezier(aGuessT, mX1, mX2) - aX;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n}\nexport default function bezier(mX1, mY1, mX2, mY2) {\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 var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize);\n if (mX1 !== mY1 || mX2 !== mY2) {\n for (var i = 0; i < kSplineTableSize; ++i) {\n sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2);\n }\n }\n function getTForX(aX) {\n var intervalStart = 0.0;\n var currentSample = 1;\n var lastSample = kSplineTableSize - 1;\n for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) {\n intervalStart += kSampleStepSize;\n }\n --currentSample;\n\n // Interpolate to provide an initial guess for t\n var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]);\n var guessForT = intervalStart + dist * kSampleStepSize;\n var 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(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2);\n }\n }\n return function BezierEasing(x) {\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 * @format\n * \n */\n\n'use strict';\n\nimport _bezier from './bezier';\nvar 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 */\nclass Easing {\n /**\n * A stepping function, returns 1 for any positive value of `n`.\n */\n static step0(n) {\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 static step1(n) {\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 static linear(t) {\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 static ease(t) {\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 static quad(t) {\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 static cubic(t) {\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 static poly(n) {\n return t => Math.pow(t, n);\n }\n\n /**\n * A sinusoidal function.\n *\n * http://easings.net/#easeInSine\n */\n static sin(t) {\n return 1 - Math.cos(t * Math.PI / 2);\n }\n\n /**\n * A circular function.\n *\n * http://easings.net/#easeInCirc\n */\n static circle(t) {\n return 1 - Math.sqrt(1 - t * t);\n }\n\n /**\n * An exponential function.\n *\n * http://easings.net/#easeInExpo\n */\n static exp(t) {\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 static elastic(bounciness) {\n if (bounciness === void 0) {\n bounciness = 1;\n }\n var 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 * Wolfram Plot:\n *\n * - http://tiny.cc/back_default (s = 1.70158, default)\n */\n static back(s) {\n if (s === void 0) {\n s = 1.70158;\n }\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 static bounce(t) {\n if (t < 1 / 2.75) {\n return 7.5625 * t * t;\n }\n if (t < 2 / 2.75) {\n var _t = t - 1.5 / 2.75;\n return 7.5625 * _t * _t + 0.75;\n }\n if (t < 2.5 / 2.75) {\n var _t2 = t - 2.25 / 2.75;\n return 7.5625 * _t2 * _t2 + 0.9375;\n }\n var 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 static bezier(x1, y1, x2, y2) {\n return _bezier(x1, y1, x2, y2);\n }\n\n /**\n * Runs an easing function forwards.\n */\n static in(easing) {\n return easing;\n }\n\n /**\n * Runs an easing function backwards.\n */\n static out(easing) {\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 static inOut(easing) {\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}\nexport default Easing;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport Easing from '../../vendor/react-native/Animated/Easing';\nexport default Easing;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * \n */\n\n'use strict';\n\n/*\n * @returns {bool} true if different, false if equal\n */\nvar deepDiffer = function deepDiffer(one, two, maxDepth) {\n if (maxDepth === void 0) {\n maxDepth = -1;\n }\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\n return false;\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 var len = one.length;\n if (two.length !== len) {\n return true;\n }\n for (var ii = 0; ii < len; ii++) {\n if (deepDiffer(one[ii], two[ii], maxDepth - 1)) {\n return true;\n }\n }\n } else {\n for (var key in one) {\n if (deepDiffer(one[key], two[key], maxDepth - 1)) {\n return true;\n }\n }\n for (var 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};\nexport default deepDiffer;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar _excluded = [\"numColumns\", \"columnWrapperStyle\", \"removeClippedSubviews\", \"strictMode\"];\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport deepDiffer from '../deepDiffer';\nimport Platform from '../../../exports/Platform';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\nimport VirtualizedList from '../VirtualizedList';\nimport { keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport memoizeOne from 'memoize-one';\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) {\n return removeClippedSubviews !== null && removeClippedSubviews !== void 0 ? removeClippedSubviews : Platform.OS === 'android';\n}\n\n// numColumnsOrDefault(this.props.numColumns)\nfunction numColumnsOrDefault(numColumns) {\n return numColumns !== null && numColumns !== void 0 ? numColumns : 1;\n}\nfunction isArrayLike(data) {\n // $FlowExpectedError[incompatible-use]\n return typeof Object(data).length === 'number';\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) {\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 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 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) {\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() {\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 if (this._listRef) {\n /* $FlowFixMe[incompatible-return] Suppresses errors found when fixing\n * TextInput typing */\n return this._listRef.getScrollRef();\n }\n }\n getScrollableNode() {\n if (this._listRef) {\n return this._listRef.getScrollableNode();\n }\n }\n constructor(_props) {\n super(_props);\n this._virtualizedListPairs = [];\n this._captureRef = ref => {\n this._listRef = ref;\n };\n this._getItem = (data, index) => {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n if (numColumns > 1) {\n var ret = [];\n for (var kk = 0; kk < numColumns; kk++) {\n var itemIndex = index * numColumns + kk;\n if (itemIndex < data.length) {\n var _item = data[itemIndex];\n ret.push(_item);\n }\n }\n return ret;\n } else {\n return data[index];\n }\n };\n this._getItemCount = data => {\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 var numColumns = numColumnsOrDefault(this.props.numColumns);\n return numColumns > 1 ? Math.ceil(data.length / numColumns) : data.length;\n } else {\n return 0;\n }\n };\n this._keyExtractor = (items, index) => {\n var _this$props$keyExtrac;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n var keyExtractor = (_this$props$keyExtrac = this.props.keyExtractor) !== null && _this$props$keyExtrac !== void 0 ? _this$props$keyExtrac : defaultKeyExtractor;\n if (numColumns > 1) {\n invariant(Array.isArray(items), 'FlatList: Encountered internal consistency error, expected each item to consist of an ' + 'array with 1-%s columns; instead, received a single item.', numColumns);\n return items.map((item, kk) => keyExtractor(item, index * numColumns + kk)).join(':');\n }\n\n // $FlowFixMe[incompatible-call] Can't call keyExtractor with an array\n return keyExtractor(items, index);\n };\n this._renderer = (ListItemComponent, renderItem, columnWrapperStyle, numColumns, extraData\n // $FlowFixMe[missing-local-annot]\n ) => {\n var cols = numColumnsOrDefault(numColumns);\n var render = props => {\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 /*#__PURE__*/React.createElement(ListItemComponent, props);\n } else if (renderItem) {\n // $FlowFixMe[incompatible-call]\n return renderItem(props);\n } else {\n return null;\n }\n };\n var renderProp = info => {\n if (cols > 1) {\n var _item2 = info.item,\n _index = info.index;\n invariant(Array.isArray(_item2), 'Expected array of items with numColumns > 1');\n return /*#__PURE__*/React.createElement(View, {\n style: [styles.row, columnWrapperStyle]\n }, _item2.map((it, kk) => {\n var element = render({\n // $FlowFixMe[incompatible-call]\n item: it,\n index: _index * cols + kk,\n separators: info.separators\n });\n return element != null ? /*#__PURE__*/React.createElement(React.Fragment, {\n key: kk\n }, element) : null;\n }));\n } else {\n return render(info);\n }\n };\n return ListItemComponent ? {\n ListItemComponent: renderProp\n } : {\n renderItem: renderProp\n };\n };\n this._memoizedRenderer = memoizeOne(this._renderer);\n this._checkProps(this.props);\n if (this.props.viewabilityConfigCallbackPairs) {\n this._virtualizedListPairs = this.props.viewabilityConfigCallbackPairs.map(pair => ({\n viewabilityConfig: pair.viewabilityConfig,\n onViewableItemsChanged: this._createOnViewableItemsChanged(pair.onViewableItemsChanged)\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(this.props.onViewableItemsChanged)\n });\n }\n }\n\n // $FlowFixMe[missing-local-annot]\n componentDidUpdate(prevProps) {\n invariant(prevProps.numColumns === this.props.numColumns, 'Changing numColumns on the fly is not supported. Change the key prop on FlatList when ' + 'changing the number of columns to force a fresh render of the component.');\n invariant(prevProps.onViewableItemsChanged === this.props.onViewableItemsChanged, 'Changing onViewableItemsChanged on the fly is not supported');\n invariant(!deepDiffer(prevProps.viewabilityConfig, this.props.viewabilityConfig), 'Changing viewabilityConfig on the fly is not supported');\n invariant(prevProps.viewabilityConfigCallbackPairs === this.props.viewabilityConfigCallbackPairs, 'Changing viewabilityConfigCallbackPairs on the fly is not supported');\n this._checkProps(this.props);\n }\n // $FlowFixMe[missing-local-annot]\n _checkProps(props) {\n var getItem = props.getItem,\n getItemCount = props.getItemCount,\n horizontal = props.horizontal,\n columnWrapperStyle = props.columnWrapperStyle,\n onViewableItemsChanged = props.onViewableItemsChanged,\n viewabilityConfigCallbackPairs = props.viewabilityConfigCallbackPairs;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n invariant(!getItem && !getItemCount, 'FlatList does not support custom data formats.');\n if (numColumns > 1) {\n invariant(!horizontal, 'numColumns does not support horizontal.');\n } else {\n invariant(!columnWrapperStyle, 'columnWrapperStyle not supported for single column lists');\n }\n invariant(!(onViewableItemsChanged && viewabilityConfigCallbackPairs), 'FlatList does not support setting both onViewableItemsChanged and ' + 'viewabilityConfigCallbackPairs.');\n }\n _pushMultiColumnViewable(arr, v) {\n var _this$props$keyExtrac2;\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n var keyExtractor = (_this$props$keyExtrac2 = this.props.keyExtractor) !== null && _this$props$keyExtrac2 !== void 0 ? _this$props$keyExtrac2 : defaultKeyExtractor;\n v.item.forEach((item, ii) => {\n invariant(v.index != null, 'Missing index!');\n var index = v.index * numColumns + ii;\n arr.push(_objectSpread(_objectSpread({}, v), {}, {\n item,\n key: keyExtractor(item, index),\n index\n }));\n });\n }\n _createOnViewableItemsChanged(onViewableItemsChanged\n // $FlowFixMe[missing-local-annot]\n ) {\n return info => {\n var numColumns = numColumnsOrDefault(this.props.numColumns);\n if (onViewableItemsChanged) {\n if (numColumns > 1) {\n var changed = [];\n var viewableItems = [];\n info.viewableItems.forEach(v => this._pushMultiColumnViewable(viewableItems, v));\n info.changed.forEach(v => this._pushMultiColumnViewable(changed, v));\n onViewableItemsChanged({\n viewableItems,\n changed\n });\n } else {\n onViewableItemsChanged(info);\n }\n }\n };\n }\n\n // $FlowFixMe[missing-local-annot]\n\n render() {\n var _this$props = this.props,\n numColumns = _this$props.numColumns,\n columnWrapperStyle = _this$props.columnWrapperStyle,\n _removeClippedSubviews = _this$props.removeClippedSubviews,\n _this$props$strictMod = _this$props.strictMode,\n strictMode = _this$props$strictMod === void 0 ? false : _this$props$strictMod,\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var renderer = strictMode ? this._memoizedRenderer : this._renderer;\n return (\n /*#__PURE__*/\n // $FlowFixMe[incompatible-exact] - `restProps` (`Props`) is inexact.\n React.createElement(VirtualizedList, _extends({}, restProps, {\n getItem: this._getItem,\n getItemCount: this._getItemCount,\n keyExtractor: this._keyExtractor,\n ref: this._captureRef,\n viewabilityConfigCallbackPairs: this._virtualizedListPairs,\n removeClippedSubviews: removeClippedSubviewsOrDefault(_removeClippedSubviews)\n }, renderer(this.props.ListItemComponent, this.props.renderItem, columnWrapperStyle, numColumns, this.props.extraData)))\n );\n }\n}\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n }\n});\nexport default FlatList;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport FlatList from '../../vendor/react-native/FlatList';\nexport default FlatList;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar I18nManager = {\n allowRTL() {\n return;\n },\n forceRTL() {\n return;\n },\n getConstants() {\n return {\n isRTL: false\n };\n }\n};\nexport default I18nManager;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar assets = [];\nexport function registerAsset(asset) {\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}\nexport function getAssetByID(assetId) {\n return assets[assetId - 1];\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar dataUriPattern = /^data:/;\nexport class ImageUriCache {\n static has(uri) {\n var entries = ImageUriCache._entries;\n var isDataUri = dataUriPattern.test(uri);\n return isDataUri || Boolean(entries[uri]);\n }\n static add(uri) {\n var entries = ImageUriCache._entries;\n var lastUsedTimestamp = Date.now();\n if (entries[uri]) {\n entries[uri].lastUsedTimestamp = lastUsedTimestamp;\n entries[uri].refCount += 1;\n } else {\n entries[uri] = {\n lastUsedTimestamp,\n refCount: 1\n };\n }\n }\n static remove(uri) {\n var entries = ImageUriCache._entries;\n if (entries[uri]) {\n entries[uri].refCount -= 1;\n }\n // Free up entries when the cache is \"full\"\n ImageUriCache._cleanUpIfNeeded();\n }\n static _cleanUpIfNeeded() {\n var entries = ImageUriCache._entries;\n var imageUris = Object.keys(entries);\n if (imageUris.length + 1 > ImageUriCache._maximumEntries) {\n var leastRecentlyUsedKey;\n var leastRecentlyUsedEntry;\n imageUris.forEach(uri => {\n var entry = entries[uri];\n if ((!leastRecentlyUsedEntry || entry.lastUsedTimestamp < leastRecentlyUsedEntry.lastUsedTimestamp) && entry.refCount === 0) {\n leastRecentlyUsedKey = uri;\n leastRecentlyUsedEntry = entry;\n }\n });\n if (leastRecentlyUsedKey) {\n delete entries[leastRecentlyUsedKey];\n }\n }\n }\n}\nImageUriCache._maximumEntries = 256;\nImageUriCache._entries = {};\nvar id = 0;\nvar requests = {};\nvar ImageLoader = {\n abort(requestId) {\n var image = requests[\"\" + requestId];\n if (image) {\n image.onerror = null;\n image.onload = null;\n image = null;\n delete requests[\"\" + requestId];\n }\n },\n getSize(uri, success, failure) {\n var complete = false;\n var interval = setInterval(callback, 16);\n var requestId = ImageLoader.load(uri, callback, errorCallback);\n function callback() {\n var image = requests[\"\" + requestId];\n if (image) {\n var naturalHeight = image.naturalHeight,\n naturalWidth = image.naturalWidth;\n if (naturalHeight && naturalWidth) {\n success(naturalWidth, naturalHeight);\n complete = true;\n }\n }\n if (complete) {\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n }\n function errorCallback() {\n if (typeof failure === 'function') {\n failure();\n }\n ImageLoader.abort(requestId);\n clearInterval(interval);\n }\n },\n has(uri) {\n return ImageUriCache.has(uri);\n },\n load(uri, onLoad, onError) {\n id += 1;\n var image = new window.Image();\n image.onerror = onError;\n image.onload = e => {\n // avoid blocking the main thread\n var onDecode = () => onLoad({\n nativeEvent: e\n });\n if (typeof image.decode === 'function') {\n // Safari currently throws exceptions when decoding svgs.\n // We want to catch that error and allow the load handler\n // to be forwarded to the onLoad handler in this case\n image.decode().then(onDecode, onDecode);\n } else {\n setTimeout(onDecode, 0);\n }\n };\n image.src = uri;\n requests[\"\" + id] = image;\n return id;\n },\n prefetch(uri) {\n return new Promise((resolve, reject) => {\n ImageLoader.load(uri, () => {\n // Add the uri to the cache so it can be immediately displayed when used\n // but also immediately remove it to correctly reflect that it has no active references\n ImageUriCache.add(uri);\n ImageUriCache.remove(uri);\n resolve();\n }, reject);\n });\n },\n queryCache(uris) {\n var result = {};\n uris.forEach(u => {\n if (ImageUriCache.has(u)) {\n result[u] = 'disk/memory';\n }\n });\n return Promise.resolve(result);\n }\n};\nexport default ImageLoader;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-label\", \"accessibilityLabel\", \"blurRadius\", \"defaultSource\", \"draggable\", \"onError\", \"onLayout\", \"onLoad\", \"onLoadEnd\", \"onLoadStart\", \"pointerEvents\", \"source\", \"style\"];\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport { getAssetByID } from '../../modules/AssetRegistry';\nimport { createBoxShadowValue } from '../StyleSheet/preprocess';\nimport ImageLoader from '../../modules/ImageLoader';\nimport PixelRatio from '../PixelRatio';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\nvar ERRORED = 'ERRORED';\nvar LOADED = 'LOADED';\nvar LOADING = 'LOADING';\nvar IDLE = 'IDLE';\nvar _filterId = 0;\nvar svgDataUriPattern = /^(data:image\\/svg\\+xml;utf8,)(.*)/;\nfunction createTintColorSVG(tintColor, id) {\n return tintColor && id != null ? /*#__PURE__*/React.createElement(\"svg\", {\n style: {\n position: 'absolute',\n height: 0,\n visibility: 'hidden',\n width: 0\n }\n }, /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"tint-\" + id,\n suppressHydrationWarning: true\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodColor: \"\" + tintColor,\n key: tintColor\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"SourceAlpha\",\n operator: \"in\"\n })))) : null;\n}\nfunction extractNonStandardStyleProps(style, blurRadius, filterId, tintColorProp) {\n var flatStyle = StyleSheet.flatten(style);\n var filter = flatStyle.filter,\n resizeMode = flatStyle.resizeMode,\n shadowOffset = flatStyle.shadowOffset,\n tintColor = flatStyle.tintColor;\n if (flatStyle.resizeMode) {\n warnOnce('Image.style.resizeMode', 'Image: style.resizeMode is deprecated. Please use props.resizeMode.');\n }\n if (flatStyle.tintColor) {\n warnOnce('Image.style.tintColor', 'Image: style.tintColor is deprecated. Please use props.tintColor.');\n }\n\n // Add CSS filters\n // React Native exposes these features as props and proprietary styles\n var filters = [];\n var _filter = null;\n if (filter) {\n filters.push(filter);\n }\n if (blurRadius) {\n filters.push(\"blur(\" + blurRadius + \"px)\");\n }\n if (shadowOffset) {\n var shadowString = createBoxShadowValue(flatStyle);\n if (shadowString) {\n filters.push(\"drop-shadow(\" + shadowString + \")\");\n }\n }\n if ((tintColorProp || tintColor) && filterId != null) {\n filters.push(\"url(#tint-\" + filterId + \")\");\n }\n if (filters.length > 0) {\n _filter = filters.join(' ');\n }\n return [resizeMode, _filter, tintColor];\n}\nfunction resolveAssetDimensions(source) {\n if (typeof source === 'number') {\n var _getAssetByID = getAssetByID(source),\n _height = _getAssetByID.height,\n _width = _getAssetByID.width;\n return {\n height: _height,\n width: _width\n };\n } else if (source != null && !Array.isArray(source) && typeof source === 'object') {\n var _height2 = source.height,\n _width2 = source.width;\n return {\n height: _height2,\n width: _width2\n };\n }\n}\nfunction resolveAssetUri(source) {\n var uri = null;\n if (typeof source === 'number') {\n // get the URI from the packager\n var asset = getAssetByID(source);\n if (asset == null) {\n throw new Error(\"Image: asset with ID \\\"\" + source + \"\\\" could not be found. Please check the image source or packager.\");\n }\n var scale = asset.scales[0];\n if (asset.scales.length > 1) {\n var preferredScale = PixelRatio.get();\n // Get the scale which is closest to the preferred scale\n scale = asset.scales.reduce((prev, curr) => Math.abs(curr - preferredScale) < Math.abs(prev - preferredScale) ? curr : prev);\n }\n var scaleSuffix = scale !== 1 ? \"@\" + scale + \"x\" : '';\n uri = asset ? asset.httpServerLocation + \"/\" + asset.name + scaleSuffix + \".\" + asset.type : '';\n } else if (typeof source === 'string') {\n uri = source;\n } else if (source && typeof source.uri === 'string') {\n uri = source.uri;\n }\n if (uri) {\n var match = uri.match(svgDataUriPattern);\n // inline SVG markup may contain characters (e.g., #, \") that need to be escaped\n if (match) {\n var prefix = match[1],\n svg = match[2];\n var encodedSvg = encodeURIComponent(svg);\n return \"\" + prefix + encodedSvg;\n }\n }\n return uri;\n}\nvar Image = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _ariaLabel = props['aria-label'],\n accessibilityLabel = props.accessibilityLabel,\n blurRadius = props.blurRadius,\n defaultSource = props.defaultSource,\n draggable = props.draggable,\n onError = props.onError,\n onLayout = props.onLayout,\n onLoad = props.onLoad,\n onLoadEnd = props.onLoadEnd,\n onLoadStart = props.onLoadStart,\n pointerEvents = props.pointerEvents,\n source = props.source,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var ariaLabel = _ariaLabel || accessibilityLabel;\n if (process.env.NODE_ENV !== 'production') {\n if (props.children) {\n throw new Error('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 var _React$useState = React.useState(() => {\n var uri = resolveAssetUri(source);\n if (uri != null) {\n var isLoaded = ImageLoader.has(uri);\n if (isLoaded) {\n return LOADED;\n }\n }\n return IDLE;\n }),\n state = _React$useState[0],\n updateState = _React$useState[1];\n var _React$useState2 = React.useState({}),\n layout = _React$useState2[0],\n updateLayout = _React$useState2[1];\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hiddenImageRef = React.useRef(null);\n var filterRef = React.useRef(_filterId++);\n var requestRef = React.useRef(null);\n var shouldDisplaySource = state === LOADED || state === LOADING && defaultSource == null;\n var _extractNonStandardSt = extractNonStandardStyleProps(style, blurRadius, filterRef.current, props.tintColor),\n _resizeMode = _extractNonStandardSt[0],\n filter = _extractNonStandardSt[1],\n _tintColor = _extractNonStandardSt[2];\n var resizeMode = props.resizeMode || _resizeMode || 'cover';\n var tintColor = props.tintColor || _tintColor;\n var selectedSource = shouldDisplaySource ? source : defaultSource;\n var displayImageUri = resolveAssetUri(selectedSource);\n var imageSizeStyle = resolveAssetDimensions(selectedSource);\n var backgroundImage = displayImageUri ? \"url(\\\"\" + displayImageUri + \"\\\")\" : null;\n var backgroundSize = getBackgroundSize();\n\n // Accessibility image allows users to trigger the browser's image context menu\n var hiddenImage = displayImageUri ? createElement('img', {\n alt: ariaLabel || '',\n style: styles.accessibilityImage$raw,\n draggable: draggable || false,\n ref: hiddenImageRef,\n src: displayImageUri\n }) : null;\n function getBackgroundSize() {\n if (hiddenImageRef.current != null && (resizeMode === 'center' || resizeMode === 'repeat')) {\n var _hiddenImageRef$curre = hiddenImageRef.current,\n naturalHeight = _hiddenImageRef$curre.naturalHeight,\n naturalWidth = _hiddenImageRef$curre.naturalWidth;\n var _height3 = layout.height,\n _width3 = layout.width;\n if (naturalHeight && naturalWidth && _height3 && _width3) {\n var scaleFactor = Math.min(1, _width3 / naturalWidth, _height3 / naturalHeight);\n var x = Math.ceil(scaleFactor * naturalWidth);\n var y = Math.ceil(scaleFactor * naturalHeight);\n return x + \"px \" + y + \"px\";\n }\n }\n }\n function handleLayout(e) {\n if (resizeMode === 'center' || resizeMode === 'repeat' || onLayout) {\n var _layout = e.nativeEvent.layout;\n onLayout && onLayout(e);\n updateLayout(_layout);\n }\n }\n\n // Image loading\n var uri = resolveAssetUri(source);\n React.useEffect(() => {\n abortPendingRequest();\n if (uri != null) {\n updateState(LOADING);\n if (onLoadStart) {\n onLoadStart();\n }\n requestRef.current = ImageLoader.load(uri, function load(e) {\n updateState(LOADED);\n if (onLoad) {\n onLoad(e);\n }\n if (onLoadEnd) {\n onLoadEnd();\n }\n }, function error() {\n updateState(ERRORED);\n if (onError) {\n onError({\n nativeEvent: {\n error: \"Failed to load resource \" + uri\n }\n });\n }\n if (onLoadEnd) {\n onLoadEnd();\n }\n });\n }\n function abortPendingRequest() {\n if (requestRef.current != null) {\n ImageLoader.abort(requestRef.current);\n requestRef.current = null;\n }\n }\n return abortPendingRequest;\n }, [uri, requestRef, updateState, onError, onLoad, onLoadEnd, onLoadStart]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n \"aria-label\": ariaLabel,\n onLayout: handleLayout,\n pointerEvents: pointerEvents,\n ref: ref,\n style: [styles.root, hasTextAncestor && styles.inline, imageSizeStyle, style, styles.undo,\n // TEMP: avoid deprecated shadow props regression\n // until Image refactored to use createElement.\n {\n boxShadow: null\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.image, resizeModeStyles[resizeMode], {\n backgroundImage,\n filter\n }, backgroundSize != null && {\n backgroundSize\n }],\n suppressHydrationWarning: true\n }), hiddenImage, createTintColorSVG(tintColor, filterRef.current));\n});\nImage.displayName = 'Image';\n\n// $FlowIgnore: This is the correct type, but casting makes it unhappy since the variables aren't defined yet\nvar ImageWithStatics = Image;\nImageWithStatics.getSize = function (uri, success, failure) {\n ImageLoader.getSize(uri, success, failure);\n};\nImageWithStatics.prefetch = function (uri) {\n return ImageLoader.prefetch(uri);\n};\nImageWithStatics.queryCache = function (uris) {\n return ImageLoader.queryCache(uris);\n};\nvar styles = StyleSheet.create({\n root: {\n flexBasis: 'auto',\n overflow: 'hidden',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n },\n undo: {\n // These styles are converted to CSS filters applied to the\n // element displaying the background image.\n blurRadius: null,\n shadowColor: null,\n shadowOpacity: null,\n shadowOffset: null,\n shadowRadius: null,\n tintColor: null,\n // These styles are not supported\n overlayColor: null,\n resizeMode: null\n },\n image: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n backgroundColor: 'transparent',\n backgroundPosition: 'center',\n backgroundRepeat: 'no-repeat',\n backgroundSize: 'cover',\n height: '100%',\n width: '100%',\n zIndex: -1\n }),\n accessibilityImage$raw: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n opacity: 0,\n width: '100%',\n zIndex: -1\n })\n});\nvar resizeModeStyles = StyleSheet.create({\n center: {\n backgroundSize: 'auto'\n },\n contain: {\n backgroundSize: 'contain'\n },\n cover: {\n backgroundSize: 'cover'\n },\n none: {\n backgroundPosition: '0',\n backgroundSize: 'auto'\n },\n repeat: {\n backgroundPosition: '0',\n backgroundRepeat: 'repeat',\n backgroundSize: 'auto'\n },\n stretch: {\n backgroundSize: '100% 100%'\n }\n});\nexport default ImageWithStatics;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport invariant from 'fbjs/lib/invariant';\nclass TaskQueue {\n constructor(_ref) {\n var onMoreTasks = _ref.onMoreTasks;\n this._onMoreTasks = onMoreTasks;\n this._queueStack = [{\n tasks: [],\n popable: true\n }];\n }\n enqueue(task) {\n this._getCurrentQueue().push(task);\n }\n enqueueTasks(tasks) {\n tasks.forEach(task => this.enqueue(task));\n }\n cancelTasks(tasksToCancel) {\n this._queueStack = this._queueStack.map(queue => _objectSpread(_objectSpread({}, queue), {}, {\n tasks: queue.tasks.filter(task => tasksToCancel.indexOf(task) === -1)\n })).filter((queue, idx) => queue.tasks.length > 0 || idx === 0);\n }\n hasTasksToProcess() {\n return this._getCurrentQueue().length > 0;\n }\n\n /**\n * Executes the next task in the queue.\n */\n processNext() {\n var queue = this._getCurrentQueue();\n if (queue.length) {\n var task = queue.shift();\n try {\n if (typeof task === 'object' && task.gen) {\n this._genPromise(task);\n } else if (typeof task === 'object' && task.run) {\n task.run();\n } else {\n invariant(typeof task === 'function', 'Expected Function, SimpleTask, or PromiseTask, but got:\\n' + JSON.stringify(task, null, 2));\n task();\n }\n } catch (e) {\n e.message = 'TaskQueue: Error with task ' + (task.name || '') + ': ' + e.message;\n throw e;\n }\n }\n }\n _getCurrentQueue() {\n var stackIdx = this._queueStack.length - 1;\n var queue = this._queueStack[stackIdx];\n if (queue.popable && queue.tasks.length === 0 && stackIdx > 0) {\n this._queueStack.pop();\n return this._getCurrentQueue();\n } else {\n return queue.tasks;\n }\n }\n _genPromise(task) {\n var length = this._queueStack.push({\n tasks: [],\n popable: false\n });\n var stackIdx = length - 1;\n var stackItem = this._queueStack[stackIdx];\n task.gen().then(() => {\n stackItem.popable = true;\n this.hasTasksToProcess() && this._onMoreTasks();\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}\nexport default TaskQueue;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\nimport canUseDOM from '../canUseDom';\nvar _requestIdleCallback = function _requestIdleCallback(cb, options) {\n return setTimeout(() => {\n var start = Date.now();\n cb({\n didTimeout: false,\n timeRemaining() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nvar _cancelIdleCallback = function _cancelIdleCallback(id) {\n clearTimeout(id);\n};\nvar isSupported = canUseDOM && typeof window.requestIdleCallback !== 'undefined';\nvar requestIdleCallback = isSupported ? window.requestIdleCallback : _requestIdleCallback;\nvar cancelIdleCallback = isSupported ? window.cancelIdleCallback : _cancelIdleCallback;\nexport default requestIdleCallback;\nexport { cancelIdleCallback };","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport invariant from 'fbjs/lib/invariant';\nimport TaskQueue from './TaskQueue';\nimport EventEmitter from '../../vendor/react-native/vendor/emitter/EventEmitter';\nimport requestIdleCallback from '../../modules/requestIdleCallback';\nvar _emitter = new EventEmitter();\nvar InteractionManager = {\n Events: {\n interactionStart: 'interactionStart',\n interactionComplete: 'interactionComplete'\n },\n /**\n * Schedule a function to run after all interactions have completed.\n */\n runAfterInteractions(task) {\n var tasks = [];\n var promise = new Promise(resolve => {\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 then: promise.then.bind(promise),\n done: promise.then.bind(promise),\n cancel: () => {\n _taskQueue.cancelTasks(tasks);\n }\n };\n },\n /**\n * Notify manager that an interaction has started.\n */\n createInteractionHandle() {\n _scheduleUpdate();\n var handle = ++_inc;\n _addInteractionSet.add(handle);\n return handle;\n },\n /**\n * Notify manager that an interaction has completed.\n */\n clearInteractionHandle(handle) {\n invariant(!!handle, 'Must provide a handle to clear.');\n _scheduleUpdate();\n _addInteractionSet.delete(handle);\n _deleteInteractionSet.add(handle);\n },\n addListener: _emitter.addListener.bind(_emitter),\n /**\n *\n * @param deadline\n */\n setDeadline(deadline) {\n _deadline = deadline;\n }\n};\nvar _interactionSet = new Set();\nvar _addInteractionSet = new Set();\nvar _deleteInteractionSet = new Set();\nvar _taskQueue = new TaskQueue({\n onMoreTasks: _scheduleUpdate\n});\nvar _nextUpdateHandle = 0;\nvar _inc = 0;\nvar _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);\n } else {\n _nextUpdateHandle = requestIdleCallback(_processUpdate);\n }\n }\n}\n\n/**\n * Notify listeners, process queue, etc\n */\nfunction _processUpdate() {\n _nextUpdateHandle = 0;\n var interactionCount = _interactionSet.size;\n _addInteractionSet.forEach(handle => _interactionSet.add(handle));\n _deleteInteractionSet.forEach(handle => _interactionSet.delete(handle));\n var nextInteractionCount = _interactionSet.size;\n if (interactionCount !== 0 && nextInteractionCount === 0) {\n _emitter.emit(InteractionManager.Events.interactionComplete);\n } else if (interactionCount === 0 && nextInteractionCount !== 0) {\n _emitter.emit(InteractionManager.Events.interactionStart);\n }\n if (nextInteractionCount === 0) {\n // It seems that we can't know the running time of the current event loop,\n // we can only calculate the running time of the current task queue.\n var begin = Date.now();\n while (_taskQueue.hasTasksToProcess()) {\n _taskQueue.processNext();\n if (_deadline > 0 && Date.now() - begin >= _deadline) {\n _scheduleUpdate();\n break;\n }\n }\n }\n _addInteractionSet.clear();\n _deleteInteractionSet.clear();\n}\nexport default InteractionManager;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport dismissKeyboard from '../../modules/dismissKeyboard';\n\n// in the future we can use https://github.com/w3c/virtual-keyboard\nvar Keyboard = {\n isVisible() {\n return false;\n },\n addListener() {\n return {\n remove: () => {}\n };\n },\n dismiss() {\n dismissKeyboard();\n },\n removeAllListeners() {},\n removeListener() {}\n};\nexport default Keyboard;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport UIManager from '../UIManager';\n\n// NativeModules shim\nvar NativeModules = {\n UIManager\n};\nexport default NativeModules;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport Dimensions from '../Dimensions';\n\n/**\n * PixelRatio gives access to the device pixel density.\n */\nexport default class PixelRatio {\n /**\n * Returns the device pixel density.\n */\n static get() {\n return Dimensions.get('window').scale;\n }\n\n /**\n * No equivalent for Web\n */\n static getFontScale() {\n return Dimensions.get('window').fontScale || PixelRatio.get();\n }\n\n /**\n * Converts a layout size (dp) to pixel size (px).\n * Guaranteed to return an integer number.\n */\n static getPixelSizeForLayoutSize(layoutSize) {\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) {\n var ratio = PixelRatio.get();\n return Math.round(layoutSize * ratio) / ratio;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar Platform = {\n OS: 'web',\n select: obj => 'web' in obj ? obj.web : obj.default,\n get isTesting() {\n if (process.env.NODE_ENV === 'test') {\n return true;\n }\n return false;\n }\n};\nexport default Platform;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use strict';\n\nimport canUseDOM from '../canUseDom';\nvar emptyFunction = () => {};\nfunction supportsPassiveEvents() {\n var supported = false;\n // Check if browser supports event with passive listeners\n // https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Safely_detecting_option_support\n if (canUseDOM) {\n try {\n var options = {};\n Object.defineProperty(options, 'passive', {\n get() {\n supported = true;\n return false;\n }\n });\n window.addEventListener('test', null, options);\n window.removeEventListener('test', null, options);\n } catch (e) {}\n }\n return supported;\n}\nvar canUsePassiveEvents = supportsPassiveEvents();\nfunction getOptions(options) {\n if (options == null) {\n return false;\n }\n return canUsePassiveEvents ? options : Boolean(options.capture);\n}\n\n/**\n * Shim generic API compatibility with ReactDOM's synthetic events, without needing the\n * large amount of code ReactDOM uses to do this. Ideally we wouldn't use a synthetic\n * event wrapper at all.\n */\nfunction isPropagationStopped() {\n return this.cancelBubble;\n}\nfunction isDefaultPrevented() {\n return this.defaultPrevented;\n}\nfunction normalizeEvent(event) {\n event.nativeEvent = event;\n event.persist = emptyFunction;\n event.isDefaultPrevented = isDefaultPrevented;\n event.isPropagationStopped = isPropagationStopped;\n return event;\n}\n\n/**\n *\n */\nexport function addEventListener(target, type, listener, options) {\n var opts = getOptions(options);\n var compatListener = e => listener(normalizeEvent(e));\n target.addEventListener(type, compatListener, opts);\n return function removeEventListener() {\n if (target != null) {\n target.removeEventListener(type, compatListener, opts);\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport { addEventListener } from '../addEventListener';\nimport canUseDOM from '../canUseDom';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nvar activeModality = 'keyboard';\nvar modality = 'keyboard';\nvar previousModality;\nvar previousActiveModality;\nvar isEmulatingMouseEvents = false;\nvar listeners = new Set();\nvar KEYBOARD = 'keyboard';\nvar MOUSE = 'mouse';\nvar TOUCH = 'touch';\nvar BLUR = 'blur';\nvar CONTEXTMENU = 'contextmenu';\nvar FOCUS = 'focus';\nvar KEYDOWN = 'keydown';\nvar MOUSEDOWN = 'mousedown';\nvar MOUSEMOVE = 'mousemove';\nvar MOUSEUP = 'mouseup';\nvar POINTERDOWN = 'pointerdown';\nvar POINTERMOVE = 'pointermove';\nvar SCROLL = 'scroll';\nvar SELECTIONCHANGE = 'selectionchange';\nvar TOUCHCANCEL = 'touchcancel';\nvar TOUCHMOVE = 'touchmove';\nvar TOUCHSTART = 'touchstart';\nvar VISIBILITYCHANGE = 'visibilitychange';\nvar bubbleOptions = {\n passive: true\n};\nvar captureOptions = {\n capture: true,\n passive: true\n};\nfunction restoreModality() {\n if (previousModality != null || previousActiveModality != null) {\n if (previousModality != null) {\n modality = previousModality;\n previousModality = null;\n }\n if (previousActiveModality != null) {\n activeModality = previousActiveModality;\n previousActiveModality = null;\n }\n callListeners();\n }\n}\nfunction onBlurWindow() {\n previousModality = modality;\n previousActiveModality = activeModality;\n activeModality = KEYBOARD;\n modality = KEYBOARD;\n callListeners();\n // for fallback events\n isEmulatingMouseEvents = false;\n}\nfunction onFocusWindow() {\n restoreModality();\n}\nfunction onKeyDown(event) {\n if (event.metaKey || event.altKey || event.ctrlKey) {\n return;\n }\n if (modality !== KEYBOARD) {\n modality = KEYBOARD;\n activeModality = KEYBOARD;\n callListeners();\n }\n}\nfunction onVisibilityChange() {\n if (document.visibilityState !== 'hidden') {\n restoreModality();\n }\n}\nfunction onPointerish(event) {\n var eventType = event.type;\n if (supportsPointerEvent()) {\n if (eventType === POINTERDOWN) {\n if (activeModality !== event.pointerType) {\n modality = event.pointerType;\n activeModality = event.pointerType;\n callListeners();\n }\n return;\n }\n if (eventType === POINTERMOVE) {\n if (modality !== event.pointerType) {\n modality = event.pointerType;\n callListeners();\n }\n return;\n }\n }\n // Fallback for non-PointerEvent environment\n else {\n if (!isEmulatingMouseEvents) {\n if (eventType === MOUSEDOWN) {\n if (activeModality !== MOUSE) {\n modality = MOUSE;\n activeModality = MOUSE;\n callListeners();\n }\n }\n if (eventType === MOUSEMOVE) {\n if (modality !== MOUSE) {\n modality = MOUSE;\n callListeners();\n }\n }\n }\n\n // Flag when browser may produce emulated events\n if (eventType === TOUCHSTART) {\n isEmulatingMouseEvents = true;\n if (event.touches && event.touches.length > 1) {\n isEmulatingMouseEvents = false;\n }\n if (activeModality !== TOUCH) {\n modality = TOUCH;\n activeModality = TOUCH;\n callListeners();\n }\n return;\n }\n\n // Remove flag after emulated events are finished or cancelled, and if an\n // event occurs that cuts short a touch event sequence.\n if (eventType === CONTEXTMENU || eventType === MOUSEUP || eventType === SELECTIONCHANGE || eventType === SCROLL || eventType === TOUCHCANCEL || eventType === TOUCHMOVE) {\n isEmulatingMouseEvents = false;\n }\n }\n}\nif (canUseDOM) {\n // Window events\n addEventListener(window, BLUR, onBlurWindow, bubbleOptions);\n addEventListener(window, FOCUS, onFocusWindow, bubbleOptions);\n // Must be capture phase because 'stopPropagation' might prevent these\n // events bubbling to the document.\n addEventListener(document, KEYDOWN, onKeyDown, captureOptions);\n addEventListener(document, VISIBILITYCHANGE, onVisibilityChange, captureOptions);\n addEventListener(document, POINTERDOWN, onPointerish, captureOptions);\n addEventListener(document, POINTERMOVE, onPointerish, captureOptions);\n // Fallback events\n addEventListener(document, CONTEXTMENU, onPointerish, captureOptions);\n addEventListener(document, MOUSEDOWN, onPointerish, captureOptions);\n addEventListener(document, MOUSEMOVE, onPointerish, captureOptions);\n addEventListener(document, MOUSEUP, onPointerish, captureOptions);\n addEventListener(document, TOUCHCANCEL, onPointerish, captureOptions);\n addEventListener(document, TOUCHMOVE, onPointerish, captureOptions);\n addEventListener(document, TOUCHSTART, onPointerish, captureOptions);\n addEventListener(document, SELECTIONCHANGE, onPointerish, captureOptions);\n addEventListener(document, SCROLL, onPointerish, captureOptions);\n}\nfunction callListeners() {\n var value = {\n activeModality,\n modality\n };\n listeners.forEach(listener => {\n listener(value);\n });\n}\nexport function getActiveModality() {\n return activeModality;\n}\nexport function getModality() {\n return modality;\n}\nexport function addModalityListener(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\nexport function testOnly_resetActiveModality() {\n isEmulatingMouseEvents = false;\n activeModality = KEYBOARD;\n modality = 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 * \n */\n\nimport { addEventListener } from '../addEventListener';\nimport useLayoutEffect from '../useLayoutEffect';\nimport useStable from '../useStable';\n/**\n * This can be used with any event type include custom events.\n *\n * const click = useEvent('click', options);\n * useEffect(() => {\n * click.setListener(target, onClick);\n * return () => click.clear();\n * }).\n */\nexport default function useEvent(eventType, options) {\n var targetListeners = useStable(() => new Map());\n var addListener = useStable(() => {\n return (target, callback) => {\n var removeTargetListener = targetListeners.get(target);\n if (removeTargetListener != null) {\n removeTargetListener();\n }\n if (callback == null) {\n targetListeners.delete(target);\n callback = () => {};\n }\n var removeEventListener = addEventListener(target, eventType, callback, options);\n targetListeners.set(target, removeEventListener);\n return removeEventListener;\n };\n });\n useLayoutEffect(() => {\n return () => {\n targetListeners.forEach(removeListener => {\n removeListener();\n });\n targetListeners.clear();\n };\n }, [targetListeners]);\n return addListener;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport { getModality } from '../modality';\nimport useEvent from '../useEvent';\nimport useLayoutEffect from '../useLayoutEffect';\n\n/**\n * Types\n */\n\n/**\n * Implementation\n */\n\nvar emptyObject = {};\nvar opts = {\n passive: true\n};\nvar lockEventType = 'react-gui:hover:lock';\nvar unlockEventType = 'react-gui:hover:unlock';\nvar supportsPointerEvent = () => !!(typeof window !== 'undefined' && window.PointerEvent != null);\nfunction dispatchCustomEvent(target, type, payload) {\n var event = document.createEvent('CustomEvent');\n var _ref = payload || emptyObject,\n _ref$bubbles = _ref.bubbles,\n bubbles = _ref$bubbles === void 0 ? true : _ref$bubbles,\n _ref$cancelable = _ref.cancelable,\n cancelable = _ref$cancelable === void 0 ? true : _ref$cancelable,\n detail = _ref.detail;\n event.initCustomEvent(type, bubbles, cancelable, detail);\n target.dispatchEvent(event);\n}\n\n// This accounts for the non-PointerEvent fallback events.\nfunction getPointerType(event) {\n var pointerType = event.pointerType;\n return pointerType != null ? pointerType : getModality();\n}\nexport default function useHover(targetRef, config) {\n var contain = config.contain,\n disabled = config.disabled,\n onHoverStart = config.onHoverStart,\n onHoverChange = config.onHoverChange,\n onHoverUpdate = config.onHoverUpdate,\n onHoverEnd = config.onHoverEnd;\n var canUsePE = supportsPointerEvent();\n var addMoveListener = useEvent(canUsePE ? 'pointermove' : 'mousemove', opts);\n var addEnterListener = useEvent(canUsePE ? 'pointerenter' : 'mouseenter', opts);\n var addLeaveListener = useEvent(canUsePE ? 'pointerleave' : 'mouseleave', opts);\n // These custom events are used to implement the \"contain\" prop.\n var addLockListener = useEvent(lockEventType, opts);\n var addUnlockListener = useEvent(unlockEventType, opts);\n useLayoutEffect(() => {\n var target = targetRef.current;\n if (target !== null) {\n /**\n * End the hover gesture\n */\n var hoverEnd = function hoverEnd(e) {\n if (onHoverEnd != null) {\n onHoverEnd(e);\n }\n if (onHoverChange != null) {\n onHoverChange(false);\n }\n // Remove the listeners once finished.\n addMoveListener(target, null);\n addLeaveListener(target, null);\n };\n\n /**\n * Leave element\n */\n var leaveListener = function leaveListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, unlockEventType);\n }\n hoverEnd(e);\n }\n };\n\n /**\n * Move within element\n */\n var moveListener = function moveListener(e) {\n if (getPointerType(e) !== 'touch') {\n if (onHoverUpdate != null) {\n // Not all browsers have these properties\n if (e.x == null) {\n e.x = e.clientX;\n }\n if (e.y == null) {\n e.y = e.clientY;\n }\n onHoverUpdate(e);\n }\n }\n };\n\n /**\n * Start the hover gesture\n */\n var hoverStart = function hoverStart(e) {\n if (onHoverStart != null) {\n onHoverStart(e);\n }\n if (onHoverChange != null) {\n onHoverChange(true);\n }\n // Set the listeners needed for the rest of the hover gesture.\n if (onHoverUpdate != null) {\n addMoveListener(target, !disabled ? moveListener : null);\n }\n addLeaveListener(target, !disabled ? leaveListener : null);\n };\n\n /**\n * Enter element\n */\n var enterListener = function enterListener(e) {\n var target = targetRef.current;\n if (target != null && getPointerType(e) !== 'touch') {\n if (contain) {\n dispatchCustomEvent(target, lockEventType);\n }\n hoverStart(e);\n var lockListener = function lockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverEnd(e);\n }\n };\n var unlockListener = function unlockListener(lockEvent) {\n if (lockEvent.target !== target) {\n hoverStart(e);\n }\n };\n addLockListener(target, !disabled ? lockListener : null);\n addUnlockListener(target, !disabled ? unlockListener : null);\n }\n };\n addEnterListener(target, !disabled ? enterListener : null);\n }\n }, [addEnterListener, addMoveListener, addLeaveListener, addLockListener, addUnlockListener, contain, disabled, onHoverStart, onHoverChange, onHoverUpdate, onHoverEnd, targetRef]);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"delayLongPress\", \"delayPressIn\", \"delayPressOut\", \"disabled\", \"onBlur\", \"onContextMenu\", \"onFocus\", \"onHoverIn\", \"onHoverOut\", \"onKeyDown\", \"onLongPress\", \"onPress\", \"onPressMove\", \"onPressIn\", \"onPressOut\", \"style\", \"tabIndex\", \"testOnly_hovered\", \"testOnly_pressed\"];\nimport * as React from 'react';\nimport { forwardRef, memo, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport useHover from '../../modules/useHover';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n/**\n * Component used to build display components that should respond to whether the\n * component is currently pressed or not.\n */\nfunction Pressable(props, forwardedRef) {\n var children = props.children,\n delayLongPress = props.delayLongPress,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n disabled = props.disabled,\n onBlur = props.onBlur,\n onContextMenu = props.onContextMenu,\n onFocus = props.onFocus,\n onHoverIn = props.onHoverIn,\n onHoverOut = props.onHoverOut,\n onKeyDown = props.onKeyDown,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressMove = props.onPressMove,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n style = props.style,\n tabIndex = props.tabIndex,\n testOnly_hovered = props.testOnly_hovered,\n testOnly_pressed = props.testOnly_pressed,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var _useForceableState = useForceableState(testOnly_hovered === true),\n hovered = _useForceableState[0],\n setHovered = _useForceableState[1];\n var _useForceableState2 = useForceableState(false),\n focused = _useForceableState2[0],\n setFocused = _useForceableState2[1];\n var _useForceableState3 = useForceableState(testOnly_pressed === true),\n pressed = _useForceableState3[0],\n setPressed = _useForceableState3[1];\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var pressConfig = useMemo(() => ({\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n disabled,\n onLongPress,\n onPress,\n onPressChange: setPressed,\n onPressStart: onPressIn,\n onPressMove,\n onPressEnd: onPressOut\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressMove, onPressOut, setPressed]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var onContextMenuPress = pressEventHandlers.onContextMenu,\n onKeyDownPress = pressEventHandlers.onKeyDown;\n useHover(hostRef, {\n contain: true,\n disabled,\n onHoverChange: setHovered,\n onHoverStart: onHoverIn,\n onHoverEnd: onHoverOut\n });\n var interactionState = {\n hovered,\n focused,\n pressed\n };\n var blurHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(false);\n if (onBlur != null) {\n onBlur(e);\n }\n }\n }, [hostRef, setFocused, onBlur]);\n var focusHandler = React.useCallback(e => {\n if (e.nativeEvent.target === hostRef.current) {\n setFocused(true);\n if (onFocus != null) {\n onFocus(e);\n }\n }\n }, [hostRef, setFocused, onFocus]);\n var contextMenuHandler = React.useCallback(e => {\n if (onContextMenuPress != null) {\n onContextMenuPress(e);\n }\n if (onContextMenu != null) {\n onContextMenu(e);\n }\n }, [onContextMenu, onContextMenuPress]);\n var keyDownHandler = React.useCallback(e => {\n if (onKeyDownPress != null) {\n onKeyDownPress(e);\n }\n if (onKeyDown != null) {\n onKeyDown(e);\n }\n }, [onKeyDown, onKeyDownPress]);\n var _tabIndex;\n if (tabIndex !== undefined) {\n _tabIndex = tabIndex;\n } else {\n _tabIndex = disabled ? -1 : 0;\n }\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n \"aria-disabled\": disabled,\n onBlur: blurHandler,\n onContextMenu: contextMenuHandler,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n ref: setRef,\n style: [disabled ? styles.disabled : styles.active, typeof style === 'function' ? style(interactionState) : style],\n tabIndex: _tabIndex\n }), typeof children === 'function' ? children(interactionState) : children);\n}\nfunction useForceableState(forced) {\n var _useState = useState(false),\n bool = _useState[0],\n setBool = _useState[1];\n return [bool || forced, setBool];\n}\nvar styles = StyleSheet.create({\n active: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n },\n disabled: {\n pointerEvents: 'box-none'\n }\n});\nvar MemoedPressable = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(Pressable));\nMemoedPressable.displayName = 'Pressable';\nexport default MemoedPressable;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"colors\", \"enabled\", \"onRefresh\", \"progressBackgroundColor\", \"progressViewOffset\", \"refreshing\", \"size\", \"tintColor\", \"title\", \"titleColor\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport View from '../View';\nimport React from 'react';\nfunction RefreshControl(props) {\n var colors = props.colors,\n enabled = props.enabled,\n onRefresh = props.onRefresh,\n progressBackgroundColor = props.progressBackgroundColor,\n progressViewOffset = props.progressViewOffset,\n refreshing = props.refreshing,\n size = props.size,\n tintColor = props.tintColor,\n title = props.title,\n titleColor = props.titleColor,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/React.createElement(View, rest);\n}\nexport default RefreshControl;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"onScroll\", \"onTouchMove\", \"onWheel\", \"scrollEnabled\", \"scrollEventThrottle\", \"showsHorizontalScrollIndicator\", \"showsVerticalScrollIndicator\", \"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport useMergeRefs from '../../modules/useMergeRefs';\nfunction normalizeScrollEvent(e) {\n return {\n nativeEvent: {\n contentOffset: {\n get x() {\n return e.target.scrollLeft;\n },\n get y() {\n return e.target.scrollTop;\n }\n },\n contentSize: {\n get height() {\n return e.target.scrollHeight;\n },\n get width() {\n return e.target.scrollWidth;\n }\n },\n layoutMeasurement: {\n get height() {\n return e.target.offsetHeight;\n },\n get width() {\n return e.target.offsetWidth;\n }\n }\n },\n timeStamp: Date.now()\n };\n}\nfunction shouldEmitScrollEvent(lastTick, eventThrottle) {\n var timeSinceLastTick = Date.now() - lastTick;\n return eventThrottle > 0 && timeSinceLastTick >= eventThrottle;\n}\n\n/**\n * Encapsulates the Web-specific scroll throttling and disabling logic\n */\nvar ScrollViewBase = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var onScroll = props.onScroll,\n onTouchMove = props.onTouchMove,\n onWheel = props.onWheel,\n _props$scrollEnabled = props.scrollEnabled,\n scrollEnabled = _props$scrollEnabled === void 0 ? true : _props$scrollEnabled,\n _props$scrollEventThr = props.scrollEventThrottle,\n scrollEventThrottle = _props$scrollEventThr === void 0 ? 0 : _props$scrollEventThr,\n showsHorizontalScrollIndicator = props.showsHorizontalScrollIndicator,\n showsVerticalScrollIndicator = props.showsVerticalScrollIndicator,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var scrollState = React.useRef({\n isScrolling: false,\n scrollLastTick: 0\n });\n var scrollTimeout = React.useRef(null);\n var scrollRef = React.useRef(null);\n function createPreventableScrollHandler(handler) {\n return e => {\n if (scrollEnabled) {\n if (handler) {\n handler(e);\n }\n }\n };\n }\n function handleScroll(e) {\n e.stopPropagation();\n if (e.target === scrollRef.current) {\n e.persist();\n // A scroll happened, so the scroll resets the scrollend timeout.\n if (scrollTimeout.current != null) {\n clearTimeout(scrollTimeout.current);\n }\n scrollTimeout.current = setTimeout(() => {\n handleScrollEnd(e);\n }, 100);\n if (scrollState.current.isScrolling) {\n // Scroll last tick may have changed, check if we need to notify\n if (shouldEmitScrollEvent(scrollState.current.scrollLastTick, scrollEventThrottle)) {\n handleScrollTick(e);\n }\n } else {\n // Weren't scrolling, so we must have just started\n handleScrollStart(e);\n }\n }\n }\n function handleScrollStart(e) {\n scrollState.current.isScrolling = true;\n handleScrollTick(e);\n }\n function handleScrollTick(e) {\n scrollState.current.scrollLastTick = Date.now();\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n function handleScrollEnd(e) {\n scrollState.current.isScrolling = false;\n if (onScroll) {\n onScroll(normalizeScrollEvent(e));\n }\n }\n var hideScrollbar = showsHorizontalScrollIndicator === false || showsVerticalScrollIndicator === false;\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n onScroll: handleScroll,\n onTouchMove: createPreventableScrollHandler(onTouchMove),\n onWheel: createPreventableScrollHandler(onWheel),\n ref: useMergeRefs(scrollRef, forwardedRef),\n style: [style, !scrollEnabled && styles.scrollDisabled, hideScrollbar && styles.hideScrollbar]\n }));\n});\n\n// Chrome doesn't support e.preventDefault in this case; touch-action must be\n// used to disable scrolling.\n// https://developers.google.com/web/updates/2017/01/scrolling-intervention\nvar styles = StyleSheet.create({\n scrollDisabled: {\n overflowX: 'hidden',\n overflowY: 'hidden',\n touchAction: 'none'\n },\n hideScrollbar: {\n scrollbarWidth: 'none'\n }\n});\nexport default ScrollViewBase;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"contentContainerStyle\", \"horizontal\", \"onContentSizeChange\", \"refreshControl\", \"stickyHeaderIndices\", \"pagingEnabled\", \"forwardedRef\", \"keyboardDismissMode\", \"onScroll\", \"centerContent\"];\nimport Dimensions from '../Dimensions';\nimport dismissKeyboard from '../../modules/dismissKeyboard';\nimport invariant from 'fbjs/lib/invariant';\nimport mergeRefs from '../../modules/mergeRefs';\nimport Platform from '../Platform';\nimport ScrollViewBase from './ScrollViewBase';\nimport StyleSheet from '../StyleSheet';\nimport TextInputState from '../../modules/TextInputState';\nimport UIManager from '../UIManager';\nimport View from '../View';\nimport React from 'react';\nimport warning from 'fbjs/lib/warning';\nvar emptyObject = {};\nvar IS_ANIMATING_TOUCH_START_THRESHOLD_MS = 16;\nclass ScrollView extends React.Component {\n constructor() {\n super(...arguments);\n this._scrollNodeRef = null;\n this._innerViewRef = null;\n this.isTouching = false;\n this.lastMomentumScrollBeginTime = 0;\n this.lastMomentumScrollEndTime = 0;\n this.observedScrollSinceBecomingResponder = false;\n this.becameResponderWhileAnimating = false;\n this.scrollResponderHandleScrollShouldSetResponder = () => {\n return this.isTouching;\n };\n this.scrollResponderHandleStartShouldSetResponderCapture = e => {\n // First see if we want to eat taps while the keyboard is up\n // var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n // if (!this.props.keyboardShouldPersistTaps &&\n // currentlyFocusedTextInput != null &&\n // e.target !== currentlyFocusedTextInput) {\n // return true;\n // }\n return this.scrollResponderIsAnimating();\n };\n this.scrollResponderHandleTerminationRequest = () => {\n return !this.observedScrollSinceBecomingResponder;\n };\n this.scrollResponderHandleTouchEnd = e => {\n var nativeEvent = e.nativeEvent;\n this.isTouching = nativeEvent.touches.length !== 0;\n this.props.onTouchEnd && this.props.onTouchEnd(e);\n };\n this.scrollResponderHandleResponderRelease = e => {\n this.props.onResponderRelease && this.props.onResponderRelease(e);\n\n // By default scroll views will unfocus a textField\n // if another touch occurs outside of it\n var currentlyFocusedTextInput = TextInputState.currentlyFocusedField();\n if (!this.props.keyboardShouldPersistTaps && currentlyFocusedTextInput != null && e.target !== currentlyFocusedTextInput && !this.observedScrollSinceBecomingResponder && !this.becameResponderWhileAnimating) {\n this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e);\n TextInputState.blurTextInput(currentlyFocusedTextInput);\n }\n };\n this.scrollResponderHandleScroll = e => {\n this.observedScrollSinceBecomingResponder = true;\n this.props.onScroll && this.props.onScroll(e);\n };\n this.scrollResponderHandleResponderGrant = e => {\n this.observedScrollSinceBecomingResponder = false;\n this.props.onResponderGrant && this.props.onResponderGrant(e);\n this.becameResponderWhileAnimating = this.scrollResponderIsAnimating();\n };\n this.scrollResponderHandleScrollBeginDrag = e => {\n this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e);\n };\n this.scrollResponderHandleScrollEndDrag = e => {\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n this.scrollResponderHandleMomentumScrollBegin = e => {\n this.lastMomentumScrollBeginTime = Date.now();\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n this.scrollResponderHandleMomentumScrollEnd = e => {\n this.lastMomentumScrollEndTime = Date.now();\n this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e);\n };\n this.scrollResponderHandleTouchStart = e => {\n this.isTouching = true;\n this.props.onTouchStart && this.props.onTouchStart(e);\n };\n this.scrollResponderHandleTouchMove = e => {\n this.props.onTouchMove && this.props.onTouchMove(e);\n };\n this.scrollResponderIsAnimating = () => {\n var now = Date.now();\n var timeSinceLastMomentumScrollEnd = now - this.lastMomentumScrollEndTime;\n var isAnimating = timeSinceLastMomentumScrollEnd < IS_ANIMATING_TOUCH_START_THRESHOLD_MS || this.lastMomentumScrollEndTime < this.lastMomentumScrollBeginTime;\n return isAnimating;\n };\n this.scrollResponderScrollTo = (x, y, animated) => {\n if (typeof x === 'number') {\n console.warn('`scrollResponderScrollTo(x, y, animated)` is deprecated. Use `scrollResponderScrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref = x || emptyObject;\n x = _ref.x;\n y = _ref.y;\n animated = _ref.animated;\n }\n var node = this.getScrollableNode();\n var left = x || 0;\n var top = y || 0;\n if (node != null) {\n if (typeof node.scroll === 'function') {\n node.scroll({\n top,\n left,\n behavior: !animated ? 'auto' : 'smooth'\n });\n } else {\n node.scrollLeft = left;\n node.scrollTop = top;\n }\n }\n };\n this.scrollResponderZoomTo = (rect, animated) => {\n if (Platform.OS !== 'ios') {\n invariant('zoomToRect is not implemented');\n }\n };\n this.scrollResponderScrollNativeHandleToKeyboard = (nodeHandle, additionalOffset, preventNegativeScrollOffset) => {\n this.additionalScrollOffset = additionalOffset || 0;\n this.preventNegativeScrollOffset = !!preventNegativeScrollOffset;\n UIManager.measureLayout(nodeHandle, this.getInnerViewNode(), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard);\n };\n this.scrollResponderInputMeasureAndScrollToKeyboard = (left, top, width, height) => {\n var keyboardScreenY = Dimensions.get('window').height;\n if (this.keyboardWillOpenTo) {\n keyboardScreenY = this.keyboardWillOpenTo.endCoordinates.screenY;\n }\n var scrollOffsetY = 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) {\n scrollOffsetY = Math.max(0, scrollOffsetY);\n }\n this.scrollResponderScrollTo({\n x: 0,\n y: scrollOffsetY,\n animated: true\n });\n this.additionalOffset = 0;\n this.preventNegativeScrollOffset = false;\n };\n this.scrollResponderKeyboardWillShow = e => {\n this.keyboardWillOpenTo = e;\n this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e);\n };\n this.scrollResponderKeyboardWillHide = e => {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e);\n };\n this.scrollResponderKeyboardDidShow = e => {\n // TODO(7693961): The event for DidShow is not available on iOS yet.\n // Use the one from WillShow and do not assign.\n if (e) {\n this.keyboardWillOpenTo = e;\n }\n this.props.onKeyboardDidShow && this.props.onKeyboardDidShow(e);\n };\n this.scrollResponderKeyboardDidHide = e => {\n this.keyboardWillOpenTo = null;\n this.props.onKeyboardDidHide && this.props.onKeyboardDidHide(e);\n };\n this.flashScrollIndicators = () => {\n this.scrollResponderFlashScrollIndicators();\n };\n this.getScrollResponder = () => {\n return this;\n };\n this.getScrollableNode = () => {\n return this._scrollNodeRef;\n };\n this.getInnerViewRef = () => {\n return this._innerViewRef;\n };\n this.getInnerViewNode = () => {\n return this._innerViewRef;\n };\n this.getNativeScrollRef = () => {\n return this._scrollNodeRef;\n };\n this.scrollTo = (y, x, animated) => {\n if (typeof y === 'number') {\n console.warn('`scrollTo(y, x, animated)` is deprecated. Use `scrollTo({x: 5, y: 5, animated: true})` instead.');\n } else {\n var _ref2 = y || emptyObject;\n x = _ref2.x;\n y = _ref2.y;\n animated = _ref2.animated;\n }\n this.scrollResponderScrollTo({\n x: x || 0,\n y: y || 0,\n animated: animated !== false\n });\n };\n this.scrollToEnd = options => {\n // Default to true\n var animated = (options && options.animated) !== false;\n var horizontal = this.props.horizontal;\n var scrollResponderNode = this.getScrollableNode();\n var x = horizontal ? scrollResponderNode.scrollWidth : 0;\n var y = horizontal ? 0 : scrollResponderNode.scrollHeight;\n this.scrollResponderScrollTo({\n x,\n y,\n animated\n });\n };\n this._handleContentOnLayout = e => {\n var _e$nativeEvent$layout = e.nativeEvent.layout,\n width = _e$nativeEvent$layout.width,\n height = _e$nativeEvent$layout.height;\n this.props.onContentSizeChange(width, height);\n };\n this._handleScroll = e => {\n if (process.env.NODE_ENV !== 'production') {\n if (this.props.onScroll && this.props.scrollEventThrottle == null) {\n console.log('You specified `onScroll` on a but not ' + '`scrollEventThrottle`. You will only receive one event. ' + 'Using `16` you get all the events but be aware that it may ' + \"cause frame drops, use a bigger number if you don't need as \" + 'much precision.');\n }\n }\n if (this.props.keyboardDismissMode === 'on-drag') {\n dismissKeyboard();\n }\n this.scrollResponderHandleScroll(e);\n };\n this._setInnerViewRef = node => {\n this._innerViewRef = node;\n };\n this._setScrollNodeRef = node => {\n this._scrollNodeRef = node;\n // ScrollView needs to add more methods to the hostNode in addition to those\n // added by `usePlatformMethods`. This is temporarily until an API like\n // `ScrollView.scrollTo(hostNode, { x, y })` is added to React Native.\n if (node != null) {\n node.getScrollResponder = this.getScrollResponder;\n node.getInnerViewNode = this.getInnerViewNode;\n node.getInnerViewRef = this.getInnerViewRef;\n node.getNativeScrollRef = this.getNativeScrollRef;\n node.getScrollableNode = this.getScrollableNode;\n node.scrollTo = this.scrollTo;\n node.scrollToEnd = this.scrollToEnd;\n node.flashScrollIndicators = this.flashScrollIndicators;\n node.scrollResponderZoomTo = this.scrollResponderZoomTo;\n node.scrollResponderScrollNativeHandleToKeyboard = this.scrollResponderScrollNativeHandleToKeyboard;\n }\n var ref = mergeRefs(this.props.forwardedRef);\n ref(node);\n };\n }\n /**\n * ------------------------------------------------------\n * START SCROLLRESPONDER\n * ------------------------------------------------------\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).\n /**\n * Invoke this from an `onScroll` event.\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 scrollResponderHandleStartShouldSetResponder() {\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 the focused input, while the keyboard is\n * up (which should dismiss the keyboard).\n *\n * Invoke this from an `onStartShouldSetResponderCapture` event.\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 scrollResponderHandleResponderReject() {\n warning(false, \"ScrollView doesn't take rejection well - scrolls anyway\");\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\n /**\n * Invoke this from an `onTouchEnd` event.\n *\n * @param {SyntheticEvent} e Event.\n */\n\n /**\n * Invoke this from an `onResponderRelease` event.\n */\n\n /**\n * Invoke this from an `onResponderGrant` event.\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\n /**\n * Invoke this from an `onScrollEndDrag` event.\n */\n\n /**\n * Invoke this from an `onMomentumScrollBegin` event.\n */\n\n /**\n * Invoke this from an `onMomentumScrollEnd` event.\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 {SyntheticEvent} e Touch Start event.\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 {SyntheticEvent} e Touch Start event.\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\n /**\n * A helper function to scroll to a specific point in the scrollview.\n * This is currently used to help focus on child textviews, but can also\n * be used to quickly scroll to any element we want to focus. Syntax:\n *\n * scrollResponderScrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true})\n *\n * Note: The weird argument signature is due to the fact that, for historical reasons,\n * the function also accepts separate arguments as as alternative to the options object.\n * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.\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\n /**\n * Displays the scroll indicators momentarily.\n */\n scrollResponderFlashScrollIndicators() {}\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 {any} nodeHandle The TextInput node handle\n * @param {number} additionalOffset The scroll view's top \"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\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\n scrollResponderTextInputFocusError(e) {\n console.error('Error measuring text field: ', e);\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` providesModule 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 /**\n * ------------------------------------------------------\n * END SCROLLRESPONDER\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\n /**\n * Scrolls to a given x, y offset, either immediately or with a smooth animation.\n * Syntax:\n *\n * scrollTo(options: {x: number = 0; y: number = 0; animated: boolean = true})\n *\n * Note: The weird argument signature is due to the fact that, for historical reasons,\n * the function also accepts separate arguments as as alternative to the options object.\n * This is deprecated due to ambiguity (y before x), and SHOULD NOT BE USED.\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\n render() {\n var _this$props = this.props,\n contentContainerStyle = _this$props.contentContainerStyle,\n horizontal = _this$props.horizontal,\n onContentSizeChange = _this$props.onContentSizeChange,\n refreshControl = _this$props.refreshControl,\n stickyHeaderIndices = _this$props.stickyHeaderIndices,\n pagingEnabled = _this$props.pagingEnabled,\n forwardedRef = _this$props.forwardedRef,\n keyboardDismissMode = _this$props.keyboardDismissMode,\n onScroll = _this$props.onScroll,\n centerContent = _this$props.centerContent,\n other = _objectWithoutPropertiesLoose(_this$props, _excluded);\n if (process.env.NODE_ENV !== 'production' && this.props.style) {\n var style = StyleSheet.flatten(this.props.style);\n var childLayoutProps = ['alignItems', 'justifyContent'].filter(prop => style && style[prop] !== undefined);\n invariant(childLayoutProps.length === 0, \"ScrollView child layout (\" + JSON.stringify(childLayoutProps) + \") \" + 'must be applied through the contentContainerStyle prop.');\n }\n var contentSizeChangeProps = {};\n if (onContentSizeChange) {\n contentSizeChangeProps = {\n onLayout: this._handleContentOnLayout\n };\n }\n var hasStickyHeaderIndices = !horizontal && Array.isArray(stickyHeaderIndices);\n var children = hasStickyHeaderIndices || pagingEnabled ? React.Children.map(this.props.children, (child, i) => {\n var isSticky = hasStickyHeaderIndices && stickyHeaderIndices.indexOf(i) > -1;\n if (child != null && (isSticky || pagingEnabled)) {\n return /*#__PURE__*/React.createElement(View, {\n style: [isSticky && styles.stickyHeader, pagingEnabled && styles.pagingEnabledChild]\n }, child);\n } else {\n return child;\n }\n }) : this.props.children;\n var contentContainer = /*#__PURE__*/React.createElement(View, _extends({}, contentSizeChangeProps, {\n children: children,\n collapsable: false,\n ref: this._setInnerViewRef,\n style: [horizontal && styles.contentContainerHorizontal, centerContent && styles.contentContainerCenterContent, contentContainerStyle]\n }));\n var baseStyle = horizontal ? styles.baseHorizontal : styles.baseVertical;\n var pagingEnabledStyle = horizontal ? styles.pagingEnabledHorizontal : styles.pagingEnabledVertical;\n var props = _objectSpread(_objectSpread({}, other), {}, {\n style: [baseStyle, pagingEnabled && pagingEnabledStyle, this.props.style],\n onTouchStart: this.scrollResponderHandleTouchStart,\n onTouchMove: this.scrollResponderHandleTouchMove,\n onTouchEnd: this.scrollResponderHandleTouchEnd,\n onScrollBeginDrag: this.scrollResponderHandleScrollBeginDrag,\n onScrollEndDrag: this.scrollResponderHandleScrollEndDrag,\n onMomentumScrollBegin: this.scrollResponderHandleMomentumScrollBegin,\n onMomentumScrollEnd: this.scrollResponderHandleMomentumScrollEnd,\n onStartShouldSetResponder: this.scrollResponderHandleStartShouldSetResponder,\n onStartShouldSetResponderCapture: this.scrollResponderHandleStartShouldSetResponderCapture,\n onScrollShouldSetResponder: this.scrollResponderHandleScrollShouldSetResponder,\n onScroll: this._handleScroll,\n onResponderGrant: this.scrollResponderHandleResponderGrant,\n onResponderTerminationRequest: this.scrollResponderHandleTerminationRequest,\n onResponderTerminate: this.scrollResponderHandleTerminate,\n onResponderRelease: this.scrollResponderHandleResponderRelease,\n onResponderReject: this.scrollResponderHandleResponderReject\n });\n var ScrollViewClass = ScrollViewBase;\n invariant(ScrollViewClass !== undefined, 'ScrollViewClass must not be undefined');\n var scrollView = /*#__PURE__*/React.createElement(ScrollViewClass, _extends({}, props, {\n ref: this._setScrollNodeRef\n }), contentContainer);\n if (refreshControl) {\n return /*#__PURE__*/React.cloneElement(refreshControl, {\n style: props.style\n }, scrollView);\n }\n return scrollView;\n }\n}\nvar commonStyle = {\n flexGrow: 1,\n flexShrink: 1,\n // Enable hardware compositing in modern browsers.\n // Creates a new layer with its own backing surface that can significantly\n // improve scroll performance.\n transform: 'translateZ(0)',\n // iOS native scrolling\n WebkitOverflowScrolling: 'touch'\n};\nvar styles = StyleSheet.create({\n baseVertical: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'column',\n overflowX: 'hidden',\n overflowY: 'auto'\n }),\n baseHorizontal: _objectSpread(_objectSpread({}, commonStyle), {}, {\n flexDirection: 'row',\n overflowX: 'auto',\n overflowY: 'hidden'\n }),\n contentContainerHorizontal: {\n flexDirection: 'row'\n },\n contentContainerCenterContent: {\n justifyContent: 'center',\n flexGrow: 1\n },\n stickyHeader: {\n position: 'sticky',\n top: 0,\n zIndex: 10\n },\n pagingEnabledHorizontal: {\n scrollSnapType: 'x mandatory'\n },\n pagingEnabledVertical: {\n scrollSnapType: 'y mandatory'\n },\n pagingEnabledChild: {\n scrollSnapAlign: 'start'\n }\n});\nvar ForwardedScrollView = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n return /*#__PURE__*/React.createElement(ScrollView, _extends({}, props, {\n forwardedRef: forwardedRef\n }));\n});\nForwardedScrollView.displayName = 'ScrollView';\nexport default ForwardedScrollView;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nvar _excluded = [\"ItemSeparatorComponent\", \"SectionSeparatorComponent\", \"renderItem\", \"renderSectionFooter\", \"renderSectionHeader\", \"sections\", \"stickySectionHeadersEnabled\"];\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport View from '../../../exports/View';\nimport VirtualizedList from '../VirtualizedList';\nimport { keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\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 extends React.PureComponent {\n constructor() {\n super(...arguments);\n this._keyExtractor = (item, index) => {\n var info = this._subExtractor(index);\n return info && info.key || String(index);\n };\n this._convertViewable = viewable => {\n var _info$index;\n invariant(viewable.index != null, 'Received a broken ViewToken');\n var info = this._subExtractor(viewable.index);\n if (!info) {\n return null;\n }\n var keyExtractorWithNullableIndex = info.section.keyExtractor;\n var keyExtractorWithNonNullableIndex = this.props.keyExtractor || defaultKeyExtractor;\n var key = keyExtractorWithNullableIndex != null ? keyExtractorWithNullableIndex(viewable.item, info.index) : keyExtractorWithNonNullableIndex(viewable.item, (_info$index = info.index) !== null && _info$index !== void 0 ? _info$index : 0);\n return _objectSpread(_objectSpread({}, viewable), {}, {\n index: info.index,\n key,\n section: info.section\n });\n };\n this._onViewableItemsChanged = _ref => {\n var viewableItems = _ref.viewableItems,\n changed = _ref.changed;\n var onViewableItemsChanged = this.props.onViewableItemsChanged;\n if (onViewableItemsChanged != null) {\n onViewableItemsChanged({\n viewableItems: viewableItems.map(this._convertViewable, this).filter(Boolean),\n changed: changed.map(this._convertViewable, this).filter(Boolean)\n });\n }\n };\n this._renderItem = listItemCount =>\n // eslint-disable-next-line react/no-unstable-nested-components\n _ref2 => {\n var item = _ref2.item,\n index = _ref2.index;\n var info = this._subExtractor(index);\n if (!info) {\n return null;\n }\n var infoIndex = info.index;\n if (infoIndex == null) {\n var section = info.section;\n if (info.header === true) {\n var renderSectionHeader = this.props.renderSectionHeader;\n return renderSectionHeader ? renderSectionHeader({\n section\n }) : null;\n } else {\n var renderSectionFooter = this.props.renderSectionFooter;\n return renderSectionFooter ? renderSectionFooter({\n section\n }) : null;\n }\n } else {\n var renderItem = info.section.renderItem || this.props.renderItem;\n var SeparatorComponent = this._getSeparatorComponent(index, info, listItemCount);\n invariant(renderItem, 'no renderItem!');\n return /*#__PURE__*/React.createElement(ItemWithSeparator, {\n SeparatorComponent: SeparatorComponent,\n LeadingSeparatorComponent: infoIndex === 0 ? this.props.SectionSeparatorComponent : undefined,\n cellKey: info.key,\n index: infoIndex,\n item: item,\n leadingItem: info.leadingItem,\n leadingSection: info.leadingSection,\n prevCellKey: (this._subExtractor(index - 1) || {}).key\n // Callback to provide updateHighlight for this item\n ,\n setSelfHighlightCallback: this._setUpdateHighlightFor,\n setSelfUpdatePropsCallback: this._setUpdatePropsFor\n // Provide child ability to set highlight/updateProps for previous item using prevCellKey\n ,\n updateHighlightFor: this._updateHighlightFor,\n updatePropsFor: this._updatePropsFor,\n renderItem: renderItem,\n section: info.section,\n trailingItem: info.trailingItem,\n trailingSection: info.trailingSection,\n inverted: !!this.props.inverted\n });\n }\n };\n this._updatePropsFor = (cellKey, value) => {\n var updateProps = this._updatePropsMap[cellKey];\n if (updateProps != null) {\n updateProps(value);\n }\n };\n this._updateHighlightFor = (cellKey, value) => {\n var updateHighlight = this._updateHighlightMap[cellKey];\n if (updateHighlight != null) {\n updateHighlight(value);\n }\n };\n this._setUpdateHighlightFor = (cellKey, updateHighlightFn) => {\n if (updateHighlightFn != null) {\n this._updateHighlightMap[cellKey] = updateHighlightFn;\n } else {\n // $FlowFixMe[prop-missing]\n delete this._updateHighlightFor[cellKey];\n }\n };\n this._setUpdatePropsFor = (cellKey, updatePropsFn) => {\n if (updatePropsFn != null) {\n this._updatePropsMap[cellKey] = updatePropsFn;\n } else {\n delete this._updatePropsMap[cellKey];\n }\n };\n this._updateHighlightMap = {};\n this._updatePropsMap = {};\n this._captureRef = ref => {\n this._listRef = ref;\n };\n }\n scrollToLocation(params) {\n var index = params.itemIndex;\n for (var i = 0; i < params.sectionIndex; i++) {\n index += this.props.getItemCount(this.props.sections[i].data) + 2;\n }\n var viewOffset = params.viewOffset || 0;\n if (this._listRef == null) {\n return;\n }\n if (params.itemIndex > 0 && this.props.stickySectionHeadersEnabled) {\n var frame = this._listRef.__getFrameMetricsApprox(index - params.itemIndex, this._listRef.props);\n viewOffset += frame.length;\n }\n var toIndexParams = _objectSpread(_objectSpread({}, params), {}, {\n viewOffset,\n index\n });\n // $FlowFixMe[incompatible-use]\n this._listRef.scrollToIndex(toIndexParams);\n }\n getListRef() {\n return this._listRef;\n }\n render() {\n var _this$props = this.props,\n ItemSeparatorComponent = _this$props.ItemSeparatorComponent,\n SectionSeparatorComponent = _this$props.SectionSeparatorComponent,\n _renderItem = _this$props.renderItem,\n renderSectionFooter = _this$props.renderSectionFooter,\n renderSectionHeader = _this$props.renderSectionHeader,\n _sections = _this$props.sections,\n stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,\n passThroughProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var listHeaderOffset = this.props.ListHeaderComponent ? 1 : 0;\n var stickyHeaderIndices = this.props.stickySectionHeadersEnabled ? [] : undefined;\n var itemCount = 0;\n for (var _iterator = _createForOfIteratorHelperLoose(this.props.sections), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\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 var renderItem = this._renderItem(itemCount);\n return /*#__PURE__*/React.createElement(VirtualizedList, _extends({}, passThroughProps, {\n keyExtractor: this._keyExtractor,\n stickyHeaderIndices: stickyHeaderIndices,\n renderItem: renderItem,\n data: this.props.sections,\n getItem: (sections, index) => this._getItem(this.props, sections, index),\n getItemCount: () => itemCount,\n onViewableItemsChanged: this.props.onViewableItemsChanged ? this._onViewableItemsChanged : undefined,\n ref: this._captureRef\n }));\n }\n _getItem(props, sections, index) {\n if (!sections) {\n return null;\n }\n var itemIdx = index - 1;\n for (var i = 0; i < sections.length; i++) {\n var section = sections[i];\n var sectionData = section.data;\n var 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\n _subExtractor(index) {\n var itemIndex = index;\n var _this$props2 = this.props,\n getItem = _this$props2.getItem,\n getItemCount = _this$props2.getItemCount,\n keyExtractor = _this$props2.keyExtractor,\n sections = _this$props2.sections;\n for (var i = 0; i < sections.length; i++) {\n var section = sections[i];\n var sectionData = section.data;\n var 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 var extractor = section.keyExtractor || keyExtractor || defaultKeyExtractor;\n return {\n section,\n key: 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 _getSeparatorComponent(index, info, listItemCount) {\n info = info || this._subExtractor(index);\n if (!info) {\n return null;\n }\n var ItemSeparatorComponent = info.section.ItemSeparatorComponent || this.props.ItemSeparatorComponent;\n var SectionSeparatorComponent = this.props.SectionSeparatorComponent;\n var isLastItemInList = index === listItemCount - 1;\n var isLastItemInSection = 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}\nfunction ItemWithSeparator(props) {\n var LeadingSeparatorComponent = props.LeadingSeparatorComponent,\n SeparatorComponent = props.SeparatorComponent,\n cellKey = props.cellKey,\n prevCellKey = props.prevCellKey,\n setSelfHighlightCallback = props.setSelfHighlightCallback,\n updateHighlightFor = props.updateHighlightFor,\n setSelfUpdatePropsCallback = props.setSelfUpdatePropsCallback,\n updatePropsFor = props.updatePropsFor,\n item = props.item,\n index = props.index,\n section = props.section,\n inverted = props.inverted;\n var _React$useState = React.useState(false),\n leadingSeparatorHiglighted = _React$useState[0],\n setLeadingSeparatorHighlighted = _React$useState[1];\n var _React$useState2 = React.useState(false),\n separatorHighlighted = _React$useState2[0],\n setSeparatorHighlighted = _React$useState2[1];\n var _React$useState3 = React.useState({\n leadingItem: props.leadingItem,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.item,\n trailingSection: props.trailingSection\n }),\n leadingSeparatorProps = _React$useState3[0],\n setLeadingSeparatorProps = _React$useState3[1];\n var _React$useState4 = React.useState({\n leadingItem: props.item,\n leadingSection: props.leadingSection,\n section: props.section,\n trailingItem: props.trailingItem,\n trailingSection: props.trailingSection\n }),\n separatorProps = _React$useState4[0],\n setSeparatorProps = _React$useState4[1];\n React.useEffect(() => {\n setSelfHighlightCallback(cellKey, setSeparatorHighlighted);\n // $FlowFixMe[incompatible-call]\n setSelfUpdatePropsCallback(cellKey, setSeparatorProps);\n return () => {\n setSelfUpdatePropsCallback(cellKey, null);\n setSelfHighlightCallback(cellKey, null);\n };\n }, [cellKey, setSelfHighlightCallback, setSeparatorProps, setSelfUpdatePropsCallback]);\n var 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: (select, newProps) => {\n if (select === 'leading') {\n if (LeadingSeparatorComponent != null) {\n setLeadingSeparatorProps(_objectSpread(_objectSpread({}, leadingSeparatorProps), newProps));\n } else if (prevCellKey != null) {\n // update the previous item's separator\n updatePropsFor(prevCellKey, _objectSpread(_objectSpread({}, leadingSeparatorProps), newProps));\n }\n } else if (select === 'trailing' && SeparatorComponent != null) {\n setSeparatorProps(_objectSpread(_objectSpread({}, separatorProps), newProps));\n }\n }\n };\n var element = props.renderItem({\n item,\n index,\n section,\n separators\n });\n var leadingSeparator = LeadingSeparatorComponent != null && /*#__PURE__*/React.createElement(LeadingSeparatorComponent, _extends({\n highlighted: leadingSeparatorHiglighted\n }, leadingSeparatorProps));\n var separator = SeparatorComponent != null && /*#__PURE__*/React.createElement(SeparatorComponent, _extends({\n highlighted: separatorHighlighted\n }, separatorProps));\n return leadingSeparator || separator ? /*#__PURE__*/React.createElement(View, null, inverted === false ? leadingSeparator : separator, element, inverted === false ? separator : leadingSeparator) : element;\n}\n\n/* $FlowFixMe[class-object-subtyping] added when improving typing for this\n * parameters */\n// $FlowFixMe[method-unbinding]\nexport default VirtualizedSectionList;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"stickySectionHeadersEnabled\"];\nimport Platform from '../../../exports/Platform';\nimport * as React from 'react';\nimport VirtualizedSectionList from '../VirtualizedSectionList';\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 extends React.PureComponent {\n constructor() {\n super(...arguments);\n this._captureRef = ref => {\n this._wrapperListRef = ref;\n };\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) {\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 var 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 var 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() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n if (listRef) {\n return listRef.getScrollResponder();\n }\n }\n getScrollableNode() {\n var listRef = this._wrapperListRef && this._wrapperListRef.getListRef();\n if (listRef) {\n return listRef.getScrollableNode();\n }\n }\n render() {\n var _this$props = this.props,\n _stickySectionHeadersEnabled = _this$props.stickySectionHeadersEnabled,\n restProps = _objectWithoutPropertiesLoose(_this$props, _excluded);\n var stickySectionHeadersEnabled = _stickySectionHeadersEnabled !== null && _stickySectionHeadersEnabled !== void 0 ? _stickySectionHeadersEnabled : Platform.OS === 'ios';\n return /*#__PURE__*/React.createElement(VirtualizedSectionList, _extends({}, restProps, {\n stickySectionHeadersEnabled: stickySectionHeadersEnabled,\n ref: this._captureRef,\n getItemCount: items => items.length,\n getItem: (items, index) => items[index]\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 * \n */\n\n'use client';\n\nimport SectionList from '../../vendor/react-native/SectionList';\nexport default SectionList;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar isWebColor = color => color === 'currentcolor' || color === 'currentColor' || color === 'inherit' || color.indexOf('var(') === 0;\nexport default isWebColor;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport isWebColor from '../../../modules/isWebColor';\nimport processColor from '../../../exports/processColor';\nvar normalizeColor = function normalizeColor(color, opacity) {\n if (opacity === void 0) {\n opacity = 1;\n }\n if (color == null) return;\n if (typeof color === 'string' && isWebColor(color)) {\n return color;\n }\n var colorInt = processColor(color);\n if (colorInt != null) {\n var r = colorInt >> 16 & 255;\n var g = colorInt >> 8 & 255;\n var b = colorInt & 255;\n var a = (colorInt >> 24 & 255) / 255;\n var alpha = (a * opacity).toFixed(2);\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + alpha + \")\";\n }\n};\nexport default normalizeColor;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport unitlessNumbers from './unitlessNumbers';\nimport normalizeColor from './normalizeColor';\nvar colorProps = {\n backgroundColor: true,\n borderColor: true,\n borderTopColor: true,\n borderRightColor: true,\n borderBottomColor: true,\n borderLeftColor: true,\n color: true,\n shadowColor: true,\n textDecorationColor: true,\n textShadowColor: true\n};\nexport default function normalizeValueWithProperty(value, property) {\n var returnValue = value;\n if ((property == null || !unitlessNumbers[property]) && typeof value === 'number') {\n returnValue = value + \"px\";\n } else if (property != null && colorProps[property]) {\n returnValue = normalizeColor(value);\n }\n return returnValue;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\nimport canUseDOM from '../../../modules/canUseDom';\n\n// $FlowFixMe: HTMLStyleElement is incorrectly typed - https://github.com/facebook/flow/issues/2696\nexport default function createCSSStyleSheet(id, rootNode, textContent) {\n if (canUseDOM) {\n var root = rootNode != null ? rootNode : document;\n var element = root.getElementById(id);\n if (element == null) {\n element = document.createElement('style');\n element.setAttribute('id', id);\n if (typeof textContent === 'string') {\n element.appendChild(document.createTextNode(textContent));\n }\n if (root instanceof ShadowRoot) {\n root.insertBefore(element, root.firstChild);\n } else {\n var head = root.head;\n if (head) {\n head.insertBefore(element, head.firstChild);\n }\n }\n }\n // $FlowFixMe: HTMLElement is incorrectly typed\n return element.sheet;\n } else {\n return null;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar slice = Array.prototype.slice;\n\n/**\n * Order-based insertion of CSS.\n *\n * Each rule is associated with a numerically defined group.\n * Groups are ordered within the style sheet according to their number, with the\n * lowest first.\n *\n * Groups are implemented using marker rules. The selector of the first rule of\n * each group is used only to encode the group number for hydration. An\n * alternative implementation could rely on CSSMediaRule, allowing groups to be\n * treated as a sub-sheet, but the Edge implementation of CSSMediaRule is\n * broken.\n * https://developer.mozilla.org/en-US/docs/Web/API/CSSMediaRule\n * https://gist.github.com/necolas/aa0c37846ad6bd3b05b727b959e82674\n */\nexport default function createOrderedCSSStyleSheet(sheet) {\n var groups = {};\n var selectors = {};\n\n /**\n * Hydrate approximate record from any existing rules in the sheet.\n */\n if (sheet != null) {\n var group;\n slice.call(sheet.cssRules).forEach((cssRule, i) => {\n var cssText = cssRule.cssText;\n // Create record of existing selectors and rules\n if (cssText.indexOf('stylesheet-group') > -1) {\n group = decodeGroupRule(cssRule);\n groups[group] = {\n start: i,\n rules: [cssText]\n };\n } else {\n var selectorText = getSelectorText(cssText);\n if (selectorText != null) {\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n }\n }\n });\n }\n function sheetInsert(sheet, group, text) {\n var orderedGroups = getOrderedGroups(groups);\n var groupIndex = orderedGroups.indexOf(group);\n var nextGroupIndex = groupIndex + 1;\n var nextGroup = orderedGroups[nextGroupIndex];\n // Insert rule before the next group, or at the end of the stylesheet\n var position = nextGroup != null && groups[nextGroup].start != null ? groups[nextGroup].start : sheet.cssRules.length;\n var isInserted = insertRuleAt(sheet, text, position);\n if (isInserted) {\n // Set the starting index of the new group\n if (groups[group].start == null) {\n groups[group].start = position;\n }\n // Increment the starting index of all subsequent groups\n for (var i = nextGroupIndex; i < orderedGroups.length; i += 1) {\n var groupNumber = orderedGroups[i];\n var previousStart = groups[groupNumber].start || 0;\n groups[groupNumber].start = previousStart + 1;\n }\n }\n return isInserted;\n }\n var OrderedCSSStyleSheet = {\n /**\n * The textContent of the style sheet.\n */\n getTextContent() {\n return getOrderedGroups(groups).map(group => {\n var rules = groups[group].rules;\n // Sorting provides deterministic order of styles in group for\n // build-time extraction of the style sheet.\n var marker = rules.shift();\n rules.sort();\n rules.unshift(marker);\n return rules.join('\\n');\n }).join('\\n');\n },\n /**\n * Insert a rule into the style sheet\n */\n insert(cssText, groupValue) {\n var group = Number(groupValue);\n\n // Create a new group.\n if (groups[group] == null) {\n var markerRule = encodeGroupRule(group);\n // Create the internal record.\n groups[group] = {\n start: null,\n rules: [markerRule]\n };\n // Update CSSOM.\n if (sheet != null) {\n sheetInsert(sheet, group, markerRule);\n }\n }\n\n // selectorText is more reliable than cssText for insertion checks. The\n // browser excludes vendor-prefixed properties and rewrites certain values\n // making cssText more likely to be different from what was inserted.\n var selectorText = getSelectorText(cssText);\n if (selectorText != null && selectors[selectorText] == null) {\n // Update the internal records.\n selectors[selectorText] = true;\n groups[group].rules.push(cssText);\n // Update CSSOM.\n if (sheet != null) {\n var isInserted = sheetInsert(sheet, group, cssText);\n if (!isInserted) {\n // Revert internal record change if a rule was rejected (e.g.,\n // unrecognized pseudo-selector)\n groups[group].rules.pop();\n }\n }\n }\n }\n };\n return OrderedCSSStyleSheet;\n}\n\n/**\n * Helper functions\n */\n\nfunction encodeGroupRule(group) {\n return \"[stylesheet-group=\\\"\" + group + \"\\\"]{}\";\n}\nvar groupPattern = /[\"']/g;\nfunction decodeGroupRule(cssRule) {\n return Number(cssRule.selectorText.split(groupPattern)[1]);\n}\nfunction getOrderedGroups(obj) {\n return Object.keys(obj).map(Number).sort((a, b) => a > b ? 1 : -1);\n}\nvar selectorPattern = /\\s*([,])\\s*/g;\nfunction getSelectorText(cssText) {\n var selector = cssText.split('{')[0].trim();\n return selector !== '' ? selector.replace(selectorPattern, '$1') : null;\n}\nfunction insertRuleAt(root, cssText, position) {\n try {\n // $FlowFixMe: Flow is missing CSSOM types needed to type 'root'.\n root.insertRule(cssText, position);\n return true;\n } catch (e) {\n // JSDOM doesn't support `CSSSMediaRule#insertRule`.\n // Also ignore errors that occur from attempting to insert vendor-prefixed selectors.\n return false;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport canUseDOM from '../../../modules/canUseDom';\nimport createCSSStyleSheet from './createCSSStyleSheet';\nimport createOrderedCSSStyleSheet from './createOrderedCSSStyleSheet';\nvar defaultId = 'react-native-stylesheet';\nvar roots = new WeakMap();\nvar sheets = [];\nvar initialRules = [\n// minimal top-level reset\n'html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);}', 'body{margin:0;}',\n// minimal form pseudo-element reset\n'button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}', 'input::-webkit-search-cancel-button,input::-webkit-search-decoration,input::-webkit-search-results-button,input::-webkit-search-results-decoration{display:none;}'];\nexport function createSheet(root, id) {\n if (id === void 0) {\n id = defaultId;\n }\n var sheet;\n if (canUseDOM) {\n var rootNode = root != null ? root.getRootNode() : document;\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n var index = roots.get(rootNode);\n if (index == null) {\n var initialSheet = sheets[0];\n // If we're creating a new sheet, populate it with existing styles\n var textContent = initialSheet != null ? initialSheet.getTextContent() : '';\n // Cast rootNode to 'any' because Flow types for getRootNode are wrong\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id, rootNode, textContent));\n roots.set(rootNode, sheets.length);\n sheets.push(sheet);\n } else {\n sheet = sheets[index];\n }\n }\n } else {\n // Create the initial style sheet\n if (sheets.length === 0) {\n sheet = createOrderedCSSStyleSheet(createCSSStyleSheet(id));\n initialRules.forEach(rule => {\n sheet.insert(rule, 0);\n });\n sheets.push(sheet);\n } else {\n sheet = sheets[0];\n }\n }\n return {\n getTextContent() {\n return sheet.getTextContent();\n },\n id,\n insert(cssText, groupValue) {\n sheets.forEach(s => {\n s.insert(cssText, groupValue);\n });\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport canUseDOM from '../../../modules/canUseDom';\n/**\n * The browser implements the CSS cascade, where the order of properties is a\n * factor in determining which styles to paint. React Native is different. It\n * gives giving precedence to the more specific style property. For example,\n * the value of `paddingTop` takes precedence over that of `padding`.\n *\n * This module creates mutally exclusive style declarations by expanding all of\n * React Native's supported shortform properties (e.g. `padding`) to their\n * longfrom equivalents.\n */\n\nvar emptyObject = {};\nvar supportsCSS3TextDecoration = !canUseDOM || window.CSS != null && window.CSS.supports != null && (window.CSS.supports('text-decoration-line', 'none') || window.CSS.supports('-webkit-text-decoration-line', 'none'));\nvar MONOSPACE_FONT_STACK = 'monospace,monospace';\nvar SYSTEM_FONT_STACK = '-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif';\nvar STYLE_SHORT_FORM_EXPANSIONS = {\n borderColor: ['borderTopColor', 'borderRightColor', 'borderBottomColor', 'borderLeftColor'],\n borderBlockColor: ['borderTopColor', 'borderBottomColor'],\n borderInlineColor: ['borderRightColor', 'borderLeftColor'],\n borderRadius: ['borderTopLeftRadius', 'borderTopRightRadius', 'borderBottomRightRadius', 'borderBottomLeftRadius'],\n borderStyle: ['borderTopStyle', 'borderRightStyle', 'borderBottomStyle', 'borderLeftStyle'],\n borderBlockStyle: ['borderTopStyle', 'borderBottomStyle'],\n borderInlineStyle: ['borderRightStyle', 'borderLeftStyle'],\n borderWidth: ['borderTopWidth', 'borderRightWidth', 'borderBottomWidth', 'borderLeftWidth'],\n borderBlockWidth: ['borderTopWidth', 'borderBottomWidth'],\n borderInlineWidth: ['borderRightWidth', 'borderLeftWidth'],\n insetBlock: ['top', 'bottom'],\n insetInline: ['left', 'right'],\n marginBlock: ['marginTop', 'marginBottom'],\n marginInline: ['marginRight', 'marginLeft'],\n paddingBlock: ['paddingTop', 'paddingBottom'],\n paddingInline: ['paddingRight', 'paddingLeft'],\n overflow: ['overflowX', 'overflowY'],\n overscrollBehavior: ['overscrollBehaviorX', 'overscrollBehaviorY'],\n borderBlockStartColor: ['borderTopColor'],\n borderBlockStartStyle: ['borderTopStyle'],\n borderBlockStartWidth: ['borderTopWidth'],\n borderBlockEndColor: ['borderBottomColor'],\n borderBlockEndStyle: ['borderBottomStyle'],\n borderBlockEndWidth: ['borderBottomWidth'],\n //borderInlineStartColor: ['borderLeftColor'],\n //borderInlineStartStyle: ['borderLeftStyle'],\n //borderInlineStartWidth: ['borderLeftWidth'],\n //borderInlineEndColor: ['borderRightColor'],\n //borderInlineEndStyle: ['borderRightStyle'],\n //borderInlineEndWidth: ['borderRightWidth'],\n borderEndStartRadius: ['borderBottomLeftRadius'],\n borderEndEndRadius: ['borderBottomRightRadius'],\n borderStartStartRadius: ['borderTopLeftRadius'],\n borderStartEndRadius: ['borderTopRightRadius'],\n insetBlockEnd: ['bottom'],\n insetBlockStart: ['top'],\n //insetInlineEnd: ['right'],\n //insetInlineStart: ['left'],\n marginBlockStart: ['marginTop'],\n marginBlockEnd: ['marginBottom'],\n //marginInlineStart: ['marginLeft'],\n //marginInlineEnd: ['marginRight'],\n paddingBlockStart: ['paddingTop'],\n paddingBlockEnd: ['paddingBottom']\n //paddingInlineStart: ['marginLeft'],\n //paddingInlineEnd: ['marginRight'],\n};\n\n/**\n * Reducer\n */\n\nvar createReactDOMStyle = (style, isInline) => {\n if (!style) {\n return emptyObject;\n }\n var resolvedStyle = {};\n var _loop = function _loop() {\n var value = style[prop];\n if (\n // Ignore everything with a null value\n value == null) {\n return \"continue\";\n }\n if (prop === 'backgroundClip') {\n // TODO: remove once this issue is fixed\n // https://github.com/rofrischmann/inline-style-prefixer/issues/159\n if (value === 'text') {\n resolvedStyle.backgroundClip = value;\n resolvedStyle.WebkitBackgroundClip = value;\n }\n } else if (prop === 'flex') {\n if (value === -1) {\n resolvedStyle.flexGrow = 0;\n resolvedStyle.flexShrink = 1;\n resolvedStyle.flexBasis = 'auto';\n } else {\n resolvedStyle.flex = value;\n }\n } else if (prop === 'font') {\n resolvedStyle[prop] = value.replace('System', SYSTEM_FONT_STACK);\n } else if (prop === 'fontFamily') {\n if (value.indexOf('System') > -1) {\n var stack = value.split(/,\\s*/);\n stack[stack.indexOf('System')] = SYSTEM_FONT_STACK;\n resolvedStyle[prop] = stack.join(',');\n } else if (value === 'monospace') {\n resolvedStyle[prop] = MONOSPACE_FONT_STACK;\n } else {\n resolvedStyle[prop] = value;\n }\n } else if (prop === 'textDecorationLine') {\n // use 'text-decoration' for browsers that only support CSS2\n // text-decoration (e.g., IE, Edge)\n if (!supportsCSS3TextDecoration) {\n resolvedStyle.textDecoration = value;\n } else {\n resolvedStyle.textDecorationLine = value;\n }\n } else if (prop === 'writingDirection') {\n resolvedStyle.direction = value;\n } else {\n var _value = normalizeValueWithProperty(style[prop], prop);\n var longFormProperties = STYLE_SHORT_FORM_EXPANSIONS[prop];\n if (isInline && prop === 'inset') {\n if (style.insetInline == null) {\n resolvedStyle.left = _value;\n resolvedStyle.right = _value;\n }\n if (style.insetBlock == null) {\n resolvedStyle.top = _value;\n resolvedStyle.bottom = _value;\n }\n } else if (isInline && prop === 'margin') {\n if (style.marginInline == null) {\n resolvedStyle.marginLeft = _value;\n resolvedStyle.marginRight = _value;\n }\n if (style.marginBlock == null) {\n resolvedStyle.marginTop = _value;\n resolvedStyle.marginBottom = _value;\n }\n } else if (isInline && prop === 'padding') {\n if (style.paddingInline == null) {\n resolvedStyle.paddingLeft = _value;\n resolvedStyle.paddingRight = _value;\n }\n if (style.paddingBlock == null) {\n resolvedStyle.paddingTop = _value;\n resolvedStyle.paddingBottom = _value;\n }\n } else if (longFormProperties) {\n longFormProperties.forEach((longForm, i) => {\n // The value of any longform property in the original styles takes\n // precedence over the shortform's value.\n if (style[longForm] == null) {\n resolvedStyle[longForm] = _value;\n }\n });\n } else {\n resolvedStyle[prop] = _value;\n }\n }\n };\n for (var prop in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return resolvedStyle;\n};\nexport default createReactDOMStyle;","/* eslint-disable */\n\n/**\n * JS Implementation of MurmurHash2\n *\n * @author Gary Court\n * @see http://github.com/garycourt/murmurhash-js\n * @author Austin Appleby\n * @see http://sites.google.com/site/murmurhash/\n *\n * @param {string} str ASCII only\n * @param {number} seed Positive integer only\n * @return {number} 32-bit positive integer hash\n *\n * \n */\n\nfunction murmurhash2_32_gc(str, seed) {\n var l = str.length,\n h = seed ^ l,\n i = 0,\n k;\n while (l >= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n k ^= k >>> 24;\n k = (k & 0xffff) * 0x5bd1e995 + (((k >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16) ^ k;\n l -= 4;\n ++i;\n }\n switch (l) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n }\n h ^= h >>> 13;\n h = (h & 0xffff) * 0x5bd1e995 + (((h >>> 16) * 0x5bd1e995 & 0xffff) << 16);\n h ^= h >>> 15;\n return h >>> 0;\n}\nvar hash = str => murmurhash2_32_gc(str, 1).toString(36);\nexport default hash;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar uppercasePattern = /[A-Z]/g;\nvar msPattern = /^ms-/;\nvar cache = {};\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateStyleName(name) {\n if (name in cache) {\n return cache[name];\n }\n var hName = name.replace(uppercasePattern, toHyphenLower);\n return cache[name] = msPattern.test(hName) ? '-' + hName : hName;\n}\nexport default hyphenateStyleName;","import backgroundClip from 'inline-style-prefixer/lib/plugins/backgroundClip';\nimport crossFade from 'inline-style-prefixer/lib/plugins/crossFade';\nimport cursor from 'inline-style-prefixer/lib/plugins/cursor';\nimport filter from 'inline-style-prefixer/lib/plugins/filter';\nimport imageSet from 'inline-style-prefixer/lib/plugins/imageSet';\nimport logical from 'inline-style-prefixer/lib/plugins/logical';\nimport position from 'inline-style-prefixer/lib/plugins/position';\nimport sizing from 'inline-style-prefixer/lib/plugins/sizing';\nimport transition from 'inline-style-prefixer/lib/plugins/transition';\nvar w = ['Webkit'];\nvar m = ['Moz'];\nvar wm = ['Webkit', 'Moz'];\nvar wms = ['Webkit', 'ms'];\nvar wmms = ['Webkit', 'Moz', 'ms'];\nexport default {\n plugins: [backgroundClip, crossFade, cursor, filter, imageSet, logical, position, sizing, transition],\n prefixMap: {\n appearance: wmms,\n userSelect: wm,\n textEmphasisPosition: wms,\n textEmphasis: wms,\n textEmphasisStyle: wms,\n textEmphasisColor: wms,\n boxDecorationBreak: wms,\n clipPath: w,\n maskImage: wms,\n maskMode: wms,\n maskRepeat: wms,\n maskPosition: wms,\n maskClip: wms,\n maskOrigin: wms,\n maskSize: wms,\n maskComposite: wms,\n mask: wms,\n maskBorderSource: wms,\n maskBorderMode: wms,\n maskBorderSlice: wms,\n maskBorderWidth: wms,\n maskBorderOutset: wms,\n maskBorderRepeat: wms,\n maskBorder: wms,\n maskType: wms,\n textDecorationStyle: w,\n textDecorationSkip: w,\n textDecorationLine: w,\n textDecorationColor: w,\n filter: w,\n breakAfter: w,\n breakBefore: w,\n breakInside: w,\n columnCount: w,\n columnFill: w,\n columnGap: w,\n columnRule: w,\n columnRuleColor: w,\n columnRuleStyle: w,\n columnRuleWidth: w,\n columns: w,\n columnSpan: w,\n columnWidth: w,\n backdropFilter: w,\n hyphens: w,\n flowInto: w,\n flowFrom: w,\n regionFragment: w,\n textOrientation: w,\n tabSize: m,\n fontKerning: w,\n textSizeAdjust: w\n }\n};","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport createPrefixer from 'inline-style-prefixer/lib/createPrefixer';\nimport staticData from './static';\nvar prefixAll = createPrefixer(staticData);\nexport default prefixAll;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationKeyframes\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport createReactDOMStyle from './createReactDOMStyle';\nimport hash from './hash';\nimport hyphenateStyleName from './hyphenateStyleName';\nimport normalizeValueWithProperty from './normalizeValueWithProperty';\nimport prefixStyles from '../../../modules/prefixStyles';\nvar cache = new Map();\nvar emptyObject = {};\nvar classicGroup = 1;\nvar atomicGroup = 3;\nvar customGroup = {\n borderColor: 2,\n borderRadius: 2,\n borderStyle: 2,\n borderWidth: 2,\n display: 2,\n flex: 2,\n inset: 2,\n margin: 2,\n overflow: 2,\n overscrollBehavior: 2,\n padding: 2,\n insetBlock: 2.1,\n insetInline: 2.1,\n marginInline: 2.1,\n marginBlock: 2.1,\n paddingInline: 2.1,\n paddingBlock: 2.1,\n borderBlockStartColor: 2.2,\n borderBlockStartStyle: 2.2,\n borderBlockStartWidth: 2.2,\n borderBlockEndColor: 2.2,\n borderBlockEndStyle: 2.2,\n borderBlockEndWidth: 2.2,\n borderInlineStartColor: 2.2,\n borderInlineStartStyle: 2.2,\n borderInlineStartWidth: 2.2,\n borderInlineEndColor: 2.2,\n borderInlineEndStyle: 2.2,\n borderInlineEndWidth: 2.2,\n borderEndStartRadius: 2.2,\n borderEndEndRadius: 2.2,\n borderStartStartRadius: 2.2,\n borderStartEndRadius: 2.2,\n insetBlockEnd: 2.2,\n insetBlockStart: 2.2,\n insetInlineEnd: 2.2,\n insetInlineStart: 2.2,\n marginBlockStart: 2.2,\n marginBlockEnd: 2.2,\n marginInlineStart: 2.2,\n marginInlineEnd: 2.2,\n paddingBlockStart: 2.2,\n paddingBlockEnd: 2.2,\n paddingInlineStart: 2.2,\n paddingInlineEnd: 2.2\n};\nvar borderTopLeftRadius = 'borderTopLeftRadius';\nvar borderTopRightRadius = 'borderTopRightRadius';\nvar borderBottomLeftRadius = 'borderBottomLeftRadius';\nvar borderBottomRightRadius = 'borderBottomRightRadius';\nvar borderLeftColor = 'borderLeftColor';\nvar borderLeftStyle = 'borderLeftStyle';\nvar borderLeftWidth = 'borderLeftWidth';\nvar borderRightColor = 'borderRightColor';\nvar borderRightStyle = 'borderRightStyle';\nvar borderRightWidth = 'borderRightWidth';\nvar right = 'right';\nvar marginLeft = 'marginLeft';\nvar marginRight = 'marginRight';\nvar paddingLeft = 'paddingLeft';\nvar paddingRight = 'paddingRight';\nvar left = 'left';\n\n// Map of LTR property names to their BiDi equivalent.\nvar PROPERTIES_FLIP = {\n [borderTopLeftRadius]: borderTopRightRadius,\n [borderTopRightRadius]: borderTopLeftRadius,\n [borderBottomLeftRadius]: borderBottomRightRadius,\n [borderBottomRightRadius]: borderBottomLeftRadius,\n [borderLeftColor]: borderRightColor,\n [borderLeftStyle]: borderRightStyle,\n [borderLeftWidth]: borderRightWidth,\n [borderRightColor]: borderLeftColor,\n [borderRightStyle]: borderLeftStyle,\n [borderRightWidth]: borderLeftWidth,\n [left]: right,\n [marginLeft]: marginRight,\n [marginRight]: marginLeft,\n [paddingLeft]: paddingRight,\n [paddingRight]: paddingLeft,\n [right]: left\n};\n\n// Map of I18N property names to their LTR equivalent.\nvar PROPERTIES_I18N = {\n borderStartStartRadius: borderTopLeftRadius,\n borderStartEndRadius: borderTopRightRadius,\n borderEndStartRadius: borderBottomLeftRadius,\n borderEndEndRadius: borderBottomRightRadius,\n borderInlineStartColor: borderLeftColor,\n borderInlineStartStyle: borderLeftStyle,\n borderInlineStartWidth: borderLeftWidth,\n borderInlineEndColor: borderRightColor,\n borderInlineEndStyle: borderRightStyle,\n borderInlineEndWidth: borderRightWidth,\n insetInlineEnd: right,\n insetInlineStart: left,\n marginInlineStart: marginLeft,\n marginInlineEnd: marginRight,\n paddingInlineStart: paddingLeft,\n paddingInlineEnd: paddingRight\n};\nvar PROPERTIES_VALUE = ['clear', 'float', 'textAlign'];\nexport function atomic(style) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n function atomicCompile(srcProp, prop, value) {\n var valueString = stringifyValueWithProperty(value, prop);\n var cacheKey = prop + valueString;\n var cachedResult = cache.get(cacheKey);\n var identifier;\n if (cachedResult != null) {\n identifier = cachedResult[0];\n compiledRules.push(cachedResult[1]);\n } else {\n var v = srcProp !== prop ? cacheKey : valueString;\n identifier = createIdentifier('r', srcProp, v);\n var order = customGroup[srcProp] || atomicGroup;\n var rules = createAtomicRules(identifier, prop, value);\n var orderedRules = [rules, order];\n compiledRules.push(orderedRules);\n cache.set(cacheKey, [identifier, orderedRules]);\n }\n return identifier;\n }\n Object.keys(style).sort().forEach(srcProp => {\n var value = style[srcProp];\n if (value != null) {\n var localizeableValue;\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(srcProp) > -1) {\n var _left = atomicCompile(srcProp, srcProp, 'left');\n var _right = atomicCompile(srcProp, srcProp, 'right');\n if (value === 'start') {\n localizeableValue = [_left, _right];\n } else if (value === 'end') {\n localizeableValue = [_right, _left];\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[srcProp];\n if (propPolyfill != null) {\n var ltr = atomicCompile(srcProp, propPolyfill, value);\n var rtl = atomicCompile(srcProp, PROPERTIES_FLIP[propPolyfill], value);\n localizeableValue = [ltr, rtl];\n }\n // BiDi flip transitionProperty value\n if (srcProp === 'transitionProperty') {\n var values = Array.isArray(value) ? value : [value];\n var polyfillIndices = [];\n for (var i = 0; i < values.length; i++) {\n var val = values[i];\n if (typeof val === 'string' && PROPERTIES_I18N[val] != null) {\n polyfillIndices.push(i);\n }\n }\n if (polyfillIndices.length > 0) {\n var ltrPolyfillValues = [...values];\n var rtlPolyfillValues = [...values];\n polyfillIndices.forEach(i => {\n var ltrVal = ltrPolyfillValues[i];\n if (typeof ltrVal === 'string') {\n var ltrPolyfill = PROPERTIES_I18N[ltrVal];\n var rtlPolyfill = PROPERTIES_FLIP[ltrPolyfill];\n ltrPolyfillValues[i] = ltrPolyfill;\n rtlPolyfillValues[i] = rtlPolyfill;\n var _ltr = atomicCompile(srcProp, srcProp, ltrPolyfillValues);\n var _rtl = atomicCompile(srcProp, srcProp, rtlPolyfillValues);\n localizeableValue = [_ltr, _rtl];\n }\n });\n }\n }\n if (localizeableValue == null) {\n localizeableValue = atomicCompile(srcProp, srcProp, value);\n } else {\n compiledStyle['$$css$localize'] = true;\n }\n compiledStyle[srcProp] = localizeableValue;\n }\n });\n return [compiledStyle, compiledRules];\n}\n\n/**\n * Compile simple style object to classic CSS rules.\n * No support for 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nexport function classic(style, name) {\n var compiledStyle = {\n $$css: true\n };\n var compiledRules = [];\n var animationKeyframes = style.animationKeyframes,\n rest = _objectWithoutPropertiesLoose(style, _excluded);\n var identifier = createIdentifier('css', name, JSON.stringify(style));\n var selector = \".\" + identifier;\n var animationName;\n if (animationKeyframes != null) {\n var _processKeyframesValu = processKeyframesValue(animationKeyframes),\n animationNames = _processKeyframesValu[0],\n keyframesRules = _processKeyframesValu[1];\n animationName = animationNames.join(',');\n compiledRules.push(...keyframesRules);\n }\n var block = createDeclarationBlock(_objectSpread(_objectSpread({}, rest), {}, {\n animationName\n }));\n compiledRules.push(\"\" + selector + block);\n compiledStyle[identifier] = identifier;\n return [compiledStyle, [[compiledRules, classicGroup]]];\n}\n\n/**\n * Compile simple style object to inline DOM styles.\n * No support for 'animationKeyframes', 'placeholderTextColor', 'scrollbarWidth', or 'pointerEvents'.\n */\nexport function inline(originalStyle, isRTL) {\n var style = originalStyle || emptyObject;\n var frozenProps = {};\n var nextStyle = {};\n var _loop = function _loop() {\n var originalValue = style[originalProp];\n var prop = originalProp;\n var value = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || originalValue == null) {\n return \"continue\";\n }\n\n // BiDi flip values\n if (PROPERTIES_VALUE.indexOf(originalProp) > -1) {\n if (originalValue === 'start') {\n value = isRTL ? 'right' : 'left';\n } else if (originalValue === 'end') {\n value = isRTL ? 'left' : 'right';\n }\n }\n // BiDi flip properties\n var propPolyfill = PROPERTIES_I18N[originalProp];\n if (propPolyfill != null) {\n prop = isRTL ? PROPERTIES_FLIP[propPolyfill] : propPolyfill;\n }\n // BiDi flip transitionProperty value\n if (originalProp === 'transitionProperty') {\n // $FlowFixMe\n var originalValues = Array.isArray(originalValue) ? originalValue : [originalValue];\n originalValues.forEach((val, i) => {\n if (typeof val === 'string') {\n var valuePolyfill = PROPERTIES_I18N[val];\n if (valuePolyfill != null) {\n originalValues[i] = isRTL ? PROPERTIES_FLIP[valuePolyfill] : valuePolyfill;\n value = originalValues.join(' ');\n }\n }\n });\n }\n\n // Create finalized style\n if (!frozenProps[prop]) {\n nextStyle[prop] = value;\n }\n if (prop === originalProp) {\n frozenProps[prop] = true;\n }\n\n // if (PROPERTIES_I18N.hasOwnProperty(originalProp)) {\n // frozenProps[prop] = true;\n //}\n };\n for (var originalProp in style) {\n var _ret = _loop();\n if (_ret === \"continue\") continue;\n }\n return createReactDOMStyle(nextStyle, true);\n}\n\n/**\n * Create a value string that normalizes different input values with a common\n * output.\n */\nexport function stringifyValueWithProperty(value, property) {\n // e.g., 0 => '0px', 'black' => 'rgba(0,0,0,1)'\n var normalizedValue = normalizeValueWithProperty(value, property);\n return typeof normalizedValue !== 'string' ? JSON.stringify(normalizedValue || '') : normalizedValue;\n}\n\n/**\n * Create the Atomic CSS rules needed for a given StyleSheet rule.\n * Translates StyleSheet declarations to CSS.\n */\nfunction createAtomicRules(identifier, property, value) {\n var rules = [];\n var selector = \".\" + identifier;\n\n // Handle non-standard properties and object values that require multiple\n // CSS rules to be created.\n switch (property) {\n case 'animationKeyframes':\n {\n var _processKeyframesValu2 = processKeyframesValue(value),\n animationNames = _processKeyframesValu2[0],\n keyframesRules = _processKeyframesValu2[1];\n var block = createDeclarationBlock({\n animationName: animationNames.join(',')\n });\n rules.push(\"\" + selector + block, ...keyframesRules);\n break;\n }\n\n // Equivalent to using '::placeholder'\n case 'placeholderTextColor':\n {\n var _block = createDeclarationBlock({\n color: value,\n opacity: 1\n });\n rules.push(selector + \"::-webkit-input-placeholder\" + _block, selector + \"::-moz-placeholder\" + _block, selector + \":-ms-input-placeholder\" + _block, selector + \"::placeholder\" + _block);\n break;\n }\n\n // Polyfill for additional 'pointer-events' values\n // See d13f78622b233a0afc0c7a200c0a0792c8ca9e58\n case 'pointerEvents':\n {\n var finalValue = value;\n if (value === 'auto' || value === 'box-only') {\n finalValue = 'auto!important';\n if (value === 'box-only') {\n var _block2 = createDeclarationBlock({\n pointerEvents: 'none'\n });\n rules.push(selector + \">*\" + _block2);\n }\n } else if (value === 'none' || value === 'box-none') {\n finalValue = 'none!important';\n if (value === 'box-none') {\n var _block3 = createDeclarationBlock({\n pointerEvents: 'auto'\n });\n rules.push(selector + \">*\" + _block3);\n }\n }\n var _block4 = createDeclarationBlock({\n pointerEvents: finalValue\n });\n rules.push(\"\" + selector + _block4);\n break;\n }\n\n // Polyfill for draft spec\n // https://drafts.csswg.org/css-scrollbars-1/\n case 'scrollbarWidth':\n {\n if (value === 'none') {\n rules.push(selector + \"::-webkit-scrollbar{display:none}\");\n }\n var _block5 = createDeclarationBlock({\n scrollbarWidth: value\n });\n rules.push(\"\" + selector + _block5);\n break;\n }\n default:\n {\n var _block6 = createDeclarationBlock({\n [property]: value\n });\n rules.push(\"\" + selector + _block6);\n break;\n }\n }\n return rules;\n}\n\n/**\n * Creates a CSS declaration block from a StyleSheet object.\n */\nfunction createDeclarationBlock(style) {\n var domStyle = prefixStyles(createReactDOMStyle(style));\n var declarationsString = Object.keys(domStyle).map(property => {\n var value = domStyle[property];\n var prop = hyphenateStyleName(property);\n // The prefixer may return an array of values:\n // { display: [ '-webkit-flex', 'flex' ] }\n // to represent \"fallback\" declarations\n // { display: -webkit-flex; display: flex; }\n if (Array.isArray(value)) {\n return value.map(v => prop + \":\" + v).join(';');\n } else {\n return prop + \":\" + value;\n }\n })\n // Once properties are hyphenated, this will put the vendor\n // prefixed and short-form properties first in the list.\n .sort().join(';');\n return \"{\" + declarationsString + \";}\";\n}\n\n/**\n * An identifier is associated with a unique set of styles.\n */\nfunction createIdentifier(prefix, name, key) {\n var hashedString = hash(name + key);\n return process.env.NODE_ENV !== 'production' ? prefix + \"-\" + name + \"-\" + hashedString : prefix + \"-\" + hashedString;\n}\n\n/**\n * Create individual CSS keyframes rules.\n */\nfunction createKeyframes(keyframes) {\n var prefixes = ['-webkit-', ''];\n var identifier = createIdentifier('r', 'animation', JSON.stringify(keyframes));\n var steps = '{' + Object.keys(keyframes).map(stepName => {\n var rule = keyframes[stepName];\n var block = createDeclarationBlock(rule);\n return \"\" + stepName + block;\n }).join('') + '}';\n var rules = prefixes.map(prefix => {\n return \"@\" + prefix + \"keyframes \" + identifier + steps;\n });\n return [identifier, rules];\n}\n\n/**\n * Create CSS keyframes rules and names from a StyleSheet keyframes object.\n */\nfunction processKeyframesValue(keyframesValue) {\n if (typeof keyframesValue === 'number') {\n throw new Error(\"Invalid CSS keyframes type: \" + typeof keyframesValue);\n }\n var animationNames = [];\n var rules = [];\n var value = Array.isArray(keyframesValue) ? keyframesValue : [keyframesValue];\n value.forEach(keyframes => {\n if (typeof keyframes === 'string') {\n // Support external animation libraries (identifiers only)\n animationNames.push(keyframes);\n } else {\n // Create rules for each of the keyframes\n var _createKeyframes = createKeyframes(keyframes),\n identifier = _createKeyframes[0],\n keyframesRules = _createKeyframes[1];\n animationNames.push(identifier);\n rules.push(...keyframesRules);\n }\n });\n return [animationNames, rules];\n}","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"writingDirection\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport { atomic, classic, inline } from './compiler';\nimport { createSheet } from './dom';\nimport { localizeStyle } from 'styleq/transform-localize-style';\nimport { preprocess } from './preprocess';\nimport { styleq } from 'styleq';\nimport { validate } from './validate';\nimport canUseDOM from '../../modules/canUseDom';\nvar staticStyleMap = new WeakMap();\nvar sheet = createSheet();\nvar defaultPreprocessOptions = {\n shadow: true,\n textShadow: true\n};\nfunction customStyleq(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var _options = options,\n writingDirection = _options.writingDirection,\n preprocessOptions = _objectWithoutPropertiesLoose(_options, _excluded);\n var isRTL = writingDirection === 'rtl';\n return styleq.factory({\n transform(style) {\n var compiledStyle = staticStyleMap.get(style);\n if (compiledStyle != null) {\n return localizeStyle(compiledStyle, isRTL);\n }\n return preprocess(style, _objectSpread(_objectSpread({}, defaultPreprocessOptions), preprocessOptions));\n }\n })(styles);\n}\nfunction insertRules(compiledOrderedRules) {\n compiledOrderedRules.forEach(_ref => {\n var rules = _ref[0],\n order = _ref[1];\n if (sheet != null) {\n rules.forEach(rule => {\n sheet.insert(rule, order);\n });\n }\n });\n}\nfunction compileAndInsertAtomic(style) {\n var _atomic = atomic(preprocess(style, defaultPreprocessOptions)),\n compiledStyle = _atomic[0],\n compiledOrderedRules = _atomic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\nfunction compileAndInsertReset(style, key) {\n var _classic = classic(style, key),\n compiledStyle = _classic[0],\n compiledOrderedRules = _classic[1];\n insertRules(compiledOrderedRules);\n return compiledStyle;\n}\n\n/* ----- API ----- */\n\nvar absoluteFillObject = {\n position: 'absolute',\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n};\nvar absoluteFill = create({\n x: _objectSpread({}, absoluteFillObject)\n}).x;\n\n/**\n * create\n */\nfunction create(styles) {\n Object.keys(styles).forEach(key => {\n var styleObj = styles[key];\n // Only compile at runtime if the style is not already compiled\n if (styleObj != null && styleObj.$$css !== true) {\n var compiledStyles;\n if (key.indexOf('$raw') > -1) {\n compiledStyles = compileAndInsertReset(styleObj, key.split('$raw')[0]);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n validate(styleObj);\n styles[key] = Object.freeze(styleObj);\n }\n compiledStyles = compileAndInsertAtomic(styleObj);\n }\n staticStyleMap.set(styleObj, compiledStyles);\n }\n });\n return styles;\n}\n\n/**\n * compose\n */\nfunction compose(style1, style2) {\n if (process.env.NODE_ENV !== 'production') {\n /* eslint-disable prefer-rest-params */\n var len = arguments.length;\n if (len > 2) {\n var readableStyles = [...arguments].map(a => flatten(a));\n throw new Error(\"StyleSheet.compose() only accepts 2 arguments, received \" + len + \": \" + JSON.stringify(readableStyles));\n }\n /* eslint-enable prefer-rest-params */\n /*\n console.warn(\n 'StyleSheet.compose(a, b) is deprecated; use array syntax, i.e., [a,b].'\n );\n */\n }\n return [style1, style2];\n}\n\n/**\n * flatten\n */\nfunction flatten() {\n for (var _len = arguments.length, styles = new Array(_len), _key = 0; _key < _len; _key++) {\n styles[_key] = arguments[_key];\n }\n var flatArray = styles.flat(Infinity);\n var result = {};\n for (var i = 0; i < flatArray.length; i++) {\n var style = flatArray[i];\n if (style != null && typeof style === 'object') {\n // $FlowFixMe\n Object.assign(result, style);\n }\n }\n return result;\n}\n\n/**\n * getSheet\n */\nfunction getSheet() {\n return {\n id: sheet.id,\n textContent: sheet.getTextContent()\n };\n}\n\n/**\n * resolve\n */\n\nfunction StyleSheet(styles, options) {\n if (options === void 0) {\n options = {};\n }\n var isRTL = options.writingDirection === 'rtl';\n var styleProps = customStyleq(styles, options);\n if (Array.isArray(styleProps) && styleProps[1] != null) {\n styleProps[1] = inline(styleProps[1], isRTL);\n }\n return styleProps;\n}\nStyleSheet.absoluteFill = absoluteFill;\nStyleSheet.absoluteFillObject = absoluteFillObject;\nStyleSheet.create = create;\nStyleSheet.compose = compose;\nStyleSheet.flatten = flatten;\nStyleSheet.getSheet = getSheet;\n// `hairlineWidth` is not implemented using screen density as browsers may\n// round sub-pixel values down to `0`, causing the line not to be rendered.\nStyleSheet.hairlineWidth = 1;\nif (canUseDOM && window.__REACT_DEVTOOLS_GLOBAL_HOOK__) {\n window.__REACT_DEVTOOLS_GLOBAL_HOOK__.resolveRNStyle = StyleSheet.flatten;\n}\nvar stylesheet = StyleSheet;\nexport default stylesheet;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport normalizeColor from './compiler/normalizeColor';\nimport normalizeValueWithProperty from './compiler/normalizeValueWithProperty';\nimport { warnOnce } from '../../modules/warnOnce';\nvar emptyObject = {};\n\n/**\n * Shadows\n */\n\nvar defaultOffset = {\n height: 0,\n width: 0\n};\nexport var createBoxShadowValue = style => {\n var shadowColor = style.shadowColor,\n shadowOffset = style.shadowOffset,\n shadowOpacity = style.shadowOpacity,\n shadowRadius = style.shadowRadius;\n var _ref = shadowOffset || defaultOffset,\n height = _ref.height,\n width = _ref.width;\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(shadowRadius || 0);\n var color = normalizeColor(shadowColor || 'black', shadowOpacity);\n if (color != null && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\nexport var createTextShadowValue = style => {\n var textShadowColor = style.textShadowColor,\n textShadowOffset = style.textShadowOffset,\n textShadowRadius = style.textShadowRadius;\n var _ref2 = textShadowOffset || defaultOffset,\n height = _ref2.height,\n width = _ref2.width;\n var radius = textShadowRadius || 0;\n var offsetX = normalizeValueWithProperty(width);\n var offsetY = normalizeValueWithProperty(height);\n var blurRadius = normalizeValueWithProperty(radius);\n var color = normalizeValueWithProperty(textShadowColor, 'textShadowColor');\n if (color && (height !== 0 || width !== 0 || radius !== 0) && offsetX != null && offsetY != null && blurRadius != null) {\n return offsetX + \" \" + offsetY + \" \" + blurRadius + \" \" + color;\n }\n};\n\n// { scale: 2 } => 'scale(2)'\n// { translateX: 20 } => 'translateX(20px)'\n// { matrix: [1,2,3,4,5,6] } => 'matrix(1,2,3,4,5,6)'\nvar mapTransform = transform => {\n var type = Object.keys(transform)[0];\n var value = transform[type];\n if (type === 'matrix' || type === 'matrix3d') {\n return type + \"(\" + value.join(',') + \")\";\n } else {\n var normalizedValue = normalizeValueWithProperty(value, type);\n return type + \"(\" + normalizedValue + \")\";\n }\n};\nexport var createTransformValue = value => {\n return value.map(mapTransform).join(' ');\n};\nvar PROPERTIES_STANDARD = {\n borderBottomEndRadius: 'borderEndEndRadius',\n borderBottomStartRadius: 'borderEndStartRadius',\n borderTopEndRadius: 'borderStartEndRadius',\n borderTopStartRadius: 'borderStartStartRadius',\n borderEndColor: 'borderInlineEndColor',\n borderEndStyle: 'borderInlineEndStyle',\n borderEndWidth: 'borderInlineEndWidth',\n borderStartColor: 'borderInlineStartColor',\n borderStartStyle: 'borderInlineStartStyle',\n borderStartWidth: 'borderInlineStartWidth',\n end: 'insetInlineEnd',\n marginEnd: 'marginInlineEnd',\n marginHorizontal: 'marginInline',\n marginStart: 'marginInlineStart',\n marginVertical: 'marginBlock',\n paddingEnd: 'paddingInlineEnd',\n paddingHorizontal: 'paddingInline',\n paddingStart: 'paddingInlineStart',\n paddingVertical: 'paddingBlock',\n start: 'insetInlineStart'\n};\nvar ignoredProps = {\n elevation: true,\n overlayColor: true,\n resizeMode: true,\n tintColor: true\n};\n\n/**\n * Preprocess styles\n */\nexport var preprocess = function preprocess(originalStyle, options) {\n if (options === void 0) {\n options = {};\n }\n var style = originalStyle || emptyObject;\n var nextStyle = {};\n\n // Convert shadow styles\n if (options.shadow === true, style.shadowColor != null || style.shadowOffset != null || style.shadowOpacity != null || style.shadowRadius != null) {\n warnOnce('shadowStyles', \"\\\"shadow*\\\" style props are deprecated. Use \\\"boxShadow\\\".\");\n var boxShadowValue = createBoxShadowValue(style);\n if (boxShadowValue != null && nextStyle.boxShadow == null) {\n var boxShadow = style.boxShadow;\n var value = boxShadow ? boxShadow + \", \" + boxShadowValue : boxShadowValue;\n nextStyle.boxShadow = value;\n }\n }\n\n // Convert text shadow styles\n if (options.textShadow === true, style.textShadowColor != null || style.textShadowOffset != null || style.textShadowRadius != null) {\n warnOnce('textShadowStyles', \"\\\"textShadow*\\\" style props are deprecated. Use \\\"textShadow\\\".\");\n var textShadowValue = createTextShadowValue(style);\n if (textShadowValue != null && nextStyle.textShadow == null) {\n var textShadow = style.textShadow;\n var _value = textShadow ? textShadow + \", \" + textShadowValue : textShadowValue;\n nextStyle.textShadow = _value;\n }\n }\n for (var originalProp in style) {\n if (\n // Ignore some React Native styles\n ignoredProps[originalProp] != null || originalProp === 'shadowColor' || originalProp === 'shadowOffset' || originalProp === 'shadowOpacity' || originalProp === 'shadowRadius' || originalProp === 'textShadowColor' || originalProp === 'textShadowOffset' || originalProp === 'textShadowRadius') {\n continue;\n }\n var originalValue = style[originalProp];\n var prop = PROPERTIES_STANDARD[originalProp] || originalProp;\n var _value2 = originalValue;\n if (!Object.prototype.hasOwnProperty.call(style, originalProp) || prop !== originalProp && style[prop] != null) {\n continue;\n }\n if (prop === 'aspectRatio' && typeof _value2 === 'number') {\n nextStyle[prop] = _value2.toString();\n } else if (prop === 'fontVariant') {\n if (Array.isArray(_value2) && _value2.length > 0) {\n /*\n warnOnce(\n 'fontVariant',\n '\"fontVariant\" style array value is deprecated. Use space-separated values.'\n );\n */\n _value2 = _value2.join(' ');\n }\n nextStyle[prop] = _value2;\n } else if (prop === 'textAlignVertical') {\n /*\n warnOnce(\n 'textAlignVertical',\n '\"textAlignVertical\" style is deprecated. Use \"verticalAlign\".'\n );\n */\n if (style.verticalAlign == null) {\n nextStyle.verticalAlign = _value2 === 'center' ? 'middle' : _value2;\n }\n } else if (prop === 'transform') {\n if (Array.isArray(_value2)) {\n _value2 = createTransformValue(_value2);\n }\n nextStyle.transform = _value2;\n } else {\n nextStyle[prop] = _value2;\n }\n }\n\n // $FlowIgnore\n return nextStyle;\n};\nexport default preprocess;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport { createContext } from 'react';\nvar TextAncestorContext = /*#__PURE__*/createContext(false);\nexport default TextAncestorContext;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"hrefAttrs\", \"numberOfLines\", \"onClick\", \"onLayout\", \"onPress\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\", \"selectable\"];\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from './TextAncestorContext';\nimport { useLocaleContext, getLocaleDirection } from '../../modules/useLocale';\n//import { warnOnce } from '../../modules/warnOnce';\n\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n pointerEvents: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\nvar Text = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n numberOfLines = props.numberOfLines,\n onClick = props.onClick,\n onLayout = props.onLayout,\n onPress = props.onPress,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n selectable = props.selectable,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n /*\n if (selectable != null) {\n warnOnce(\n 'selectable',\n 'selectable prop is deprecated. Use styles.userSelect.'\n );\n }\n */\n\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var handleClick = React.useCallback(e => {\n if (onClick != null) {\n onClick(e);\n } else if (onPress != null) {\n e.stopPropagation();\n onPress(e);\n }\n }, [onClick, onPress]);\n var component = hasTextAncestor ? 'span' : 'div';\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n // 'auto' by default allows browsers to infer writing direction (root elements only)\n if (!hasTextAncestor) {\n supportedProps.dir = componentDirection != null ? componentDirection : 'auto';\n }\n if (onClick || onPress) {\n supportedProps.onClick = handleClick;\n }\n supportedProps.style = [numberOfLines != null && numberOfLines > 1 && {\n WebkitLineClamp: numberOfLines\n }, hasTextAncestor === true ? styles.textHasAncestor$raw : styles.text$raw, numberOfLines === 1 && styles.textOneLine, numberOfLines != null && numberOfLines > 1 && styles.textMultiLine, props.style, selectable === true && styles.selectable, selectable === false && styles.notSelectable, onPress && styles.pressable];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n var element = createElement(component, supportedProps, {\n writingDirection\n });\n return hasTextAncestor ? element : /*#__PURE__*/React.createElement(TextAncestorContext.Provider, {\n value: true\n }, element);\n});\nText.displayName = 'Text';\nvar textStyle = {\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n color: 'black',\n display: 'inline',\n font: '14px System',\n listStyle: 'none',\n margin: 0,\n padding: 0,\n position: 'relative',\n textAlign: 'start',\n textDecoration: 'none',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word'\n};\nvar styles = StyleSheet.create({\n text$raw: textStyle,\n textHasAncestor$raw: _objectSpread(_objectSpread({}, textStyle), {}, {\n color: 'inherit',\n font: 'inherit',\n textAlign: 'inherit',\n whiteSpace: 'inherit'\n }),\n textOneLine: {\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n wordWrap: 'normal'\n },\n // See #13\n textMultiLine: {\n display: '-webkit-box',\n maxWidth: '100%',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n WebkitBoxOrient: 'vertical'\n },\n notSelectable: {\n userSelect: 'none'\n },\n selectable: {\n userSelect: 'text'\n },\n pressable: {\n cursor: 'pointer'\n }\n});\nexport default Text;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useLayoutEffect from '../../modules/useLayoutEffect';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport { getLocaleDirection, useLocaleContext } from '../../modules/useLocale';\nimport StyleSheet from '../StyleSheet';\nimport TextInputState from '../../modules/TextInputState';\n//import { warnOnce } from '../../modules/warnOnce';\n\n/**\n * Determines whether a 'selection' prop differs from a node's existing\n * selection state.\n */\nvar isSelectionStale = (node, selection) => {\n var selectionEnd = node.selectionEnd,\n selectionStart = node.selectionStart;\n var start = selection.start,\n end = selection.end;\n return start !== selectionStart || end !== selectionEnd;\n};\n\n/**\n * Certain input types do no support 'selectSelectionRange' and will throw an\n * error.\n */\nvar setSelection = (node, selection) => {\n if (isSelectionStale(node, selection)) {\n var start = selection.start,\n end = selection.end;\n try {\n node.setSelectionRange(start, end || start);\n } catch (e) {}\n }\n};\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n autoCapitalize: true,\n autoComplete: true,\n autoCorrect: true,\n autoFocus: true,\n defaultValue: true,\n disabled: true,\n lang: true,\n maxLength: true,\n onChange: true,\n onScroll: true,\n placeholder: true,\n pointerEvents: true,\n readOnly: true,\n rows: true,\n spellCheck: true,\n value: true,\n type: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\n\n// If an Input Method Editor is processing key input, the 'keyCode' is 229.\n// https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode\nfunction isEventComposing(nativeEvent) {\n return nativeEvent.isComposing || nativeEvent.keyCode === 229;\n}\nvar focusTimeout = null;\nvar TextInput = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _props$autoCapitalize = props.autoCapitalize,\n autoCapitalize = _props$autoCapitalize === void 0 ? 'sentences' : _props$autoCapitalize,\n autoComplete = props.autoComplete,\n autoCompleteType = props.autoCompleteType,\n _props$autoCorrect = props.autoCorrect,\n autoCorrect = _props$autoCorrect === void 0 ? true : _props$autoCorrect,\n blurOnSubmit = props.blurOnSubmit,\n caretHidden = props.caretHidden,\n clearTextOnFocus = props.clearTextOnFocus,\n dir = props.dir,\n editable = props.editable,\n enterKeyHint = props.enterKeyHint,\n inputMode = props.inputMode,\n keyboardType = props.keyboardType,\n _props$multiline = props.multiline,\n multiline = _props$multiline === void 0 ? false : _props$multiline,\n numberOfLines = props.numberOfLines,\n onBlur = props.onBlur,\n onChange = props.onChange,\n onChangeText = props.onChangeText,\n onContentSizeChange = props.onContentSizeChange,\n onFocus = props.onFocus,\n onKeyPress = props.onKeyPress,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChange = props.onSelectionChange,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n onSubmitEditing = props.onSubmitEditing,\n placeholderTextColor = props.placeholderTextColor,\n _props$readOnly = props.readOnly,\n readOnly = _props$readOnly === void 0 ? false : _props$readOnly,\n returnKeyType = props.returnKeyType,\n rows = props.rows,\n _props$secureTextEntr = props.secureTextEntry,\n secureTextEntry = _props$secureTextEntr === void 0 ? false : _props$secureTextEntr,\n selection = props.selection,\n selectTextOnFocus = props.selectTextOnFocus,\n showSoftInputOnFocus = props.showSoftInputOnFocus,\n spellCheck = props.spellCheck;\n var type;\n var _inputMode;\n if (inputMode != null) {\n _inputMode = inputMode;\n if (inputMode === 'email') {\n type = 'email';\n } else if (inputMode === 'tel') {\n type = 'tel';\n } else if (inputMode === 'search') {\n type = 'search';\n } else if (inputMode === 'url') {\n type = 'url';\n } else {\n type = 'text';\n }\n } else if (keyboardType != null) {\n // warnOnce('keyboardType', 'keyboardType is deprecated. Use inputMode.');\n switch (keyboardType) {\n case 'email-address':\n type = 'email';\n break;\n case 'number-pad':\n case 'numeric':\n _inputMode = 'numeric';\n break;\n case 'decimal-pad':\n _inputMode = 'decimal';\n break;\n case 'phone-pad':\n type = 'tel';\n break;\n case 'search':\n case 'web-search':\n type = 'search';\n break;\n case 'url':\n type = 'url';\n break;\n default:\n type = 'text';\n }\n }\n if (secureTextEntry) {\n type = 'password';\n }\n var dimensions = React.useRef({\n height: null,\n width: null\n });\n var hostRef = React.useRef(null);\n var prevSelection = React.useRef(null);\n var prevSecureTextEntry = React.useRef(false);\n React.useEffect(() => {\n if (hostRef.current && prevSelection.current) {\n setSelection(hostRef.current, prevSelection.current);\n }\n prevSecureTextEntry.current = secureTextEntry;\n }, [secureTextEntry]);\n var handleContentSizeChange = React.useCallback(hostNode => {\n if (multiline && onContentSizeChange && hostNode != null) {\n var newHeight = hostNode.scrollHeight;\n var newWidth = hostNode.scrollWidth;\n if (newHeight !== dimensions.current.height || newWidth !== dimensions.current.width) {\n dimensions.current.height = newHeight;\n dimensions.current.width = newWidth;\n onContentSizeChange({\n nativeEvent: {\n contentSize: {\n height: dimensions.current.height,\n width: dimensions.current.width\n }\n }\n });\n }\n }\n }, [multiline, onContentSizeChange]);\n var imperativeRef = React.useMemo(() => hostNode => {\n // TextInput needs to add more methods to the hostNode in addition to those\n // added by `usePlatformMethods`. This is temporarily until an API like\n // `TextInput.clear(hostRef)` is added to React Native.\n if (hostNode != null) {\n hostNode.clear = function () {\n if (hostNode != null) {\n hostNode.value = '';\n }\n };\n hostNode.isFocused = function () {\n return hostNode != null && TextInputState.currentlyFocusedField() === hostNode;\n };\n handleContentSizeChange(hostNode);\n }\n }, [handleContentSizeChange]);\n function handleBlur(e) {\n TextInputState._currentlyFocusedNode = null;\n if (onBlur) {\n e.nativeEvent.text = e.target.value;\n onBlur(e);\n }\n }\n function handleChange(e) {\n var hostNode = e.target;\n var text = hostNode.value;\n e.nativeEvent.text = text;\n handleContentSizeChange(hostNode);\n if (onChange) {\n onChange(e);\n }\n if (onChangeText) {\n onChangeText(text);\n }\n }\n function handleFocus(e) {\n var hostNode = e.target;\n if (onFocus) {\n e.nativeEvent.text = hostNode.value;\n onFocus(e);\n }\n if (hostNode != null) {\n TextInputState._currentlyFocusedNode = hostNode;\n if (clearTextOnFocus) {\n hostNode.value = '';\n }\n if (selectTextOnFocus) {\n // Safari requires selection to occur in a setTimeout\n if (focusTimeout != null) {\n clearTimeout(focusTimeout);\n }\n focusTimeout = setTimeout(() => {\n // Check if the input is still focused after the timeout\n // (see #2704)\n if (hostNode != null && document.activeElement === hostNode) {\n hostNode.select();\n }\n }, 0);\n }\n }\n }\n function handleKeyDown(e) {\n var hostNode = e.target;\n // Prevent key events bubbling (see #612)\n e.stopPropagation();\n var blurOnSubmitDefault = !multiline;\n var shouldBlurOnSubmit = blurOnSubmit == null ? blurOnSubmitDefault : blurOnSubmit;\n var nativeEvent = e.nativeEvent;\n var isComposing = isEventComposing(nativeEvent);\n if (onKeyPress) {\n onKeyPress(e);\n }\n if (e.key === 'Enter' && !e.shiftKey &&\n // Do not call submit if composition is occuring.\n !isComposing && !e.isDefaultPrevented()) {\n if ((blurOnSubmit || !multiline) && onSubmitEditing) {\n // prevent \"Enter\" from inserting a newline or submitting a form\n e.preventDefault();\n nativeEvent.text = e.target.value;\n onSubmitEditing(e);\n }\n if (shouldBlurOnSubmit && hostNode != null) {\n setTimeout(() => hostNode.blur(), 0);\n }\n }\n }\n function handleSelectionChange(e) {\n try {\n var _e$target = e.target,\n selectionStart = _e$target.selectionStart,\n selectionEnd = _e$target.selectionEnd;\n var _selection = {\n start: selectionStart,\n end: selectionEnd\n };\n if (onSelectionChange) {\n e.nativeEvent.selection = _selection;\n e.nativeEvent.text = e.target.value;\n onSelectionChange(e);\n }\n if (prevSecureTextEntry.current === secureTextEntry) {\n prevSelection.current = _selection;\n }\n } catch (e) {}\n }\n useLayoutEffect(() => {\n var node = hostRef.current;\n if (node != null && selection != null) {\n setSelection(node, selection);\n }\n if (document.activeElement === node) {\n TextInputState._currentlyFocusedNode = node;\n }\n }, [hostRef, selection]);\n var component = multiline ? 'textarea' : 'input';\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n var supportedProps = pickProps(props);\n supportedProps.autoCapitalize = autoCapitalize;\n supportedProps.autoComplete = autoComplete || autoCompleteType || 'on';\n supportedProps.autoCorrect = autoCorrect ? 'on' : 'off';\n // 'auto' by default allows browsers to infer writing direction\n supportedProps.dir = dir !== undefined ? dir : 'auto';\n /*\n if (returnKeyType != null) {\n warnOnce('returnKeyType', 'returnKeyType is deprecated. Use enterKeyHint.');\n }\n */\n supportedProps.enterKeyHint = enterKeyHint || returnKeyType;\n supportedProps.inputMode = _inputMode;\n supportedProps.onBlur = handleBlur;\n supportedProps.onChange = handleChange;\n supportedProps.onFocus = handleFocus;\n supportedProps.onKeyDown = handleKeyDown;\n supportedProps.onSelect = handleSelectionChange;\n /*\n if (editable != null) {\n warnOnce('editable', 'editable is deprecated. Use readOnly.');\n }\n */\n supportedProps.readOnly = readOnly === true || editable === false;\n /*\n if (numberOfLines != null) {\n warnOnce(\n 'numberOfLines',\n 'TextInput numberOfLines is deprecated. Use rows.'\n );\n }\n */\n supportedProps.rows = multiline ? rows != null ? rows : numberOfLines : 1;\n supportedProps.spellCheck = spellCheck != null ? spellCheck : autoCorrect;\n supportedProps.style = [{\n '--placeholderTextColor': placeholderTextColor\n }, styles.textinput$raw, styles.placeholder, props.style, caretHidden && styles.caretHidden];\n supportedProps.type = multiline ? undefined : type;\n supportedProps.virtualkeyboardpolicy = showSoftInputOnFocus === false ? 'manual' : 'auto';\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, imperativeRef, forwardedRef);\n supportedProps.ref = setRef;\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var element = createElement(component, supportedProps, {\n writingDirection\n });\n return element;\n});\nTextInput.displayName = 'TextInput';\n// $FlowFixMe\nTextInput.State = TextInputState;\nvar styles = StyleSheet.create({\n textinput$raw: {\n MozAppearance: 'textfield',\n WebkitAppearance: 'none',\n backgroundColor: 'transparent',\n border: '0 solid black',\n borderRadius: 0,\n boxSizing: 'border-box',\n font: '14px System',\n margin: 0,\n padding: 0,\n resize: 'none'\n },\n placeholder: {\n placeholderTextColor: 'var(--placeholderTextColor)'\n },\n caretHidden: {\n caretColor: 'transparent'\n }\n});\nexport default TextInput;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar unitlessNumbers = {\n animationIterationCount: true,\n aspectRatio: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n flex: true,\n flexGrow: true,\n flexOrder: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n fontWeight: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowGap: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnGap: true,\n gridColumnStart: true,\n lineClamp: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n // SVG-related\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true,\n // transform types\n scale: true,\n scaleX: true,\n scaleY: true,\n scaleZ: true,\n // RN properties\n shadowOpacity: true\n};\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['ms', 'Moz', 'O', 'Webkit'];\nvar prefixKey = (prefix, key) => {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n};\nObject.keys(unitlessNumbers).forEach(prop => {\n prefixes.forEach(prefix => {\n unitlessNumbers[prefixKey(prefix, prop)] = unitlessNumbers[prop];\n });\n});\nexport default unitlessNumbers;","/* eslint-disable */\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 * From React 16.0.0\n * \n */\n\nimport isUnitlessNumber from '../unitlessNumbers';\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @return {string} Normalized style value with dimensions applied.\n */\nfunction dangerousStyleValue(name, value, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n if (isEmpty) {\n return '';\n }\n if (!isCustomProperty && typeof value === 'number' && value !== 0 && !(isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name])) {\n return value + 'px'; // Presumes implicit 'px' suffix for unitless numbers\n }\n return ('' + value).trim();\n}\nexport default dangerousStyleValue;","/* eslint-disable */\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 * From React 16.3.0\n * \n */\n\nimport dangerousStyleValue from './dangerousStyleValue';\n\n/**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n */\nfunction setValueForStyles(node, styles) {\n var style = node.style;\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = dangerousStyleValue(styleName, styles[styleName], isCustomProperty);\n if (styleName === 'float') {\n styleName = 'cssFloat';\n }\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else {\n style[styleName] = styleValue;\n }\n }\n}\nexport default setValueForStyles;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nimport setValueForStyles from '../../modules/setValueForStyles';\nvar getRect = node => {\n var height = node.offsetHeight;\n var width = node.offsetWidth;\n var left = node.offsetLeft;\n var top = node.offsetTop;\n node = node.offsetParent;\n while (node && node.nodeType === 1 /* Node.ELEMENT_NODE */) {\n left += node.offsetLeft + node.clientLeft - node.scrollLeft;\n top += node.offsetTop + node.clientTop - node.scrollTop;\n node = node.offsetParent;\n }\n top -= window.scrollY;\n left -= window.scrollX;\n return {\n width,\n height,\n top,\n left\n };\n};\nvar measureLayout = (node, relativeToNativeNode, callback) => {\n var relativeNode = relativeToNativeNode || node && node.parentNode;\n if (node && relativeNode) {\n setTimeout(() => {\n if (node.isConnected && relativeNode.isConnected) {\n var relativeRect = getRect(relativeNode);\n var _getRect = getRect(node),\n height = _getRect.height,\n left = _getRect.left,\n top = _getRect.top,\n width = _getRect.width;\n var x = left - relativeRect.left;\n var y = top - relativeRect.top;\n callback(x, y, width, height, left, top);\n }\n }, 0);\n }\n};\nvar elementsToIgnore = {\n A: true,\n BODY: true,\n INPUT: true,\n SELECT: true,\n TEXTAREA: true\n};\nvar UIManager = {\n blur(node) {\n try {\n node.blur();\n } catch (err) {}\n },\n focus(node) {\n try {\n var name = node.nodeName;\n // A tabIndex of -1 allows element to be programmatically focused but\n // prevents keyboard focus. We don't want to set the tabindex value on\n // elements that should not prevent keyboard focus.\n if (node.getAttribute('tabIndex') == null && node.isContentEditable !== true && elementsToIgnore[name] == null) {\n node.setAttribute('tabIndex', '-1');\n }\n node.focus();\n } catch (err) {}\n },\n measure(node, callback) {\n measureLayout(node, null, callback);\n },\n measureInWindow(node, callback) {\n if (node) {\n setTimeout(() => {\n var _getBoundingClientRec = getBoundingClientRect(node),\n height = _getBoundingClientRec.height,\n left = _getBoundingClientRec.left,\n top = _getBoundingClientRec.top,\n width = _getBoundingClientRec.width;\n callback(left, top, width, height);\n }, 0);\n }\n },\n measureLayout(node, relativeToNativeNode, onFail, onSuccess) {\n measureLayout(node, relativeToNativeNode, onSuccess);\n },\n updateView(node, props) {\n for (var prop in props) {\n if (!Object.prototype.hasOwnProperty.call(props, prop)) {\n continue;\n }\n var value = props[prop];\n switch (prop) {\n case 'style':\n {\n setValueForStyles(node, value);\n break;\n }\n case 'class':\n case 'className':\n {\n node.setAttribute('class', value);\n break;\n }\n case 'text':\n case 'value':\n // native platforms use `text` prop to replace text input value\n node.value = value;\n break;\n default:\n node.setAttribute(prop, value);\n }\n }\n },\n configureNextLayoutAnimation(config, onAnimationDidEnd) {\n onAnimationDidEnd();\n },\n // mocks\n setLayoutAnimationEnabledExperimental() {}\n};\nexport default UIManager;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"hrefAttrs\", \"onLayout\", \"onMoveShouldSetResponder\", \"onMoveShouldSetResponderCapture\", \"onResponderEnd\", \"onResponderGrant\", \"onResponderMove\", \"onResponderReject\", \"onResponderRelease\", \"onResponderStart\", \"onResponderTerminate\", \"onResponderTerminationRequest\", \"onScrollShouldSetResponder\", \"onScrollShouldSetResponderCapture\", \"onSelectionChangeShouldSetResponder\", \"onSelectionChangeShouldSetResponderCapture\", \"onStartShouldSetResponder\", \"onStartShouldSetResponderCapture\"];\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport * as forwardedProps from '../../modules/forwardedProps';\nimport pick from '../../modules/pick';\nimport useElementLayout from '../../modules/useElementLayout';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport useResponderEvents from '../../modules/useResponderEvents';\nimport StyleSheet from '../StyleSheet';\nimport TextAncestorContext from '../Text/TextAncestorContext';\nimport { useLocaleContext, getLocaleDirection } from '../../modules/useLocale';\nvar forwardPropsList = Object.assign({}, forwardedProps.defaultProps, forwardedProps.accessibilityProps, forwardedProps.clickProps, forwardedProps.focusProps, forwardedProps.keyboardProps, forwardedProps.mouseProps, forwardedProps.touchProps, forwardedProps.styleProps, {\n href: true,\n lang: true,\n onScroll: true,\n onWheel: true,\n pointerEvents: true\n});\nvar pickProps = props => pick(props, forwardPropsList);\nvar View = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var hrefAttrs = props.hrefAttrs,\n onLayout = props.onLayout,\n onMoveShouldSetResponder = props.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = props.onMoveShouldSetResponderCapture,\n onResponderEnd = props.onResponderEnd,\n onResponderGrant = props.onResponderGrant,\n onResponderMove = props.onResponderMove,\n onResponderReject = props.onResponderReject,\n onResponderRelease = props.onResponderRelease,\n onResponderStart = props.onResponderStart,\n onResponderTerminate = props.onResponderTerminate,\n onResponderTerminationRequest = props.onResponderTerminationRequest,\n onScrollShouldSetResponder = props.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = props.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = props.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = props.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = props.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = props.onStartShouldSetResponderCapture,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n if (process.env.NODE_ENV !== 'production') {\n React.Children.toArray(props.children).forEach(item => {\n if (typeof item === 'string') {\n console.error(\"Unexpected text node: \" + item + \". A text node cannot be a child of a .\");\n }\n });\n }\n var hasTextAncestor = React.useContext(TextAncestorContext);\n var hostRef = React.useRef(null);\n var _useLocaleContext = useLocaleContext(),\n contextDirection = _useLocaleContext.direction;\n useElementLayout(hostRef, onLayout);\n useResponderEvents(hostRef, {\n onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture,\n onResponderEnd,\n onResponderGrant,\n onResponderMove,\n onResponderReject,\n onResponderRelease,\n onResponderStart,\n onResponderTerminate,\n onResponderTerminationRequest,\n onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder,\n onStartShouldSetResponderCapture\n });\n var component = 'div';\n var langDirection = props.lang != null ? getLocaleDirection(props.lang) : null;\n var componentDirection = props.dir || langDirection;\n var writingDirection = componentDirection || contextDirection;\n var supportedProps = pickProps(rest);\n supportedProps.dir = componentDirection;\n supportedProps.style = [styles.view$raw, hasTextAncestor && styles.inline, props.style];\n if (props.href != null) {\n component = 'a';\n if (hrefAttrs != null) {\n var download = hrefAttrs.download,\n rel = hrefAttrs.rel,\n target = hrefAttrs.target;\n if (download != null) {\n supportedProps.download = download;\n }\n if (rel != null) {\n supportedProps.rel = rel;\n }\n if (typeof target === 'string') {\n supportedProps.target = target.charAt(0) !== '_' ? '_' + target : target;\n }\n }\n }\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement(component, supportedProps, {\n writingDirection\n });\n});\nView.displayName = 'View';\nvar styles = StyleSheet.create({\n view$raw: {\n alignItems: 'stretch',\n backgroundColor: 'transparent',\n border: '0 solid black',\n boxSizing: 'border-box',\n display: 'flex',\n flexBasis: 'auto',\n flexDirection: 'column',\n flexShrink: 0,\n listStyle: 'none',\n margin: 0,\n minHeight: 0,\n minWidth: 0,\n padding: 0,\n position: 'relative',\n textDecoration: 'none',\n zIndex: 0\n },\n inline: {\n display: 'inline-flex'\n }\n});\nexport default View;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-activedescendant\", \"accessibilityActiveDescendant\", \"aria-atomic\", \"accessibilityAtomic\", \"aria-autocomplete\", \"accessibilityAutoComplete\", \"aria-busy\", \"accessibilityBusy\", \"aria-checked\", \"accessibilityChecked\", \"aria-colcount\", \"accessibilityColumnCount\", \"aria-colindex\", \"accessibilityColumnIndex\", \"aria-colspan\", \"accessibilityColumnSpan\", \"aria-controls\", \"accessibilityControls\", \"aria-current\", \"accessibilityCurrent\", \"aria-describedby\", \"accessibilityDescribedBy\", \"aria-details\", \"accessibilityDetails\", \"aria-disabled\", \"accessibilityDisabled\", \"aria-errormessage\", \"accessibilityErrorMessage\", \"aria-expanded\", \"accessibilityExpanded\", \"aria-flowto\", \"accessibilityFlowTo\", \"aria-haspopup\", \"accessibilityHasPopup\", \"aria-hidden\", \"accessibilityHidden\", \"aria-invalid\", \"accessibilityInvalid\", \"aria-keyshortcuts\", \"accessibilityKeyShortcuts\", \"aria-label\", \"accessibilityLabel\", \"aria-labelledby\", \"accessibilityLabelledBy\", \"aria-level\", \"accessibilityLevel\", \"aria-live\", \"accessibilityLiveRegion\", \"aria-modal\", \"accessibilityModal\", \"aria-multiline\", \"accessibilityMultiline\", \"aria-multiselectable\", \"accessibilityMultiSelectable\", \"aria-orientation\", \"accessibilityOrientation\", \"aria-owns\", \"accessibilityOwns\", \"aria-placeholder\", \"accessibilityPlaceholder\", \"aria-posinset\", \"accessibilityPosInSet\", \"aria-pressed\", \"accessibilityPressed\", \"aria-readonly\", \"accessibilityReadOnly\", \"aria-required\", \"accessibilityRequired\", \"role\", \"accessibilityRole\", \"aria-roledescription\", \"accessibilityRoleDescription\", \"aria-rowcount\", \"accessibilityRowCount\", \"aria-rowindex\", \"accessibilityRowIndex\", \"aria-rowspan\", \"accessibilityRowSpan\", \"aria-selected\", \"accessibilitySelected\", \"aria-setsize\", \"accessibilitySetSize\", \"aria-sort\", \"accessibilitySort\", \"aria-valuemax\", \"accessibilityValueMax\", \"aria-valuemin\", \"accessibilityValueMin\", \"aria-valuenow\", \"accessibilityValueNow\", \"aria-valuetext\", \"accessibilityValueText\", \"dataSet\", \"focusable\", \"id\", \"nativeID\", \"pointerEvents\", \"style\", \"tabIndex\", \"testID\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport AccessibilityUtil from '../AccessibilityUtil';\nimport StyleSheet from '../../exports/StyleSheet';\nimport { warnOnce } from '../warnOnce';\nvar emptyObject = {};\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar isArray = Array.isArray;\nvar uppercasePattern = /[A-Z]/g;\nfunction toHyphenLower(match) {\n return '-' + match.toLowerCase();\n}\nfunction hyphenateString(str) {\n return str.replace(uppercasePattern, toHyphenLower);\n}\nfunction processIDRefList(idRefList) {\n return isArray(idRefList) ? idRefList.join(' ') : idRefList;\n}\nvar pointerEventsStyles = StyleSheet.create({\n auto: {\n pointerEvents: 'auto'\n },\n 'box-none': {\n pointerEvents: 'box-none'\n },\n 'box-only': {\n pointerEvents: 'box-only'\n },\n none: {\n pointerEvents: 'none'\n }\n});\nvar createDOMProps = (elementType, props, options) => {\n if (!props) {\n props = emptyObject;\n }\n var _props = props,\n ariaActiveDescendant = _props['aria-activedescendant'],\n accessibilityActiveDescendant = _props.accessibilityActiveDescendant,\n ariaAtomic = _props['aria-atomic'],\n accessibilityAtomic = _props.accessibilityAtomic,\n ariaAutoComplete = _props['aria-autocomplete'],\n accessibilityAutoComplete = _props.accessibilityAutoComplete,\n ariaBusy = _props['aria-busy'],\n accessibilityBusy = _props.accessibilityBusy,\n ariaChecked = _props['aria-checked'],\n accessibilityChecked = _props.accessibilityChecked,\n ariaColumnCount = _props['aria-colcount'],\n accessibilityColumnCount = _props.accessibilityColumnCount,\n ariaColumnIndex = _props['aria-colindex'],\n accessibilityColumnIndex = _props.accessibilityColumnIndex,\n ariaColumnSpan = _props['aria-colspan'],\n accessibilityColumnSpan = _props.accessibilityColumnSpan,\n ariaControls = _props['aria-controls'],\n accessibilityControls = _props.accessibilityControls,\n ariaCurrent = _props['aria-current'],\n accessibilityCurrent = _props.accessibilityCurrent,\n ariaDescribedBy = _props['aria-describedby'],\n accessibilityDescribedBy = _props.accessibilityDescribedBy,\n ariaDetails = _props['aria-details'],\n accessibilityDetails = _props.accessibilityDetails,\n ariaDisabled = _props['aria-disabled'],\n accessibilityDisabled = _props.accessibilityDisabled,\n ariaErrorMessage = _props['aria-errormessage'],\n accessibilityErrorMessage = _props.accessibilityErrorMessage,\n ariaExpanded = _props['aria-expanded'],\n accessibilityExpanded = _props.accessibilityExpanded,\n ariaFlowTo = _props['aria-flowto'],\n accessibilityFlowTo = _props.accessibilityFlowTo,\n ariaHasPopup = _props['aria-haspopup'],\n accessibilityHasPopup = _props.accessibilityHasPopup,\n ariaHidden = _props['aria-hidden'],\n accessibilityHidden = _props.accessibilityHidden,\n ariaInvalid = _props['aria-invalid'],\n accessibilityInvalid = _props.accessibilityInvalid,\n ariaKeyShortcuts = _props['aria-keyshortcuts'],\n accessibilityKeyShortcuts = _props.accessibilityKeyShortcuts,\n ariaLabel = _props['aria-label'],\n accessibilityLabel = _props.accessibilityLabel,\n ariaLabelledBy = _props['aria-labelledby'],\n accessibilityLabelledBy = _props.accessibilityLabelledBy,\n ariaLevel = _props['aria-level'],\n accessibilityLevel = _props.accessibilityLevel,\n ariaLive = _props['aria-live'],\n accessibilityLiveRegion = _props.accessibilityLiveRegion,\n ariaModal = _props['aria-modal'],\n accessibilityModal = _props.accessibilityModal,\n ariaMultiline = _props['aria-multiline'],\n accessibilityMultiline = _props.accessibilityMultiline,\n ariaMultiSelectable = _props['aria-multiselectable'],\n accessibilityMultiSelectable = _props.accessibilityMultiSelectable,\n ariaOrientation = _props['aria-orientation'],\n accessibilityOrientation = _props.accessibilityOrientation,\n ariaOwns = _props['aria-owns'],\n accessibilityOwns = _props.accessibilityOwns,\n ariaPlaceholder = _props['aria-placeholder'],\n accessibilityPlaceholder = _props.accessibilityPlaceholder,\n ariaPosInSet = _props['aria-posinset'],\n accessibilityPosInSet = _props.accessibilityPosInSet,\n ariaPressed = _props['aria-pressed'],\n accessibilityPressed = _props.accessibilityPressed,\n ariaReadOnly = _props['aria-readonly'],\n accessibilityReadOnly = _props.accessibilityReadOnly,\n ariaRequired = _props['aria-required'],\n accessibilityRequired = _props.accessibilityRequired,\n ariaRole = _props.role,\n accessibilityRole = _props.accessibilityRole,\n ariaRoleDescription = _props['aria-roledescription'],\n accessibilityRoleDescription = _props.accessibilityRoleDescription,\n ariaRowCount = _props['aria-rowcount'],\n accessibilityRowCount = _props.accessibilityRowCount,\n ariaRowIndex = _props['aria-rowindex'],\n accessibilityRowIndex = _props.accessibilityRowIndex,\n ariaRowSpan = _props['aria-rowspan'],\n accessibilityRowSpan = _props.accessibilityRowSpan,\n ariaSelected = _props['aria-selected'],\n accessibilitySelected = _props.accessibilitySelected,\n ariaSetSize = _props['aria-setsize'],\n accessibilitySetSize = _props.accessibilitySetSize,\n ariaSort = _props['aria-sort'],\n accessibilitySort = _props.accessibilitySort,\n ariaValueMax = _props['aria-valuemax'],\n accessibilityValueMax = _props.accessibilityValueMax,\n ariaValueMin = _props['aria-valuemin'],\n accessibilityValueMin = _props.accessibilityValueMin,\n ariaValueNow = _props['aria-valuenow'],\n accessibilityValueNow = _props.accessibilityValueNow,\n ariaValueText = _props['aria-valuetext'],\n accessibilityValueText = _props.accessibilityValueText,\n dataSet = _props.dataSet,\n focusable = _props.focusable,\n id = _props.id,\n nativeID = _props.nativeID,\n pointerEvents = _props.pointerEvents,\n style = _props.style,\n tabIndex = _props.tabIndex,\n testID = _props.testID,\n domProps = _objectWithoutPropertiesLoose(_props, _excluded);\n\n /*\n if (accessibilityDisabled != null) {\n warnOnce('accessibilityDisabled', `accessibilityDisabled is deprecated.`);\n }\n */\n var disabled = ariaDisabled || accessibilityDisabled;\n var role = AccessibilityUtil.propsToAriaRole(props);\n\n // ACCESSIBILITY\n /*\n if (accessibilityActiveDescendant != null) {\n warnOnce(\n 'accessibilityActiveDescendant',\n `accessibilityActiveDescendant is deprecated. Use aria-activedescendant.`\n );\n }\n */\n var _ariaActiveDescendant = ariaActiveDescendant != null ? ariaActiveDescendant : accessibilityActiveDescendant;\n if (_ariaActiveDescendant != null) {\n domProps['aria-activedescendant'] = _ariaActiveDescendant;\n }\n\n /*\n if (accessibilityAtomic != null) {\n warnOnce(\n 'accessibilityAtomic',\n `accessibilityAtomic is deprecated. Use aria-atomic.`\n );\n }\n */\n var _ariaAtomic = ariaAtomic != null ? ariaActiveDescendant : accessibilityAtomic;\n if (_ariaAtomic != null) {\n domProps['aria-atomic'] = _ariaAtomic;\n }\n\n /*\n if (accessibilityAutoComplete != null) {\n warnOnce(\n 'accessibilityAutoComplete',\n `accessibilityAutoComplete is deprecated. Use aria-autocomplete.`\n );\n }\n */\n var _ariaAutoComplete = ariaAutoComplete != null ? ariaAutoComplete : accessibilityAutoComplete;\n if (_ariaAutoComplete != null) {\n domProps['aria-autocomplete'] = _ariaAutoComplete;\n }\n\n /*\n if (accessibilityBusy != null) {\n warnOnce(\n 'accessibilityBusy',\n `accessibilityBusy is deprecated. Use aria-busy.`\n );\n }\n */\n var _ariaBusy = ariaBusy != null ? ariaBusy : accessibilityBusy;\n if (_ariaBusy != null) {\n domProps['aria-busy'] = _ariaBusy;\n }\n\n /*\n if (accessibilityChecked != null) {\n warnOnce(\n 'accessibilityChecked',\n `accessibilityChecked is deprecated. Use aria-checked.`\n );\n }\n */\n var _ariaChecked = ariaChecked != null ? ariaChecked : accessibilityChecked;\n if (_ariaChecked != null) {\n domProps['aria-checked'] = _ariaChecked;\n }\n\n /*\n if (accessibilityColumnCount != null) {\n warnOnce(\n 'accessibilityColumnCount',\n `accessibilityColumnCount is deprecated. Use aria-colcount.`\n );\n }\n */\n var _ariaColumnCount = ariaColumnCount != null ? ariaColumnCount : accessibilityColumnCount;\n if (_ariaColumnCount != null) {\n domProps['aria-colcount'] = _ariaColumnCount;\n }\n\n /*\n if (accessibilityColumnIndex != null) {\n warnOnce(\n 'accessibilityColumnIndex',\n `accessibilityColumnIndex is deprecated. Use aria-colindex.`\n );\n }\n */\n var _ariaColumnIndex = ariaColumnIndex != null ? ariaColumnIndex : accessibilityColumnIndex;\n if (_ariaColumnIndex != null) {\n domProps['aria-colindex'] = _ariaColumnIndex;\n }\n\n /*\n if (accessibilityColumnSpan != null) {\n warnOnce(\n 'accessibilityColumnSpan',\n `accessibilityColumnSpan is deprecated. Use aria-colspan.`\n );\n }\n */\n var _ariaColumnSpan = ariaColumnSpan != null ? ariaColumnSpan : accessibilityColumnSpan;\n if (_ariaColumnSpan != null) {\n domProps['aria-colspan'] = _ariaColumnSpan;\n }\n\n /*\n if (accessibilityControls != null) {\n warnOnce(\n 'accessibilityControls',\n `accessibilityControls is deprecated. Use aria-controls.`\n );\n }\n */\n var _ariaControls = ariaControls != null ? ariaControls : accessibilityControls;\n if (_ariaControls != null) {\n domProps['aria-controls'] = processIDRefList(_ariaControls);\n }\n\n /*\n if (accessibilityCurrent != null) {\n warnOnce(\n 'accessibilityCurrent',\n `accessibilityCurrent is deprecated. Use aria-current.`\n );\n }\n */\n var _ariaCurrent = ariaCurrent != null ? ariaCurrent : accessibilityCurrent;\n if (_ariaCurrent != null) {\n domProps['aria-current'] = _ariaCurrent;\n }\n\n /*\n if (accessibilityDescribedBy != null) {\n warnOnce(\n 'accessibilityDescribedBy',\n `accessibilityDescribedBy is deprecated. Use aria-describedby.`\n );\n }\n */\n var _ariaDescribedBy = ariaDescribedBy != null ? ariaDescribedBy : accessibilityDescribedBy;\n if (_ariaDescribedBy != null) {\n domProps['aria-describedby'] = processIDRefList(_ariaDescribedBy);\n }\n\n /*\n if (accessibilityDetails != null) {\n warnOnce(\n 'accessibilityDetails',\n `accessibilityDetails is deprecated. Use aria-details.`\n );\n }\n */\n var _ariaDetails = ariaDetails != null ? ariaDetails : accessibilityDetails;\n if (_ariaDetails != null) {\n domProps['aria-details'] = _ariaDetails;\n }\n if (disabled === true) {\n domProps['aria-disabled'] = true;\n // Enhance with native semantics\n if (elementType === 'button' || elementType === 'form' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.disabled = true;\n }\n }\n\n /*\n if (accessibilityErrorMessage != null) {\n warnOnce(\n 'accessibilityErrorMessage',\n `accessibilityErrorMessage is deprecated. Use aria-errormessage.`\n );\n }\n */\n var _ariaErrorMessage = ariaErrorMessage != null ? ariaErrorMessage : accessibilityErrorMessage;\n if (_ariaErrorMessage != null) {\n domProps['aria-errormessage'] = _ariaErrorMessage;\n }\n\n /*\n if (accessibilityExpanded != null) {\n warnOnce(\n 'accessibilityExpanded',\n `accessibilityExpanded is deprecated. Use aria-expanded.`\n );\n }\n */\n var _ariaExpanded = ariaExpanded != null ? ariaExpanded : accessibilityExpanded;\n if (_ariaExpanded != null) {\n domProps['aria-expanded'] = _ariaExpanded;\n }\n\n /*\n if (accessibilityFlowTo != null) {\n warnOnce(\n 'accessibilityFlowTo',\n `accessibilityFlowTo is deprecated. Use aria-flowto.`\n );\n }\n */\n var _ariaFlowTo = ariaFlowTo != null ? ariaFlowTo : accessibilityFlowTo;\n if (_ariaFlowTo != null) {\n domProps['aria-flowto'] = processIDRefList(_ariaFlowTo);\n }\n\n /*\n if (accessibilityHasPopup != null) {\n warnOnce(\n 'accessibilityHasPopup',\n `accessibilityHasPopup is deprecated. Use aria-haspopup.`\n );\n }\n */\n var _ariaHasPopup = ariaHasPopup != null ? ariaHasPopup : accessibilityHasPopup;\n if (_ariaHasPopup != null) {\n domProps['aria-haspopup'] = _ariaHasPopup;\n }\n\n /*\n if (accessibilityHidden != null) {\n warnOnce(\n 'accessibilityHidden',\n `accessibilityHidden is deprecated. Use aria-hidden.`\n );\n }\n */\n var _ariaHidden = ariaHidden != null ? ariaHidden : accessibilityHidden;\n if (_ariaHidden === true) {\n domProps['aria-hidden'] = _ariaHidden;\n }\n\n /*\n if (accessibilityInvalid != null) {\n warnOnce(\n 'accessibilityInvalid',\n `accessibilityInvalid is deprecated. Use aria-invalid.`\n );\n }\n */\n var _ariaInvalid = ariaInvalid != null ? ariaInvalid : accessibilityInvalid;\n if (_ariaInvalid != null) {\n domProps['aria-invalid'] = _ariaInvalid;\n }\n\n /*\n if (accessibilityKeyShortcuts != null) {\n warnOnce(\n 'accessibilityKeyShortcuts',\n `accessibilityKeyShortcuts is deprecated. Use aria-keyshortcuts.`\n );\n }\n */\n var _ariaKeyShortcuts = ariaKeyShortcuts != null ? ariaKeyShortcuts : accessibilityKeyShortcuts;\n if (_ariaKeyShortcuts != null) {\n domProps['aria-keyshortcuts'] = processIDRefList(_ariaKeyShortcuts);\n }\n\n /*\n if (accessibilityLabel != null) {\n warnOnce(\n 'accessibilityLabel',\n `accessibilityLabel is deprecated. Use aria-label.`\n );\n }\n */\n var _ariaLabel = ariaLabel != null ? ariaLabel : accessibilityLabel;\n if (_ariaLabel != null) {\n domProps['aria-label'] = _ariaLabel;\n }\n\n /*\n if (accessibilityLabelledBy != null) {\n warnOnce(\n 'accessibilityLabelledBy',\n `accessibilityLabelledBy is deprecated. Use aria-labelledby.`\n );\n }\n */\n var _ariaLabelledBy = ariaLabelledBy != null ? ariaLabelledBy : accessibilityLabelledBy;\n if (_ariaLabelledBy != null) {\n domProps['aria-labelledby'] = processIDRefList(_ariaLabelledBy);\n }\n\n /*\n if (accessibilityLevel != null) {\n warnOnce(\n 'accessibilityLevel',\n `accessibilityLevel is deprecated. Use aria-level.`\n );\n }\n */\n var _ariaLevel = ariaLevel != null ? ariaLevel : accessibilityLevel;\n if (_ariaLevel != null) {\n domProps['aria-level'] = _ariaLevel;\n }\n\n /*\n if (accessibilityLiveRegion != null) {\n warnOnce(\n 'accessibilityLiveRegion',\n `accessibilityLiveRegion is deprecated. Use aria-live.`\n );\n }\n */\n var _ariaLive = ariaLive != null ? ariaLive : accessibilityLiveRegion;\n if (_ariaLive != null) {\n domProps['aria-live'] = _ariaLive === 'none' ? 'off' : _ariaLive;\n }\n\n /*\n if (accessibilityModal != null) {\n warnOnce(\n 'accessibilityModal',\n `accessibilityModal is deprecated. Use aria-modal.`\n );\n }\n */\n var _ariaModal = ariaModal != null ? ariaModal : accessibilityModal;\n if (_ariaModal != null) {\n domProps['aria-modal'] = _ariaModal;\n }\n\n /*\n if (accessibilityMultiline != null) {\n warnOnce(\n 'accessibilityMultiline',\n `accessibilityMultiline is deprecated. Use aria-multiline.`\n );\n }\n */\n var _ariaMultiline = ariaMultiline != null ? ariaMultiline : accessibilityMultiline;\n if (_ariaMultiline != null) {\n domProps['aria-multiline'] = _ariaMultiline;\n }\n\n /*\n if (accessibilityMultiSelectable != null) {\n warnOnce(\n 'accessibilityMultiSelectable',\n `accessibilityMultiSelectable is deprecated. Use aria-multiselectable.`\n );\n }\n */\n var _ariaMultiSelectable = ariaMultiSelectable != null ? ariaMultiSelectable : accessibilityMultiSelectable;\n if (_ariaMultiSelectable != null) {\n domProps['aria-multiselectable'] = _ariaMultiSelectable;\n }\n\n /*\n if (accessibilityOrientation != null) {\n warnOnce(\n 'accessibilityOrientation',\n `accessibilityOrientation is deprecated. Use aria-orientation.`\n );\n }\n */\n var _ariaOrientation = ariaOrientation != null ? ariaOrientation : accessibilityOrientation;\n if (_ariaOrientation != null) {\n domProps['aria-orientation'] = _ariaOrientation;\n }\n\n /*\n if (accessibilityOwns != null) {\n warnOnce(\n 'accessibilityOwns',\n `accessibilityOwns is deprecated. Use aria-owns.`\n );\n }\n */\n var _ariaOwns = ariaOwns != null ? ariaOwns : accessibilityOwns;\n if (_ariaOwns != null) {\n domProps['aria-owns'] = processIDRefList(_ariaOwns);\n }\n\n /*\n if (accessibilityPlaceholder != null) {\n warnOnce(\n 'accessibilityPlaceholder',\n `accessibilityPlaceholder is deprecated. Use aria-placeholder.`\n );\n }\n */\n var _ariaPlaceholder = ariaPlaceholder != null ? ariaPlaceholder : accessibilityPlaceholder;\n if (_ariaPlaceholder != null) {\n domProps['aria-placeholder'] = _ariaPlaceholder;\n }\n\n /*\n if (accessibilityPosInSet != null) {\n warnOnce(\n 'accessibilityPosInSet',\n `accessibilityPosInSet is deprecated. Use aria-posinset.`\n );\n }\n */\n var _ariaPosInSet = ariaPosInSet != null ? ariaPosInSet : accessibilityPosInSet;\n if (_ariaPosInSet != null) {\n domProps['aria-posinset'] = _ariaPosInSet;\n }\n\n /*\n if (accessibilityPressed != null) {\n warnOnce(\n 'accessibilityPressed',\n `accessibilityPressed is deprecated. Use aria-pressed.`\n );\n }\n */\n var _ariaPressed = ariaPressed != null ? ariaPressed : accessibilityPressed;\n if (_ariaPressed != null) {\n domProps['aria-pressed'] = _ariaPressed;\n }\n\n /*\n if (accessibilityReadOnly != null) {\n warnOnce(\n 'accessibilityReadOnly',\n `accessibilityReadOnly is deprecated. Use aria-readonly.`\n );\n }\n */\n var _ariaReadOnly = ariaReadOnly != null ? ariaReadOnly : accessibilityReadOnly;\n if (_ariaReadOnly != null) {\n domProps['aria-readonly'] = _ariaReadOnly;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.readOnly = true;\n }\n }\n\n /*\n if (accessibilityRequired != null) {\n warnOnce(\n 'accessibilityRequired',\n `accessibilityRequired is deprecated. Use aria-required.`\n );\n }\n */\n var _ariaRequired = ariaRequired != null ? ariaRequired : accessibilityRequired;\n if (_ariaRequired != null) {\n domProps['aria-required'] = _ariaRequired;\n // Enhance with native semantics\n if (elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n domProps.required = accessibilityRequired;\n }\n }\n\n /*\n if (accessibilityRole != null) {\n warnOnce('accessibilityRole', `accessibilityRole is deprecated. Use role.`);\n }\n */\n if (role != null) {\n // 'presentation' synonym has wider browser support\n domProps['role'] = role === 'none' ? 'presentation' : role;\n }\n\n /*\n if (accessibilityRoleDescription != null) {\n warnOnce(\n 'accessibilityRoleDescription',\n `accessibilityRoleDescription is deprecated. Use aria-roledescription.`\n );\n }\n */\n var _ariaRoleDescription = ariaRoleDescription != null ? ariaRoleDescription : accessibilityRoleDescription;\n if (_ariaRoleDescription != null) {\n domProps['aria-roledescription'] = _ariaRoleDescription;\n }\n\n /*\n if (accessibilityRowCount != null) {\n warnOnce(\n 'accessibilityRowCount',\n `accessibilityRowCount is deprecated. Use aria-rowcount.`\n );\n }\n */\n var _ariaRowCount = ariaRowCount != null ? ariaRowCount : accessibilityRowCount;\n if (_ariaRowCount != null) {\n domProps['aria-rowcount'] = _ariaRowCount;\n }\n\n /*\n if (accessibilityRowIndex != null) {\n warnOnce(\n 'accessibilityRowIndex',\n `accessibilityRowIndex is deprecated. Use aria-rowindex.`\n );\n }\n */\n var _ariaRowIndex = ariaRowIndex != null ? ariaRowIndex : accessibilityRowIndex;\n if (_ariaRowIndex != null) {\n domProps['aria-rowindex'] = _ariaRowIndex;\n }\n\n /*\n if (accessibilityRowSpan != null) {\n warnOnce(\n 'accessibilityRowSpan',\n `accessibilityRowSpan is deprecated. Use aria-rowspan.`\n );\n }\n */\n var _ariaRowSpan = ariaRowSpan != null ? ariaRowSpan : accessibilityRowSpan;\n if (_ariaRowSpan != null) {\n domProps['aria-rowspan'] = _ariaRowSpan;\n }\n\n /*\n if (accessibilitySelected != null) {\n warnOnce(\n 'accessibilitySelected',\n `accessibilitySelected is deprecated. Use aria-selected.`\n );\n }\n */\n var _ariaSelected = ariaSelected != null ? ariaSelected : accessibilitySelected;\n if (_ariaSelected != null) {\n domProps['aria-selected'] = _ariaSelected;\n }\n\n /*\n if (accessibilitySetSize != null) {\n warnOnce(\n 'accessibilitySetSize',\n `accessibilitySetSize is deprecated. Use aria-setsize.`\n );\n }\n */\n var _ariaSetSize = ariaSetSize != null ? ariaSetSize : accessibilitySetSize;\n if (_ariaSetSize != null) {\n domProps['aria-setsize'] = _ariaSetSize;\n }\n\n /*\n if (accessibilitySort != null) {\n warnOnce(\n 'accessibilitySort',\n `accessibilitySort is deprecated. Use aria-sort.`\n );\n }\n */\n var _ariaSort = ariaSort != null ? ariaSort : accessibilitySort;\n if (_ariaSort != null) {\n domProps['aria-sort'] = _ariaSort;\n }\n\n /*\n if (accessibilityValueMax != null) {\n warnOnce(\n 'accessibilityValueMax',\n `accessibilityValueMax is deprecated. Use aria-valuemax.`\n );\n }\n */\n var _ariaValueMax = ariaValueMax != null ? ariaValueMax : accessibilityValueMax;\n if (_ariaValueMax != null) {\n domProps['aria-valuemax'] = _ariaValueMax;\n }\n\n /*\n if (accessibilityValueMin != null) {\n warnOnce(\n 'accessibilityValueMin',\n `accessibilityValueMin is deprecated. Use aria-valuemin.`\n );\n }\n */\n var _ariaValueMin = ariaValueMin != null ? ariaValueMin : accessibilityValueMin;\n if (_ariaValueMin != null) {\n domProps['aria-valuemin'] = _ariaValueMin;\n }\n\n /*\n if (accessibilityValueNow != null) {\n warnOnce(\n 'accessibilityValueNow',\n `accessibilityValueNow is deprecated. Use aria-valuenow.`\n );\n }\n */\n var _ariaValueNow = ariaValueNow != null ? ariaValueNow : accessibilityValueNow;\n if (_ariaValueNow != null) {\n domProps['aria-valuenow'] = _ariaValueNow;\n }\n\n /*\n if (accessibilityValueText != null) {\n warnOnce(\n 'accessibilityValueText',\n `accessibilityValueText is deprecated. Use aria-valuetext.`\n );\n }\n */\n var _ariaValueText = ariaValueText != null ? ariaValueText : accessibilityValueText;\n if (_ariaValueText != null) {\n domProps['aria-valuetext'] = _ariaValueText;\n }\n\n // \"dataSet\" replaced with \"data-*\"\n if (dataSet != null) {\n for (var dataProp in dataSet) {\n if (hasOwnProperty.call(dataSet, dataProp)) {\n var dataName = hyphenateString(dataProp);\n var dataValue = dataSet[dataProp];\n if (dataValue != null) {\n domProps[\"data-\" + dataName] = dataValue;\n }\n }\n }\n }\n\n // FOCUS\n if (tabIndex === 0 || tabIndex === '0' || tabIndex === -1 || tabIndex === '-1') {\n domProps.tabIndex = tabIndex;\n } else {\n /*\n if (focusable != null) {\n warnOnce('focusable', `focusable is deprecated.`);\n }\n */\n\n // \"focusable\" indicates that an element may be a keyboard tab-stop.\n if (focusable === false) {\n domProps.tabIndex = '-1';\n }\n if (\n // These native elements are keyboard focusable by default\n elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea') {\n if (focusable === false || accessibilityDisabled === true) {\n domProps.tabIndex = '-1';\n }\n } else if (\n // These roles are made keyboard focusable by default\n role === 'button' || role === 'checkbox' || role === 'link' || role === 'radio' || role === 'textbox' || role === 'switch') {\n if (focusable !== false) {\n domProps.tabIndex = '0';\n }\n } else {\n // Everything else must explicitly set the prop\n if (focusable === true) {\n domProps.tabIndex = '0';\n }\n }\n }\n\n // Resolve styles\n if (pointerEvents != null) {\n warnOnce('pointerEvents', \"props.pointerEvents is deprecated. Use style.pointerEvents\");\n }\n var _StyleSheet = StyleSheet([style, pointerEvents && pointerEventsStyles[pointerEvents]], _objectSpread({\n writingDirection: 'ltr'\n }, options)),\n className = _StyleSheet[0],\n inlineStyle = _StyleSheet[1];\n if (className) {\n domProps.className = className;\n }\n if (inlineStyle) {\n domProps.style = inlineStyle;\n }\n\n // OTHER\n // Native element ID\n /*\n if (nativeID != null) {\n warnOnce('nativeID', `nativeID is deprecated. Use id.`);\n }\n */\n var _id = id != null ? id : nativeID;\n if (_id != null) {\n domProps.id = _id;\n }\n // Automated test IDs\n if (testID != null) {\n domProps['data-testid'] = testID;\n }\n if (domProps.type == null && elementType === 'button') {\n domProps.type = 'button';\n }\n return domProps;\n};\nexport default createDOMProps;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\n'use client';\n\nimport AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport createDOMProps from '../../modules/createDOMProps';\nimport React from 'react';\nimport { LocaleProvider } from '../../modules/useLocale';\nvar createElement = (component, props, options) => {\n // Use equivalent platform elements where possible.\n var accessibilityComponent;\n if (component && component.constructor === String) {\n accessibilityComponent = AccessibilityUtil.propsToAccessibilityComponent(props);\n }\n var Component = accessibilityComponent || component;\n var domProps = createDOMProps(Component, props, options);\n var element = /*#__PURE__*/React.createElement(Component, domProps);\n\n // Update locale context if element's writing direction prop changes\n var elementWithLocaleProvider = domProps.dir ? /*#__PURE__*/React.createElement(LocaleProvider, {\n children: element,\n direction: domProps.dir,\n locale: domProps.lang\n }) : element;\n return elementWithLocaleProvider;\n};\nexport default createElement;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport { findDOMNode } from 'react-dom';\n\n/**\n * @deprecated imperatively finding the DOM element of a react component has been deprecated in React 18.\n * You should use ref properties on the component instead.\n */\nvar findNodeHandle = component => {\n var node;\n try {\n node = findDOMNode(component);\n } catch (e) {}\n return node;\n};\nexport default findNodeHandle;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport normalizeColor from '@react-native/normalize-colors';\nvar processColor = color => {\n if (color === undefined || color === null) {\n return color;\n }\n\n // convert number and hex\n var int32Color = normalizeColor(color);\n if (int32Color === undefined || int32Color === null) {\n return undefined;\n }\n int32Color = (int32Color << 24 | int32Color >>> 8) >>> 0;\n return int32Color;\n};\nexport default processColor;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * \n */\n\n'use client';\n\nimport Dimensions from '../Dimensions';\nimport { useEffect, useState } from 'react';\nexport default function useWindowDimensions() {\n var _useState = useState(() => Dimensions.get('window')),\n dims = _useState[0],\n setDims = _useState[1];\n useEffect(() => {\n function handleChange(_ref) {\n var window = _ref.window;\n if (window != null) {\n setDims(window);\n }\n }\n 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 setDims(Dimensions.get('window'));\n return () => {\n Dimensions.removeEventListener('change', handleChange);\n };\n }, []);\n return dims;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport { unmountComponentAtNode } from 'react-dom';\nexport default unmountComponentAtNode;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\n'use client';\n\nimport { hydrate as domLegacyHydrate, render as domLegacyRender } from 'react-dom';\nimport { createRoot as domCreateRoot, hydrateRoot as domHydrateRoot } from 'react-dom/client';\nimport unmountComponentAtNode from '../unmountComponentAtNode';\nimport { createSheet } from '../StyleSheet/dom';\nexport function hydrate(element, root) {\n createSheet(root);\n return domHydrateRoot(root, element);\n}\nexport function render(element, root) {\n createSheet(root);\n var reactRoot = domCreateRoot(root);\n reactRoot.render(element);\n return reactRoot;\n}\nexport function hydrateLegacy(element, root, callback) {\n createSheet(root);\n domLegacyHydrate(element, root, callback);\n return {\n unmount: function unmount() {\n return unmountComponentAtNode(root);\n }\n };\n}\nexport default function renderLegacy(element, root, callback) {\n createSheet(root);\n domLegacyRender(element, root, callback);\n return {\n unmount: function unmount() {\n return unmountComponentAtNode(root);\n }\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nclass Alert {\n static alert() {}\n}\nexport default Alert;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar RootTagContext = /*#__PURE__*/React.createContext(null);\nvar AppContainer = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var children = props.children,\n WrapperComponent = props.WrapperComponent;\n var innerView = /*#__PURE__*/React.createElement(View, {\n children: children,\n key: 1,\n style: styles.appContainer\n });\n if (WrapperComponent) {\n innerView = /*#__PURE__*/React.createElement(WrapperComponent, null, innerView);\n }\n return /*#__PURE__*/React.createElement(RootTagContext.Provider, {\n value: props.rootTag\n }, /*#__PURE__*/React.createElement(View, {\n ref: forwardedRef,\n style: styles.appContainer\n }, innerView));\n});\nAppContainer.displayName = 'AppContainer';\nexport default AppContainer;\nvar styles = StyleSheet.create({\n appContainer: {\n flex: 1,\n pointerEvents: 'box-none'\n }\n});","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport invariant from 'fbjs/lib/invariant';\nimport unmountComponentAtNode from '../unmountComponentAtNode';\nimport renderApplication, { getApplication as _getApplication } from './renderApplication';\nvar emptyObject = {};\nvar runnables = {};\nvar componentProviderInstrumentationHook = component => component();\nvar wrapperComponentProvider;\n\n/**\n * `AppRegistry` is the JS entry point to running all React Native apps.\n */\nexport default class AppRegistry {\n static getAppKeys() {\n return Object.keys(runnables);\n }\n static getApplication(appKey, appParameters) {\n invariant(runnables[appKey] && runnables[appKey].getApplication, \"Application \" + appKey + \" has not been registered. \" + 'This is either due to an import error during initialization or failure to call AppRegistry.registerComponent.');\n return runnables[appKey].getApplication(appParameters);\n }\n static registerComponent(appKey, componentProvider) {\n runnables[appKey] = {\n getApplication: appParameters => _getApplication(componentProviderInstrumentationHook(componentProvider), appParameters ? appParameters.initialProps : emptyObject, wrapperComponentProvider && wrapperComponentProvider(appParameters)),\n run: appParameters => renderApplication(componentProviderInstrumentationHook(componentProvider), wrapperComponentProvider && wrapperComponentProvider(appParameters), appParameters.callback, {\n hydrate: appParameters.hydrate || false,\n initialProps: appParameters.initialProps || emptyObject,\n mode: appParameters.mode || 'concurrent',\n rootTag: appParameters.rootTag\n })\n };\n return appKey;\n }\n static registerConfig(config) {\n config.forEach(_ref => {\n var appKey = _ref.appKey,\n component = _ref.component,\n run = _ref.run;\n if (run) {\n AppRegistry.registerRunnable(appKey, run);\n } else {\n invariant(component, 'No component provider passed in');\n AppRegistry.registerComponent(appKey, component);\n }\n });\n }\n\n // TODO: fix style sheet creation when using this method\n static registerRunnable(appKey, run) {\n runnables[appKey] = {\n run\n };\n return appKey;\n }\n static runApplication(appKey, appParameters) {\n var isDevelopment = process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test';\n if (isDevelopment) {\n var params = _objectSpread({}, appParameters);\n params.rootTag = \"#\" + params.rootTag.id;\n console.log(\"Running application \\\"\" + appKey + \"\\\" with appParams:\\n\", params, \"\\nDevelopment-level warnings: \" + (isDevelopment ? 'ON' : 'OFF') + \".\" + (\"\\nPerformance optimizations: \" + (isDevelopment ? 'OFF' : 'ON') + \".\"));\n }\n invariant(runnables[appKey] && runnables[appKey].run, \"Application \\\"\" + appKey + \"\\\" has not been registered. \" + 'This is either due to an import error during initialization or failure to call AppRegistry.registerComponent.');\n return runnables[appKey].run(appParameters);\n }\n static setComponentProviderInstrumentationHook(hook) {\n componentProviderInstrumentationHook = hook;\n }\n static setWrapperComponentProvider(provider) {\n wrapperComponentProvider = provider;\n }\n static unmountApplicationComponentAtRootTag(rootTag) {\n unmountComponentAtNode(rootTag);\n }\n}","import _extends from \"@babel/runtime/helpers/extends\";\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport AppContainer from './AppContainer';\nimport invariant from 'fbjs/lib/invariant';\nimport renderLegacy, { hydrateLegacy, render, hydrate } from '../render';\nimport StyleSheet from '../StyleSheet';\nimport React from 'react';\nexport default function renderApplication(RootComponent, WrapperComponent, callback, options) {\n var shouldHydrate = options.hydrate,\n initialProps = options.initialProps,\n mode = options.mode,\n rootTag = options.rootTag;\n var renderFn = shouldHydrate ? mode === 'concurrent' ? hydrate : hydrateLegacy : mode === 'concurrent' ? render : renderLegacy;\n invariant(rootTag, 'Expect to have a valid rootTag, instead got ', rootTag);\n return renderFn(/*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n ref: callback,\n rootTag: rootTag\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps)), rootTag);\n}\nexport function getApplication(RootComponent, initialProps, WrapperComponent) {\n var element = /*#__PURE__*/React.createElement(AppContainer, {\n WrapperComponent: WrapperComponent,\n rootTag: {}\n }, /*#__PURE__*/React.createElement(RootComponent, initialProps));\n // Don't escape CSS text\n var getStyleElement = props => {\n var sheet = StyleSheet.getSheet();\n return /*#__PURE__*/React.createElement(\"style\", _extends({}, props, {\n dangerouslySetInnerHTML: {\n __html: sheet.textContent\n },\n id: sheet.id\n }));\n };\n return {\n element,\n getStyleElement\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport invariant from 'fbjs/lib/invariant';\nimport EventEmitter from '../../vendor/react-native/vendor/emitter/EventEmitter';\nimport canUseDOM from '../../modules/canUseDom';\n\n// Android 4.4 browser\nvar isPrefixed = canUseDOM && !document.hasOwnProperty('hidden') && document.hasOwnProperty('webkitHidden');\nvar EVENT_TYPES = ['change', 'memoryWarning'];\nvar VISIBILITY_CHANGE_EVENT = isPrefixed ? 'webkitvisibilitychange' : 'visibilitychange';\nvar VISIBILITY_STATE_PROPERTY = isPrefixed ? 'webkitVisibilityState' : 'visibilityState';\nvar AppStates = {\n BACKGROUND: 'background',\n ACTIVE: 'active'\n};\nvar changeEmitter = null;\nexport default class AppState {\n static get currentState() {\n if (!AppState.isAvailable) {\n return AppStates.ACTIVE;\n }\n switch (document[VISIBILITY_STATE_PROPERTY]) {\n case 'hidden':\n case 'prerender':\n case 'unloaded':\n return AppStates.BACKGROUND;\n default:\n return AppStates.ACTIVE;\n }\n }\n static addEventListener(type, handler) {\n if (AppState.isAvailable) {\n invariant(EVENT_TYPES.indexOf(type) !== -1, 'Trying to subscribe to unknown event: \"%s\"', type);\n if (type === 'change') {\n if (!changeEmitter) {\n changeEmitter = new EventEmitter();\n document.addEventListener(VISIBILITY_CHANGE_EVENT, () => {\n if (changeEmitter) {\n changeEmitter.emit('change', AppState.currentState);\n }\n }, false);\n }\n return changeEmitter.addListener(type, handler);\n }\n }\n }\n}\nAppState.isAvailable = canUseDOM && !!document[VISIBILITY_STATE_PROPERTY];","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nfunction emptyFunction() {}\nvar BackHandler = {\n exitApp: emptyFunction,\n addEventListener() {\n console.error('BackHandler is not supported on web and should not be used.');\n return {\n remove: emptyFunction\n };\n },\n removeEventListener: emptyFunction\n};\nexport default BackHandler;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nvar clipboardAvailable;\nexport default class Clipboard {\n static isAvailable() {\n if (clipboardAvailable === undefined) {\n clipboardAvailable = typeof document.queryCommandSupported === 'function' && document.queryCommandSupported('copy');\n }\n return clipboardAvailable;\n }\n static getString() {\n return Promise.resolve('');\n }\n static setString(text) {\n var success = false;\n var body = document.body;\n if (body) {\n // add the text to a hidden node\n var node = document.createElement('span');\n node.textContent = text;\n node.style.opacity = '0';\n node.style.position = 'absolute';\n node.style.whiteSpace = 'pre-wrap';\n node.style.userSelect = 'auto';\n body.appendChild(node);\n\n // select the text\n var selection = window.getSelection();\n selection.removeAllRanges();\n var range = document.createRange();\n range.selectNodeContents(node);\n selection.addRange(range);\n\n // attempt to copy\n try {\n document.execCommand('copy');\n success = true;\n } catch (e) {}\n\n // remove selection and node\n selection.removeAllRanges();\n body.removeChild(node);\n }\n return success;\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 * \n * @format\n */\n\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport UIManager from '../../../exports/UIManager';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nfunction configureNext(config, onAnimationDidEnd) {\n if (!Platform.isTesting) {\n UIManager.configureNextLayoutAnimation(config, onAnimationDidEnd !== null && onAnimationDidEnd !== void 0 ? onAnimationDidEnd : function () {}, function () {} /* unused onError */);\n }\n}\nfunction create(duration, type, property) {\n return {\n duration,\n create: {\n type,\n property\n },\n update: {\n type\n },\n delete: {\n type,\n property\n }\n };\n}\nvar Presets = {\n easeInEaseOut: create(300, 'easeInEaseOut', 'opacity'),\n linear: create(500, 'linear', 'opacity'),\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 }\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 */\nvar 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 }),\n Properties: Object.freeze({\n opacity: 'opacity',\n scaleX: 'scaleX',\n scaleY: 'scaleY',\n scaleXY: 'scaleXY'\n }),\n checkConfig() {\n console.error('LayoutAnimation.checkConfig(...) has been disabled.');\n },\n Presets,\n easeInEaseOut: configureNext.bind(null, Presets.easeInEaseOut),\n linear: configureNext.bind(null, Presets.linear),\n spring: configureNext.bind(null, Presets.spring)\n};\nexport default LayoutAnimation;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport LayoutAnimation from '../../vendor/react-native/LayoutAnimation';\nexport default LayoutAnimation;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport invariant from 'fbjs/lib/invariant';\nimport canUseDOM from '../../modules/canUseDom';\nvar initialURL = canUseDOM ? window.location.href : '';\nclass Linking {\n constructor() {\n this._eventCallbacks = {};\n }\n /**\n * An object mapping of event name\n * and all the callbacks subscribing to it\n */\n _dispatchEvent(event) {\n for (var _len = arguments.length, data = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n data[_key - 1] = arguments[_key];\n }\n var listeners = this._eventCallbacks[event];\n if (listeners != null && Array.isArray(listeners)) {\n listeners.map(listener => {\n listener(...data);\n });\n }\n }\n\n /**\n * Adds a event listener for the specified event. The callback will be called when the\n * said event is dispatched.\n */\n addEventListener(eventType, callback) {\n var _this = this;\n if (!_this._eventCallbacks[eventType]) {\n _this._eventCallbacks[eventType] = [callback];\n }\n _this._eventCallbacks[eventType].push(callback);\n return {\n remove() {\n var callbacks = _this._eventCallbacks[eventType];\n var filteredCallbacks = callbacks.filter(c => c.toString() !== callback.toString());\n _this._eventCallbacks[eventType] = filteredCallbacks;\n }\n };\n }\n\n /**\n * Removes a previously added event listener for the specified event. The callback must\n * be the same object as the one passed to `addEventListener`.\n */\n removeEventListener(eventType, callback) {\n console.error(\"Linking.removeEventListener('\" + eventType + \"', ...): Method has been \" + 'deprecated. Please instead use `remove()` on the subscription ' + 'returned by `Linking.addEventListener`.');\n var callbacks = this._eventCallbacks[eventType];\n var filteredCallbacks = callbacks.filter(c => c.toString() !== callback.toString());\n this._eventCallbacks[eventType] = filteredCallbacks;\n }\n canOpenURL() {\n return Promise.resolve(true);\n }\n getInitialURL() {\n return Promise.resolve(initialURL);\n }\n\n /**\n * Try to open the given url in a secure fashion. The method returns a Promise object.\n * If a target is passed (including undefined) that target will be used, otherwise '_blank'.\n * If the url opens, the promise is resolved. If not, the promise is rejected.\n * Dispatches the `onOpen` event if `url` is opened successfully.\n */\n openURL(url, target) {\n if (arguments.length === 1) {\n target = '_blank';\n }\n try {\n open(url, target);\n this._dispatchEvent('onOpen', url);\n return Promise.resolve();\n } catch (e) {\n return Promise.reject(e);\n }\n }\n _validateURL(url) {\n invariant(typeof url === 'string', 'Invalid URL: should be a string. Was: ' + url);\n invariant(url, 'Invalid URL: cannot be empty');\n }\n}\nvar open = (url, target) => {\n if (canUseDOM) {\n var urlToOpen = new URL(url, window.location).toString();\n if (urlToOpen.indexOf('tel:') === 0) {\n window.location = urlToOpen;\n } else {\n window.open(urlToOpen, target, 'noopener');\n }\n }\n};\nexport default new Linking();","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport NativeEventEmitter from '../../vendor/react-native/EventEmitter/NativeEventEmitter';\nexport default NativeEventEmitter;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar 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 centroidDimension(touchHistory, touchesChangedAfter, isXAxis, ofCurrent) {\n var touchBank = touchHistory.touchBank;\n var total = 0;\n var count = 0;\n var oneTouchData = touchHistory.numberActiveTouches === 1 ? touchHistory.touchBank[touchHistory.indexOfSingleActiveTouch] : null;\n if (oneTouchData !== null) {\n if (oneTouchData.touchActive && oneTouchData.currentTimeStamp > touchesChangedAfter) {\n total += ofCurrent && isXAxis ? oneTouchData.currentPageX : ofCurrent && !isXAxis ? oneTouchData.currentPageY : !ofCurrent && isXAxis ? oneTouchData.previousPageX : oneTouchData.previousPageY;\n count = 1;\n }\n } else {\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrack = touchBank[i];\n if (touchTrack !== null && touchTrack !== undefined && touchTrack.touchActive && touchTrack.currentTimeStamp >= touchesChangedAfter) {\n var toAdd = void 0; // 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 currentCentroidXOfTouchesChangedAfter: function currentCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true,\n // isXAxis\n true // ofCurrent\n );\n },\n currentCentroidYOfTouchesChangedAfter: function currentCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false,\n // isXAxis\n true // ofCurrent\n );\n },\n previousCentroidXOfTouchesChangedAfter: function previousCentroidXOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, true,\n // isXAxis\n false // ofCurrent\n );\n },\n previousCentroidYOfTouchesChangedAfter: function previousCentroidYOfTouchesChangedAfter(touchHistory, touchesChangedAfter) {\n return TouchHistoryMath.centroidDimension(touchHistory, touchesChangedAfter, false,\n // isXAxis\n false // ofCurrent\n );\n },\n currentCentroidX: function currentCentroidX(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0,\n // touchesChangedAfter\n true,\n // isXAxis\n true // ofCurrent\n );\n },\n currentCentroidY: function currentCentroidY(touchHistory) {\n return TouchHistoryMath.centroidDimension(touchHistory, 0,\n // touchesChangedAfter\n false,\n // isXAxis\n true // ofCurrent\n );\n },\n noCentroid: -1\n};\nexport default TouchHistoryMath;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport InteractionManager from '../../../exports/InteractionManager';\nimport TouchHistoryMath from '../TouchHistoryMath';\nvar currentCentroidXOfTouchesChangedAfter = TouchHistoryMath.currentCentroidXOfTouchesChangedAfter;\nvar currentCentroidYOfTouchesChangedAfter = TouchHistoryMath.currentCentroidYOfTouchesChangedAfter;\nvar previousCentroidXOfTouchesChangedAfter = TouchHistoryMath.previousCentroidXOfTouchesChangedAfter;\nvar previousCentroidYOfTouchesChangedAfter = TouchHistoryMath.previousCentroidYOfTouchesChangedAfter;\nvar currentCentroidX = TouchHistoryMath.currentCentroidX;\nvar 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/master/RNTester/js/PanResponderExample.js)\n */\n\nvar 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) {\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 * 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(gestureState, touchHistory) {\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n gestureState.moveX = currentCentroidXOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);\n gestureState.moveY = currentCentroidYOfTouchesChangedAfter(touchHistory, gestureState._accountsForMovesUpTo);\n var movedAfter = gestureState._accountsForMovesUpTo;\n var prevX = previousCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);\n var x = currentCentroidXOfTouchesChangedAfter(touchHistory, movedAfter);\n var prevY = previousCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);\n var y = currentCentroidYOfTouchesChangedAfter(touchHistory, movedAfter);\n var nextDX = gestureState.dx + (x - prevX);\n var nextDY = gestureState.dy + (y - prevY);\n\n // TODO: This must be filtered intelligently.\n var dt = touchHistory.mostRecentTimeStamp - gestureState._accountsForMovesUpTo;\n gestureState.vx = (nextDX - gestureState.dx) / dt;\n gestureState.vy = (nextDY - gestureState.dy) / dt;\n gestureState.dx = nextDX;\n gestureState.dy = nextDY;\n gestureState._accountsForMovesUpTo = touchHistory.mostRecentTimeStamp;\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) {\n var interactionState = {\n handle: null,\n shouldCancelClick: false,\n timeout: null\n };\n var gestureState = {\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 var panHandlers = {\n onStartShouldSetResponder(event) {\n return config.onStartShouldSetPanResponder == null ? false : config.onStartShouldSetPanResponder(event, gestureState);\n },\n onMoveShouldSetResponder(event) {\n return config.onMoveShouldSetPanResponder == null ? false : config.onMoveShouldSetPanResponder(event, gestureState);\n },\n onStartShouldSetResponderCapture(event) {\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 = event.touchHistory.numberActiveTouches;\n return config.onStartShouldSetPanResponderCapture != null ? config.onStartShouldSetPanResponderCapture(event, gestureState) : false;\n },\n onMoveShouldSetResponderCapture(event) {\n var 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 (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\n return false;\n }\n PanResponder._updateGestureStateOnMove(gestureState, touchHistory);\n return config.onMoveShouldSetPanResponderCapture ? config.onMoveShouldSetPanResponderCapture(event, gestureState) : false;\n },\n onResponderGrant(event) {\n if (!interactionState.handle) {\n interactionState.handle = InteractionManager.createInteractionHandle();\n }\n if (interactionState.timeout) {\n clearInteractionTimeout(interactionState);\n }\n interactionState.shouldCancelClick = true;\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 ? true : config.onShouldBlockNativeResponder(event, gestureState);\n },\n onResponderReject(event) {\n clearInteractionHandle(interactionState, config.onPanResponderReject, event, gestureState);\n },\n onResponderRelease(event) {\n clearInteractionHandle(interactionState, config.onPanResponderRelease, event, gestureState);\n setInteractionTimeout(interactionState);\n PanResponder._initializeGestureState(gestureState);\n },\n onResponderStart(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n if (config.onPanResponderStart) {\n config.onPanResponderStart(event, gestureState);\n }\n },\n onResponderMove(event) {\n var touchHistory = event.touchHistory;\n // Guard against the dispatch of two touch moves when there are two\n // simultaneously changed touches.\n if (gestureState._accountsForMovesUpTo === touchHistory.mostRecentTimeStamp) {\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 onResponderEnd(event) {\n var touchHistory = event.touchHistory;\n gestureState.numberActiveTouches = touchHistory.numberActiveTouches;\n clearInteractionHandle(interactionState, config.onPanResponderEnd, event, gestureState);\n },\n onResponderTerminate(event) {\n clearInteractionHandle(interactionState, config.onPanResponderTerminate, event, gestureState);\n setInteractionTimeout(interactionState);\n PanResponder._initializeGestureState(gestureState);\n },\n onResponderTerminationRequest(event) {\n return config.onPanResponderTerminationRequest == null ? true : config.onPanResponderTerminationRequest(event, gestureState);\n },\n // We do not want to trigger 'click' activated gestures or native behaviors\n // on any pan target that is under a mouse cursor when it is released.\n // Browsers will natively cancel 'click' events on a target if a non-mouse\n // active pointer moves.\n onClickCapture: event => {\n if (interactionState.shouldCancelClick === true) {\n event.stopPropagation();\n event.preventDefault();\n }\n }\n };\n return {\n panHandlers,\n getInteractionHandle() {\n return interactionState.handle;\n }\n };\n }\n};\nfunction clearInteractionHandle(interactionState, callback, event, gestureState) {\n if (interactionState.handle) {\n InteractionManager.clearInteractionHandle(interactionState.handle);\n interactionState.handle = null;\n }\n if (callback) {\n callback(event, gestureState);\n }\n}\nfunction clearInteractionTimeout(interactionState) {\n clearTimeout(interactionState.timeout);\n}\nfunction setInteractionTimeout(interactionState) {\n interactionState.timeout = setTimeout(() => {\n interactionState.shouldCancelClick = false;\n }, 250);\n}\nexport default PanResponder;","import PanResponder from '../../vendor/react-native/PanResponder';\nexport default PanResponder;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport invariant from 'fbjs/lib/invariant';\nclass Share {\n static share(content, options) {\n if (options === void 0) {\n options = {};\n }\n invariant(typeof content === 'object' && content !== null, 'Content to share must be a valid object');\n invariant(typeof content.url === 'string' || typeof content.message === 'string', 'At least one of URL and message is required');\n invariant(typeof options === 'object' && options !== null, 'Options must be a valid object');\n invariant(!content.title || typeof content.title === 'string', 'Invalid title: title should be a string.');\n if (window.navigator.share !== undefined) {\n return window.navigator.share({\n title: content.title,\n text: content.message,\n url: content.url\n });\n } else {\n return Promise.reject(new Error('Share is not supported in this browser'));\n }\n }\n\n /**\n * The content was successfully shared.\n */\n static get sharedAction() {\n return 'sharedAction';\n }\n\n /**\n * The dialog has been dismissed.\n * @platform ios\n */\n static get dismissedAction() {\n return 'dismissedAction';\n }\n}\nexport default Share;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar vibrate = pattern => {\n if ('vibrate' in window.navigator) {\n window.navigator.vibrate(pattern);\n }\n};\nvar Vibration = {\n cancel() {\n vibrate(0);\n },\n vibrate(pattern) {\n if (pattern === void 0) {\n pattern = 400;\n }\n vibrate(pattern);\n }\n};\nexport default Vibration;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animating\", \"color\", \"hidesWhenStopped\", \"size\", \"style\"];\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar createSvgCircle = style => /*#__PURE__*/React.createElement(\"circle\", {\n cx: \"16\",\n cy: \"16\",\n fill: \"none\",\n r: \"14\",\n strokeWidth: \"4\",\n style: style\n});\nvar ActivityIndicator = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var _props$animating = props.animating,\n animating = _props$animating === void 0 ? true : _props$animating,\n _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$hidesWhenStopp = props.hidesWhenStopped,\n hidesWhenStopped = _props$hidesWhenStopp === void 0 ? true : _props$hidesWhenStopp,\n _props$size = props.size,\n size = _props$size === void 0 ? 'small' : _props$size,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var svg = /*#__PURE__*/React.createElement(\"svg\", {\n height: \"100%\",\n viewBox: \"0 0 32 32\",\n width: \"100%\"\n }, createSvgCircle({\n stroke: color,\n opacity: 0.2\n }), createSvgCircle({\n stroke: color,\n strokeDasharray: 80,\n strokeDashoffset: 60\n }));\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n \"aria-valuemax\": 1,\n \"aria-valuemin\": 0,\n ref: forwardedRef,\n role: \"progressbar\",\n style: [styles.container, style]\n }), /*#__PURE__*/React.createElement(View, {\n children: svg,\n style: [typeof size === 'number' ? {\n height: size,\n width: size\n } : indicatorSizes[size], styles.animation, !animating && styles.animationPause, !animating && hidesWhenStopped && styles.hidesWhenStopped]\n }));\n});\nActivityIndicator.displayName = 'ActivityIndicator';\nvar styles = StyleSheet.create({\n container: {\n alignItems: 'center',\n justifyContent: 'center'\n },\n hidesWhenStopped: {\n visibility: 'hidden'\n },\n animation: {\n animationDuration: '0.75s',\n animationKeyframes: [{\n '0%': {\n transform: 'rotate(0deg)'\n },\n '100%': {\n transform: 'rotate(360deg)'\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n },\n animationPause: {\n animationPlayState: 'paused'\n }\n});\nvar indicatorSizes = StyleSheet.create({\n small: {\n width: 20,\n height: 20\n },\n large: {\n width: 36,\n height: 36\n }\n});\nexport default ActivityIndicator;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use client';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"activeOpacity\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"rejectResponderTermination\", \"style\"];\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n//import { warnOnce } from '../../modules/warnOnce';\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 */\nfunction TouchableOpacity(props, forwardedRef) {\n /*\n warnOnce(\n 'TouchableOpacity',\n 'TouchableOpacity is deprecated. Please use Pressable.'\n );\n */\n\n var activeOpacity = props.activeOpacity,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n rejectResponderTermination = props.rejectResponderTermination,\n style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var _useState = useState('0s'),\n duration = _useState[0],\n setDuration = _useState[1];\n var _useState2 = useState(null),\n opacityOverride = _useState2[0],\n setOpacityOverride = _useState2[1];\n var setOpacityTo = useCallback((value, duration) => {\n setOpacityOverride(value);\n setDuration(duration ? duration / 1000 + \"s\" : '0s');\n }, [setOpacityOverride, setDuration]);\n var setOpacityActive = useCallback(duration => {\n setOpacityTo(activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.2, duration);\n }, [activeOpacity, setOpacityTo]);\n var setOpacityInactive = useCallback(duration => {\n setOpacityTo(null, duration);\n }, [setOpacityTo]);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n onPressStart(event) {\n var isGrant = event.dispatchConfig != null ? event.dispatchConfig.registrationName === 'onResponderGrant' : event.type === 'keydown';\n setOpacityActive(isGrant ? 0 : 150);\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd(event) {\n setOpacityInactive(250);\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, setOpacityActive, setOpacityInactive]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n pointerEvents: disabled ? 'box-none' : undefined,\n ref: setRef,\n style: [styles.root, !disabled && styles.actionable, style, opacityOverride != null && {\n opacity: opacityOverride\n }, {\n transitionDuration: duration\n }]\n }));\n}\nvar styles = StyleSheet.create({\n root: {\n transitionProperty: 'opacity',\n transitionDuration: '0.15s',\n userSelect: 'none'\n },\n actionable: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedTouchableOpacity = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(TouchableOpacity));\nMemoedTouchableOpacity.displayName = 'TouchableOpacity';\nexport default MemoedTouchableOpacity;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport TouchableOpacity from '../TouchableOpacity';\nimport Text from '../Text';\n//import { warnOnce } from '../../modules/warnOnce';\n\nvar Button = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n // warnOnce('Button', 'Button is deprecated. Please use Pressable.');\n\n var accessibilityLabel = props.accessibilityLabel,\n color = props.color,\n disabled = props.disabled,\n onPress = props.onPress,\n testID = props.testID,\n title = props.title;\n return /*#__PURE__*/React.createElement(TouchableOpacity, {\n accessibilityLabel: accessibilityLabel,\n accessibilityRole: \"button\",\n disabled: disabled,\n focusable: !disabled,\n onPress: onPress,\n ref: forwardedRef,\n style: [styles.button, color && {\n backgroundColor: color\n }, disabled && styles.buttonDisabled],\n testID: testID\n }, /*#__PURE__*/React.createElement(Text, {\n style: [styles.text, disabled && styles.textDisabled]\n }, title));\n});\nButton.displayName = 'Button';\nvar styles = StyleSheet.create({\n button: {\n backgroundColor: '#2196F3',\n borderRadius: 2\n },\n text: {\n color: '#fff',\n fontWeight: '500',\n padding: 8,\n textAlign: 'center',\n textTransform: 'uppercase'\n },\n buttonDisabled: {\n backgroundColor: '#dfdfdf'\n },\n textDisabled: {\n color: '#a1a1a1'\n }\n});\nexport default Button;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-readonly\", \"color\", \"disabled\", \"onChange\", \"onValueChange\", \"readOnly\", \"style\", \"value\"];\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar CheckBox = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var ariaReadOnly = props['aria-readonly'],\n color = props.color,\n disabled = props.disabled,\n onChange = props.onChange,\n onValueChange = props.onValueChange,\n readOnly = props.readOnly,\n style = props.style,\n value = props.value,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n function handleChange(event) {\n var value = event.nativeEvent.target.checked;\n event.nativeEvent.value = value;\n onChange && onChange(event);\n onValueChange && onValueChange(value);\n }\n var fakeControl = /*#__PURE__*/React.createElement(View, {\n style: [styles.fakeControl, value && styles.fakeControlChecked,\n // custom color\n value && color && {\n backgroundColor: color,\n borderColor: color\n }, disabled && styles.fakeControlDisabled, value && disabled && styles.fakeControlCheckedAndDisabled]\n });\n var nativeControl = createElement('input', {\n checked: value,\n disabled: disabled,\n onChange: handleChange,\n readOnly: readOnly === true || ariaReadOnly === true || other.accessibilityReadOnly === true,\n ref: forwardedRef,\n style: [styles.nativeControl, styles.cursorInherit],\n type: 'checkbox'\n });\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n \"aria-disabled\": disabled,\n \"aria-readonly\": ariaReadOnly,\n style: [styles.root, style, disabled && styles.cursorDefault]\n }), fakeControl, nativeControl);\n});\nCheckBox.displayName = 'CheckBox';\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n height: 16,\n userSelect: 'none',\n width: 16\n },\n cursorDefault: {\n cursor: 'default'\n },\n cursorInherit: {\n cursor: 'inherit'\n },\n fakeControl: {\n alignItems: 'center',\n backgroundColor: '#fff',\n borderColor: '#657786',\n borderRadius: 2,\n borderStyle: 'solid',\n borderWidth: 2,\n height: '100%',\n justifyContent: 'center',\n width: '100%'\n },\n fakeControlChecked: {\n backgroundColor: '#009688',\n backgroundImage: 'url(\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgdmVyc2lvbj0iMS4xIgogICB2aWV3Qm94PSIwIDAgMSAxIgogICBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij4KICA8cGF0aAogICAgIGQ9Ik0gMC4wNDAzODA1OSwwLjYyNjc3NjcgMC4xNDY0NDY2MSwwLjUyMDcxMDY4IDAuNDI5Mjg5MzIsMC44MDM1NTMzOSAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IE0gMC4yMTcxNTcyOSwwLjgwMzU1MzM5IDAuODUzNTUzMzksMC4xNjcxNTcyOSAwLjk1OTYxOTQxLDAuMjczMjIzMyAwLjMyMzIyMzMsMC45MDk2MTk0MSB6IgogICAgIGlkPSJyZWN0Mzc4MCIKICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIiAvPgo8L3N2Zz4K\")',\n backgroundRepeat: 'no-repeat',\n borderColor: '#009688'\n },\n fakeControlDisabled: {\n borderColor: '#CCD6DD'\n },\n fakeControlCheckedAndDisabled: {\n backgroundColor: '#AAB8C2',\n borderColor: '#AAB8C2'\n },\n nativeControl: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n margin: 0,\n appearance: 'none',\n padding: 0,\n width: '100%'\n })\n});\nexport default CheckBox;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"style\", \"imageStyle\", \"imageRef\"];\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport Image from '../Image';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar emptyObject = {};\n\n/**\n * Very simple drop-in replacement for which supports nesting views.\n */\nvar ImageBackground = /*#__PURE__*/forwardRef((props, forwardedRef) => {\n var children = props.children,\n _props$style = props.style,\n style = _props$style === void 0 ? emptyObject : _props$style,\n imageStyle = props.imageStyle,\n imageRef = props.imageRef,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var _StyleSheet$flatten = StyleSheet.flatten(style),\n height = _StyleSheet$flatten.height,\n width = _StyleSheet$flatten.width;\n return /*#__PURE__*/React.createElement(View, {\n ref: forwardedRef,\n style: style\n }, /*#__PURE__*/React.createElement(Image, _extends({}, rest, {\n ref: imageRef,\n style: [{\n // Temporary Workaround:\n // Current (imperfect yet) implementation of 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 width,\n height,\n zIndex: -1\n }, StyleSheet.absoluteFill, imageStyle]\n })), children);\n});\nImageBackground.displayName = 'ImageBackground';\nexport default ImageBackground;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"behavior\", \"contentContainerStyle\", \"keyboardVerticalOffset\"];\nimport * as React from 'react';\nimport View from '../View';\nclass KeyboardAvoidingView extends React.Component {\n constructor() {\n super(...arguments);\n this.frame = null;\n this.onLayout = event => {\n this.frame = event.nativeEvent.layout;\n };\n }\n relativeKeyboardHeight(keyboardFrame) {\n var frame = this.frame;\n if (!frame || !keyboardFrame) {\n return 0;\n }\n var keyboardY = keyboardFrame.screenY - (this.props.keyboardVerticalOffset || 0);\n return Math.max(frame.y + frame.height - keyboardY, 0);\n }\n onKeyboardChange(event) {}\n render() {\n var _this$props = this.props,\n behavior = _this$props.behavior,\n contentContainerStyle = _this$props.contentContainerStyle,\n keyboardVerticalOffset = _this$props.keyboardVerticalOffset,\n rest = _objectWithoutPropertiesLoose(_this$props, _excluded);\n return /*#__PURE__*/React.createElement(View, _extends({\n onLayout: this.onLayout\n }, rest));\n }\n}\nexport default KeyboardAvoidingView;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDOM from '../../modules/canUseDom';\nfunction ModalPortal(props) {\n var children = props.children;\n var elementRef = React.useRef(null);\n if (canUseDOM && !elementRef.current) {\n var element = document.createElement('div');\n if (element && document.body) {\n document.body.appendChild(element);\n elementRef.current = element;\n }\n }\n React.useEffect(() => {\n if (canUseDOM) {\n return () => {\n if (document.body && elementRef.current) {\n document.body.removeChild(elementRef.current);\n elementRef.current = null;\n }\n };\n }\n }, []);\n return elementRef.current && canUseDOM ? /*#__PURE__*/ReactDOM.createPortal(children, elementRef.current) : null;\n}\nexport default ModalPortal;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport createElement from '../createElement';\nvar ANIMATION_DURATION = 300;\nfunction getAnimationStyle(animationType, visible) {\n if (animationType === 'slide') {\n return visible ? animatedSlideInStyles : animatedSlideOutStyles;\n }\n if (animationType === 'fade') {\n return visible ? animatedFadeInStyles : animatedFadeOutStyles;\n }\n return visible ? styles.container : styles.hidden;\n}\nfunction ModalAnimation(props) {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onShow = props.onShow,\n visible = props.visible;\n var _React$useState = React.useState(false),\n isRendering = _React$useState[0],\n setIsRendering = _React$useState[1];\n var wasVisible = React.useRef(false);\n var wasRendering = React.useRef(false);\n var isAnimated = animationType && animationType !== 'none';\n var animationEndCallback = React.useCallback(e => {\n if (e && e.currentTarget !== e.target) {\n // If the event was generated for something NOT this element we\n // should ignore it as it's not relevant to us\n return;\n }\n if (visible) {\n if (onShow) {\n onShow();\n }\n } else {\n setIsRendering(false);\n }\n }, [onShow, visible]);\n React.useEffect(() => {\n if (wasRendering.current && !isRendering && onDismiss) {\n onDismiss();\n }\n wasRendering.current = isRendering;\n }, [isRendering, onDismiss]);\n React.useEffect(() => {\n if (visible) {\n setIsRendering(true);\n }\n if (visible !== wasVisible.current && !isAnimated) {\n // Manually call `animationEndCallback` if no animation is used\n animationEndCallback();\n }\n wasVisible.current = visible;\n }, [isAnimated, visible, animationEndCallback]);\n return isRendering || visible ? createElement('div', {\n style: isRendering ? getAnimationStyle(animationType, visible) : styles.hidden,\n onAnimationEnd: animationEndCallback,\n children\n }) : null;\n}\nvar styles = StyleSheet.create({\n container: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n zIndex: 9999\n },\n animatedIn: {\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-in'\n },\n animatedOut: {\n pointerEvents: 'none',\n animationDuration: ANIMATION_DURATION + \"ms\",\n animationTimingFunction: 'ease-out'\n },\n fadeIn: {\n opacity: 1,\n animationKeyframes: {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n }\n },\n fadeOut: {\n opacity: 0,\n animationKeyframes: {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n }\n },\n slideIn: {\n transform: 'translateY(0%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(100%)'\n },\n '100%': {\n transform: 'translateY(0%)'\n }\n }\n },\n slideOut: {\n transform: 'translateY(100%)',\n animationKeyframes: {\n '0%': {\n transform: 'translateY(0%)'\n },\n '100%': {\n transform: 'translateY(100%)'\n }\n }\n },\n hidden: {\n opacity: 0\n }\n});\nvar animatedSlideInStyles = [styles.container, styles.animatedIn, styles.slideIn];\nvar animatedSlideOutStyles = [styles.container, styles.animatedOut, styles.slideOut];\nvar animatedFadeInStyles = [styles.container, styles.animatedIn, styles.fadeIn];\nvar animatedFadeOutStyles = [styles.container, styles.animatedOut, styles.fadeOut];\nexport default ModalAnimation;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"active\", \"children\", \"onRequestClose\", \"transparent\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport * as React from 'react';\nimport View from '../View';\nimport StyleSheet from '../StyleSheet';\nimport canUseDOM from '../../modules/canUseDom';\nvar ModalContent = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var active = props.active,\n children = props.children,\n onRequestClose = props.onRequestClose,\n transparent = props.transparent,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n React.useEffect(() => {\n if (canUseDOM) {\n var closeOnEscape = e => {\n if (active && e.key === 'Escape') {\n e.stopPropagation();\n if (onRequestClose) {\n onRequestClose();\n }\n }\n };\n document.addEventListener('keyup', closeOnEscape, false);\n return () => document.removeEventListener('keyup', closeOnEscape, false);\n }\n }, [active, onRequestClose]);\n var style = React.useMemo(() => {\n return [styles.modal, transparent ? styles.modalTransparent : styles.modalOpaque];\n }, [transparent]);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n \"aria-modal\": true,\n ref: forwardedRef,\n role: active ? 'dialog' : null,\n style: style\n }), /*#__PURE__*/React.createElement(View, {\n style: styles.container\n }, children));\n});\nvar styles = StyleSheet.create({\n modal: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n },\n modalTransparent: {\n backgroundColor: 'transparent'\n },\n modalOpaque: {\n backgroundColor: 'white'\n },\n container: {\n top: 0,\n flex: 1\n }\n});\nexport default ModalContent;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport * as React from 'react';\nimport View from '../View';\nimport createElement from '../createElement';\nimport StyleSheet from '../StyleSheet';\nimport UIManager from '../UIManager';\nimport canUseDOM from '../../modules/canUseDom';\n\n/**\n * This Component is used to \"wrap\" the modal we're opening\n * so that changing focus via tab will never leave the document.\n *\n * This allows us to properly trap the focus within a modal\n * even if the modal is at the start or end of a document.\n */\n\nvar FocusBracket = () => {\n return createElement('div', {\n role: 'none',\n tabIndex: 0,\n style: styles.focusBracket\n });\n};\nfunction attemptFocus(element) {\n if (!canUseDOM) {\n return false;\n }\n try {\n element.focus();\n } catch (e) {\n // Do nothing\n }\n return document.activeElement === element;\n}\nfunction focusFirstDescendant(element) {\n for (var i = 0; i < element.childNodes.length; i++) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusFirstDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nfunction focusLastDescendant(element) {\n for (var i = element.childNodes.length - 1; i >= 0; i--) {\n var child = element.childNodes[i];\n if (attemptFocus(child) || focusLastDescendant(child)) {\n return true;\n }\n }\n return false;\n}\nvar ModalFocusTrap = _ref => {\n var active = _ref.active,\n children = _ref.children;\n var trapElementRef = React.useRef();\n var focusRef = React.useRef({\n trapFocusInProgress: false,\n lastFocusedElement: null\n });\n React.useEffect(() => {\n if (canUseDOM) {\n var trapFocus = () => {\n // We should not trap focus if:\n // - The modal hasn't fully initialized with an HTMLElement ref\n // - Focus is already in the process of being trapped (e.g., we're refocusing)\n // - isTrapActive prop being falsey tells us to do nothing\n if (trapElementRef.current == null || focusRef.current.trapFocusInProgress || !active) {\n return;\n }\n try {\n focusRef.current.trapFocusInProgress = true;\n if (document.activeElement instanceof Node && !trapElementRef.current.contains(document.activeElement)) {\n // To handle keyboard focusing we can make an assumption here.\n // If you're tabbing through the focusable elements, the previously\n // active element will either be the first or the last.\n // If the previously selected element is the \"first\" descendant\n // and we're leaving it - this means that we should be looping\n // around to the other side of the modal.\n var hasFocused = focusFirstDescendant(trapElementRef.current);\n if (focusRef.current.lastFocusedElement === document.activeElement) {\n hasFocused = focusLastDescendant(trapElementRef.current);\n }\n // If we couldn't focus a new element then we need to focus onto the trap target\n if (!hasFocused && trapElementRef.current != null && document.activeElement) {\n UIManager.focus(trapElementRef.current);\n }\n }\n } finally {\n focusRef.current.trapFocusInProgress = false;\n }\n focusRef.current.lastFocusedElement = document.activeElement;\n };\n\n // Call the trapFocus callback at least once when this modal has been activated.\n trapFocus();\n document.addEventListener('focus', trapFocus, true);\n return () => document.removeEventListener('focus', trapFocus, true);\n }\n }, [active]);\n\n // To be fully compliant with WCAG we need to refocus element that triggered opening modal\n // after closing it\n React.useEffect(function () {\n if (canUseDOM) {\n var lastFocusedElementOutsideTrap = document.activeElement;\n return function () {\n if (lastFocusedElementOutsideTrap && document.contains(lastFocusedElementOutsideTrap)) {\n UIManager.focus(lastFocusedElementOutsideTrap);\n }\n };\n }\n }, []);\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FocusBracket, null), /*#__PURE__*/React.createElement(View, {\n ref: trapElementRef\n }, children), /*#__PURE__*/React.createElement(FocusBracket, null));\n};\nexport default ModalFocusTrap;\nvar styles = StyleSheet.create({\n focusBracket: {\n outlineStyle: 'none'\n }\n});","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"animationType\", \"children\", \"onDismiss\", \"onRequestClose\", \"onShow\", \"transparent\", \"visible\"];\nimport * as React from 'react';\nimport ModalPortal from './ModalPortal';\nimport ModalAnimation from './ModalAnimation';\nimport ModalContent from './ModalContent';\nimport ModalFocusTrap from './ModalFocusTrap';\nvar uniqueModalIdentifier = 0;\nvar activeModalStack = [];\nvar activeModalListeners = {};\nfunction notifyActiveModalListeners() {\n if (activeModalStack.length === 0) {\n return;\n }\n var activeModalId = activeModalStack[activeModalStack.length - 1];\n activeModalStack.forEach(modalId => {\n if (modalId in activeModalListeners) {\n activeModalListeners[modalId](modalId === activeModalId);\n }\n });\n}\nfunction removeActiveModal(modalId) {\n if (modalId in activeModalListeners) {\n // Before removing this listener we should probably tell it\n // that it's no longer the active modal for sure.\n activeModalListeners[modalId](false);\n delete activeModalListeners[modalId];\n }\n var index = activeModalStack.indexOf(modalId);\n if (index !== -1) {\n activeModalStack.splice(index, 1);\n notifyActiveModalListeners();\n }\n}\nfunction addActiveModal(modalId, listener) {\n removeActiveModal(modalId);\n activeModalStack.push(modalId);\n activeModalListeners[modalId] = listener;\n notifyActiveModalListeners();\n}\nvar Modal = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var animationType = props.animationType,\n children = props.children,\n onDismiss = props.onDismiss,\n onRequestClose = props.onRequestClose,\n onShow = props.onShow,\n transparent = props.transparent,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n\n // Set a unique model identifier so we can correctly route\n // dismissals and check the layering of modals.\n var modalId = React.useMemo(() => uniqueModalIdentifier++, []);\n var _React$useState = React.useState(false),\n isActive = _React$useState[0],\n setIsActive = _React$useState[1];\n var onDismissCallback = React.useCallback(() => {\n removeActiveModal(modalId);\n if (onDismiss) {\n onDismiss();\n }\n }, [modalId, onDismiss]);\n var onShowCallback = React.useCallback(() => {\n addActiveModal(modalId, setIsActive);\n if (onShow) {\n onShow();\n }\n }, [modalId, onShow]);\n React.useEffect(() => {\n return () => removeActiveModal(modalId);\n }, [modalId]);\n return /*#__PURE__*/React.createElement(ModalPortal, null, /*#__PURE__*/React.createElement(ModalAnimation, {\n animationType: animationType,\n onDismiss: onDismissCallback,\n onShow: onShowCallback,\n visible: visible\n }, /*#__PURE__*/React.createElement(ModalFocusTrap, {\n active: isActive\n }, /*#__PURE__*/React.createElement(ModalContent, _extends({}, rest, {\n active: isActive,\n onRequestClose: onRequestClose,\n ref: forwardedRef,\n transparent: transparent\n }), children))));\n});\nexport default Modal;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"children\", \"enabled\", \"onValueChange\", \"selectedValue\", \"style\", \"testID\", \"itemStyle\", \"mode\", \"prompt\"];\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePlatformMethods from '../../modules/usePlatformMethods';\nimport PickerItem from './PickerItem';\nimport StyleSheet from '../StyleSheet';\nvar Picker = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var children = props.children,\n enabled = props.enabled,\n onValueChange = props.onValueChange,\n selectedValue = props.selectedValue,\n style = props.style,\n testID = props.testID,\n itemStyle = props.itemStyle,\n mode = props.mode,\n prompt = props.prompt,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var hostRef = React.useRef(null);\n function handleChange(e) {\n var _e$target = e.target,\n selectedIndex = _e$target.selectedIndex,\n value = _e$target.value;\n if (onValueChange) {\n onValueChange(value, selectedIndex);\n }\n }\n\n // $FlowFixMe\n var supportedProps = _objectSpread({\n children,\n disabled: enabled === false ? true : undefined,\n onChange: handleChange,\n style: [styles.initial, style],\n testID,\n value: selectedValue\n }, other);\n var platformMethodsRef = usePlatformMethods(supportedProps);\n var setRef = useMergeRefs(hostRef, platformMethodsRef, forwardedRef);\n supportedProps.ref = setRef;\n return createElement('select', supportedProps);\n});\n\n// $FlowFixMe\nPicker.Item = PickerItem;\nvar styles = StyleSheet.create({\n initial: {\n fontFamily: 'System',\n fontSize: 'inherit',\n margin: 0\n }\n});\nexport default Picker;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport createElement from '../createElement';\nexport default function PickerItem(props) {\n var color = props.color,\n label = props.label,\n testID = props.testID,\n value = props.value;\n var style = {\n color\n };\n return createElement('option', {\n children: label,\n style,\n testID,\n value\n });\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\n'use client';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"color\", \"indeterminate\", \"progress\", \"trackColor\", \"style\"];\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar ProgressBar = /*#__PURE__*/React.forwardRef((props, ref) => {\n var _props$color = props.color,\n color = _props$color === void 0 ? '#1976D2' : _props$color,\n _props$indeterminate = props.indeterminate,\n indeterminate = _props$indeterminate === void 0 ? false : _props$indeterminate,\n _props$progress = props.progress,\n progress = _props$progress === void 0 ? 0 : _props$progress,\n _props$trackColor = props.trackColor,\n trackColor = _props$trackColor === void 0 ? 'transparent' : _props$trackColor,\n style = props.style,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var percentageProgress = progress * 100;\n var width = indeterminate ? '25%' : percentageProgress + \"%\";\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n \"aria-valuemax\": 100,\n \"aria-valuemin\": 0,\n \"aria-valuenow\": indeterminate ? null : percentageProgress,\n ref: ref,\n role: \"progressbar\",\n style: [styles.track, style, {\n backgroundColor: trackColor\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [{\n backgroundColor: color,\n width\n }, styles.progress, indeterminate && styles.animation]\n }));\n});\nProgressBar.displayName = 'ProgressBar';\nvar styles = StyleSheet.create({\n track: {\n forcedColorAdjust: 'none',\n height: 5,\n overflow: 'hidden',\n userSelect: 'none',\n zIndex: 0\n },\n progress: {\n forcedColorAdjust: 'none',\n height: '100%',\n zIndex: -1\n },\n animation: {\n animationDuration: '1s',\n animationKeyframes: [{\n '0%': {\n transform: 'translateX(-100%)'\n },\n '100%': {\n transform: 'translateX(400%)'\n }\n }],\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite'\n }\n});\nexport default ProgressBar;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"];\n/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport * as React from 'react';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nimport canUseDOM from '../../modules/canUseDom';\nvar cssFunction = function () {\n if (canUseDOM && window.CSS && window.CSS.supports && window.CSS.supports('top: constant(safe-area-inset-top)')) {\n return 'constant';\n }\n return 'env';\n}();\nvar SafeAreaView = /*#__PURE__*/React.forwardRef((props, ref) => {\n var style = props.style,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, {\n ref: ref,\n style: [styles.root, style]\n }));\n});\nSafeAreaView.displayName = 'SafeAreaView';\nvar styles = StyleSheet.create({\n root: {\n paddingTop: cssFunction + \"(safe-area-inset-top)\",\n paddingRight: cssFunction + \"(safe-area-inset-right)\",\n paddingBottom: cssFunction + \"(safe-area-inset-bottom)\",\n paddingLeft: cssFunction + \"(safe-area-inset-left)\"\n }\n});\nexport default SafeAreaView;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar emptyFunction = () => {};\nfunction StatusBar() {\n return null;\n}\nStatusBar.setBackgroundColor = emptyFunction;\nStatusBar.setBarStyle = emptyFunction;\nStatusBar.setHidden = emptyFunction;\nStatusBar.setNetworkActivityIndicatorVisible = emptyFunction;\nStatusBar.setTranslucent = emptyFunction;\nexport default StatusBar;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar CSS_UNIT_RE = /^[+-]?\\d*(?:\\.\\d+)?(?:[Ee][+-]?\\d+)?(%|\\w*)/;\nvar getUnit = str => str.match(CSS_UNIT_RE)[1];\nvar isNumeric = n => {\n return !isNaN(parseFloat(n)) && isFinite(n);\n};\nvar multiplyStyleLengthValue = (value, multiple) => {\n if (typeof value === 'string') {\n var number = parseFloat(value) * multiple;\n var unit = getUnit(value);\n return \"\" + number + unit;\n } else if (isNumeric(value)) {\n return value * multiple;\n }\n};\nexport default multiplyStyleLengthValue;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\n'use client';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"aria-label\", \"accessibilityLabel\", \"activeThumbColor\", \"activeTrackColor\", \"disabled\", \"onValueChange\", \"style\", \"thumbColor\", \"trackColor\", \"value\"];\nimport * as React from 'react';\nimport createElement from '../createElement';\nimport multiplyStyleLengthValue from '../../modules/multiplyStyleLengthValue';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\nvar emptyObject = {};\nvar thumbDefaultBoxShadow = '0px 1px 3px rgba(0,0,0,0.5)';\nvar thumbFocusedBoxShadow = thumbDefaultBoxShadow + \", 0 0 0 10px rgba(0,0,0,0.1)\";\nvar defaultActiveTrackColor = '#A3D3CF';\nvar defaultTrackColor = '#939393';\nvar defaultDisabledTrackColor = '#D5D5D5';\nvar defaultActiveThumbColor = '#009688';\nvar defaultThumbColor = '#FAFAFA';\nvar defaultDisabledThumbColor = '#BDBDBD';\nvar Switch = /*#__PURE__*/React.forwardRef((props, forwardedRef) => {\n var ariaLabel = props['aria-label'],\n accessibilityLabel = props.accessibilityLabel,\n activeThumbColor = props.activeThumbColor,\n activeTrackColor = props.activeTrackColor,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n onValueChange = props.onValueChange,\n _props$style = props.style,\n style = _props$style === void 0 ? emptyObject : _props$style,\n thumbColor = props.thumbColor,\n trackColor = props.trackColor,\n _props$value = props.value,\n value = _props$value === void 0 ? false : _props$value,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n var thumbRef = React.useRef(null);\n function handleChange(event) {\n if (onValueChange != null) {\n onValueChange(event.nativeEvent.target.checked);\n }\n }\n function handleFocusState(event) {\n var isFocused = event.nativeEvent.type === 'focus';\n var boxShadow = isFocused ? thumbFocusedBoxShadow : thumbDefaultBoxShadow;\n if (thumbRef.current != null) {\n thumbRef.current.style.boxShadow = boxShadow;\n }\n }\n var _StyleSheet$flatten = StyleSheet.flatten(style),\n styleHeight = _StyleSheet$flatten.height,\n styleWidth = _StyleSheet$flatten.width;\n var height = styleHeight || '20px';\n var minWidth = multiplyStyleLengthValue(height, 2);\n var width = styleWidth > minWidth ? styleWidth : minWidth;\n var trackBorderRadius = multiplyStyleLengthValue(height, 0.5);\n var trackCurrentColor = function () {\n if (value === true) {\n if (trackColor != null && typeof trackColor === 'object') {\n return trackColor.true;\n } else {\n return activeTrackColor !== null && activeTrackColor !== void 0 ? activeTrackColor : defaultActiveTrackColor;\n }\n } else {\n if (trackColor != null && typeof trackColor === 'object') {\n return trackColor.false;\n } else {\n return trackColor !== null && trackColor !== void 0 ? trackColor : defaultTrackColor;\n }\n }\n }();\n var thumbCurrentColor = value ? activeThumbColor !== null && activeThumbColor !== void 0 ? activeThumbColor : defaultActiveThumbColor : thumbColor !== null && thumbColor !== void 0 ? thumbColor : defaultThumbColor;\n var thumbHeight = height;\n var thumbWidth = thumbHeight;\n var rootStyle = [styles.root, style, disabled && styles.cursorDefault, {\n height,\n width\n }];\n var disabledTrackColor = function () {\n if (value === true) {\n if (typeof activeTrackColor === 'string' && activeTrackColor != null || typeof trackColor === 'object' && trackColor != null && trackColor.true) {\n return trackCurrentColor;\n } else {\n return defaultDisabledTrackColor;\n }\n } else {\n if (typeof trackColor === 'string' && trackColor != null || typeof trackColor === 'object' && trackColor != null && trackColor.false) {\n return trackCurrentColor;\n } else {\n return defaultDisabledTrackColor;\n }\n }\n }();\n var disabledThumbColor = function () {\n if (value === true) {\n if (activeThumbColor == null) {\n return defaultDisabledThumbColor;\n } else {\n return thumbCurrentColor;\n }\n } else {\n if (thumbColor == null) {\n return defaultDisabledThumbColor;\n } else {\n return thumbCurrentColor;\n }\n }\n }();\n var trackStyle = [styles.track, {\n backgroundColor: disabled ? disabledTrackColor : trackCurrentColor,\n borderRadius: trackBorderRadius\n }];\n var thumbStyle = [styles.thumb, value && styles.thumbActive, {\n backgroundColor: disabled ? disabledThumbColor : thumbCurrentColor,\n height: thumbHeight,\n marginStart: value ? multiplyStyleLengthValue(thumbWidth, -1) : 0,\n width: thumbWidth\n }];\n var nativeControl = createElement('input', {\n 'aria-label': ariaLabel || accessibilityLabel,\n checked: value,\n disabled: disabled,\n onBlur: handleFocusState,\n onChange: handleChange,\n onFocus: handleFocusState,\n ref: forwardedRef,\n style: [styles.nativeControl, styles.cursorInherit],\n type: 'checkbox',\n role: 'switch'\n });\n return /*#__PURE__*/React.createElement(View, _extends({}, other, {\n style: rootStyle\n }), /*#__PURE__*/React.createElement(View, {\n style: trackStyle\n }), /*#__PURE__*/React.createElement(View, {\n ref: thumbRef,\n style: thumbStyle\n }), nativeControl);\n});\nSwitch.displayName = 'Switch';\nvar styles = StyleSheet.create({\n root: {\n cursor: 'pointer',\n userSelect: 'none'\n },\n cursorDefault: {\n cursor: 'default'\n },\n cursorInherit: {\n cursor: 'inherit'\n },\n track: _objectSpread(_objectSpread({\n forcedColorAdjust: 'none'\n }, StyleSheet.absoluteFillObject), {}, {\n height: '70%',\n margin: 'auto',\n transitionDuration: '0.1s',\n width: '100%'\n }),\n thumb: {\n forcedColorAdjust: 'none',\n alignSelf: 'flex-start',\n borderRadius: '100%',\n boxShadow: thumbDefaultBoxShadow,\n start: '0%',\n transform: 'translateZ(0)',\n transitionDuration: '0.1s'\n },\n thumbActive: {\n insetInlineStart: '100%'\n },\n nativeControl: _objectSpread(_objectSpread({}, StyleSheet.absoluteFillObject), {}, {\n height: '100%',\n margin: 0,\n appearance: 'none',\n padding: 0,\n width: '100%'\n })\n});\nexport default Switch;","/* eslint-disable */\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 * From React 16.0.0\n */\n\nimport invariant from 'fbjs/lib/invariant';\nvar twoArgumentPooler = function twoArgumentPooler(a1, a2) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\nvar standardReleaser = function standardReleaser(instance) {\n var Klass = this;\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = twoArgumentPooler;\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 */\nvar addPoolingTo = function addPoolingTo(CopyConstructor, pooler) {\n // Casting as any so that flow ignores the actual implementation and trusts\n // it to match the type we declared\n var NewKlass = 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};\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n twoArgumentPooler: twoArgumentPooler\n};\nexport default PooledClass;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport PooledClass from '../../vendor/react-native/PooledClass';\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\n\n/**\n * PooledClass representing the bounding rectangle of a region.\n */\nfunction BoundingDimensions(width, height) {\n this.width = width;\n this.height = height;\n}\nBoundingDimensions.prototype.destructor = function () {\n this.width = null;\n this.height = null;\n};\nBoundingDimensions.getPooledFromElement = function (element) {\n return BoundingDimensions.getPooled(element.offsetWidth, element.offsetHeight);\n};\nPooledClass.addPoolingTo(BoundingDimensions, twoArgumentPooler);\nexport default BoundingDimensions;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport PooledClass from '../../vendor/react-native/PooledClass';\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\nfunction Position(left, top) {\n this.left = left;\n this.top = top;\n}\nPosition.prototype.destructor = function () {\n this.left = null;\n this.top = null;\n};\nPooledClass.addPoolingTo(Position, twoArgumentPooler);\nexport default Position;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport AccessibilityUtil from '../../modules/AccessibilityUtil';\nimport BoundingDimensions from './BoundingDimensions';\nimport normalizeColor from '@react-native/normalize-colors';\nimport Position from './Position';\nimport React from 'react';\nimport UIManager from '../UIManager';\nimport View from '../View';\nimport { warnOnce } from '../../modules/warnOnce';\nvar extractSingleTouch = nativeEvent => {\n var touches = nativeEvent.touches;\n var changedTouches = nativeEvent.changedTouches;\n var hasTouches = touches && touches.length > 0;\n var hasChangedTouches = changedTouches && changedTouches.length > 0;\n return !hasTouches && hasChangedTouches ? changedTouches[0] : hasTouches ? touches[0] : 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 * - Add a method to get your touchable component's node.\n * getTouchableNode: function() {\n * return this.touchableRef.current\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\nvar States = {\n NOT_RESPONDER: 'NOT_RESPONDER',\n // Not the responder\n RESPONDER_INACTIVE_PRESS_IN: 'RESPONDER_INACTIVE_PRESS_IN',\n // Responder, inactive, in the `PressRect`\n RESPONDER_INACTIVE_PRESS_OUT: 'RESPONDER_INACTIVE_PRESS_OUT',\n // Responder, inactive, out of `PressRect`\n RESPONDER_ACTIVE_PRESS_IN: 'RESPONDER_ACTIVE_PRESS_IN',\n // Responder, active, in the `PressRect`\n RESPONDER_ACTIVE_PRESS_OUT: 'RESPONDER_ACTIVE_PRESS_OUT',\n // Responder, active, out of `PressRect`\n RESPONDER_ACTIVE_LONG_PRESS_IN: 'RESPONDER_ACTIVE_LONG_PRESS_IN',\n // Responder, active, in the `PressRect`, after long press threshold\n RESPONDER_ACTIVE_LONG_PRESS_OUT: 'RESPONDER_ACTIVE_LONG_PRESS_OUT',\n // Responder, active, out of `PressRect`, after long press threshold\n ERROR: 'ERROR'\n};\n/*\n * Quick lookup map for states that are considered to be \"active\"\n */\n\nvar 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};\nvar IsActive = _objectSpread(_objectSpread({}, 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 */\nvar IsPressingIn = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_INACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_PRESS_IN: true,\n RESPONDER_ACTIVE_LONG_PRESS_IN: true\n});\nvar IsLongPressingIn = _objectSpread(_objectSpread({}, baseStatesConditions), {}, {\n RESPONDER_ACTIVE_LONG_PRESS_IN: true\n});\n\n/**\n * Inputs to the state machine.\n */\nvar 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/**\n * Mapping from States x Signals => States\n */\nvar 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;\nvar HIGHLIGHT_DELAY_MS = 130;\nvar PRESS_EXPAND_PX = 20;\nvar LONG_PRESS_THRESHOLD = 500;\nvar LONG_PRESS_DELAY_MS = LONG_PRESS_THRESHOLD - HIGHLIGHT_DELAY_MS;\nvar 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 */\nvar TouchableMixin = {\n // HACK (part 1): basic support for touchable interactions using a keyboard\n componentDidMount: function componentDidMount() {\n warnOnce('TouchableMixin', 'TouchableMixin is deprecated. Please use Pressable.');\n var touchableNode = this.getTouchableNode && this.getTouchableNode();\n if (touchableNode && touchableNode.addEventListener) {\n this._touchableBlurListener = e => {\n if (this._isTouchableKeyboardActive) {\n if (this.state.touchable.touchState && this.state.touchable.touchState !== States.NOT_RESPONDER) {\n this.touchableHandleResponderTerminate({\n nativeEvent: e\n });\n }\n this._isTouchableKeyboardActive = false;\n }\n };\n touchableNode.addEventListener('blur', this._touchableBlurListener);\n }\n },\n /**\n * Clear all timeouts on unmount\n */\n componentWillUnmount: function componentWillUnmount() {\n var touchableNode = this.getTouchableNode && this.getTouchableNode();\n if (touchableNode && touchableNode.addEventListener) {\n touchableNode.removeEventListener('blur', this._touchableBlurListener);\n }\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);\n // Clear DOM nodes\n this.pressInLocation = null;\n this.state.touchable.responderID = null;\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 touchableGetInitialState() {\n return {\n touchable: {\n touchState: undefined,\n 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 touchableHandleResponderTerminationRequest: function touchableHandleResponderTerminationRequest() {\n return !this.props.rejectResponderTermination;\n },\n /**\n * Must return true to start the process of `Touchable`.\n */\n touchableHandleStartShouldSetResponder: function touchableHandleStartShouldSetResponder() {\n return !this.props.disabled;\n },\n /**\n * Return true to cancel press on long press.\n */\n touchableLongPressCancelsPress: function touchableLongPressCancelsPress() {\n return true;\n },\n /**\n * Place as callback for a DOM element's `onResponderGrant` event.\n * @param {SyntheticEvent} e Synthetic event from event system.\n *\n */\n touchableHandleResponderGrant: function touchableHandleResponderGrant(e) {\n var 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 this.pressOutDelayTimeout && clearTimeout(this.pressOutDelayTimeout);\n this.pressOutDelayTimeout = null;\n this.state.touchable.touchState = States.NOT_RESPONDER;\n this.state.touchable.responderID = dispatchID;\n this._receiveSignal(Signals.RESPONDER_GRANT, e);\n var delayMS = this.touchableGetHighlightDelayMS !== undefined ? Math.max(this.touchableGetHighlightDelayMS(), 0) : HIGHLIGHT_DELAY_MS;\n delayMS = isNaN(delayMS) ? HIGHLIGHT_DELAY_MS : delayMS;\n if (delayMS !== 0) {\n this.touchableDelayTimeout = setTimeout(this._handleDelay.bind(this, e), delayMS);\n } else {\n this._handleDelay(e);\n }\n var longDelayMS = this.touchableGetLongPressDelayMS !== undefined ? Math.max(this.touchableGetLongPressDelayMS(), 10) : LONG_PRESS_DELAY_MS;\n longDelayMS = isNaN(longDelayMS) ? LONG_PRESS_DELAY_MS : longDelayMS;\n this.longPressDelayTimeout = setTimeout(this._handleLongDelay.bind(this, e), longDelayMS + delayMS);\n },\n /**\n * Place as callback for a DOM element's `onResponderRelease` event.\n */\n touchableHandleResponderRelease: function touchableHandleResponderRelease(e) {\n this.pressInLocation = null;\n this._receiveSignal(Signals.RESPONDER_RELEASE, e);\n },\n /**\n * Place as callback for a DOM element's `onResponderTerminate` event.\n */\n touchableHandleResponderTerminate: function touchableHandleResponderTerminate(e) {\n this.pressInLocation = null;\n this._receiveSignal(Signals.RESPONDER_TERMINATED, e);\n },\n /**\n * Place as callback for a DOM element's `onResponderMove` event.\n */\n touchableHandleResponderMove: function touchableHandleResponderMove(e) {\n // Measurement may not have returned yet.\n if (!this.state.touchable.positionOnActivate) {\n return;\n }\n var positionOnActivate = this.state.touchable.positionOnActivate;\n var dimensionsOnActivate = this.state.touchable.dimensionsOnActivate;\n var pressRectOffset = this.touchableGetPressRectOffset ? this.touchableGetPressRectOffset() : {\n left: PRESS_EXPAND_PX,\n right: PRESS_EXPAND_PX,\n top: PRESS_EXPAND_PX,\n bottom: PRESS_EXPAND_PX\n };\n var pressExpandLeft = pressRectOffset.left;\n var pressExpandTop = pressRectOffset.top;\n var pressExpandRight = pressRectOffset.right;\n var pressExpandBottom = pressRectOffset.bottom;\n var hitSlop = this.touchableGetHitSlop ? this.touchableGetHitSlop() : null;\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 var touch = extractSingleTouch(e.nativeEvent);\n var pageX = touch && touch.pageX;\n var pageY = touch && touch.pageY;\n if (this.pressInLocation) {\n var movedDistance = this._getDistanceBetweenPoints(pageX, pageY, this.pressInLocation.pageX, this.pressInLocation.pageY);\n if (movedDistance > LONG_PRESS_ALLOWED_MOVEMENT) {\n this._cancelLongPressDelayTimeout();\n }\n }\n var isTouchWithinActive = pageX > positionOnActivate.left - pressExpandLeft && pageY > positionOnActivate.top - pressExpandTop && pageX < positionOnActivate.left + dimensionsOnActivate.width + pressExpandRight && pageY < positionOnActivate.top + dimensionsOnActivate.height + pressExpandBottom;\n if (isTouchWithinActive) {\n var prevState = this.state.touchable.touchState;\n this._receiveSignal(Signals.ENTER_PRESS_RECT, e);\n var curState = this.state.touchable.touchState;\n if (curState === States.RESPONDER_INACTIVE_PRESS_IN && prevState !== States.RESPONDER_INACTIVE_PRESS_IN) {\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 * 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 touchableHandleFocus: function touchableHandleFocus(e) {\n this.props.onFocus && this.props.onFocus(e);\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 touchableHandleBlur: function touchableHandleBlur(e) {\n this.props.onBlur && this.props.onBlur(e);\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 _remeasureMetricsOnActivation: function _remeasureMetricsOnActivation() {\n var tag = this.state.touchable.responderID;\n if (tag == null) {\n return;\n }\n UIManager.measure(tag, this._handleQueryLayout);\n },\n _handleQueryLayout: function _handleQueryLayout(l, t, w, h, globalX, globalY) {\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 && Position.release(this.state.touchable.positionOnActivate);\n this.state.touchable.dimensionsOnActivate &&\n // $FlowFixMe\n BoundingDimensions.release(this.state.touchable.dimensionsOnActivate);\n this.state.touchable.positionOnActivate = Position.getPooled(globalX, globalY);\n // $FlowFixMe\n this.state.touchable.dimensionsOnActivate = BoundingDimensions.getPooled(w, h);\n },\n _handleDelay: function _handleDelay(e) {\n this.touchableDelayTimeout = null;\n this._receiveSignal(Signals.DELAY, e);\n },\n _handleLongDelay: function _handleLongDelay(e) {\n this.longPressDelayTimeout = null;\n var curState = this.state.touchable.touchState;\n if (curState !== States.RESPONDER_ACTIVE_PRESS_IN && curState !== States.RESPONDER_ACTIVE_LONG_PRESS_IN) {\n console.error('Attempted to transition from state `' + curState + '` to `' + States.RESPONDER_ACTIVE_LONG_PRESS_IN + '`, which is not supported. This is ' + 'most likely due to `Touchable.longPressDelayTimeout` not being cancelled.');\n } else {\n this._receiveSignal(Signals.LONG_PRESS_DETECTED, e);\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 _receiveSignal: function _receiveSignal(signal, e) {\n var responderID = this.state.touchable.responderID;\n var curState = this.state.touchable.touchState;\n var nextState = Transitions[curState] && Transitions[curState][signal];\n if (!responderID && signal === Signals.RESPONDER_RELEASE) {\n return;\n }\n if (!nextState) {\n throw new Error('Unrecognized signal `' + signal + '` or state `' + curState + '` for Touchable responder `' + responderID + '`');\n }\n if (nextState === States.ERROR) {\n throw new Error('Touchable cannot transition from `' + curState + '` to `' + signal + '` for responder `' + responderID + '`');\n }\n if (curState !== nextState) {\n this._performSideEffectsForTransition(curState, nextState, signal, e);\n this.state.touchable.touchState = nextState;\n }\n },\n _cancelLongPressDelayTimeout: function _cancelLongPressDelayTimeout() {\n this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout);\n this.longPressDelayTimeout = null;\n },\n _isHighlight: function _isHighlight(state) {\n return state === States.RESPONDER_ACTIVE_PRESS_IN || state === States.RESPONDER_ACTIVE_LONG_PRESS_IN;\n },\n _savePressInLocation: function _savePressInLocation(e) {\n var touch = extractSingleTouch(e.nativeEvent);\n var pageX = touch && touch.pageX;\n var pageY = touch && touch.pageY;\n var locationX = touch && touch.locationX;\n var locationY = touch && touch.locationY;\n this.pressInLocation = {\n pageX,\n pageY,\n locationX,\n locationY\n };\n },\n _getDistanceBetweenPoints: function _getDistanceBetweenPoints(aX, aY, bX, bY) {\n var deltaX = aX - bX;\n var deltaY = aY - bY;\n return Math.sqrt(deltaX * deltaX + deltaY * deltaY);\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 _performSideEffectsForTransition: function _performSideEffectsForTransition(curState, nextState, signal, e) {\n var curIsHighlight = this._isHighlight(curState);\n var newIsHighlight = this._isHighlight(nextState);\n var isFinalSignal = signal === Signals.RESPONDER_TERMINATED || signal === Signals.RESPONDER_RELEASE;\n if (isFinalSignal) {\n this._cancelLongPressDelayTimeout();\n }\n var isInitialTransition = curState === States.NOT_RESPONDER && nextState === States.RESPONDER_INACTIVE_PRESS_IN;\n var isActiveTransition = !IsActive[curState] && IsActive[nextState];\n if (isInitialTransition || isActiveTransition) {\n this._remeasureMetricsOnActivation();\n }\n if (IsPressingIn[curState] && signal === Signals.LONG_PRESS_DETECTED) {\n this.touchableHandleLongPress && this.touchableHandleLongPress(e);\n }\n if (newIsHighlight && !curIsHighlight) {\n this._startHighlight(e);\n } else if (!newIsHighlight && curIsHighlight) {\n this._endHighlight(e);\n }\n if (IsPressingIn[curState] && signal === Signals.RESPONDER_RELEASE) {\n var hasLongPressHandler = !!this.props.onLongPress;\n var pressIsLongButStillCallOnPress = IsLongPressingIn[curState] && (\n // We *are* long pressing.. // But either has no long handler\n !hasLongPressHandler || !this.touchableLongPressCancelsPress()); // or we're told to ignore it.\n\n var shouldInvokePress = !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 this.touchableHandlePress(e);\n }\n }\n this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout);\n this.touchableDelayTimeout = null;\n },\n _playTouchSound: function _playTouchSound() {\n UIManager.playTouchSound();\n },\n _startHighlight: function _startHighlight(e) {\n this._savePressInLocation(e);\n this.touchableHandleActivePressIn && this.touchableHandleActivePressIn(e);\n },\n _endHighlight: function _endHighlight(e) {\n if (this.touchableHandleActivePressOut) {\n if (this.touchableGetPressOutDelayMS && this.touchableGetPressOutDelayMS()) {\n this.pressOutDelayTimeout = setTimeout(() => {\n this.touchableHandleActivePressOut(e);\n }, this.touchableGetPressOutDelayMS());\n } else {\n this.touchableHandleActivePressOut(e);\n }\n }\n },\n // HACK (part 2): basic support for touchable interactions using a keyboard (including\n // delays and longPress)\n touchableHandleKeyEvent: function touchableHandleKeyEvent(e) {\n var type = e.type,\n key = e.key;\n if (key === 'Enter' || key === ' ') {\n if (type === 'keydown') {\n if (!this._isTouchableKeyboardActive) {\n if (!this.state.touchable.touchState || this.state.touchable.touchState === States.NOT_RESPONDER) {\n this.touchableHandleResponderGrant(e);\n this._isTouchableKeyboardActive = true;\n }\n }\n } else if (type === 'keyup') {\n if (this._isTouchableKeyboardActive) {\n if (this.state.touchable.touchState && this.state.touchable.touchState !== States.NOT_RESPONDER) {\n this.touchableHandleResponderRelease(e);\n this._isTouchableKeyboardActive = false;\n }\n }\n }\n e.stopPropagation();\n // prevent the default behaviour unless the Touchable functions as a link\n // and Enter is pressed\n if (!(key === 'Enter' && AccessibilityUtil.propsToAriaRole(this.props) === 'link')) {\n e.preventDefault();\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 */\nvar touchableHandleFocus = TouchableMixin.touchableHandleFocus,\n touchableHandleBlur = TouchableMixin.touchableHandleBlur,\n TouchableMixinWithoutDefaultFocusAndBlur = _objectWithoutPropertiesLoose(TouchableMixin, [\"touchableHandleFocus\", \"touchableHandleBlur\"]);\nTouchableMixin.withoutDefaultFocusAndBlur = TouchableMixinWithoutDefaultFocusAndBlur;\nvar Touchable = {\n Mixin: TouchableMixin,\n TOUCH_TARGET_DEBUG: false,\n // Highlights all touchable targets. Toggle with Inspector.\n /**\n * Renders a debugging overlay to visualize touch target with hitSlop (might not work on Android).\n */\n renderDebugView: _ref => {\n var color = _ref.color,\n hitSlop = _ref.hitSlop;\n if (!Touchable.TOUCH_TARGET_DEBUG) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n throw Error('Touchable.TOUCH_TARGET_DEBUG should not be enabled in prod!');\n }\n var debugHitSlopStyle = {};\n hitSlop = hitSlop || {\n top: 0,\n bottom: 0,\n left: 0,\n right: 0\n };\n for (var key in hitSlop) {\n debugHitSlopStyle[key] = -hitSlop[key];\n }\n var normalizedColor = normalizeColor(color);\n if (typeof normalizedColor !== 'number') {\n return null;\n }\n var hexColor = '#' + ('00000000' + normalizedColor.toString(16)).substr(-8);\n return /*#__PURE__*/React.createElement(View, {\n pointerEvents: \"none\",\n style: _objectSpread({\n position: 'absolute',\n borderColor: hexColor.slice(0, -2) + '55',\n // More opaque\n borderWidth: 1,\n borderStyle: 'dashed',\n backgroundColor: hexColor.slice(0, -2) + '0F'\n }, debugHitSlopStyle)\n });\n }\n};\nexport default Touchable;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use client';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"activeOpacity\", \"children\", \"delayPressIn\", \"delayPressOut\", \"delayLongPress\", \"disabled\", \"focusable\", \"onHideUnderlay\", \"onLongPress\", \"onPress\", \"onPressIn\", \"onPressOut\", \"onShowUnderlay\", \"rejectResponderTermination\", \"style\", \"testOnly_pressed\", \"underlayColor\"];\nimport * as React from 'react';\nimport { useCallback, useMemo, useState, useRef } from 'react';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport StyleSheet from '../StyleSheet';\nimport View from '../View';\n//import { warnOnce } from '../../modules/warnOnce';\n\nfunction createExtraStyles(activeOpacity, underlayColor) {\n return {\n child: {\n opacity: activeOpacity !== null && activeOpacity !== void 0 ? activeOpacity : 0.85\n },\n underlay: {\n backgroundColor: underlayColor === undefined ? 'black' : underlayColor\n }\n };\n}\nfunction hasPressHandler(props) {\n return props.onPress != null || props.onPressIn != null || props.onPressOut != null || props.onLongPress != null;\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 */\nfunction TouchableHighlight(props, forwardedRef) {\n /*\n warnOnce(\n 'TouchableHighlight',\n 'TouchableHighlight is deprecated. Please use Pressable.'\n );\n */\n\n var activeOpacity = props.activeOpacity,\n children = props.children,\n delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onHideUnderlay = props.onHideUnderlay,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n onShowUnderlay = props.onShowUnderlay,\n rejectResponderTermination = props.rejectResponderTermination,\n style = props.style,\n testOnly_pressed = props.testOnly_pressed,\n underlayColor = props.underlayColor,\n rest = _objectWithoutPropertiesLoose(props, _excluded);\n var hostRef = useRef(null);\n var setRef = useMergeRefs(forwardedRef, hostRef);\n var _useState = useState(testOnly_pressed === true ? createExtraStyles(activeOpacity, underlayColor) : null),\n extraStyles = _useState[0],\n setExtraStyles = _useState[1];\n var showUnderlay = useCallback(() => {\n if (!hasPressHandler(props)) {\n return;\n }\n setExtraStyles(createExtraStyles(activeOpacity, underlayColor));\n if (onShowUnderlay != null) {\n onShowUnderlay();\n }\n }, [activeOpacity, onShowUnderlay, props, underlayColor]);\n var hideUnderlay = useCallback(() => {\n if (testOnly_pressed === true) {\n return;\n }\n if (hasPressHandler(props)) {\n setExtraStyles(null);\n if (onHideUnderlay != null) {\n onHideUnderlay();\n }\n }\n }, [onHideUnderlay, props, testOnly_pressed]);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n onPressStart(event) {\n showUnderlay();\n if (onPressIn != null) {\n onPressIn(event);\n }\n },\n onPressEnd(event) {\n hideUnderlay();\n if (onPressOut != null) {\n onPressOut(event);\n }\n }\n }), [delayLongPress, delayPressIn, delayPressOut, disabled, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination, showUnderlay, hideUnderlay]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var child = React.Children.only(children);\n return /*#__PURE__*/React.createElement(View, _extends({}, rest, pressEventHandlers, {\n accessibilityDisabled: disabled,\n focusable: !disabled && focusable !== false,\n pointerEvents: disabled ? 'box-none' : undefined,\n ref: setRef,\n style: [styles.root, style, !disabled && styles.actionable, extraStyles && extraStyles.underlay]\n }), /*#__PURE__*/React.cloneElement(child, {\n style: [child.props.style, extraStyles && extraStyles.child]\n }));\n}\nvar styles = StyleSheet.create({\n root: {\n userSelect: 'none'\n },\n actionable: {\n cursor: 'pointer',\n touchAction: 'manipulation'\n }\n});\nvar MemoedTouchableHighlight = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(TouchableHighlight));\nMemoedTouchableHighlight.displayName = 'TouchableHighlight';\nexport default MemoedTouchableHighlight;","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"style\"];\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport View from '../../exports/View';\nimport React from 'react';\n\n/**\n * Common implementation for a simple stubbed view.\n */\nfunction UnimplementedView(_ref) {\n var style = _ref.style,\n props = _objectWithoutPropertiesLoose(_ref, _excluded);\n return /*#__PURE__*/React.createElement(View, _extends({}, props, {\n style: [unimplementedViewStyles, style]\n }));\n}\nvar unimplementedViewStyles = process.env.NODE_ENV !== 'production' ? {\n alignSelf: 'flex-start',\n borderColor: 'red',\n borderWidth: 1\n} : {};\nexport default UnimplementedView;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport UnimplementedView from '../../modules/UnimplementedView';\nexport default UnimplementedView;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use client';\n\nimport * as React from 'react';\nimport { useMemo, useRef } from 'react';\nimport pick from '../../modules/pick';\nimport useMergeRefs from '../../modules/useMergeRefs';\nimport usePressEvents from '../../modules/usePressEvents';\nimport { warnOnce } from '../../modules/warnOnce';\nvar forwardPropsList = {\n accessibilityDisabled: true,\n accessibilityLabel: true,\n accessibilityLiveRegion: true,\n accessibilityRole: true,\n accessibilityState: true,\n accessibilityValue: true,\n children: true,\n disabled: true,\n focusable: true,\n nativeID: true,\n onBlur: true,\n onFocus: true,\n onLayout: true,\n testID: true\n};\nvar pickProps = props => pick(props, forwardPropsList);\nfunction TouchableWithoutFeedback(props, forwardedRef) {\n warnOnce('TouchableWithoutFeedback', 'TouchableWithoutFeedback is deprecated. Please use Pressable.');\n var delayPressIn = props.delayPressIn,\n delayPressOut = props.delayPressOut,\n delayLongPress = props.delayLongPress,\n disabled = props.disabled,\n focusable = props.focusable,\n onLongPress = props.onLongPress,\n onPress = props.onPress,\n onPressIn = props.onPressIn,\n onPressOut = props.onPressOut,\n rejectResponderTermination = props.rejectResponderTermination;\n var hostRef = useRef(null);\n var pressConfig = useMemo(() => ({\n cancelable: !rejectResponderTermination,\n disabled,\n delayLongPress,\n delayPressStart: delayPressIn,\n delayPressEnd: delayPressOut,\n onLongPress,\n onPress,\n onPressStart: onPressIn,\n onPressEnd: onPressOut\n }), [disabled, delayPressIn, delayPressOut, delayLongPress, onLongPress, onPress, onPressIn, onPressOut, rejectResponderTermination]);\n var pressEventHandlers = usePressEvents(hostRef, pressConfig);\n var element = React.Children.only(props.children);\n var children = [element.props.children];\n var supportedProps = pickProps(props);\n supportedProps.accessibilityDisabled = disabled;\n supportedProps.focusable = !disabled && focusable !== false;\n supportedProps.ref = useMergeRefs(forwardedRef, hostRef, element.ref);\n var elementProps = Object.assign(supportedProps, pressEventHandlers);\n return /*#__PURE__*/React.cloneElement(element, elementProps, ...children);\n}\nvar MemoedTouchableWithoutFeedback = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(TouchableWithoutFeedback));\nMemoedTouchableWithoutFeedback.displayName = 'TouchableWithoutFeedback';\nexport default MemoedTouchableWithoutFeedback;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport VirtualizedList from '../../vendor/react-native/VirtualizedList';\nexport default VirtualizedList;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport React from 'react';\nimport UnimplementedView from '../../modules/UnimplementedView';\nfunction YellowBox(props) {\n return /*#__PURE__*/React.createElement(UnimplementedView, props);\n}\nYellowBox.ignoreWarnings = () => {};\nexport default YellowBox;","/**\n * Copyright (c) 2016-present, Nicolas Gallagher.\n *\n * This 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 */\n\nvar LogBox = {\n ignoreLogs() {},\n ignoreAllLogs() {},\n uninstall() {},\n install() {}\n};\nexport default LogBox;","import RCTDeviceEventEmitter from '../../vendor/react-native/EventEmitter/RCTDeviceEventEmitter';\nexport default RCTDeviceEventEmitter;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\n'use client';\n\nimport * as React from 'react';\nimport Appearance from '../Appearance';\nexport default function useColorScheme() {\n var _React$useState = React.useState(Appearance.getColorScheme()),\n colorScheme = _React$useState[0],\n setColorScheme = _React$useState[1];\n React.useEffect(() => {\n function listener(appearance) {\n setColorScheme(appearance.colorScheme);\n }\n var _Appearance$addChange = Appearance.addChangeListener(listener),\n remove = _Appearance$addChange.remove;\n return remove;\n });\n return colorScheme;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\n'use client';\n\nimport { useLocaleContext } from '../../modules/useLocale';\nexport default useLocaleContext;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar isDisabled = props => props.disabled || Array.isArray(props.accessibilityStates) && props.accessibilityStates.indexOf('disabled') > -1;\nexport default isDisabled;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar accessibilityRoleToWebRole = {\n adjustable: 'slider',\n button: 'button',\n header: 'heading',\n image: 'img',\n imagebutton: null,\n keyboardkey: null,\n label: null,\n link: 'link',\n none: 'presentation',\n search: 'search',\n summary: 'region',\n text: null\n};\nvar propsToAriaRole = _ref => {\n var accessibilityRole = _ref.accessibilityRole,\n role = _ref.role;\n var _role = role || accessibilityRole;\n if (_role) {\n var inferredRole = accessibilityRoleToWebRole[_role];\n if (inferredRole !== null) {\n // ignore roles that don't map to web\n return inferredRole || _role;\n }\n }\n};\nexport default propsToAriaRole;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport propsToAriaRole from './propsToAriaRole';\nvar roleComponents = {\n article: 'article',\n banner: 'header',\n blockquote: 'blockquote',\n button: 'button',\n code: 'code',\n complementary: 'aside',\n contentinfo: 'footer',\n deletion: 'del',\n emphasis: 'em',\n figure: 'figure',\n insertion: 'ins',\n form: 'form',\n list: 'ul',\n listitem: 'li',\n main: 'main',\n navigation: 'nav',\n paragraph: 'p',\n region: 'section',\n strong: 'strong'\n};\nvar emptyObject = {};\nvar propsToAccessibilityComponent = function propsToAccessibilityComponent(props) {\n if (props === void 0) {\n props = emptyObject;\n }\n var roleProp = props.role || props.accessibilityRole;\n // special-case for \"label\" role which doesn't map to an ARIA role\n if (roleProp === 'label') {\n return 'label';\n }\n var role = propsToAriaRole(props);\n if (role) {\n if (role === 'heading') {\n var level = props.accessibilityLevel || props['aria-level'];\n if (level != null) {\n return \"h\" + level;\n }\n return 'h1';\n }\n return roleComponents[role];\n }\n};\nexport default propsToAccessibilityComponent;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport isDisabled from './isDisabled';\nimport propsToAccessibilityComponent from './propsToAccessibilityComponent';\nimport propsToAriaRole from './propsToAriaRole';\nvar AccessibilityUtil = {\n isDisabled,\n propsToAccessibilityComponent,\n propsToAriaRole\n};\nexport default AccessibilityUtil;","/**\n * Copyright (c) Nicolas Gallagher.\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport UIManager from '../../exports/UIManager';\n\n/**\n * This class is responsible for coordinating the \"focused\"\n * state for TextInputs. All calls relating to the keyboard\n * should be funneled through here\n */\nvar TextInputState = {\n /**\n * Internal state\n */\n _currentlyFocusedNode: null,\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 */\n currentlyFocusedField() {\n if (document.activeElement !== this._currentlyFocusedNode) {\n this._currentlyFocusedNode = null;\n }\n return this._currentlyFocusedNode;\n },\n /**\n * @param {Object} TextInputID id of the text field to focus\n * Focuses the specified text field\n * noop if the text field was already focused\n */\n focusTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = textFieldNode;\n if (document.activeElement !== textFieldNode) {\n UIManager.focus(textFieldNode);\n }\n }\n },\n /**\n * @param {Object} textFieldNode id of the text field to focus\n * Unfocuses the specified text field\n * noop if it wasn't focused\n */\n blurTextInput(textFieldNode) {\n if (textFieldNode !== null) {\n this._currentlyFocusedNode = null;\n if (document.activeElement === textFieldNode) {\n UIManager.blur(textFieldNode);\n }\n }\n }\n};\nexport default TextInputState;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nexport default canUseDOM;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport TextInputState from '../TextInputState';\nvar dismissKeyboard = () => {\n TextInputState.blurTextInput(TextInputState.currentlyFocusedField());\n};\nexport default dismissKeyboard;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nexport var defaultProps = {\n children: true,\n dataSet: true,\n dir: true,\n id: true,\n ref: true,\n suppressHydrationWarning: true,\n tabIndex: true,\n testID: true,\n // @deprecated\n focusable: true,\n nativeID: true\n};\nexport var accessibilityProps = {\n 'aria-activedescendant': true,\n 'aria-atomic': true,\n 'aria-autocomplete': true,\n 'aria-busy': true,\n 'aria-checked': true,\n 'aria-colcount': true,\n 'aria-colindex': true,\n 'aria-colspan': true,\n 'aria-controls': true,\n 'aria-current': true,\n 'aria-describedby': true,\n 'aria-details': true,\n 'aria-disabled': true,\n 'aria-errormessage': true,\n 'aria-expanded': true,\n 'aria-flowto': true,\n 'aria-haspopup': true,\n 'aria-hidden': true,\n 'aria-invalid': true,\n 'aria-keyshortcuts': true,\n 'aria-label': true,\n 'aria-labelledby': true,\n 'aria-level': true,\n 'aria-live': true,\n 'aria-modal': true,\n 'aria-multiline': true,\n 'aria-multiselectable': true,\n 'aria-orientation': true,\n 'aria-owns': true,\n 'aria-placeholder': true,\n 'aria-posinset': true,\n 'aria-pressed': true,\n 'aria-readonly': true,\n 'aria-required': true,\n role: true,\n 'aria-roledescription': true,\n 'aria-rowcount': true,\n 'aria-rowindex': true,\n 'aria-rowspan': true,\n 'aria-selected': true,\n 'aria-setsize': true,\n 'aria-sort': true,\n 'aria-valuemax': true,\n 'aria-valuemin': true,\n 'aria-valuenow': true,\n 'aria-valuetext': true,\n // @deprecated\n accessibilityActiveDescendant: true,\n accessibilityAtomic: true,\n accessibilityAutoComplete: true,\n accessibilityBusy: true,\n accessibilityChecked: true,\n accessibilityColumnCount: true,\n accessibilityColumnIndex: true,\n accessibilityColumnSpan: true,\n accessibilityControls: true,\n accessibilityCurrent: true,\n accessibilityDescribedBy: true,\n accessibilityDetails: true,\n accessibilityDisabled: true,\n accessibilityErrorMessage: true,\n accessibilityExpanded: true,\n accessibilityFlowTo: true,\n accessibilityHasPopup: true,\n accessibilityHidden: true,\n accessibilityInvalid: true,\n accessibilityKeyShortcuts: true,\n accessibilityLabel: true,\n accessibilityLabelledBy: true,\n accessibilityLevel: true,\n accessibilityLiveRegion: true,\n accessibilityModal: true,\n accessibilityMultiline: true,\n accessibilityMultiSelectable: true,\n accessibilityOrientation: true,\n accessibilityOwns: true,\n accessibilityPlaceholder: true,\n accessibilityPosInSet: true,\n accessibilityPressed: true,\n accessibilityReadOnly: true,\n accessibilityRequired: true,\n accessibilityRole: true,\n accessibilityRoleDescription: true,\n accessibilityRowCount: true,\n accessibilityRowIndex: true,\n accessibilityRowSpan: true,\n accessibilitySelected: true,\n accessibilitySetSize: true,\n accessibilitySort: true,\n accessibilityValueMax: true,\n accessibilityValueMin: true,\n accessibilityValueNow: true,\n accessibilityValueText: true\n};\nexport var clickProps = {\n onClick: true,\n onAuxClick: true,\n onContextMenu: true,\n onGotPointerCapture: true,\n onLostPointerCapture: true,\n onPointerCancel: true,\n onPointerDown: true,\n onPointerEnter: true,\n onPointerMove: true,\n onPointerLeave: true,\n onPointerOut: true,\n onPointerOver: true,\n onPointerUp: true\n};\nexport var focusProps = {\n onBlur: true,\n onFocus: true\n};\nexport var keyboardProps = {\n onKeyDown: true,\n onKeyDownCapture: true,\n onKeyUp: true,\n onKeyUpCapture: true\n};\nexport var mouseProps = {\n onMouseDown: true,\n onMouseEnter: true,\n onMouseLeave: true,\n onMouseMove: true,\n onMouseOver: true,\n onMouseOut: true,\n onMouseUp: true\n};\nexport var touchProps = {\n onTouchCancel: true,\n onTouchCancelCapture: true,\n onTouchEnd: true,\n onTouchEndCapture: true,\n onTouchMove: true,\n onTouchMoveCapture: true,\n onTouchStart: true,\n onTouchStartCapture: true\n};\nexport var styleProps = {\n style: true\n};","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar getBoundingClientRect = node => {\n if (node != null) {\n var isElement = node.nodeType === 1; /* Node.ELEMENT_NODE */\n if (isElement && typeof node.getBoundingClientRect === 'function') {\n return node.getBoundingClientRect();\n }\n }\n};\nexport default getBoundingClientRect;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport * as React from 'react';\nexport default function mergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return function forwardRef(node) {\n args.forEach(ref => {\n if (ref == null) {\n return;\n }\n if (typeof ref === 'function') {\n ref(node);\n return;\n }\n if (typeof ref === 'object') {\n ref.current = node;\n return;\n }\n console.error(\"mergeRefs cannot handle Refs of type boolean, number or string, received ref \" + String(ref));\n });\n };\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nexport default function pick(obj, list) {\n var nextObj = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (list[key] === true) {\n nextObj[key] = obj[key];\n }\n }\n }\n return nextObj;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport useLayoutEffect from '../useLayoutEffect';\nimport UIManager from '../../exports/UIManager';\nimport canUseDOM from '../canUseDom';\nvar DOM_LAYOUT_HANDLER_NAME = '__reactLayoutHandler';\nvar didWarn = !canUseDOM;\nvar resizeObserver = null;\nfunction getResizeObserver() {\n if (canUseDOM && typeof window.ResizeObserver !== 'undefined') {\n if (resizeObserver == null) {\n resizeObserver = new window.ResizeObserver(function (entries) {\n entries.forEach(entry => {\n var node = entry.target;\n var onLayout = node[DOM_LAYOUT_HANDLER_NAME];\n if (typeof onLayout === 'function') {\n // We still need to measure the view because browsers don't yet provide\n // border-box dimensions in the entry\n UIManager.measure(node, (x, y, width, height, left, top) => {\n var event = {\n // $FlowFixMe\n nativeEvent: {\n layout: {\n x,\n y,\n width,\n height,\n left,\n top\n }\n },\n timeStamp: Date.now()\n };\n Object.defineProperty(event.nativeEvent, 'target', {\n enumerable: true,\n get: () => entry.target\n });\n onLayout(event);\n });\n }\n });\n });\n }\n } else if (!didWarn) {\n if (process.env.NODE_ENV !== 'production' && process.env.NODE_ENV !== 'test') {\n console.warn('onLayout relies on ResizeObserver which is not supported by your browser. ' + 'Please include a polyfill, e.g., https://github.com/que-etc/resize-observer-polyfill.');\n didWarn = true;\n }\n }\n return resizeObserver;\n}\nexport default function useElementLayout(ref, onLayout) {\n var observer = getResizeObserver();\n useLayoutEffect(() => {\n var node = ref.current;\n if (node != null) {\n node[DOM_LAYOUT_HANDLER_NAME] = onLayout;\n }\n }, [ref, onLayout]);\n\n // Observing is done in a separate effect to avoid this effect running\n // when 'onLayout' changes.\n useLayoutEffect(() => {\n var node = ref.current;\n if (node != null && observer != null) {\n if (typeof node[DOM_LAYOUT_HANDLER_NAME] === 'function') {\n observer.observe(node);\n } else {\n observer.unobserve(node);\n }\n }\n return () => {\n if (node != null && observer != null) {\n observer.unobserve(node);\n }\n };\n }, [ref, observer]);\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * useLayoutEffect throws an error on the server. On the few occasions where is\n * problematic, use this hook.\n *\n * \n */\n\nimport { useEffect, useLayoutEffect } from 'react';\nimport canUseDOM from '../canUseDom';\nvar useLayoutEffectImpl = canUseDOM ? useLayoutEffect : useEffect;\nexport default useLayoutEffectImpl;","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nvar rtlScripts = new Set(['Arab', 'Syrc', 'Samr', 'Mand', 'Thaa', 'Mend', 'Nkoo', 'Adlm', 'Rohg', 'Hebr']);\nvar rtlLangs = new Set(['ae',\n// Avestan\n'ar',\n// Arabic\n'arc',\n// Aramaic\n'bcc',\n// Southern Balochi\n'bqi',\n// Bakthiari\n'ckb',\n// Sorani\n'dv',\n// Dhivehi\n'fa', 'far',\n// Persian\n'glk',\n// Gilaki\n'he', 'iw',\n// Hebrew\n'khw',\n// Khowar\n'ks',\n// Kashmiri\n'ku',\n// Kurdish\n'mzn',\n// Mazanderani\n'nqo',\n// N'Ko\n'pnb',\n// Western Punjabi\n'ps',\n// Pashto\n'sd',\n// Sindhi\n'ug',\n// Uyghur\n'ur',\n// Urdu\n'yi' // Yiddish\n]);\nvar cache = new Map();\n\n/**\n * Determine the writing direction of a locale\n */\nexport function isLocaleRTL(locale) {\n var cachedRTL = cache.get(locale);\n if (cachedRTL) {\n return cachedRTL;\n }\n var isRTL = false;\n // $FlowFixMe\n if (Intl.Locale) {\n try {\n // $FlowFixMe\n var script = new Intl.Locale(locale).maximize().script;\n isRTL = rtlScripts.has(script);\n } catch (_unused) {\n // RangeError: Incorrect locale information provided\n // Fallback to inferring from language\n var lang = locale.split('-')[0];\n isRTL = rtlLangs.has(lang);\n }\n } else {\n // Fallback to inferring from language\n var _lang = locale.split('-')[0];\n isRTL = rtlLangs.has(_lang);\n }\n cache.set(locale, isRTL);\n return isRTL;\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport React, { createContext, useContext } from 'react';\nimport { isLocaleRTL } from './isLocaleRTL';\nvar defaultLocale = {\n direction: 'ltr',\n locale: 'en-US'\n};\nvar LocaleContext = /*#__PURE__*/createContext(defaultLocale);\nexport function getLocaleDirection(locale) {\n return isLocaleRTL(locale) ? 'rtl' : 'ltr';\n}\nexport function LocaleProvider(props) {\n var direction = props.direction,\n locale = props.locale,\n children = props.children;\n var needsContext = direction || locale;\n return needsContext ? /*#__PURE__*/React.createElement(LocaleContext.Provider, {\n children: children,\n value: {\n direction: locale ? getLocaleDirection(locale) : direction,\n locale\n }\n }) : children;\n}\nexport function useLocaleContext() {\n return useContext(LocaleContext);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport * as React from 'react';\nimport mergeRefs from '../mergeRefs';\nexport default function useMergeRefs() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return React.useMemo(() => mergeRefs(...args),\n // eslint-disable-next-line\n [...args]);\n}","/**\n * Copyright (c) Nicolas Gallagher.\n *\n * This 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 */\n\nimport UIManager from '../../exports/UIManager';\nimport useStable from '../useStable';\n\n/**\n * Adds non-standard methods to the hode element. This is temporarily until an\n * API like `ReactNative.measure(hostRef, callback)` is added to React Native.\n */\nexport default function usePlatformMethods(_ref) {\n var pointerEvents = _ref.pointerEvents,\n style = _ref.style;\n // Avoid creating a new ref on every render.\n var ref = useStable(() => hostNode => {\n if (hostNode != null) {\n hostNode.measure = callback => UIManager.measure(hostNode, callback);\n hostNode.measureLayout = (relativeToNode, success, failure) => UIManager.measureLayout(hostNode, relativeToNode, failure, success);\n hostNode.measureInWindow = callback => UIManager.measureInWindow(hostNode, callback);\n }\n });\n return ref;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nvar DELAY = 'DELAY';\nvar ERROR = 'ERROR';\nvar LONG_PRESS_DETECTED = 'LONG_PRESS_DETECTED';\nvar NOT_RESPONDER = 'NOT_RESPONDER';\nvar RESPONDER_ACTIVE_LONG_PRESS_START = 'RESPONDER_ACTIVE_LONG_PRESS_START';\nvar RESPONDER_ACTIVE_PRESS_START = 'RESPONDER_ACTIVE_PRESS_START';\nvar RESPONDER_INACTIVE_PRESS_START = 'RESPONDER_INACTIVE_PRESS_START';\nvar RESPONDER_GRANT = 'RESPONDER_GRANT';\nvar RESPONDER_RELEASE = 'RESPONDER_RELEASE';\nvar RESPONDER_TERMINATED = 'RESPONDER_TERMINATED';\nvar Transitions = Object.freeze({\n NOT_RESPONDER: {\n DELAY: ERROR,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: ERROR,\n RESPONDER_TERMINATED: ERROR,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_INACTIVE_PRESS_START: {\n DELAY: RESPONDER_ACTIVE_PRESS_START,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: ERROR\n },\n RESPONDER_ACTIVE_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n RESPONDER_ACTIVE_LONG_PRESS_START: {\n DELAY: ERROR,\n RESPONDER_GRANT: ERROR,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: RESPONDER_ACTIVE_LONG_PRESS_START\n },\n ERROR: {\n DELAY: NOT_RESPONDER,\n RESPONDER_GRANT: RESPONDER_INACTIVE_PRESS_START,\n RESPONDER_RELEASE: NOT_RESPONDER,\n RESPONDER_TERMINATED: NOT_RESPONDER,\n LONG_PRESS_DETECTED: NOT_RESPONDER\n }\n});\nvar getElementRole = element => element.getAttribute('role');\nvar getElementType = element => element.tagName.toLowerCase();\nvar isActiveSignal = signal => signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isButtonRole = element => getElementRole(element) === 'button';\nvar isPressStartSignal = signal => signal === RESPONDER_INACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_PRESS_START || signal === RESPONDER_ACTIVE_LONG_PRESS_START;\nvar isTerminalSignal = signal => signal === RESPONDER_TERMINATED || signal === RESPONDER_RELEASE;\nvar isValidKeyPress = event => {\n var key = event.key,\n target = event.target;\n var isSpacebar = key === ' ' || key === 'Spacebar';\n var isButtonish = getElementType(target) === 'button' || isButtonRole(target);\n return key === 'Enter' || isSpacebar && isButtonish;\n};\nvar DEFAULT_LONG_PRESS_DELAY_MS = 450; // 500 - 50\nvar DEFAULT_PRESS_DELAY_MS = 50;\n\n/**\n * =========================== PressResponder Tutorial ===========================\n *\n * The `PressResponder` 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 `PressResponder`, do the following:\n *\n * const pressResponder = new PressResponder(config);\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 `PressResponder` when your component unmounts.\n *\n * componentWillUnmount() {\n * this.state.pressResponder.reset();\n * }\n *\n * ==================== Implementation Details ====================\n *\n * `PressResponder` 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`.\n * │ │ ┌────────────┐ │ │\n * │ │ │ VisualRect │ │ │\n * │ │ └────────────┘ │ │ - When pressed down for sufficient amount of time\n * │ │ HitRect │ │ before letting up, `VisualRect` activates.\n * │ └──────────────────┘ │\n * │ Out Region o │\n * └────────────────────│───┘\n * └────── When the press is released outside the `HitRect`,\n * the responder is NOT 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_START ├────────▶ │ PRESS_START ├────────────▶ │ LONG_PRESS_START │\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 `onLongPress`. Only when the browser produces a\n * `click` event is `onPress` invoked.\n */\nexport default class PressResponder {\n constructor(config) {\n this._eventHandlers = null;\n this._isPointerTouch = false;\n this._longPressDelayTimeout = null;\n this._longPressDispatched = false;\n this._pressDelayTimeout = null;\n this._pressOutDelayTimeout = null;\n this._touchState = NOT_RESPONDER;\n this._responderElement = null;\n this.configure(config);\n }\n configure(config) {\n this._config = config;\n }\n\n /**\n * Resets any pending timers. This should be called on unmount.\n */\n reset() {\n this._cancelLongPressDelayTimeout();\n this._cancelPressDelayTimeout();\n this._cancelPressOutDelayTimeout();\n }\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 var start = (event, shouldDelay) => {\n event.persist();\n this._cancelPressOutDelayTimeout();\n this._longPressDispatched = false;\n this._selectionTerminated = false;\n this._touchState = NOT_RESPONDER;\n this._isPointerTouch = event.nativeEvent.type === 'touchstart';\n this._receiveSignal(RESPONDER_GRANT, event);\n var delayPressStart = normalizeDelay(this._config.delayPressStart, 0, DEFAULT_PRESS_DELAY_MS);\n if (shouldDelay !== false && delayPressStart > 0) {\n this._pressDelayTimeout = setTimeout(() => {\n this._receiveSignal(DELAY, event);\n }, delayPressStart);\n } else {\n this._receiveSignal(DELAY, event);\n }\n var delayLongPress = normalizeDelay(this._config.delayLongPress, 10, DEFAULT_LONG_PRESS_DELAY_MS);\n this._longPressDelayTimeout = setTimeout(() => {\n this._handleLongPress(event);\n }, delayLongPress + delayPressStart);\n };\n var end = event => {\n this._receiveSignal(RESPONDER_RELEASE, event);\n };\n var keyupHandler = event => {\n var onPress = this._config.onPress;\n var target = event.target;\n if (this._touchState !== NOT_RESPONDER && isValidKeyPress(event)) {\n end(event);\n document.removeEventListener('keyup', keyupHandler);\n var role = target.getAttribute('role');\n var elementType = getElementType(target);\n var isNativeInteractiveElement = role === 'link' || elementType === 'a' || elementType === 'button' || elementType === 'input' || elementType === 'select' || elementType === 'textarea';\n var isActiveElement = this._responderElement === target;\n if (onPress != null && !isNativeInteractiveElement && isActiveElement) {\n onPress(event);\n }\n this._responderElement = null;\n }\n };\n return {\n onStartShouldSetResponder: event => {\n var disabled = this._config.disabled;\n if (disabled && isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n if (disabled == null) {\n return true;\n }\n return !disabled;\n },\n onKeyDown: event => {\n var disabled = this._config.disabled;\n var key = event.key,\n target = event.target;\n if (!disabled && isValidKeyPress(event)) {\n if (this._touchState === NOT_RESPONDER) {\n start(event, false);\n this._responderElement = target;\n // Listen to 'keyup' on document to account for situations where\n // focus is moved to another element during 'keydown'.\n document.addEventListener('keyup', keyupHandler);\n }\n var isSpacebarKey = key === ' ' || key === 'Spacebar';\n var role = getElementRole(target);\n var isButtonLikeRole = role === 'button' || role === 'menuitem';\n if (isSpacebarKey && isButtonLikeRole && getElementType(target) !== 'button') {\n // Prevent spacebar scrolling the window if using non-native button\n event.preventDefault();\n }\n event.stopPropagation();\n }\n },\n onResponderGrant: event => start(event),\n onResponderMove: event => {\n if (this._config.onPressMove != null) {\n this._config.onPressMove(event);\n }\n var touch = getTouchFromResponderEvent(event);\n if (this._touchActivatePosition != null) {\n var deltaX = this._touchActivatePosition.pageX - touch.pageX;\n var deltaY = this._touchActivatePosition.pageY - touch.pageY;\n if (Math.hypot(deltaX, deltaY) > 10) {\n this._cancelLongPressDelayTimeout();\n }\n }\n },\n onResponderRelease: event => end(event),\n onResponderTerminate: event => {\n if (event.nativeEvent.type === 'selectionchange') {\n this._selectionTerminated = true;\n }\n this._receiveSignal(RESPONDER_TERMINATED, event);\n },\n onResponderTerminationRequest: event => {\n var _this$_config = this._config,\n cancelable = _this$_config.cancelable,\n disabled = _this$_config.disabled,\n onLongPress = _this$_config.onLongPress;\n // If `onLongPress` is provided, don't terminate on `contextmenu` as default\n // behavior will be prevented for non-mouse pointers.\n if (!disabled && onLongPress != null && this._isPointerTouch && event.nativeEvent.type === 'contextmenu') {\n return false;\n }\n if (cancelable == null) {\n return true;\n }\n return cancelable;\n },\n // NOTE: this diverges from react-native in 3 significant ways:\n // * The `onPress` callback is not connected to the responder system (the native\n // `click` event must be used but is dispatched in many scenarios where no pointers\n // are on the screen.) Therefore, it's possible for `onPress` to be called without\n // `onPress{Start,End}` being called first.\n // * The `onPress` callback is only be called on the first ancestor of the native\n // `click` target that is using the PressResponder.\n // * The event's `nativeEvent` is a `MouseEvent` not a `TouchEvent`.\n onClick: event => {\n var _this$_config2 = this._config,\n disabled = _this$_config2.disabled,\n onPress = _this$_config2.onPress;\n if (!disabled) {\n // If long press dispatched, cancel default click behavior.\n // If the responder terminated because text was selected during the gesture,\n // cancel the default click behavior.\n event.stopPropagation();\n if (this._longPressDispatched || this._selectionTerminated) {\n event.preventDefault();\n } else if (onPress != null && event.altKey === false) {\n onPress(event);\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\n },\n // If `onLongPress` is provided and a touch pointer is being used, prevent the\n // default context menu from opening.\n onContextMenu: event => {\n var _this$_config3 = this._config,\n disabled = _this$_config3.disabled,\n onLongPress = _this$_config3.onLongPress;\n if (!disabled) {\n if (onLongPress != null && this._isPointerTouch && !event.defaultPrevented) {\n event.preventDefault();\n event.stopPropagation();\n }\n } else {\n if (isButtonRole(event.currentTarget)) {\n event.stopPropagation();\n }\n }\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, event) {\n var prevState = this._touchState;\n var nextState = null;\n if (Transitions[prevState] != null) {\n nextState = Transitions[prevState][signal];\n }\n if (this._touchState === NOT_RESPONDER && signal === RESPONDER_RELEASE) {\n return;\n }\n if (nextState == null || nextState === ERROR) {\n console.error(\"PressResponder: Invalid signal \" + signal + \" for state \" + prevState + \" on responder\");\n } else if (prevState !== nextState) {\n this._performTransitionSideEffects(prevState, nextState, signal, event);\n this._touchState = nextState;\n }\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 // Pressable suppression of contextmenu on windows.\n // On Windows, the contextmenu is displayed after pointerup.\n // https://github.com/necolas/react-native-web/issues/2296\n setTimeout(() => {\n this._isPointerTouch = false;\n }, 0);\n this._touchActivatePosition = null;\n this._cancelLongPressDelayTimeout();\n }\n if (isPressStartSignal(prevState) && signal === LONG_PRESS_DETECTED) {\n var onLongPress = this._config.onLongPress;\n // Long press is not supported for keyboards because 'click' can be dispatched\n // immediately (and multiple times) after 'keydown'.\n if (onLongPress != null && event.nativeEvent.key == null) {\n onLongPress(event);\n this._longPressDispatched = true;\n }\n }\n var isPrevActive = isActiveSignal(prevState);\n var isNextActive = isActiveSignal(nextState);\n if (!isPrevActive && isNextActive) {\n this._activate(event);\n } else if (isPrevActive && !isNextActive) {\n this._deactivate(event);\n }\n if (isPressStartSignal(prevState) && signal === RESPONDER_RELEASE) {\n var _this$_config4 = this._config,\n _onLongPress = _this$_config4.onLongPress,\n onPress = _this$_config4.onPress;\n if (onPress != null) {\n var isPressCanceledByLongPress = _onLongPress != null && prevState === RESPONDER_ACTIVE_LONG_PRESS_START;\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 }\n }\n this._cancelPressDelayTimeout();\n }\n _activate(event) {\n var _this$_config5 = this._config,\n onPressChange = _this$_config5.onPressChange,\n onPressStart = _this$_config5.onPressStart;\n var touch = getTouchFromResponderEvent(event);\n this._touchActivatePosition = {\n pageX: touch.pageX,\n pageY: touch.pageY\n };\n if (onPressStart != null) {\n onPressStart(event);\n }\n if (onPressChange != null) {\n onPressChange(true);\n }\n }\n _deactivate(event) {\n var _this$_config6 = this._config,\n onPressChange = _this$_config6.onPressChange,\n onPressEnd = _this$_config6.onPressEnd;\n function end() {\n if (onPressEnd != null) {\n onPressEnd(event);\n }\n if (onPressChange != null) {\n onPressChange(false);\n }\n }\n var delayPressEnd = normalizeDelay(this._config.delayPressEnd);\n if (delayPressEnd > 0) {\n this._pressOutDelayTimeout = setTimeout(() => {\n end();\n }, delayPressEnd);\n } else {\n end();\n }\n }\n _handleLongPress(event) {\n if (this._touchState === RESPONDER_ACTIVE_PRESS_START || this._touchState === RESPONDER_ACTIVE_LONG_PRESS_START) {\n this._receiveSignal(LONG_PRESS_DETECTED, event);\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}\nfunction normalizeDelay(delay, min, fallback) {\n if (min === void 0) {\n min = 0;\n }\n if (fallback === void 0) {\n fallback = 0;\n }\n return Math.max(min, delay !== null && delay !== void 0 ? delay : fallback);\n}\nfunction getTouchFromResponderEvent(event) {\n var _event$nativeEvent = event.nativeEvent,\n changedTouches = _event$nativeEvent.changedTouches,\n touches = _event$nativeEvent.touches;\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 * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\n\nimport PressResponder from './PressResponder';\nimport { useDebugValue, useEffect, useRef } from 'react';\nexport default function usePressEvents(hostRef, config) {\n var pressResponderRef = useRef(null);\n if (pressResponderRef.current == null) {\n pressResponderRef.current = new PressResponder(config);\n }\n var pressResponder = pressResponderRef.current;\n\n // Re-configure to use the current node and configuration.\n useEffect(() => {\n pressResponder.configure(config);\n }, [config, pressResponder]);\n\n // Reset the `pressResponder` when cleanup needs to occur. This is\n // a separate effect because we do not want to rest the responder when `config` changes.\n useEffect(() => {\n return () => {\n pressResponder.reset();\n };\n }, [pressResponder]);\n useDebugValue(config);\n return pressResponder.getEventHandlers();\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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 */\n\nimport getBoundingClientRect from '../../modules/getBoundingClientRect';\nvar emptyFunction = () => {};\nvar emptyObject = {};\nvar emptyArray = [];\n\n/**\n * Safari produces very large identifiers that would cause the `touchBank` array\n * length to be so large as to crash the browser, if not normalized like this.\n * In the future the `touchBank` should use an object/map instead.\n */\nfunction normalizeIdentifier(identifier) {\n return identifier > 20 ? identifier % 20 : identifier;\n}\n\n/**\n * Converts a native DOM event to a ResponderEvent.\n * Mouse events are transformed into fake touch events.\n */\nexport default function createResponderEvent(domEvent, responderTouchHistoryStore) {\n var rect;\n var propagationWasStopped = false;\n var changedTouches;\n var touches;\n var domEventChangedTouches = domEvent.changedTouches;\n var domEventType = domEvent.type;\n var metaKey = domEvent.metaKey === true;\n var shiftKey = domEvent.shiftKey === true;\n var force = domEventChangedTouches && domEventChangedTouches[0].force || 0;\n var identifier = normalizeIdentifier(domEventChangedTouches && domEventChangedTouches[0].identifier || 0);\n var clientX = domEventChangedTouches && domEventChangedTouches[0].clientX || domEvent.clientX;\n var clientY = domEventChangedTouches && domEventChangedTouches[0].clientY || domEvent.clientY;\n var pageX = domEventChangedTouches && domEventChangedTouches[0].pageX || domEvent.pageX;\n var pageY = domEventChangedTouches && domEventChangedTouches[0].pageY || domEvent.pageY;\n var preventDefault = typeof domEvent.preventDefault === 'function' ? domEvent.preventDefault.bind(domEvent) : emptyFunction;\n var timestamp = domEvent.timeStamp;\n function normalizeTouches(touches) {\n return Array.prototype.slice.call(touches).map(touch => {\n return {\n force: touch.force,\n identifier: normalizeIdentifier(touch.identifier),\n get locationX() {\n return locationX(touch.clientX);\n },\n get locationY() {\n return locationY(touch.clientY);\n },\n pageX: touch.pageX,\n pageY: touch.pageY,\n target: touch.target,\n timestamp\n };\n });\n }\n if (domEventChangedTouches != null) {\n changedTouches = normalizeTouches(domEventChangedTouches);\n touches = normalizeTouches(domEvent.touches);\n } else {\n var emulatedTouches = [{\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp\n }];\n changedTouches = emulatedTouches;\n touches = domEventType === 'mouseup' || domEventType === 'dragstart' ? emptyArray : emulatedTouches;\n }\n var responderEvent = {\n bubbles: true,\n cancelable: true,\n // `currentTarget` is set before dispatch\n currentTarget: null,\n defaultPrevented: domEvent.defaultPrevented,\n dispatchConfig: emptyObject,\n eventPhase: domEvent.eventPhase,\n isDefaultPrevented() {\n return domEvent.defaultPrevented;\n },\n isPropagationStopped() {\n return propagationWasStopped;\n },\n isTrusted: domEvent.isTrusted,\n nativeEvent: {\n altKey: false,\n ctrlKey: false,\n metaKey,\n shiftKey,\n changedTouches,\n force,\n identifier,\n get locationX() {\n return locationX(clientX);\n },\n get locationY() {\n return locationY(clientY);\n },\n pageX,\n pageY,\n target: domEvent.target,\n timestamp,\n touches,\n type: domEventType\n },\n persist: emptyFunction,\n preventDefault,\n stopPropagation() {\n propagationWasStopped = true;\n },\n target: domEvent.target,\n timeStamp: timestamp,\n touchHistory: responderTouchHistoryStore.touchHistory\n };\n\n // Using getters and functions serves two purposes:\n // 1) The value of `currentTarget` is not initially available.\n // 2) Measuring the clientRect may cause layout jank and should only be done on-demand.\n function locationX(x) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n if (rect) {\n return x - rect.left;\n }\n }\n function locationY(y) {\n rect = rect || getBoundingClientRect(responderEvent.currentTarget);\n if (rect) {\n return y - rect.top;\n }\n }\n return responderEvent;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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 */\n\nexport var BLUR = 'blur';\nexport var CONTEXT_MENU = 'contextmenu';\nexport var FOCUS_OUT = 'focusout';\nexport var MOUSE_DOWN = 'mousedown';\nexport var MOUSE_MOVE = 'mousemove';\nexport var MOUSE_UP = 'mouseup';\nexport var MOUSE_CANCEL = 'dragstart';\nexport var TOUCH_START = 'touchstart';\nexport var TOUCH_MOVE = 'touchmove';\nexport var TOUCH_END = 'touchend';\nexport var TOUCH_CANCEL = 'touchcancel';\nexport var SCROLL = 'scroll';\nexport var SELECT = 'select';\nexport var SELECTION_CHANGE = 'selectionchange';\nexport function isStartish(eventType) {\n return eventType === TOUCH_START || eventType === MOUSE_DOWN;\n}\nexport function isMoveish(eventType) {\n return eventType === TOUCH_MOVE || eventType === MOUSE_MOVE;\n}\nexport function isEndish(eventType) {\n return eventType === TOUCH_END || eventType === MOUSE_UP || isCancelish(eventType);\n}\nexport function isCancelish(eventType) {\n return eventType === TOUCH_CANCEL || eventType === MOUSE_CANCEL;\n}\nexport function isScroll(eventType) {\n return eventType === SCROLL;\n}\nexport function isSelectionChange(eventType) {\n return eventType === SELECT || eventType === SELECTION_CHANGE;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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 */\n\nimport isSelectionValid from '../../modules/isSelectionValid';\nvar keyName = '__reactResponderId';\nfunction getEventPath(domEvent) {\n // The 'selectionchange' event always has the 'document' as the target.\n // Use the anchor node as the initial target to reconstruct a path.\n // (We actually only need the first \"responder\" node in practice.)\n if (domEvent.type === 'selectionchange') {\n var target = window.getSelection().anchorNode;\n return composedPathFallback(target);\n } else {\n var path = domEvent.composedPath != null ? domEvent.composedPath() : composedPathFallback(domEvent.target);\n return path;\n }\n}\nfunction composedPathFallback(target) {\n var path = [];\n while (target != null && target !== document.body) {\n path.push(target);\n target = target.parentNode;\n }\n return path;\n}\n\n/**\n * Retrieve the responderId from a host node\n */\nfunction getResponderId(node) {\n if (node != null) {\n return node[keyName];\n }\n return null;\n}\n\n/**\n * Store the responderId on a host node\n */\nexport function setResponderId(node, id) {\n if (node != null) {\n node[keyName] = id;\n }\n}\n\n/**\n * Filter the event path to contain only the nodes attached to the responder system\n */\nexport function getResponderPaths(domEvent) {\n var idPath = [];\n var nodePath = [];\n var eventPath = getEventPath(domEvent);\n for (var i = 0; i < eventPath.length; i++) {\n var node = eventPath[i];\n var id = getResponderId(node);\n if (id != null) {\n idPath.push(id);\n nodePath.push(node);\n }\n }\n return {\n idPath,\n nodePath\n };\n}\n\n/**\n * Walk the paths and find the first common ancestor\n */\nexport function getLowestCommonAncestor(pathA, pathB) {\n var pathALength = pathA.length;\n var pathBLength = pathB.length;\n if (\n // If either path is empty\n pathALength === 0 || pathBLength === 0 ||\n // If the last elements aren't the same there can't be a common ancestor\n // that is connected to the responder system\n pathA[pathALength - 1] !== pathB[pathBLength - 1]) {\n return null;\n }\n var itemA = pathA[0];\n var indexA = 0;\n var itemB = pathB[0];\n var indexB = 0;\n\n // If A is deeper, skip indices that can't match.\n if (pathALength - pathBLength > 0) {\n indexA = pathALength - pathBLength;\n itemA = pathA[indexA];\n pathALength = pathBLength;\n }\n\n // If B is deeper, skip indices that can't match\n if (pathBLength - pathALength > 0) {\n indexB = pathBLength - pathALength;\n itemB = pathB[indexB];\n pathBLength = pathALength;\n }\n\n // Walk in lockstep until a match is found\n var depth = pathALength;\n while (depth--) {\n if (itemA === itemB) {\n return itemA;\n }\n itemA = pathA[indexA++];\n itemB = pathB[indexB++];\n }\n return null;\n}\n\n/**\n * Determine whether any of the active touches are within the current responder.\n * This cannot rely on W3C `targetTouches`, as neither IE11 nor Safari implement it.\n */\nexport function hasTargetTouches(target, touches) {\n if (!touches || touches.length === 0) {\n return false;\n }\n for (var i = 0; i < touches.length; i++) {\n var node = touches[i].target;\n if (node != null) {\n if (target.contains(node)) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * Ignore 'selectionchange' events that don't correspond with a person's intent to\n * select text.\n */\nexport function hasValidSelection(domEvent) {\n if (domEvent.type === 'selectionchange') {\n return isSelectionValid();\n }\n return domEvent.type === 'select';\n}\n\n/**\n * Events are only valid if the primary button was used without specific modifier keys.\n */\nexport function isPrimaryPointerDown(domEvent) {\n var altKey = domEvent.altKey,\n button = domEvent.button,\n buttons = domEvent.buttons,\n ctrlKey = domEvent.ctrlKey,\n type = domEvent.type;\n var isTouch = type === 'touchstart' || type === 'touchmove';\n var isPrimaryMouseDown = type === 'mousedown' && (button === 0 || buttons === 1);\n var isPrimaryMouseMove = type === 'mousemove' && buttons === 1;\n var noModifiers = altKey === false && ctrlKey === false;\n if (isTouch || isPrimaryMouseDown && noModifiers || isPrimaryMouseMove && noModifiers) {\n return true;\n }\n return false;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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 */\n\nexport default function isSelectionValid() {\n var selection = window.getSelection();\n var string = selection.toString();\n var anchorNode = selection.anchorNode;\n var focusNode = selection.focusNode;\n var isTextNode = anchorNode && anchorNode.nodeType === window.Node.TEXT_NODE || focusNode && focusNode.nodeType === window.Node.TEXT_NODE;\n return string.length >= 1 && string !== '\\n' && isTextNode;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport { isStartish, isMoveish, isEndish } from './ResponderEventTypes';\n/**\n * Tracks the position and time of each active touch by `touch.identifier`. We\n * should typically only see IDs in the range of 1-20 because IDs get recycled\n * when touches end and start again.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar MAX_TOUCH_BANK = 20;\nfunction timestampForTouch(touch) {\n // The legacy internal implementation provides \"timeStamp\", which has been\n // renamed to \"timestamp\".\n return touch.timeStamp || touch.timestamp;\n}\n\n/**\n * TODO: Instead of making gestures recompute filtered velocity, we could\n * include a built in velocity computation that can be reused globally.\n */\nfunction createTouchRecord(touch) {\n return {\n touchActive: true,\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}\nfunction resetTouchRecord(touchRecord, touch) {\n touchRecord.touchActive = true;\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}\nfunction getTouchIdentifier(_ref) {\n var identifier = _ref.identifier;\n if (identifier == null) {\n console.error('Touch object is missing identifier.');\n }\n if (__DEV__) {\n if (identifier > MAX_TOUCH_BANK) {\n console.error('Touch identifier %s is greater than maximum supported %s which causes ' + 'performance issues backfilling array locations for all of the indices.', identifier, MAX_TOUCH_BANK);\n }\n }\n return identifier;\n}\nfunction recordTouchStart(touch, touchHistory) {\n var identifier = getTouchIdentifier(touch);\n var touchRecord = touchHistory.touchBank[identifier];\n if (touchRecord) {\n resetTouchRecord(touchRecord, touch);\n } else {\n touchHistory.touchBank[identifier] = createTouchRecord(touch);\n }\n touchHistory.mostRecentTimeStamp = timestampForTouch(touch);\n}\nfunction recordTouchMove(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = true;\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 } else {\n console.warn('Cannot record touch move without a touch start.\\n', \"Touch Move: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction recordTouchEnd(touch, touchHistory) {\n var touchRecord = touchHistory.touchBank[getTouchIdentifier(touch)];\n if (touchRecord) {\n touchRecord.touchActive = false;\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 } else {\n console.warn('Cannot record touch end without a touch start.\\n', \"Touch End: \" + printTouch(touch) + \"\\n\", \"Touch Bank: \" + printTouchBank(touchHistory));\n }\n}\nfunction printTouch(touch) {\n return JSON.stringify({\n identifier: touch.identifier,\n pageX: touch.pageX,\n pageY: touch.pageY,\n timestamp: timestampForTouch(touch)\n });\n}\nfunction printTouchBank(touchHistory) {\n var touchBank = touchHistory.touchBank;\n var printed = JSON.stringify(touchBank.slice(0, MAX_TOUCH_BANK));\n if (touchBank.length > MAX_TOUCH_BANK) {\n printed += ' (original size: ' + touchBank.length + ')';\n }\n return printed;\n}\nexport class ResponderTouchHistoryStore {\n constructor() {\n this._touchHistory = {\n touchBank: [],\n //Array\n numberActiveTouches: 0,\n // If there is only one active touch, we remember its location. This prevents\n // us having to loop through all of the touches all the time in the most\n // common case.\n indexOfSingleActiveTouch: -1,\n mostRecentTimeStamp: 0\n };\n }\n recordTouchTrack(topLevelType, nativeEvent) {\n var touchHistory = this._touchHistory;\n if (isMoveish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchMove(touch, touchHistory));\n } else if (isStartish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchStart(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n touchHistory.indexOfSingleActiveTouch = nativeEvent.touches[0].identifier;\n }\n } else if (isEndish(topLevelType)) {\n nativeEvent.changedTouches.forEach(touch => recordTouchEnd(touch, touchHistory));\n touchHistory.numberActiveTouches = nativeEvent.touches.length;\n if (touchHistory.numberActiveTouches === 1) {\n var touchBank = touchHistory.touchBank;\n for (var i = 0; i < touchBank.length; i++) {\n var touchTrackToCheck = touchBank[i];\n if (touchTrackToCheck != null && touchTrackToCheck.touchActive) {\n touchHistory.indexOfSingleActiveTouch = i;\n break;\n }\n }\n if (__DEV__) {\n var activeRecord = touchBank[touchHistory.indexOfSingleActiveTouch];\n if (!(activeRecord != null && activeRecord.touchActive)) {\n console.error('Cannot find single active touch.');\n }\n }\n }\n }\n }\n get touchHistory() {\n return this._touchHistory;\n }\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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 */\n\n/**\n * RESPONDER EVENT SYSTEM\n *\n * A single, global \"interaction lock\" on views. For a view to be the \"responder\" means\n * that pointer interactions are exclusive to that view and none other. The \"interaction\n * lock\" can be transferred (only) to ancestors of the current \"responder\" as long as\n * pointers continue to be active.\n *\n * Responder being granted:\n *\n * A view can become the \"responder\" after the following events:\n * * \"pointerdown\" (implemented using \"touchstart\", \"mousedown\")\n * * \"pointermove\" (implemented using \"touchmove\", \"mousemove\")\n * * \"scroll\" (while a pointer is down)\n * * \"selectionchange\" (while a pointer is down)\n *\n * If nothing is already the \"responder\", the event propagates to (capture) and from\n * (bubble) the event target until a view returns `true` for\n * `on*ShouldSetResponder(Capture)`.\n *\n * If something is already the responder, the event propagates to (capture) and from\n * (bubble) the lowest common ancestor of the event target and the current \"responder\".\n * Then negotiation happens between the current \"responder\" and a view that wants to\n * become the \"responder\": see the timing diagram below.\n *\n * (NOTE: Scrolled views either automatically become the \"responder\" or release the\n * \"interaction lock\". A native scroll view that isn't built on top of the responder\n * system must result in the current \"responder\" being notified that it no longer has\n * the \"interaction lock\" - the native system has taken over.\n *\n * Responder being released:\n *\n * As soon as there are no more active pointers that *started* inside descendants\n * of the *current* \"responder\", an `onResponderRelease` event is dispatched to the\n * current \"responder\", and the responder lock is released.\n *\n * Typical sequence of events:\n * * startShouldSetResponder\n * * responderGrant/Reject\n * * responderStart\n * * responderMove\n * * responderEnd\n * * responderRelease\n */\n\n/* Negotiation Performed\n +-----------------------+\n / \\\nProcess low level events to + Current Responder + wantsResponderID\ndetermine who to perform negot-| (if any exists at all) |\niation/transition | Otherwise just pass through|\n-------------------------------+----------------------------+------------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +--------------+ | |\n | onTouchStart | | |\n +------+-------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onStartShouldSetResponder|----->| onResponderStart (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest | |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderStart|\n | | +----------------+\nBubble to find first ID | |\nto return true:wantsResponderID| |\n | |\n +-------------+ | |\n | onTouchMove | | |\n +------+------+ none | |\n | return| |\n+-----------v-------------+true| +------------------------+ |\n|onMoveShouldSetResponder |----->| onResponderMove (cur) |<-----------+\n+-----------+-------------+ | +------------------------+ | |\n | | | +--------+-------+\n | returned true for| false:REJECT +-------->|onResponderReject\n | wantsResponderID | | | +----------------+\n | (now attempt | +------------------+-----+ |\n | handoff) | | onResponder | |\n +------------------->| TerminationRequest| |\n | +------------------+-----+ |\n | | | +----------------+\n | true:GRANT +-------->|onResponderGrant|\n | | +--------+-------+\n | +------------------------+ | |\n | | onResponderTerminate |<-----------+\n | +------------------+-----+ |\n | | | +----------------+\n | +-------->|onResponderMove |\n | | +----------------+\n | |\n | |\n Some active touch started| |\n inside current responder | +------------------------+ |\n +------------------------->| onResponderEnd | |\n | | +------------------------+ |\n +---+---------+ | |\n | onTouchEnd | | |\n +---+---------+ | |\n | | +------------------------+ |\n +------------------------->| onResponderEnd | |\n No active touches started| +-----------+------------+ |\n inside current responder | | |\n | v |\n | +------------------------+ |\n | | onResponderRelease | |\n | +------------------------+ |\n | |\n + + */\n\nimport createResponderEvent from './createResponderEvent';\nimport { isCancelish, isEndish, isMoveish, isScroll, isSelectionChange, isStartish } from './ResponderEventTypes';\nimport { getLowestCommonAncestor, getResponderPaths, hasTargetTouches, hasValidSelection, isPrimaryPointerDown, setResponderId } from './utils';\nimport { ResponderTouchHistoryStore } from './ResponderTouchHistoryStore';\nimport canUseDOM from '../canUseDom';\n\n/* ------------ TYPES ------------ */\n\nvar emptyObject = {};\n\n/* ------------ IMPLEMENTATION ------------ */\n\nvar startRegistration = ['onStartShouldSetResponderCapture', 'onStartShouldSetResponder', {\n bubbles: true\n}];\nvar moveRegistration = ['onMoveShouldSetResponderCapture', 'onMoveShouldSetResponder', {\n bubbles: true\n}];\nvar scrollRegistration = ['onScrollShouldSetResponderCapture', 'onScrollShouldSetResponder', {\n bubbles: false\n}];\nvar shouldSetResponderEvents = {\n touchstart: startRegistration,\n mousedown: startRegistration,\n touchmove: moveRegistration,\n mousemove: moveRegistration,\n scroll: scrollRegistration\n};\nvar emptyResponder = {\n id: null,\n idPath: null,\n node: null\n};\nvar responderListenersMap = new Map();\nvar isEmulatingMouseEvents = false;\nvar trackedTouchCount = 0;\nvar currentResponder = {\n id: null,\n node: null,\n idPath: null\n};\nvar responderTouchHistoryStore = new ResponderTouchHistoryStore();\nfunction changeCurrentResponder(responder) {\n currentResponder = responder;\n}\nfunction getResponderConfig(id) {\n var config = responderListenersMap.get(id);\n return config != null ? config : emptyObject;\n}\n\n/**\n * Process native events\n *\n * A single event listener is used to manage the responder system.\n * All pointers are tracked in the ResponderTouchHistoryStore. Native events\n * are interpreted in terms of the Responder System and checked to see if\n * the responder should be transferred. Each host node that is attached to\n * the Responder System has an ID, which is used to look up its associated\n * callbacks.\n */\nfunction eventListener(domEvent) {\n var eventType = domEvent.type;\n var eventTarget = domEvent.target;\n\n /**\n * Manage emulated events and early bailout.\n * Since PointerEvent is not used yet (lack of support in older Safari), it's\n * necessary to manually manage the mess of browser touch/mouse events.\n * And bailout early for termination events when there is no active responder.\n */\n\n // Flag when browser may produce emulated events\n if (eventType === 'touchstart') {\n isEmulatingMouseEvents = true;\n }\n // Remove flag when browser will not produce emulated events\n if (eventType === 'touchmove' || trackedTouchCount > 1) {\n isEmulatingMouseEvents = false;\n }\n // Ignore various events in particular circumstances\n if (\n // Ignore browser emulated mouse events\n eventType === 'mousedown' && isEmulatingMouseEvents || eventType === 'mousemove' && isEmulatingMouseEvents ||\n // Ignore mousemove if a mousedown didn't occur first\n eventType === 'mousemove' && trackedTouchCount < 1) {\n return;\n }\n // Remove flag after emulated events are finished\n if (isEmulatingMouseEvents && eventType === 'mouseup') {\n if (trackedTouchCount === 0) {\n isEmulatingMouseEvents = false;\n }\n return;\n }\n var isStartEvent = isStartish(eventType) && isPrimaryPointerDown(domEvent);\n var isMoveEvent = isMoveish(eventType);\n var isEndEvent = isEndish(eventType);\n var isScrollEvent = isScroll(eventType);\n var isSelectionChangeEvent = isSelectionChange(eventType);\n var responderEvent = createResponderEvent(domEvent, responderTouchHistoryStore);\n\n /**\n * Record the state of active pointers\n */\n\n if (isStartEvent || isMoveEvent || isEndEvent) {\n if (domEvent.touches) {\n trackedTouchCount = domEvent.touches.length;\n } else {\n if (isStartEvent) {\n trackedTouchCount = 1;\n } else if (isEndEvent) {\n trackedTouchCount = 0;\n }\n }\n responderTouchHistoryStore.recordTouchTrack(eventType, responderEvent.nativeEvent);\n }\n\n /**\n * Responder System logic\n */\n\n var eventPaths = getResponderPaths(domEvent);\n var wasNegotiated = false;\n var wantsResponder;\n\n // If an event occured that might change the current responder...\n if (isStartEvent || isMoveEvent || isScrollEvent && trackedTouchCount > 0) {\n // If there is already a responder, prune the event paths to the lowest common ancestor\n // of the existing responder and deepest target of the event.\n var currentResponderIdPath = currentResponder.idPath;\n var eventIdPath = eventPaths.idPath;\n if (currentResponderIdPath != null && eventIdPath != null) {\n var lowestCommonAncestor = getLowestCommonAncestor(currentResponderIdPath, eventIdPath);\n if (lowestCommonAncestor != null) {\n var indexOfLowestCommonAncestor = eventIdPath.indexOf(lowestCommonAncestor);\n // Skip the current responder so it doesn't receive unexpected \"shouldSet\" events.\n var index = indexOfLowestCommonAncestor + (lowestCommonAncestor === currentResponder.id ? 1 : 0);\n eventPaths = {\n idPath: eventIdPath.slice(index),\n nodePath: eventPaths.nodePath.slice(index)\n };\n } else {\n eventPaths = null;\n }\n }\n if (eventPaths != null) {\n // If a node wants to become the responder, attempt to transfer.\n wantsResponder = findWantsResponder(eventPaths, domEvent, responderEvent);\n if (wantsResponder != null) {\n // Sets responder if none exists, or negotates with existing responder.\n attemptTransfer(responderEvent, wantsResponder);\n wasNegotiated = true;\n }\n }\n }\n\n // If there is now a responder, invoke its callbacks for the lifecycle of the gesture.\n if (currentResponder.id != null && currentResponder.node != null) {\n var _currentResponder = currentResponder,\n id = _currentResponder.id,\n node = _currentResponder.node;\n var _getResponderConfig = getResponderConfig(id),\n onResponderStart = _getResponderConfig.onResponderStart,\n onResponderMove = _getResponderConfig.onResponderMove,\n onResponderEnd = _getResponderConfig.onResponderEnd,\n onResponderRelease = _getResponderConfig.onResponderRelease,\n onResponderTerminate = _getResponderConfig.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig.onResponderTerminationRequest;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Start\n if (isStartEvent) {\n if (onResponderStart != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderStart';\n onResponderStart(responderEvent);\n }\n }\n // Move\n else if (isMoveEvent) {\n if (onResponderMove != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderMove';\n onResponderMove(responderEvent);\n }\n } else {\n var isTerminateEvent = isCancelish(eventType) ||\n // native context menu\n eventType === 'contextmenu' ||\n // window blur\n eventType === 'blur' && eventTarget === window ||\n // responder (or ancestors) blur\n eventType === 'blur' && eventTarget.contains(node) && domEvent.relatedTarget !== node ||\n // native scroll without using a pointer\n isScrollEvent && trackedTouchCount === 0 ||\n // native scroll on node that is parent of the responder (allow siblings to scroll)\n isScrollEvent && eventTarget.contains(node) && eventTarget !== node ||\n // native select/selectionchange on node\n isSelectionChangeEvent && hasValidSelection(domEvent);\n var isReleaseEvent = isEndEvent && !isTerminateEvent && !hasTargetTouches(node, domEvent.touches);\n\n // End\n if (isEndEvent) {\n if (onResponderEnd != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderEnd';\n onResponderEnd(responderEvent);\n }\n }\n // Release\n if (isReleaseEvent) {\n if (onResponderRelease != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderRelease';\n onResponderRelease(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n }\n // Terminate\n if (isTerminateEvent) {\n var shouldTerminate = true;\n\n // Responders can still avoid termination but only for these events.\n if (eventType === 'contextmenu' || eventType === 'scroll' || eventType === 'selectionchange') {\n // Only call this function is it wasn't already called during negotiation.\n if (wasNegotiated) {\n shouldTerminate = false;\n } else if (onResponderTerminationRequest != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n shouldTerminate = false;\n }\n }\n }\n if (shouldTerminate) {\n if (onResponderTerminate != null) {\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n changeCurrentResponder(emptyResponder);\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n }\n }\n }\n }\n}\n\n/**\n * Walk the event path to/from the target node. At each node, stop and call the\n * relevant \"shouldSet\" functions for the given event type. If any of those functions\n * call \"stopPropagation\" on the event, stop searching for a responder.\n */\nfunction findWantsResponder(eventPaths, domEvent, responderEvent) {\n var shouldSetCallbacks = shouldSetResponderEvents[domEvent.type]; // for Flow\n\n if (shouldSetCallbacks != null) {\n var idPath = eventPaths.idPath,\n nodePath = eventPaths.nodePath;\n var shouldSetCallbackCaptureName = shouldSetCallbacks[0];\n var shouldSetCallbackBubbleName = shouldSetCallbacks[1];\n var bubbles = shouldSetCallbacks[2].bubbles;\n var check = function check(id, node, callbackName) {\n var config = getResponderConfig(id);\n var shouldSetCallback = config[callbackName];\n if (shouldSetCallback != null) {\n responderEvent.currentTarget = node;\n if (shouldSetCallback(responderEvent) === true) {\n // Start the path from the potential responder\n var prunedIdPath = idPath.slice(idPath.indexOf(id));\n return {\n id,\n node,\n idPath: prunedIdPath\n };\n }\n }\n };\n\n // capture\n for (var i = idPath.length - 1; i >= 0; i--) {\n var id = idPath[i];\n var node = nodePath[i];\n var result = check(id, node, shouldSetCallbackCaptureName);\n if (result != null) {\n return result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n\n // bubble\n if (bubbles) {\n for (var _i = 0; _i < idPath.length; _i++) {\n var _id = idPath[_i];\n var _node = nodePath[_i];\n var _result = check(_id, _node, shouldSetCallbackBubbleName);\n if (_result != null) {\n return _result;\n }\n if (responderEvent.isPropagationStopped() === true) {\n return;\n }\n }\n } else {\n var _id2 = idPath[0];\n var _node2 = nodePath[0];\n var target = domEvent.target;\n if (target === _node2) {\n return check(_id2, _node2, shouldSetCallbackBubbleName);\n }\n }\n }\n}\n\n/**\n * Attempt to transfer the responder.\n */\nfunction attemptTransfer(responderEvent, wantsResponder) {\n var _currentResponder2 = currentResponder,\n currentId = _currentResponder2.id,\n currentNode = _currentResponder2.node;\n var id = wantsResponder.id,\n node = wantsResponder.node;\n var _getResponderConfig2 = getResponderConfig(id),\n onResponderGrant = _getResponderConfig2.onResponderGrant,\n onResponderReject = _getResponderConfig2.onResponderReject;\n responderEvent.bubbles = false;\n responderEvent.cancelable = false;\n responderEvent.currentTarget = node;\n\n // Set responder\n if (currentId == null) {\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n }\n // Negotiate with current responder\n else {\n var _getResponderConfig3 = getResponderConfig(currentId),\n onResponderTerminate = _getResponderConfig3.onResponderTerminate,\n onResponderTerminationRequest = _getResponderConfig3.onResponderTerminationRequest;\n var allowTransfer = true;\n if (onResponderTerminationRequest != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminationRequest';\n if (onResponderTerminationRequest(responderEvent) === false) {\n allowTransfer = false;\n }\n }\n if (allowTransfer) {\n // Terminate existing responder\n if (onResponderTerminate != null) {\n responderEvent.currentTarget = currentNode;\n responderEvent.dispatchConfig.registrationName = 'onResponderTerminate';\n onResponderTerminate(responderEvent);\n }\n // Grant next responder\n if (onResponderGrant != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderGrant';\n onResponderGrant(responderEvent);\n }\n changeCurrentResponder(wantsResponder);\n } else {\n // Reject responder request\n if (onResponderReject != null) {\n responderEvent.currentTarget = node;\n responderEvent.dispatchConfig.registrationName = 'onResponderReject';\n onResponderReject(responderEvent);\n }\n }\n }\n}\n\n/* ------------ PUBLIC API ------------ */\n\n/**\n * Attach Listeners\n *\n * Use native events as ReactDOM doesn't have a non-plugin API to implement\n * this system.\n */\nvar documentEventsCapturePhase = ['blur', 'scroll'];\nvar documentEventsBubblePhase = [\n// mouse\n'mousedown', 'mousemove', 'mouseup', 'dragstart',\n// touch\n'touchstart', 'touchmove', 'touchend', 'touchcancel',\n// other\n'contextmenu', 'select', 'selectionchange'];\nexport function attachListeners() {\n if (canUseDOM && window.__reactResponderSystemActive == null) {\n window.addEventListener('blur', eventListener);\n documentEventsBubblePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener);\n });\n documentEventsCapturePhase.forEach(eventType => {\n document.addEventListener(eventType, eventListener, true);\n });\n window.__reactResponderSystemActive = true;\n }\n}\n\n/**\n * Register a node with the ResponderSystem.\n */\nexport function addNode(id, node, config) {\n setResponderId(node, id);\n responderListenersMap.set(id, config);\n}\n\n/**\n * Unregister a node with the ResponderSystem.\n */\nexport function removeNode(id) {\n if (currentResponder.id === id) {\n terminateResponder();\n }\n if (responderListenersMap.has(id)) {\n responderListenersMap.delete(id);\n }\n}\n\n/**\n * Allow the current responder to be terminated from within components to support\n * more complex requirements, such as use with other React libraries for working\n * with scroll views, input views, etc.\n */\nexport function terminateResponder() {\n var _currentResponder3 = currentResponder,\n id = _currentResponder3.id,\n node = _currentResponder3.node;\n if (id != null && node != null) {\n var _getResponderConfig4 = getResponderConfig(id),\n onResponderTerminate = _getResponderConfig4.onResponderTerminate;\n if (onResponderTerminate != null) {\n var event = createResponderEvent({}, responderTouchHistoryStore);\n event.currentTarget = node;\n onResponderTerminate(event);\n }\n changeCurrentResponder(emptyResponder);\n }\n isEmulatingMouseEvents = false;\n trackedTouchCount = 0;\n}\n\n/**\n * Allow unit tests to inspect the current responder in the system.\n * FOR TESTING ONLY.\n */\nexport function getResponderNode() {\n return currentResponder.node;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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 */\n\n/**\n * Hook for integrating the Responder System into React\n *\n * function SomeComponent({ onStartShouldSetResponder }) {\n * const ref = useRef(null);\n * useResponderEvents(ref, { onStartShouldSetResponder });\n * return
\n * }\n */\n\nimport * as React from 'react';\nimport * as ResponderSystem from './ResponderSystem';\nvar emptyObject = {};\nvar idCounter = 0;\nfunction useStable(getInitialValue) {\n var ref = React.useRef(null);\n if (ref.current == null) {\n ref.current = getInitialValue();\n }\n return ref.current;\n}\nexport default function useResponderEvents(hostRef, config) {\n if (config === void 0) {\n config = emptyObject;\n }\n var id = useStable(() => idCounter++);\n var isAttachedRef = React.useRef(false);\n\n // This is a separate effects so it doesn't run when the config changes.\n // On initial mount, attach global listeners if needed.\n // On unmount, remove node potentially attached to the Responder System.\n React.useEffect(() => {\n ResponderSystem.attachListeners();\n return () => {\n ResponderSystem.removeNode(id);\n };\n }, [id]);\n\n // Register and unregister with the Responder System as necessary\n React.useEffect(() => {\n var _config = config,\n onMoveShouldSetResponder = _config.onMoveShouldSetResponder,\n onMoveShouldSetResponderCapture = _config.onMoveShouldSetResponderCapture,\n onScrollShouldSetResponder = _config.onScrollShouldSetResponder,\n onScrollShouldSetResponderCapture = _config.onScrollShouldSetResponderCapture,\n onSelectionChangeShouldSetResponder = _config.onSelectionChangeShouldSetResponder,\n onSelectionChangeShouldSetResponderCapture = _config.onSelectionChangeShouldSetResponderCapture,\n onStartShouldSetResponder = _config.onStartShouldSetResponder,\n onStartShouldSetResponderCapture = _config.onStartShouldSetResponderCapture;\n var requiresResponderSystem = onMoveShouldSetResponder != null || onMoveShouldSetResponderCapture != null || onScrollShouldSetResponder != null || onScrollShouldSetResponderCapture != null || onSelectionChangeShouldSetResponder != null || onSelectionChangeShouldSetResponderCapture != null || onStartShouldSetResponder != null || onStartShouldSetResponderCapture != null;\n var node = hostRef.current;\n if (requiresResponderSystem) {\n ResponderSystem.addNode(id, node, config);\n isAttachedRef.current = true;\n } else if (isAttachedRef.current) {\n ResponderSystem.removeNode(id);\n isAttachedRef.current = false;\n }\n }, [config, hostRef, id]);\n React.useDebugValue({\n isResponder: hostRef.current === ResponderSystem.getResponderNode()\n });\n React.useDebugValue(config);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nimport * as React from 'react';\nvar UNINITIALIZED = typeof Symbol === 'function' && typeof Symbol() === 'symbol' ? Symbol() : Object.freeze({});\nexport default function useStable(getInitialValue) {\n var ref = React.useRef(UNINITIALIZED);\n if (ref.current === UNINITIALIZED) {\n ref.current = getInitialValue();\n }\n // $FlowFixMe (#64650789) Trouble refining types where `Symbol` is concerned.\n return ref.current;\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 */\n\nvar warnedKeys = {};\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 */\nexport function warnOnce(key, message) {\n if (process.env.NODE_ENV !== 'production') {\n if (warnedKeys[key]) {\n return;\n }\n console.warn(message);\n warnedKeys[key] = true;\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 * \n * @format\n */\n\n'use strict';\n\nimport Platform from '../../../exports/Platform';\nimport RCTDeviceEventEmitter from './RCTDeviceEventEmitter';\nimport invariant from 'fbjs/lib/invariant';\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 constructor(nativeModule) {\n if (Platform.OS === 'ios') {\n invariant(nativeModule != null, '`new NativeEventEmitter()` requires a non-null argument.');\n this._nativeModule = nativeModule;\n }\n }\n addListener(eventType, listener, context) {\n var _this$_nativeModule;\n (_this$_nativeModule = this._nativeModule) == null ? void 0 : _this$_nativeModule.addListener(eventType);\n var subscription = RCTDeviceEventEmitter.addListener(eventType, listener, context);\n return {\n remove: () => {\n if (subscription != null) {\n var _this$_nativeModule2;\n (_this$_nativeModule2 = this._nativeModule) == null ? void 0 : _this$_nativeModule2.removeListeners(1);\n // $FlowFixMe[incompatible-use]\n subscription.remove();\n subscription = null;\n }\n }\n };\n }\n\n /**\n * @deprecated Use `remove` on the EventSubscription from `addListener`.\n */\n removeListener(eventType, listener) {\n var _this$_nativeModule3;\n (_this$_nativeModule3 = this._nativeModule) == null ? void 0 : _this$_nativeModule3.removeListeners(1);\n // NOTE: This will report a deprecation notice via `console.error`.\n // $FlowFixMe[prop-missing] - `removeListener` exists but is deprecated.\n RCTDeviceEventEmitter.removeListener(eventType, listener);\n }\n emit(eventType) {\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 // Generally, `RCTDeviceEventEmitter` is directly invoked. But this is\n // included for completeness.\n RCTDeviceEventEmitter.emit(eventType, ...args);\n }\n removeAllListeners(eventType) {\n var _this$_nativeModule4;\n invariant(eventType != null, '`NativeEventEmitter.removeAllListener()` requires a non-null argument.');\n (_this$_nativeModule4 = this._nativeModule) == null ? void 0 : _this$_nativeModule4.removeListeners(this.listenerCount(eventType));\n RCTDeviceEventEmitter.removeAllListeners(eventType);\n }\n listenerCount(eventType) {\n return RCTDeviceEventEmitter.listenerCount(eventType);\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 * \n * @format\n */\n\nimport EventEmitter from '../vendor/emitter/EventEmitter';\n\n// FIXME: use typed events\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 */\nexport default new EventEmitter();","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\n'use strict';\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(offsets, props, getFrameMetrics, zoomScale) {\n if (zoomScale === void 0) {\n zoomScale = 1;\n }\n var itemCount = props.getItemCount(props.data);\n var result = [];\n for (var offsetIndex = 0; offsetIndex < offsets.length; offsetIndex++) {\n var currentOffset = offsets[offsetIndex];\n var left = 0;\n var right = itemCount - 1;\n while (left <= right) {\n // eslint-disable-next-line no-bitwise\n var mid = left + (right - left >>> 1);\n var frame = getFrameMetrics(mid, props);\n var scaledOffsetStart = frame.offset * zoomScale;\n var 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 (mid === 0 && currentOffset < scaledOffsetStart || mid !== 0 && currentOffset <= scaledOffsetStart) {\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 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(prev, next) {\n return next.last - next.first + 1 - Math.max(0, 1 + Math.min(next.last, prev.last) - Math.max(next.first, prev.first));\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(props, maxToRenderPerBatch, windowSize, prev, getFrameMetricsApprox, scrollMetrics) {\n var itemCount = props.getItemCount(props.data);\n if (itemCount === 0) {\n return {\n first: 0,\n last: -1\n };\n }\n var offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength,\n _scrollMetrics$zoomSc = scrollMetrics.zoomScale,\n zoomScale = _scrollMetrics$zoomSc === void 0 ? 1 : _scrollMetrics$zoomSc;\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 var visibleBegin = Math.max(0, offset);\n var visibleEnd = visibleBegin + visibleLength;\n var overscanLength = (windowSize - 1) * visibleLength;\n\n // Considering velocity seems to introduce more churn than it's worth.\n var leadFactor = 0.5; // Math.max(0, Math.min(1, velocity / 25 + 0.5));\n\n var fillPreference = velocity > 1 ? 'after' : velocity < -1 ? 'before' : 'none';\n var overscanBegin = Math.max(0, visibleBegin - (1 - leadFactor) * overscanLength);\n var overscanEnd = Math.max(0, visibleEnd + leadFactor * overscanLength);\n var lastItemOffset = getFrameMetricsApprox(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 var _elementsThatOverlapO = elementsThatOverlapOffsets([overscanBegin, visibleBegin, visibleEnd, overscanEnd], props, getFrameMetricsApprox, zoomScale),\n overscanFirst = _elementsThatOverlapO[0],\n first = _elementsThatOverlapO[1],\n last = _elementsThatOverlapO[2],\n overscanLast = _elementsThatOverlapO[3];\n overscanFirst = overscanFirst == null ? 0 : overscanFirst;\n first = first == null ? Math.max(0, overscanFirst) : first;\n overscanLast = overscanLast == null ? itemCount - 1 : overscanLast;\n last = last == null ? Math.min(overscanLast, first + maxToRenderPerBatch - 1) : last;\n var visible = {\n first,\n last\n };\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 var newCellCount = newRangeCount(prev, visible);\n while (true) {\n if (first <= overscanFirst && last >= overscanLast) {\n // If we fill the entire overscan range, we're done.\n break;\n }\n var maxNewCells = newCellCount >= maxToRenderPerBatch;\n var firstWillAddMore = first <= prev.first || first > prev.last;\n var firstShouldIncrement = first > overscanFirst && (!maxNewCells || !firstWillAddMore);\n var lastWillAddMore = last >= prev.last || last < prev.first;\n var lastShouldIncrement = 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 (firstShouldIncrement && !(fillPreference === 'after' && lastShouldIncrement && lastWillAddMore)) {\n if (firstWillAddMore) {\n newCellCount++;\n }\n first--;\n }\n if (lastShouldIncrement && !(fillPreference === 'before' && firstShouldIncrement && firstWillAddMore)) {\n if (lastWillAddMore) {\n newCellCount++;\n }\n last++;\n }\n }\n if (!(last >= first && first >= 0 && last < itemCount && first >= overscanFirst && last <= overscanLast && first <= visible.first && last >= visible.last)) {\n throw new Error('Bad window calculation ' + JSON.stringify({\n first,\n last,\n itemCount,\n overscanFirst,\n overscanLast,\n visible\n }));\n }\n return {\n first,\n last\n };\n}\nexport function keyExtractor(item, index) {\n if (typeof item === 'object' && (item == null ? void 0 : item.key) != null) {\n return item.key;\n }\n if (typeof item === 'object' && (item == null ? void 0 : item.id) != null) {\n return item.id;\n }\n return String(index);\n}","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * \n */\n\n'use strict';\n\nimport InteractionManager from '../../../exports/InteractionManager';\n\n/**\n * A simple class for batching up invocations of a low-pri callback. A timeout is set to run the\n * callback once after a delay, no matter how many times it's scheduled. Once the delay is reached,\n * InteractionManager.runAfterInteractions is used to invoke the callback after any hi-pri\n * interactions are done running.\n *\n * Make sure to cleanup with dispose(). Example:\n *\n * class Widget extends React.Component {\n * _batchedSave: new Batchinator(() => this._saveState, 1000);\n * _saveSate() {\n * // save this.state to disk\n * }\n * componentDidUpdate() {\n * this._batchedSave.schedule();\n * }\n * componentWillUnmount() {\n * this._batchedSave.dispose();\n * }\n * ...\n * }\n */\nclass Batchinator {\n constructor(callback, delayMS) {\n this._delay = delayMS;\n this._callback = callback;\n }\n /*\n * Cleanup any pending tasks.\n *\n * By default, if there is a pending task the callback is run immediately. Set the option abort to\n * true to not call the callback if it was pending.\n */\n dispose(options) {\n if (options === void 0) {\n options = {\n abort: false\n };\n }\n if (this._taskHandle) {\n this._taskHandle.cancel();\n if (!options.abort) {\n this._callback();\n }\n this._taskHandle = null;\n }\n }\n schedule() {\n if (this._taskHandle) {\n return;\n }\n var timeoutHandle = setTimeout(() => {\n this._taskHandle = InteractionManager.runAfterInteractions(() => {\n // Note that we clear the handle before invoking the callback so that if the callback calls\n // schedule again, it will actually schedule another task.\n this._taskHandle = null;\n this._callback();\n });\n }, this._delay);\n this._taskHandle = {\n cancel: () => clearTimeout(timeoutHandle)\n };\n }\n}\nexport default Batchinator;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * \n */\n\n'use strict';\n\nfunction clamp(min, value, max) {\n if (value < min) {\n return min;\n }\n if (value > max) {\n return max;\n }\n return value;\n}\nexport default clamp;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * \n */\n\n'use strict';\n\n/**\n * Intentional info-level logging for clear separation from ad-hoc console debug logging.\n */\nfunction infoLog() {\n return console.log(...arguments);\n}\nexport default infoLog;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport invariant from 'fbjs/lib/invariant';\nexport class CellRenderMask {\n constructor(numCells) {\n invariant(numCells >= 0, 'CellRenderMask must contain a non-negative number os cells');\n this._numCells = numCells;\n if (numCells === 0) {\n this._regions = [];\n } else {\n this._regions = [{\n first: 0,\n last: numCells - 1,\n isSpacer: true\n }];\n }\n }\n enumerateRegions() {\n return this._regions;\n }\n addCells(cells) {\n invariant(cells.first >= 0 && cells.first < this._numCells && cells.last >= -1 && cells.last < this._numCells && cells.last >= cells.first - 1, 'CellRenderMask.addCells called with invalid cell range');\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 var _this$_findRegion = this._findRegion(cells.first),\n firstIntersect = _this$_findRegion[0],\n firstIntersectIdx = _this$_findRegion[1];\n var _this$_findRegion2 = this._findRegion(cells.last),\n lastIntersect = _this$_findRegion2[0],\n lastIntersectIdx = _this$_findRegion2[1];\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 var newLeadRegion = [];\n var newTailRegion = [];\n var newMainRegion = _objectSpread(_objectSpread({}, cells), {}, {\n isSpacer: false\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 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 var replacementRegions = [...newLeadRegion, newMainRegion, ...newTailRegion];\n var numRegionsToDelete = lastIntersectIdx - firstIntersectIdx + 1;\n this._regions.splice(firstIntersectIdx, numRegionsToDelete, ...replacementRegions);\n }\n numCells() {\n return this._numCells;\n }\n equals(other) {\n return this._numCells === other._numCells && this._regions.length === other._regions.length && this._regions.every((region, i) => region.first === other._regions[i].first && region.last === other._regions[i].last && region.isSpacer === other._regions[i].isSpacer);\n }\n _findRegion(cellIdx) {\n var firstIdx = 0;\n var lastIdx = this._regions.length - 1;\n while (firstIdx <= lastIdx) {\n var middleIdx = Math.floor((firstIdx + lastIdx) / 2);\n var middleRegion = this._regions[middleIdx];\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 invariant(false, \"A region was not found containing cellIdx \" + cellIdx);\n }\n}","import _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport invariant from 'fbjs/lib/invariant';\nexport default class ChildListCollection {\n constructor() {\n this._cellKeyToChildren = new Map();\n this._childrenToCellKey = new Map();\n }\n add(list, cellKey) {\n var _this$_cellKeyToChild;\n invariant(!this._childrenToCellKey.has(list), 'Trying to add already present child list');\n var cellLists = (_this$_cellKeyToChild = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild !== void 0 ? _this$_cellKeyToChild : new Set();\n cellLists.add(list);\n this._cellKeyToChildren.set(cellKey, cellLists);\n this._childrenToCellKey.set(list, cellKey);\n }\n remove(list) {\n var cellKey = this._childrenToCellKey.get(list);\n invariant(cellKey != null, 'Trying to remove non-present child list');\n this._childrenToCellKey.delete(list);\n var cellLists = this._cellKeyToChildren.get(cellKey);\n invariant(cellLists, '_cellKeyToChildren should contain cellKey');\n cellLists.delete(list);\n if (cellLists.size === 0) {\n this._cellKeyToChildren.delete(cellKey);\n }\n }\n forEach(fn) {\n for (var _iterator = _createForOfIteratorHelperLoose(this._cellKeyToChildren.values()), _step; !(_step = _iterator()).done;) {\n var listSet = _step.value;\n for (var _iterator2 = _createForOfIteratorHelperLoose(listSet), _step2; !(_step2 = _iterator2()).done;) {\n var list = _step2.value;\n fn(list);\n }\n }\n }\n forEachInCell(cellKey, fn) {\n var _this$_cellKeyToChild2;\n var listSet = (_this$_cellKeyToChild2 = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild2 !== void 0 ? _this$_cellKeyToChild2 : [];\n for (var _iterator3 = _createForOfIteratorHelperLoose(listSet), _step3; !(_step3 = _iterator3()).done;) {\n var list = _step3.value;\n fn(list);\n }\n }\n anyInCell(cellKey, fn) {\n var _this$_cellKeyToChild3;\n var listSet = (_this$_cellKeyToChild3 = this._cellKeyToChildren.get(cellKey)) !== null && _this$_cellKeyToChild3 !== void 0 ? _this$_cellKeyToChild3 : [];\n for (var _iterator4 = _createForOfIteratorHelperLoose(listSet), _step4; !(_step4 = _iterator4()).done;) {\n var list = _step4.value;\n if (fn(list)) {\n return true;\n }\n }\n return false;\n }\n size() {\n return this._childrenToCellKey.size;\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 * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nclass Info {\n constructor() {\n this.any_blank_count = 0;\n this.any_blank_ms = 0;\n this.any_blank_speed_sum = 0;\n this.mostly_blank_count = 0;\n this.mostly_blank_ms = 0;\n this.pixels_blank = 0;\n this.pixels_sampled = 0;\n this.pixels_scrolled = 0;\n this.total_time_spent = 0;\n this.sample_count = 0;\n }\n}\nvar DEBUG = false;\nvar _listeners = [];\nvar _minSampleCount = 10;\nvar _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 static addListener(callback) {\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 static setSampleRate(sampleRate) {\n _sampleRate = sampleRate;\n }\n static setMinSampleCount(minSampleCount) {\n _minSampleCount = minSampleCount;\n }\n constructor(getFrameMetrics) {\n this._anyBlankStartTime = null;\n this._enabled = false;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n this._getFrameMetrics = getFrameMetrics;\n this._enabled = (_sampleRate || 0) > Math.random();\n this._resetData();\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 deactivateAndFlush() {\n if (!this._enabled) {\n return;\n }\n var start = this._samplesStartTime; // const for flow\n if (start == null) {\n DEBUG && 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 var total_time_spent = global.performance.now() - start;\n var info = _objectSpread(_objectSpread({}, this._info), {}, {\n total_time_spent\n });\n if (DEBUG) {\n var 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: this._info.any_blank_speed_sum / this._info.any_blank_count,\n any_blank_per_min: 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: 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 (var key in derived) {\n // $FlowFixMe[prop-missing]\n derived[key] = Math.round(1000 * derived[key]) / 1000;\n }\n console.debug('FillRateHelper deactivateAndFlush: ', {\n derived,\n info\n });\n }\n _listeners.forEach(listener => listener(info));\n this._resetData();\n }\n computeBlankness(props, cellsAroundViewport, scrollMetrics) {\n if (!this._enabled || props.getItemCount(props.data) === 0 || cellsAroundViewport.last < cellsAroundViewport.first || this._samplesStartTime == null) {\n return 0;\n }\n var dOffset = scrollMetrics.dOffset,\n offset = scrollMetrics.offset,\n velocity = scrollMetrics.velocity,\n visibleLength = scrollMetrics.visibleLength;\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 var 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 var 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 var blankTop = 0;\n var first = cellsAroundViewport.first;\n var firstFrame = this._getFrameMetrics(first, props);\n while (first <= cellsAroundViewport.last && (!firstFrame || !firstFrame.inLayout)) {\n firstFrame = this._getFrameMetrics(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(visibleLength, Math.max(0, firstFrame.offset - offset));\n }\n var blankBottom = 0;\n var last = cellsAroundViewport.last;\n var lastFrame = this._getFrameMetrics(last, props);\n while (last >= cellsAroundViewport.first && (!lastFrame || !lastFrame.inLayout)) {\n lastFrame = this._getFrameMetrics(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 var bottomEdge = lastFrame.offset + lastFrame.length;\n blankBottom = Math.min(visibleLength, Math.max(0, offset + visibleLength - bottomEdge));\n }\n var pixels_blank = Math.round(blankTop + blankBottom);\n var 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 enabled() {\n return this._enabled;\n }\n _resetData() {\n this._anyBlankStartTime = null;\n this._info = new Info();\n this._mostlyBlankStartTime = null;\n this._samplesStartTime = null;\n }\n}\nexport default FillRateHelper;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport invariant from 'fbjs/lib/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://reactjs.org/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 extends React.PureComponent {\n constructor(props) {\n super(props);\n this._inAsyncStateUpdate = false;\n this._installSetStateHooks();\n }\n setState(partialState, callback) {\n if (typeof partialState === 'function') {\n super.setState((state, props) => {\n this._inAsyncStateUpdate = true;\n var 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 _installSetStateHooks() {\n var that = this;\n var props = this.props,\n state = this.state;\n Object.defineProperty(this, 'props', {\n get() {\n invariant(!that._inAsyncStateUpdate, '\"this.props\" should not be accessed during state updates');\n return props;\n },\n set(newProps) {\n props = newProps;\n }\n });\n Object.defineProperty(this, 'state', {\n get() {\n invariant(!that._inAsyncStateUpdate, '\"this.state\" should not be acceessed during state updates');\n return state;\n },\n set(newState) {\n state = newState;\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 * \n * @format\n */\n\n'use strict';\n\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\nimport _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport invariant from 'fbjs/lib/invariant';\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 constructor(config) {\n if (config === void 0) {\n config = {\n viewAreaCoveragePercentThreshold: 0\n };\n }\n this._hasInteracted = false;\n this._timers = new Set();\n this._viewableIndices = [];\n this._viewableItems = new Map();\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(props, scrollOffset, viewportHeight, getFrameMetrics,\n // Optional optimization to reduce the scan size\n renderRange) {\n var itemCount = props.getItemCount(props.data);\n var _this$_config = this._config,\n itemVisiblePercentThreshold = _this$_config.itemVisiblePercentThreshold,\n viewAreaCoveragePercentThreshold = _this$_config.viewAreaCoveragePercentThreshold;\n var viewAreaMode = viewAreaCoveragePercentThreshold != null;\n var viewablePercentThreshold = viewAreaMode ? viewAreaCoveragePercentThreshold : itemVisiblePercentThreshold;\n invariant(viewablePercentThreshold != null && itemVisiblePercentThreshold != null !== (viewAreaCoveragePercentThreshold != null), 'Must set exactly one of itemVisiblePercentThreshold or viewAreaCoveragePercentThreshold');\n var viewableIndices = [];\n if (itemCount === 0) {\n return viewableIndices;\n }\n var firstVisible = -1;\n var _ref = renderRange || {\n first: 0,\n last: itemCount - 1\n },\n first = _ref.first,\n last = _ref.last;\n if (last >= itemCount) {\n console.warn('Invalid render range computing viewability ' + JSON.stringify({\n renderRange,\n itemCount\n }));\n return [];\n }\n for (var idx = first; idx <= last; idx++) {\n var metrics = getFrameMetrics(idx, props);\n if (!metrics) {\n continue;\n }\n var top = metrics.offset - scrollOffset;\n var bottom = top + metrics.length;\n if (top < viewportHeight && bottom > 0) {\n firstVisible = idx;\n if (_isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, metrics.length)) {\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(props, scrollOffset, viewportHeight, getFrameMetrics, createViewToken, onViewableItemsChanged,\n // Optional optimization to reduce the scan size\n renderRange) {\n var itemCount = props.getItemCount(props.data);\n if (this._config.waitForInteraction && !this._hasInteracted || itemCount === 0 || !getFrameMetrics(0, props)) {\n return;\n }\n var viewableIndices = [];\n if (itemCount) {\n viewableIndices = this.computeViewableItems(props, scrollOffset, viewportHeight, getFrameMetrics, renderRange);\n }\n if (this._viewableIndices.length === viewableIndices.length && this._viewableIndices.every((v, ii) => v === viewableIndices[ii])) {\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 var handle = 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(props, viewableIndices, onViewableItemsChanged, createViewToken);\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(props, viewableIndices, onViewableItemsChanged, createViewToken);\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 _onUpdateSync(props, viewableIndicesToCheck, onViewableItemsChanged, createViewToken) {\n // Filter out indices that have gone out of view since this call was scheduled.\n viewableIndicesToCheck = viewableIndicesToCheck.filter(ii => this._viewableIndices.includes(ii));\n var prevItems = this._viewableItems;\n var nextItems = new Map(viewableIndicesToCheck.map(ii => {\n var viewable = createViewToken(ii, true, props);\n return [viewable.key, viewable];\n }));\n var changed = [];\n for (var _iterator = _createForOfIteratorHelperLoose(nextItems), _step; !(_step = _iterator()).done;) {\n var _step$value = _step.value,\n key = _step$value[0],\n viewable = _step$value[1];\n if (!prevItems.has(key)) {\n changed.push(viewable);\n }\n }\n for (var _iterator2 = _createForOfIteratorHelperLoose(prevItems), _step2; !(_step2 = _iterator2()).done;) {\n var _step2$value = _step2.value,\n _key = _step2$value[0],\n _viewable = _step2$value[1];\n if (!nextItems.has(_key)) {\n changed.push(_objectSpread(_objectSpread({}, _viewable), {}, {\n isViewable: false\n }));\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}\nfunction _isViewable(viewAreaMode, viewablePercentThreshold, top, bottom, viewportHeight, itemLength) {\n if (_isEntirelyVisible(top, bottom, viewportHeight)) {\n return true;\n } else {\n var pixels = _getPixelsVisible(top, bottom, viewportHeight);\n var percent = 100 * (viewAreaMode ? pixels / viewportHeight : pixels / itemLength);\n return percent >= viewablePercentThreshold;\n }\n}\nfunction _getPixelsVisible(top, bottom, viewportHeight) {\n var visibleHeight = Math.min(bottom, viewportHeight) - Math.max(top, 0);\n return Math.max(0, visibleHeight);\n}\nfunction _isEntirelyVisible(top, bottom, viewportHeight) {\n return top >= 0 && bottom <= viewportHeight && bottom > top;\n}\nexport default ViewabilityHelper;","import _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nexport var VirtualizedListContext = /*#__PURE__*/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(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: null\n }, children);\n}\n\n/**\n * Sets the context with memoization. Intended to be used by `VirtualizedList`.\n */\nexport function VirtualizedListContextProvider(_ref2) {\n var children = _ref2.children,\n value = _ref2.value;\n // Avoid setting a newly created context object if the values are identical.\n var context = useMemo(() => ({\n cellKey: null,\n getScrollMetrics: value.getScrollMetrics,\n horizontal: value.horizontal,\n getOutermostParentListRef: value.getOutermostParentListRef,\n registerAsNestedChild: value.registerAsNestedChild,\n unregisterAsNestedChild: value.unregisterAsNestedChild\n }), [value.getScrollMetrics, value.horizontal, value.getOutermostParentListRef, value.registerAsNestedChild, value.unregisterAsNestedChild]);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}\n\n/**\n * Sets the `cellKey`. Intended to be used by `VirtualizedList` for each cell.\n */\nexport function VirtualizedListCellContextProvider(_ref3) {\n var cellKey = _ref3.cellKey,\n children = _ref3.children;\n // Avoid setting a newly created context object if the values are identical.\n var currContext = useContext(VirtualizedListContext);\n var context = useMemo(() => currContext == null ? null : _objectSpread(_objectSpread({}, currContext), {}, {\n cellKey\n }), [currContext, cellKey]);\n return /*#__PURE__*/React.createElement(VirtualizedListContext.Provider, {\n value: context\n }, children);\n}","import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport { VirtualizedListCellContextProvider } from './VirtualizedListContext.js';\nimport invariant from 'fbjs/lib/invariant';\nimport * as React from 'react';\nexport default class CellRenderer extends React.Component {\n constructor() {\n super(...arguments);\n this.state = {\n separatorProps: {\n highlighted: false,\n leadingItem: this.props.item\n }\n };\n this._separators = {\n highlight: () => {\n var _this$props = this.props,\n cellKey = _this$props.cellKey,\n prevCellKey = _this$props.prevCellKey;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: true\n });\n },\n unhighlight: () => {\n var _this$props2 = this.props,\n cellKey = _this$props2.cellKey,\n prevCellKey = _this$props2.prevCellKey;\n this.props.onUpdateSeparators([cellKey, prevCellKey], {\n highlighted: false\n });\n },\n updateProps: (select, newProps) => {\n var _this$props3 = this.props,\n cellKey = _this$props3.cellKey,\n prevCellKey = _this$props3.prevCellKey;\n this.props.onUpdateSeparators([select === 'leading' ? prevCellKey : cellKey], newProps);\n }\n };\n this._onLayout = nativeEvent => {\n this.props.onCellLayout && this.props.onCellLayout(nativeEvent, this.props.cellKey, this.props.index);\n };\n }\n static getDerivedStateFromProps(props, prevState) {\n return {\n separatorProps: _objectSpread(_objectSpread({}, prevState.separatorProps), {}, {\n leadingItem: props.item\n })\n };\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\n updateSeparatorProps(newProps) {\n this.setState(state => ({\n separatorProps: _objectSpread(_objectSpread({}, state.separatorProps), newProps)\n }));\n }\n componentWillUnmount() {\n this.props.onUnmount(this.props.cellKey);\n }\n _renderElement(renderItem, ListItemComponent, item, index) {\n if (renderItem && ListItemComponent) {\n console.warn('VirtualizedList: Both ListItemComponent and renderItem props are present. ListItemComponent will take' + ' precedence over renderItem.');\n }\n if (ListItemComponent) {\n /* $FlowFixMe[not-a-component] (>=0.108.0 site=react_native_fb) This\n * comment suppresses an error found when Flow v0.108 was deployed. To\n * see the error, delete this comment and run Flow. */\n /* $FlowFixMe[incompatible-type-arg] (>=0.108.0 site=react_native_fb)\n * This comment suppresses an error found when Flow v0.108 was deployed.\n * To see the error, delete this comment and run Flow. */\n return /*#__PURE__*/React.createElement(ListItemComponent, {\n item,\n index,\n separators: this._separators\n });\n }\n if (renderItem) {\n return renderItem({\n item,\n index,\n separators: this._separators\n });\n }\n invariant(false, 'VirtualizedList: Either ListItemComponent or renderItem props are required but none were found.');\n }\n render() {\n var _this$props4 = this.props,\n CellRendererComponent = _this$props4.CellRendererComponent,\n ItemSeparatorComponent = _this$props4.ItemSeparatorComponent,\n ListItemComponent = _this$props4.ListItemComponent,\n cellKey = _this$props4.cellKey,\n horizontal = _this$props4.horizontal,\n item = _this$props4.item,\n index = _this$props4.index,\n inversionStyle = _this$props4.inversionStyle,\n onCellFocusCapture = _this$props4.onCellFocusCapture,\n onCellLayout = _this$props4.onCellLayout,\n renderItem = _this$props4.renderItem;\n var element = this._renderElement(renderItem, ListItemComponent, item, index);\n\n // NOTE: that when this is a sticky header, `onLayout` will get automatically extracted and\n // called explicitly by `ScrollViewStickyHeader`.\n var itemSeparator = /*#__PURE__*/React.isValidElement(ItemSeparatorComponent) ?\n // $FlowFixMe[incompatible-type]\n ItemSeparatorComponent :\n // $FlowFixMe[incompatible-type]\n ItemSeparatorComponent && /*#__PURE__*/React.createElement(ItemSeparatorComponent, this.state.separatorProps);\n var cellStyle = inversionStyle ? horizontal ? [styles.rowReverse, inversionStyle] : [styles.columnReverse, inversionStyle] : horizontal ? [styles.row, inversionStyle] : inversionStyle;\n var result = !CellRendererComponent ? /*#__PURE__*/React.createElement(View, _extends({\n style: cellStyle,\n onFocusCapture: onCellFocusCapture\n }, onCellLayout && {\n onLayout: this._onLayout\n }), element, itemSeparator) : /*#__PURE__*/React.createElement(CellRendererComponent, _extends({\n cellKey: cellKey,\n index: index,\n item: item,\n style: cellStyle,\n onFocusCapture: onCellFocusCapture\n }, onCellLayout && {\n onLayout: this._onLayout\n }), element, itemSeparator);\n return /*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this.props.cellKey\n }, result);\n }\n}\nvar styles = StyleSheet.create({\n row: {\n flexDirection: 'row'\n },\n rowReverse: {\n flexDirection: 'row-reverse'\n },\n columnReverse: {\n flexDirection: 'column-reverse'\n }\n});","import _createForOfIteratorHelperLoose from \"@babel/runtime/helpers/createForOfIteratorHelperLoose\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/objectSpread2\";\n/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\n */\n\nimport RefreshControl from '../../../exports/RefreshControl';\nimport ScrollView from '../../../exports/ScrollView';\nimport View from '../../../exports/View';\nimport StyleSheet from '../../../exports/StyleSheet';\nimport findNodeHandle from '../../../exports/findNodeHandle';\nimport Batchinator from '../Batchinator';\nimport clamp from '../Utilities/clamp';\nimport infoLog from '../infoLog';\nimport { CellRenderMask } from './CellRenderMask';\nimport ChildListCollection from './ChildListCollection';\nimport FillRateHelper from '../FillRateHelper';\nimport StateSafePureComponent from './StateSafePureComponent';\nimport ViewabilityHelper from '../ViewabilityHelper';\nimport CellRenderer from './VirtualizedListCellRenderer';\nimport { VirtualizedListCellContextProvider, VirtualizedListContext, VirtualizedListContextProvider } from './VirtualizedListContext.js';\nimport { computeWindowedRenderLimits, keyExtractor as defaultKeyExtractor } from '../VirtualizeUtils';\nimport invariant from 'fbjs/lib/invariant';\nimport nullthrows from 'nullthrows';\nimport * as React from 'react';\nvar __DEV__ = process.env.NODE_ENV !== 'production';\nvar ON_EDGE_REACHED_EPSILON = 0.001;\nvar _usedIndexForKey = false;\nvar _keylessItemComponentName = '';\n/**\n * Default Props Helper Functions\n * Use the following helper functions for default values\n */\n\n// horizontalOrDefault(this.props.horizontal)\nfunction horizontalOrDefault(horizontal) {\n return horizontal !== null && horizontal !== void 0 ? horizontal : false;\n}\n\n// initialNumToRenderOrDefault(this.props.initialNumToRender)\nfunction initialNumToRenderOrDefault(initialNumToRender) {\n return initialNumToRender !== null && initialNumToRender !== void 0 ? initialNumToRender : 10;\n}\n\n// maxToRenderPerBatchOrDefault(this.props.maxToRenderPerBatch)\nfunction maxToRenderPerBatchOrDefault(maxToRenderPerBatch) {\n return maxToRenderPerBatch !== null && maxToRenderPerBatch !== void 0 ? maxToRenderPerBatch : 10;\n}\n\n// onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold)\nfunction onStartReachedThresholdOrDefault(onStartReachedThreshold) {\n return onStartReachedThreshold !== null && onStartReachedThreshold !== void 0 ? onStartReachedThreshold : 2;\n}\n\n// onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold)\nfunction onEndReachedThresholdOrDefault(onEndReachedThreshold) {\n return onEndReachedThreshold !== null && onEndReachedThreshold !== void 0 ? onEndReachedThreshold : 2;\n}\n\n// getScrollingThreshold(visibleLength, onEndReachedThreshold)\nfunction getScrollingThreshold(threshold, visibleLength) {\n return threshold * visibleLength / 2;\n}\n\n// scrollEventThrottleOrDefault(this.props.scrollEventThrottle)\nfunction scrollEventThrottleOrDefault(scrollEventThrottle) {\n return scrollEventThrottle !== null && scrollEventThrottle !== void 0 ? scrollEventThrottle : 50;\n}\n\n// windowSizeOrDefault(this.props.windowSize)\nfunction windowSizeOrDefault(windowSize) {\n return windowSize !== null && windowSize !== void 0 ? windowSize : 21;\n}\nfunction findLastWhere(arr, predicate) {\n for (var i = arr.length - 1; i >= 0; i--) {\n if (predicate(arr[i])) {\n return arr[i];\n }\n }\n return null;\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 // scrollToEnd may be janky without getItemLayout prop\n scrollToEnd(params) {\n var animated = params ? params.animated : true;\n var veryLast = this.props.getItemCount(this.props.data) - 1;\n if (veryLast < 0) {\n return;\n }\n var frame = this.__getFrameMetricsApprox(veryLast, this.props);\n var offset = Math.max(0, frame.offset + frame.length + this._footerLength - this._scrollMetrics.visibleLength);\n if (this._scrollRef == null) {\n return;\n }\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\n }\n\n // scrollToIndex may be janky without getItemLayout prop\n scrollToIndex(params) {\n var _this$props = this.props,\n data = _this$props.data,\n horizontal = _this$props.horizontal,\n getItemCount = _this$props.getItemCount,\n getItemLayout = _this$props.getItemLayout,\n onScrollToIndexFailed = _this$props.onScrollToIndexFailed;\n var animated = params.animated,\n index = params.index,\n viewOffset = params.viewOffset,\n viewPosition = params.viewPosition;\n invariant(index >= 0, \"scrollToIndex out of range: requested index \" + index + \" but minimum is 0\");\n invariant(getItemCount(data) >= 1, \"scrollToIndex out of range: item length \" + getItemCount(data) + \" but minimum is 1\");\n invariant(index < getItemCount(data), \"scrollToIndex out of range: requested index \" + index + \" is out of 0 to \" + (getItemCount(data) - 1));\n if (!getItemLayout && index > this._highestMeasuredFrameIndex) {\n invariant(!!onScrollToIndexFailed, 'scrollToIndex should be used in conjunction with getItemLayout or onScrollToIndexFailed, ' + 'otherwise there is no way to know the location of offscreen indices or handle failures.');\n onScrollToIndexFailed({\n averageItemLength: this._averageCellLength,\n highestMeasuredFrameIndex: this._highestMeasuredFrameIndex,\n index\n });\n return;\n }\n var frame = this.__getFrameMetricsApprox(Math.floor(index), this.props);\n var offset = Math.max(0, this._getOffsetApprox(index, this.props) - (viewPosition || 0) * (this._scrollMetrics.visibleLength - frame.length)) - (viewOffset || 0);\n if (this._scrollRef == null) {\n return;\n }\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n this._scrollRef.scrollTo(horizontal ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\n });\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 var item = params.item;\n var _this$props2 = this.props,\n data = _this$props2.data,\n getItem = _this$props2.getItem,\n getItemCount = _this$props2.getItemCount;\n var itemCount = getItemCount(data);\n for (var _index = 0; _index < itemCount; _index++) {\n if (getItem(data, _index) === item) {\n this.scrollToIndex(_objectSpread(_objectSpread({}, params), {}, {\n index: _index\n }));\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) {\n var animated = params.animated,\n offset = params.offset;\n if (this._scrollRef == null) {\n return;\n }\n if (this._scrollRef.scrollTo == null) {\n console.warn('No scrollTo method provided. This may be because you have two nested ' + 'VirtualizedLists with the same orientation, or because you are ' + 'using a custom component that does not implement scrollTo.');\n return;\n }\n this._scrollRef.scrollTo(horizontalOrDefault(this.props.horizontal) ? {\n x: offset,\n animated\n } : {\n y: offset,\n animated\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 flashScrollIndicators() {\n if (this._scrollRef == null) {\n return;\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() {\n if (this._scrollRef && this._scrollRef.getScrollResponder) {\n return this._scrollRef.getScrollResponder();\n }\n }\n getScrollableNode() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n return this._scrollRef.getScrollableNode();\n } else {\n return this._scrollRef;\n }\n }\n getScrollRef() {\n if (this._scrollRef && this._scrollRef.getScrollRef) {\n return this._scrollRef.getScrollRef();\n } else {\n return this._scrollRef;\n }\n }\n _getCellKey() {\n var _this$context;\n return ((_this$context = this.context) == null ? void 0 : _this$context.cellKey) || 'rootList';\n }\n\n // $FlowFixMe[missing-local-annot]\n\n hasMore() {\n return this._hasMore;\n }\n\n // $FlowFixMe[missing-local-annot]\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n\n constructor(_props) {\n var _this$props$updateCel;\n super(_props);\n this._getScrollMetrics = () => {\n return this._scrollMetrics;\n };\n this._getOutermostParentListRef = () => {\n if (this._isNestedWithSameOrientation()) {\n return this.context.getOutermostParentListRef();\n } else {\n return this;\n }\n };\n this._registerAsNestedChild = childList => {\n this._nestedChildLists.add(childList.ref, childList.cellKey);\n if (this._hasInteracted) {\n childList.ref.recordInteraction();\n }\n };\n this._unregisterAsNestedChild = childList => {\n this._nestedChildLists.remove(childList.ref);\n };\n this._onUpdateSeparators = (keys, newProps) => {\n keys.forEach(key => {\n var ref = key != null && this._cellRefs[key];\n ref && ref.updateSeparatorProps(newProps);\n });\n };\n this._getSpacerKey = isVertical => isVertical ? 'height' : 'width';\n this._averageCellLength = 0;\n this._cellRefs = {};\n this._frames = {};\n this._footerLength = 0;\n this._hasTriggeredInitialScrollToIndex = false;\n this._hasInteracted = false;\n this._hasMore = false;\n this._hasWarned = {};\n this._headerLength = 0;\n this._hiPriInProgress = false;\n this._highestMeasuredFrameIndex = 0;\n this._indicesToKeys = new Map();\n this._lastFocusedCellKey = null;\n this._nestedChildLists = new ChildListCollection();\n this._offsetFromParentVirtualizedList = 0;\n this._prevParentOffset = 0;\n this._scrollMetrics = {\n contentLength: 0,\n dOffset: 0,\n dt: 10,\n offset: 0,\n timestamp: 0,\n velocity: 0,\n visibleLength: 0,\n zoomScale: 1\n };\n this._scrollRef = null;\n this._sentStartForContentLength = 0;\n this._sentEndForContentLength = 0;\n this._totalCellLength = 0;\n this._totalCellsMeasured = 0;\n this._viewabilityTuples = [];\n this._captureScrollRef = ref => {\n this._scrollRef = ref;\n };\n this._defaultRenderScrollComponent = props => {\n var onRefresh = props.onRefresh;\n if (this._isNestedWithSameOrientation()) {\n // $FlowFixMe[prop-missing] - Typing ReactNativeComponent revealed errors\n return /*#__PURE__*/React.createElement(View, props);\n } else if (onRefresh) {\n var _props$refreshing;\n invariant(typeof props.refreshing === 'boolean', '`refreshing` prop must be set as a boolean in order to use `onRefresh`, but got `' + JSON.stringify((_props$refreshing = props.refreshing) !== null && _props$refreshing !== void 0 ? _props$refreshing : 'undefined') + '`');\n return (\n /*#__PURE__*/\n // $FlowFixMe[prop-missing] Invalid prop usage\n // $FlowFixMe[incompatible-use]\n React.createElement(ScrollView, _extends({}, props, {\n refreshControl: props.refreshControl == null ? /*#__PURE__*/React.createElement(RefreshControl\n // $FlowFixMe[incompatible-type]\n , {\n refreshing: props.refreshing,\n onRefresh: onRefresh,\n progressViewOffset: props.progressViewOffset\n }) : props.refreshControl\n }))\n );\n } else {\n // $FlowFixMe[prop-missing] Invalid prop usage\n // $FlowFixMe[incompatible-use]\n return /*#__PURE__*/React.createElement(ScrollView, props);\n }\n };\n this._onCellLayout = (e, cellKey, index) => {\n var layout = e.nativeEvent.layout;\n var next = {\n offset: this._selectOffset(layout),\n length: this._selectLength(layout),\n index,\n inLayout: true\n };\n var curr = this._frames[cellKey];\n if (!curr || next.offset !== curr.offset || next.length !== curr.length || index !== curr.index) {\n this._totalCellLength += next.length - (curr ? curr.length : 0);\n this._totalCellsMeasured += curr ? 0 : 1;\n this._averageCellLength = this._totalCellLength / this._totalCellsMeasured;\n this._frames[cellKey] = next;\n this._highestMeasuredFrameIndex = Math.max(this._highestMeasuredFrameIndex, index);\n this._scheduleCellsToRenderUpdate();\n } else {\n this._frames[cellKey].inLayout = true;\n }\n this._triggerRemeasureForChildListsInCell(cellKey);\n this._computeBlankness();\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n };\n this._onCellUnmount = cellKey => {\n delete this._cellRefs[cellKey];\n var curr = this._frames[cellKey];\n if (curr) {\n this._frames[cellKey] = _objectSpread(_objectSpread({}, curr), {}, {\n inLayout: false\n });\n }\n };\n this._onLayout = e => {\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(e.nativeEvent.layout);\n }\n this.props.onLayout && this.props.onLayout(e);\n this._scheduleCellsToRenderUpdate();\n this._maybeCallOnEdgeReached();\n };\n this._onLayoutEmpty = e => {\n this.props.onLayout && this.props.onLayout(e);\n };\n this._onLayoutFooter = e => {\n this._triggerRemeasureForChildListsInCell(this._getFooterCellKey());\n this._footerLength = this._selectLength(e.nativeEvent.layout);\n };\n this._onLayoutHeader = e => {\n this._headerLength = this._selectLength(e.nativeEvent.layout);\n };\n this._onContentSizeChange = (width, height) => {\n if (width > 0 && height > 0 && this.props.initialScrollIndex != null && this.props.initialScrollIndex > 0 && !this._hasTriggeredInitialScrollToIndex) {\n if (this.props.contentOffset == null) {\n if (this.props.initialScrollIndex < this.props.getItemCount(this.props.data)) {\n this.scrollToIndex({\n animated: false,\n index: nullthrows(this.props.initialScrollIndex)\n });\n } else {\n this.scrollToEnd({\n animated: false\n });\n }\n }\n this._hasTriggeredInitialScrollToIndex = true;\n }\n if (this.props.onContentSizeChange) {\n this.props.onContentSizeChange(width, height);\n }\n this._scrollMetrics.contentLength = this._selectLength({\n height,\n width\n });\n this._scheduleCellsToRenderUpdate();\n this._maybeCallOnEdgeReached();\n };\n this._convertParentScrollMetrics = metrics => {\n // Offset of the top of the nested list relative to the top of its parent's viewport\n var offset = metrics.offset - this._offsetFromParentVirtualizedList;\n // Child's visible length is the same as its parent's\n var visibleLength = metrics.visibleLength;\n var dOffset = offset - this._scrollMetrics.offset;\n var contentLength = this._scrollMetrics.contentLength;\n return {\n visibleLength,\n contentLength,\n offset,\n dOffset\n };\n };\n this._onScroll = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScroll(e);\n });\n if (this.props.onScroll) {\n this.props.onScroll(e);\n }\n var timestamp = e.timeStamp;\n var visibleLength = this._selectLength(e.nativeEvent.layoutMeasurement);\n var contentLength = this._selectLength(e.nativeEvent.contentSize);\n var offset = this._selectOffset(e.nativeEvent.contentOffset);\n var dOffset = offset - this._scrollMetrics.offset;\n if (this._isNestedWithSameOrientation()) {\n if (this._scrollMetrics.contentLength === 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 var _this$_convertParentS = this._convertParentScrollMetrics({\n visibleLength,\n offset\n });\n visibleLength = _this$_convertParentS.visibleLength;\n contentLength = _this$_convertParentS.contentLength;\n offset = _this$_convertParentS.offset;\n dOffset = _this$_convertParentS.dOffset;\n }\n var dt = this._scrollMetrics.timestamp ? Math.max(1, timestamp - this._scrollMetrics.timestamp) : 1;\n var velocity = dOffset / dt;\n if (dt > 500 && this._scrollMetrics.dt > 500 && contentLength > 5 * visibleLength && !this._hasWarned.perf) {\n infoLog('VirtualizedList: You have a large list that is slow to update - make sure your ' + 'renderItem function renders components that follow React performance best practices ' + 'like PureComponent, shouldComponentUpdate, etc.', {\n dt,\n prevDt: this._scrollMetrics.dt,\n contentLength\n });\n this._hasWarned.perf = true;\n }\n\n // For invalid negative values (w/ RTL), set this to 1.\n var zoomScale = e.nativeEvent.zoomScale < 0 ? 1 : e.nativeEvent.zoomScale;\n this._scrollMetrics = {\n contentLength,\n dt,\n dOffset,\n offset,\n timestamp,\n velocity,\n visibleLength,\n zoomScale\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 this._onScrollBeginDrag = e => {\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 this._onScrollEndDrag = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onScrollEndDrag(e);\n });\n var velocity = e.nativeEvent.velocity;\n if (velocity) {\n this._scrollMetrics.velocity = this._selectOffset(velocity);\n }\n this._computeBlankness();\n this.props.onScrollEndDrag && this.props.onScrollEndDrag(e);\n };\n this._onMomentumScrollBegin = e => {\n this._nestedChildLists.forEach(childList => {\n childList._onMomentumScrollBegin(e);\n });\n this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e);\n };\n this._onMomentumScrollEnd = e => {\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 this._updateCellsToRender = () => {\n this._updateViewableItems(this.props, this.state.cellsAroundViewport);\n this.setState((state, props) => {\n var cellsAroundViewport = this._adjustCellsAroundViewport(props, state.cellsAroundViewport);\n var renderMask = VirtualizedList._createRenderMask(props, cellsAroundViewport, this._getNonViewportRenderRegions(props));\n if (cellsAroundViewport.first === state.cellsAroundViewport.first && cellsAroundViewport.last === state.cellsAroundViewport.last && renderMask.equals(state.renderMask)) {\n return null;\n }\n return {\n cellsAroundViewport,\n renderMask\n };\n });\n };\n this._createViewToken = (index, isViewable, props\n // $FlowFixMe[missing-local-annot]\n ) => {\n var data = props.data,\n getItem = props.getItem;\n var item = getItem(data, index);\n return {\n index,\n item,\n key: this._keyExtractor(item, index, props),\n isViewable\n };\n };\n this._getOffsetApprox = (index, props) => {\n if (Number.isInteger(index)) {\n return this.__getFrameMetricsApprox(index, props).offset;\n } else {\n var frameMetrics = this.__getFrameMetricsApprox(Math.floor(index), props);\n var remainder = index - Math.floor(index);\n return frameMetrics.offset + remainder * frameMetrics.length;\n }\n };\n this.__getFrameMetricsApprox = (index, props) => {\n var frame = this._getFrameMetrics(index, props);\n if (frame && frame.index === index) {\n // check for invalid frames due to row re-ordering\n return frame;\n } else {\n var data = props.data,\n getItemCount = props.getItemCount,\n getItemLayout = props.getItemLayout;\n invariant(index >= 0 && index < getItemCount(data), 'Tried to get frame for out of range index ' + index);\n invariant(!getItemLayout, 'Should not have to estimate frames when a measurement metrics function is provided');\n return {\n length: this._averageCellLength,\n offset: this._averageCellLength * index\n };\n }\n };\n this._getFrameMetrics = (index, props) => {\n var data = props.data,\n getItem = props.getItem,\n getItemCount = props.getItemCount,\n getItemLayout = props.getItemLayout;\n invariant(index >= 0 && index < getItemCount(data), 'Tried to get frame for out of range index ' + index);\n var item = getItem(data, index);\n var frame = this._frames[this._keyExtractor(item, index, props)];\n if (!frame || frame.index !== index) {\n if (getItemLayout) {\n /* $FlowFixMe[prop-missing] (>=0.63.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.63 was deployed. To see the error\n * delete this comment and run Flow. */\n return getItemLayout(data, index);\n }\n }\n return frame;\n };\n this._getNonViewportRenderRegions = props => {\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 (!(this._lastFocusedCellKey && this._cellRefs[this._lastFocusedCellKey])) {\n return [];\n }\n var lastFocusedCellRenderer = this._cellRefs[this._lastFocusedCellKey];\n var focusedCellIndex = lastFocusedCellRenderer.props.index;\n var 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 (focusedCellIndex >= itemCount || this._keyExtractor(props.getItem(props.data, focusedCellIndex), focusedCellIndex, props) !== this._lastFocusedCellKey) {\n return [];\n }\n var first = focusedCellIndex;\n var heightOfCellsBeforeFocused = 0;\n for (var i = first - 1; i >= 0 && heightOfCellsBeforeFocused < this._scrollMetrics.visibleLength; i--) {\n first--;\n heightOfCellsBeforeFocused += this.__getFrameMetricsApprox(i, props).length;\n }\n var last = focusedCellIndex;\n var heightOfCellsAfterFocused = 0;\n for (var _i = last + 1; _i < itemCount && heightOfCellsAfterFocused < this._scrollMetrics.visibleLength; _i++) {\n last++;\n heightOfCellsAfterFocused += this.__getFrameMetricsApprox(_i, props).length;\n }\n return [{\n first,\n last\n }];\n };\n this._checkProps(_props);\n this._fillRateHelper = new FillRateHelper(this._getFrameMetrics);\n this._updateCellsToRenderBatcher = new Batchinator(this._updateCellsToRender, (_this$props$updateCel = this.props.updateCellsBatchingPeriod) !== null && _this$props$updateCel !== void 0 ? _this$props$updateCel : 50);\n if (this.props.viewabilityConfigCallbackPairs) {\n this._viewabilityTuples = this.props.viewabilityConfigCallbackPairs.map(pair => ({\n viewabilityHelper: new ViewabilityHelper(pair.viewabilityConfig),\n onViewableItemsChanged: pair.onViewableItemsChanged\n }));\n } else {\n var _this$props3 = this.props,\n onViewableItemsChanged = _this$props3.onViewableItemsChanged,\n viewabilityConfig = _this$props3.viewabilityConfig;\n if (onViewableItemsChanged) {\n this._viewabilityTuples.push({\n viewabilityHelper: new ViewabilityHelper(viewabilityConfig),\n onViewableItemsChanged: onViewableItemsChanged\n });\n }\n }\n var initialRenderRegion = VirtualizedList._initialRenderRegion(_props);\n this.state = {\n cellsAroundViewport: initialRenderRegion,\n renderMask: VirtualizedList._createRenderMask(_props, initialRenderRegion)\n };\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n // For issue https://github.com/necolas/react-native-web/issues/995\n this.invertedWheelEventHandler = ev => {\n var scrollOffset = this.props.horizontal ? ev.target.scrollLeft : ev.target.scrollTop;\n var scrollLength = this.props.horizontal ? ev.target.scrollWidth : ev.target.scrollHeight;\n var clientLength = this.props.horizontal ? ev.target.clientWidth : ev.target.clientHeight;\n var isEventTargetScrollable = scrollLength > clientLength;\n var delta = this.props.horizontal ? ev.deltaX || ev.wheelDeltaX : ev.deltaY || ev.wheelDeltaY;\n var leftoverDelta = delta;\n if (isEventTargetScrollable) {\n leftoverDelta = delta < 0 ? Math.min(delta + scrollOffset, 0) : Math.max(delta - (scrollLength - clientLength - scrollOffset), 0);\n }\n var targetDelta = delta - leftoverDelta;\n if (this.props.inverted && this._scrollRef && this._scrollRef.getScrollableNode) {\n var node = this._scrollRef.getScrollableNode();\n if (this.props.horizontal) {\n ev.target.scrollLeft += targetDelta;\n var nextScrollLeft = node.scrollLeft - leftoverDelta;\n node.scrollLeft = !this.props.getItemLayout ? Math.min(nextScrollLeft, this._totalCellLength) : nextScrollLeft;\n } else {\n ev.target.scrollTop += targetDelta;\n var nextScrollTop = node.scrollTop - leftoverDelta;\n node.scrollTop = !this.props.getItemLayout ? Math.min(nextScrollTop, this._totalCellLength) : nextScrollTop;\n }\n ev.preventDefault();\n }\n };\n }\n _checkProps(props) {\n var onScroll = props.onScroll,\n windowSize = props.windowSize,\n getItemCount = props.getItemCount,\n data = props.data,\n initialScrollIndex = props.initialScrollIndex;\n invariant(\n // $FlowFixMe[prop-missing]\n !onScroll || !onScroll.__isNative, 'Components based on VirtualizedList must be wrapped with Animated.createAnimatedComponent ' + 'to support native onScroll events with useNativeDriver');\n invariant(windowSizeOrDefault(windowSize) > 0, 'VirtualizedList: The windowSize prop must be present and set to a value greater than 0.');\n invariant(getItemCount, 'VirtualizedList: The \"getItemCount\" prop must be provided');\n var itemCount = getItemCount(data);\n if (initialScrollIndex != null && !this._hasTriggeredInitialScrollToIndex && (initialScrollIndex < 0 || itemCount > 0 && initialScrollIndex >= itemCount) && !this._hasWarned.initialScrollIndex) {\n console.warn(\"initialScrollIndex \\\"\" + initialScrollIndex + \"\\\" is not valid (list has \" + itemCount + \" items)\");\n this._hasWarned.initialScrollIndex = true;\n }\n if (__DEV__ && !this._hasWarned.flexWrap) {\n // $FlowFixMe[underconstrained-implicit-instantiation]\n var flatStyles = StyleSheet.flatten(this.props.contentContainerStyle);\n if (flatStyles != null && flatStyles.flexWrap === 'wrap') {\n console.warn('`flexWrap: `wrap`` is not supported with the `VirtualizedList` components.' + 'Consider using `numColumns` with `FlatList` instead.');\n this._hasWarned.flexWrap = true;\n }\n }\n }\n static _createRenderMask(props, cellsAroundViewport, additionalRegions) {\n var itemCount = props.getItemCount(props.data);\n invariant(cellsAroundViewport.first >= 0 && cellsAroundViewport.last >= cellsAroundViewport.first - 1 && cellsAroundViewport.last < itemCount, \"Invalid cells around viewport \\\"[\" + cellsAroundViewport.first + \", \" + cellsAroundViewport.last + \"]\\\" was passed to VirtualizedList._createRenderMask\");\n var renderMask = new CellRenderMask(itemCount);\n if (itemCount > 0) {\n var allRegions = [cellsAroundViewport, ...(additionalRegions !== null && additionalRegions !== void 0 ? additionalRegions : [])];\n for (var _i2 = 0, _allRegions = allRegions; _i2 < _allRegions.length; _i2++) {\n var region = _allRegions[_i2];\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 var 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 var stickyIndicesSet = new Set(props.stickyHeaderIndices);\n VirtualizedList._ensureClosestStickyHeader(props, stickyIndicesSet, renderMask, cellsAroundViewport.first);\n }\n return renderMask;\n }\n static _initialRenderRegion(props) {\n var _props$initialScrollI;\n var itemCount = props.getItemCount(props.data);\n var firstCellIndex = Math.max(0, Math.min(itemCount - 1, Math.floor((_props$initialScrollI = props.initialScrollIndex) !== null && _props$initialScrollI !== void 0 ? _props$initialScrollI : 0)));\n var lastCellIndex = Math.min(itemCount, firstCellIndex + initialNumToRenderOrDefault(props.initialNumToRender)) - 1;\n return {\n first: firstCellIndex,\n last: lastCellIndex\n };\n }\n static _ensureClosestStickyHeader(props, stickyIndicesSet, renderMask, cellIdx) {\n var stickyOffset = props.ListHeaderComponent ? 1 : 0;\n for (var itemIdx = cellIdx - 1; itemIdx >= 0; itemIdx--) {\n if (stickyIndicesSet.has(itemIdx + stickyOffset)) {\n renderMask.addCells({\n first: itemIdx,\n last: itemIdx\n });\n break;\n }\n }\n }\n _adjustCellsAroundViewport(props, cellsAroundViewport) {\n var data = props.data,\n getItemCount = props.getItemCount;\n var onEndReachedThreshold = onEndReachedThresholdOrDefault(props.onEndReachedThreshold);\n var _this$_scrollMetrics = this._scrollMetrics,\n contentLength = _this$_scrollMetrics.contentLength,\n offset = _this$_scrollMetrics.offset,\n visibleLength = _this$_scrollMetrics.visibleLength;\n var 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) ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props) : cellsAroundViewport;\n }\n var newCellsAroundViewport;\n if (props.disableVirtualization) {\n var renderAhead = distanceFromEnd < onEndReachedThreshold * visibleLength ? maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch) : 0;\n newCellsAroundViewport = {\n first: 0,\n last: Math.min(cellsAroundViewport.last + renderAhead, getItemCount(data) - 1)\n };\n } else {\n // If we have a non-zero initialScrollIndex and run this before we've scrolled,\n // we'll wipe out the initialNumToRender rendered elements starting at initialScrollIndex.\n // So let's wait until we've scrolled the view to the right place. And until then,\n // we will trust the initialScrollIndex suggestion.\n\n // Thus, we want to recalculate the windowed render limits if any of the following hold:\n // - initialScrollIndex is undefined or is 0\n // - initialScrollIndex > 0 AND scrolling is complete\n // - initialScrollIndex > 0 AND the end of the list is visible (this handles the case\n // where the list is shorter than the visible area)\n if (props.initialScrollIndex && !this._scrollMetrics.offset && Math.abs(distanceFromEnd) >= Number.EPSILON) {\n return cellsAroundViewport.last >= getItemCount(data) ? VirtualizedList._constrainToItemCount(cellsAroundViewport, props) : cellsAroundViewport;\n }\n newCellsAroundViewport = computeWindowedRenderLimits(props, maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch), windowSizeOrDefault(props.windowSize), cellsAroundViewport, this.__getFrameMetricsApprox, this._scrollMetrics);\n invariant(newCellsAroundViewport.last < getItemCount(data), 'computeWindowedRenderLimits() should return range in-bounds');\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 var childIdx = this._findFirstChildWithMore(newCellsAroundViewport.first, newCellsAroundViewport.last);\n newCellsAroundViewport.last = childIdx !== null && childIdx !== void 0 ? childIdx : newCellsAroundViewport.last;\n }\n return newCellsAroundViewport;\n }\n _findFirstChildWithMore(first, last) {\n for (var ii = first; ii <= last; ii++) {\n var cellKeyForIndex = this._indicesToKeys.get(ii);\n if (cellKeyForIndex != null && this._nestedChildLists.anyInCell(cellKeyForIndex, childList => childList.hasMore())) {\n return ii;\n }\n }\n return null;\n }\n componentDidMount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.registerAsNestedChild({\n ref: this,\n cellKey: this.context.cellKey\n });\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n this.setupWebWheelHandler();\n }\n componentWillUnmount() {\n if (this._isNestedWithSameOrientation()) {\n this.context.unregisterAsNestedChild({\n ref: this\n });\n }\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.dispose();\n });\n this._fillRateHelper.deactivateAndFlush();\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n this.teardownWebWheelHandler();\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n setupWebWheelHandler() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n this._scrollRef.getScrollableNode().addEventListener('wheel', this.invertedWheelEventHandler);\n } else {\n setTimeout(() => this.setupWebWheelHandler(), 50);\n return;\n }\n }\n\n // REACT-NATIVE-WEB patch to preserve during future RN merges: Support inverted wheel scroller.\n teardownWebWheelHandler() {\n if (this._scrollRef && this._scrollRef.getScrollableNode) {\n this._scrollRef.getScrollableNode().removeEventListener('wheel', this.invertedWheelEventHandler);\n }\n }\n static getDerivedStateFromProps(newProps, prevState) {\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 var itemCount = newProps.getItemCount(newProps.data);\n if (itemCount === prevState.renderMask.numCells()) {\n return prevState;\n }\n var constrainedCells = VirtualizedList._constrainToItemCount(prevState.cellsAroundViewport, newProps);\n return {\n cellsAroundViewport: constrainedCells,\n renderMask: VirtualizedList._createRenderMask(newProps, constrainedCells)\n };\n }\n _pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, first, last, inversionStyle) {\n var _this = this;\n var _this$props4 = this.props,\n CellRendererComponent = _this$props4.CellRendererComponent,\n ItemSeparatorComponent = _this$props4.ItemSeparatorComponent,\n ListHeaderComponent = _this$props4.ListHeaderComponent,\n ListItemComponent = _this$props4.ListItemComponent,\n data = _this$props4.data,\n debug = _this$props4.debug,\n getItem = _this$props4.getItem,\n getItemCount = _this$props4.getItemCount,\n getItemLayout = _this$props4.getItemLayout,\n horizontal = _this$props4.horizontal,\n renderItem = _this$props4.renderItem;\n var stickyOffset = ListHeaderComponent ? 1 : 0;\n var end = getItemCount(data) - 1;\n var prevCellKey;\n last = Math.min(end, last);\n var _loop = function _loop() {\n var item = getItem(data, ii);\n var key = _this._keyExtractor(item, ii, _this.props);\n _this._indicesToKeys.set(ii, key);\n if (stickyIndicesFromProps.has(ii + stickyOffset)) {\n stickyHeaderIndices.push(cells.length);\n }\n var shouldListenForLayout = getItemLayout == null || debug || _this._fillRateHelper.enabled();\n cells.push(/*#__PURE__*/React.createElement(CellRenderer, _extends({\n CellRendererComponent: CellRendererComponent,\n ItemSeparatorComponent: ii < end ? ItemSeparatorComponent : undefined,\n ListItemComponent: ListItemComponent,\n cellKey: key,\n horizontal: horizontal,\n index: ii,\n inversionStyle: inversionStyle,\n item: item,\n key: key,\n prevCellKey: prevCellKey,\n onUpdateSeparators: _this._onUpdateSeparators,\n onCellFocusCapture: e => _this._onCellFocusCapture(key),\n onUnmount: _this._onCellUnmount,\n ref: _ref => {\n _this._cellRefs[key] = _ref;\n },\n renderItem: renderItem\n }, shouldListenForLayout && {\n onCellLayout: _this._onCellLayout\n })));\n prevCellKey = key;\n };\n for (var ii = first; ii <= last; ii++) {\n _loop();\n }\n }\n static _constrainToItemCount(cells, props) {\n var itemCount = props.getItemCount(props.data);\n var last = Math.min(itemCount - 1, cells.last);\n var maxToRenderPerBatch = maxToRenderPerBatchOrDefault(props.maxToRenderPerBatch);\n return {\n first: clamp(0, itemCount - 1 - maxToRenderPerBatch, cells.first),\n last\n };\n }\n _isNestedWithSameOrientation() {\n var nestedContext = this.context;\n return !!(nestedContext && !!nestedContext.horizontal === horizontalOrDefault(this.props.horizontal));\n }\n _keyExtractor(item, index, props\n // $FlowFixMe[missing-local-annot]\n ) {\n if (props.keyExtractor != null) {\n return props.keyExtractor(item, index);\n }\n var 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 render() {\n this._checkProps(this.props);\n var _this$props5 = this.props,\n ListEmptyComponent = _this$props5.ListEmptyComponent,\n ListFooterComponent = _this$props5.ListFooterComponent,\n ListHeaderComponent = _this$props5.ListHeaderComponent;\n var _this$props6 = this.props,\n data = _this$props6.data,\n horizontal = _this$props6.horizontal;\n var inversionStyle = this.props.inverted ? horizontalOrDefault(this.props.horizontal) ? styles.horizontallyInverted : styles.verticallyInverted : null;\n var cells = [];\n var stickyIndicesFromProps = new Set(this.props.stickyHeaderIndices);\n var stickyHeaderIndices = [];\n\n // 1. Add cell for ListHeaderComponent\n if (ListHeaderComponent) {\n if (stickyIndicesFromProps.has(0)) {\n stickyHeaderIndices.push(0);\n }\n var _element = /*#__PURE__*/React.isValidElement(ListHeaderComponent) ? ListHeaderComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListHeaderComponent, null);\n cells.push(/*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getCellKey() + '-header',\n key: \"$header\"\n }, /*#__PURE__*/React.createElement(View, {\n onLayout: this._onLayoutHeader,\n style: [inversionStyle, this.props.ListHeaderComponentStyle]\n },\n // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n _element)));\n }\n\n // 2a. Add a cell for ListEmptyComponent if applicable\n var itemCount = this.props.getItemCount(data);\n if (itemCount === 0 && ListEmptyComponent) {\n var _element2 = /*#__PURE__*/React.isValidElement(ListEmptyComponent) ? ListEmptyComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListEmptyComponent, null);\n cells.push(/*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getCellKey() + '-empty',\n key: \"$empty\"\n }, /*#__PURE__*/React.cloneElement(_element2, {\n onLayout: event => {\n this._onLayoutEmpty(event);\n if (_element2.props.onLayout) {\n _element2.props.onLayout(event);\n }\n },\n style: [inversionStyle, _element2.props.style]\n })));\n }\n\n // 2b. Add cells and spacers for each item\n if (itemCount > 0) {\n _usedIndexForKey = false;\n _keylessItemComponentName = '';\n var spacerKey = this._getSpacerKey(!horizontal);\n var renderRegions = this.state.renderMask.enumerateRegions();\n var lastSpacer = findLastWhere(renderRegions, r => r.isSpacer);\n for (var _iterator = _createForOfIteratorHelperLoose(renderRegions), _step; !(_step = _iterator()).done;) {\n var section = _step.value;\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 var isLastSpacer = section === lastSpacer;\n var constrainToMeasured = isLastSpacer && !this.props.getItemLayout;\n var last = constrainToMeasured ? clamp(section.first - 1, section.last, this._highestMeasuredFrameIndex) : section.last;\n var firstMetrics = this.__getFrameMetricsApprox(section.first, this.props);\n var lastMetrics = this.__getFrameMetricsApprox(last, this.props);\n var spacerSize = lastMetrics.offset + lastMetrics.length - firstMetrics.offset;\n cells.push(/*#__PURE__*/React.createElement(View, {\n key: \"$spacer-\" + section.first,\n style: {\n [spacerKey]: spacerSize\n }\n }));\n } else {\n this._pushCells(cells, stickyHeaderIndices, stickyIndicesFromProps, section.first, section.last, inversionStyle);\n }\n }\n if (!this._hasWarned.keys && _usedIndexForKey) {\n console.warn('VirtualizedList: missing keys for items, make sure to specify a key or id property on each ' + 'item or provide a custom keyExtractor.', _keylessItemComponentName);\n this._hasWarned.keys = true;\n }\n }\n\n // 3. Add cell for ListFooterComponent\n if (ListFooterComponent) {\n var _element3 = /*#__PURE__*/React.isValidElement(ListFooterComponent) ? ListFooterComponent :\n /*#__PURE__*/\n // $FlowFixMe[not-a-component]\n // $FlowFixMe[incompatible-type-arg]\n React.createElement(ListFooterComponent, null);\n cells.push(/*#__PURE__*/React.createElement(VirtualizedListCellContextProvider, {\n cellKey: this._getFooterCellKey(),\n key: \"$footer\"\n }, /*#__PURE__*/React.createElement(View, {\n onLayout: this._onLayoutFooter,\n style: [inversionStyle, this.props.ListFooterComponentStyle]\n },\n // $FlowFixMe[incompatible-type] - Typing ReactNativeComponent revealed errors\n _element3)));\n }\n\n // 4. Render the ScrollView\n var scrollProps = _objectSpread(_objectSpread({}, 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 scrollEventThrottle: scrollEventThrottleOrDefault(this.props.scrollEventThrottle),\n // TODO: Android support\n invertStickyHeaders: this.props.invertStickyHeaders !== undefined ? this.props.invertStickyHeaders : this.props.inverted,\n stickyHeaderIndices,\n style: inversionStyle ? [inversionStyle, this.props.style] : this.props.style\n });\n this._hasMore = this.state.cellsAroundViewport.last < itemCount - 1;\n var innerRet = /*#__PURE__*/React.createElement(VirtualizedListContextProvider, {\n value: {\n cellKey: null,\n getScrollMetrics: this._getScrollMetrics,\n horizontal: horizontalOrDefault(this.props.horizontal),\n getOutermostParentListRef: this._getOutermostParentListRef,\n registerAsNestedChild: this._registerAsNestedChild,\n unregisterAsNestedChild: this._unregisterAsNestedChild\n }\n }, /*#__PURE__*/React.cloneElement((this.props.renderScrollComponent || this._defaultRenderScrollComponent)(scrollProps), {\n ref: this._captureScrollRef\n }, cells));\n var ret = innerRet;\n /* https://github.com/necolas/react-native-web/issues/2239: Re-enable when ScrollView.Context.Consumer is available.\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 // TODO (T46547044): use React.warn once 16.9 is sync'd: https://github.com/facebook/react/pull/15170\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 /*#__PURE__*/React.createElement(View, {\n style: styles.debug\n }, ret, this._renderDebugOverlay());\n } else {\n return ret;\n }\n }\n componentDidUpdate(prevProps) {\n var _this$props7 = this.props,\n data = _this$props7.data,\n extraData = _this$props7.extraData;\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 var 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\n // Used for preventing scrollToIndex from being called multiple times for initialScrollIndex\n\n // flag to prevent infinite hiPri cell limit update\n\n // $FlowFixMe[missing-local-annot]\n\n /* $FlowFixMe[missing-local-annot] The type annotation(s) required by Flow's\n * LTI update could not be added via codemod */\n\n _computeBlankness() {\n this._fillRateHelper.computeBlankness(this.props, this.state.cellsAroundViewport, this._scrollMetrics);\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\n _onCellFocusCapture(cellKey) {\n this._lastFocusedCellKey = cellKey;\n this._updateCellsToRender();\n }\n _triggerRemeasureForChildListsInCell(cellKey) {\n this._nestedChildLists.forEachInCell(cellKey, childList => {\n childList.measureLayoutRelativeToContainingList();\n });\n }\n measureLayoutRelativeToContainingList() {\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(this.context.getOutermostParentListRef().getScrollRef(), (x, y, width, height) => {\n this._offsetFromParentVirtualizedList = this._selectOffset({\n x,\n y\n });\n this._scrollMetrics.contentLength = this._selectLength({\n width,\n height\n });\n var scrollMetrics = this._convertParentScrollMetrics(this.context.getScrollMetrics());\n var metricsChanged = this._scrollMetrics.visibleLength !== scrollMetrics.visibleLength || this._scrollMetrics.offset !== scrollMetrics.offset;\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 }, error => {\n console.warn(\"VirtualizedList: Encountered an error while measuring a list's\" + ' offset from its containing VirtualizedList.');\n });\n } catch (error) {\n console.warn('measureLayoutRelativeToContainingList threw an error', error.stack);\n }\n }\n _getFooterCellKey() {\n return this._getCellKey() + '-footer';\n }\n // $FlowFixMe[missing-local-annot]\n _renderDebugOverlay() {\n var normalize = this._scrollMetrics.visibleLength / (this._scrollMetrics.contentLength || 1);\n var framesInLayout = [];\n var itemCount = this.props.getItemCount(this.props.data);\n for (var ii = 0; ii < itemCount; ii++) {\n var frame = this.__getFrameMetricsApprox(ii, this.props);\n /* $FlowFixMe[prop-missing] (>=0.68.0 site=react_native_fb) This comment\n * suppresses an error found when Flow v0.68 was deployed. To see the\n * error delete this comment and run Flow. */\n if (frame.inLayout) {\n framesInLayout.push(frame);\n }\n }\n var windowTop = this.__getFrameMetricsApprox(this.state.cellsAroundViewport.first, this.props).offset;\n var frameLast = this.__getFrameMetricsApprox(this.state.cellsAroundViewport.last, this.props);\n var windowLen = frameLast.offset + frameLast.length - windowTop;\n var visTop = this._scrollMetrics.offset;\n var visLen = this._scrollMetrics.visibleLength;\n return /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlay]\n }, framesInLayout.map((f, ii) => /*#__PURE__*/React.createElement(View, {\n key: 'f' + ii,\n style: [styles.debugOverlayBase, styles.debugOverlayFrame, {\n top: f.offset * normalize,\n height: f.length * normalize\n }]\n })), /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameLast, {\n top: windowTop * normalize,\n height: windowLen * normalize\n }]\n }), /*#__PURE__*/React.createElement(View, {\n style: [styles.debugOverlayBase, styles.debugOverlayFrameVis, {\n top: visTop * normalize,\n height: visLen * normalize\n }]\n }));\n }\n _selectLength(metrics) {\n return !horizontalOrDefault(this.props.horizontal) ? metrics.height : metrics.width;\n }\n _selectOffset(metrics) {\n return !horizontalOrDefault(this.props.horizontal) ? metrics.y : metrics.x;\n }\n _maybeCallOnEdgeReached() {\n var _this$props8 = this.props,\n data = _this$props8.data,\n getItemCount = _this$props8.getItemCount,\n onStartReached = _this$props8.onStartReached,\n onStartReachedThreshold = _this$props8.onStartReachedThreshold,\n onEndReached = _this$props8.onEndReached,\n onEndReachedThreshold = _this$props8.onEndReachedThreshold,\n initialScrollIndex = _this$props8.initialScrollIndex;\n var _this$_scrollMetrics2 = this._scrollMetrics,\n contentLength = _this$_scrollMetrics2.contentLength,\n visibleLength = _this$_scrollMetrics2.visibleLength,\n offset = _this$_scrollMetrics2.offset;\n var distanceFromStart = offset;\n var distanceFromEnd = contentLength - 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 var DEFAULT_THRESHOLD_PX = 2;\n var startThreshold = onStartReachedThreshold != null ? onStartReachedThreshold * visibleLength : DEFAULT_THRESHOLD_PX;\n var endThreshold = onEndReachedThreshold != null ? onEndReachedThreshold * visibleLength : DEFAULT_THRESHOLD_PX;\n var isWithinStartThreshold = distanceFromStart <= startThreshold;\n var 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 (onEndReached && this.state.cellsAroundViewport.last === getItemCount(data) - 1 && isWithinEndThreshold && this._scrollMetrics.contentLength !== this._sentEndForContentLength) {\n this._sentEndForContentLength = this._scrollMetrics.contentLength;\n onEndReached({\n distanceFromEnd\n });\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 else if (onStartReached != null && this.state.cellsAroundViewport.first === 0 && isWithinStartThreshold && this._scrollMetrics.contentLength !== this._sentStartForContentLength) {\n // On initial mount when using initialScrollIndex the offset will be 0 initially\n // and will trigger an unexpected onStartReached. To avoid this we can use\n // timestamp to differentiate between the initial scroll metrics and when we actually\n // received the first scroll event.\n if (!initialScrollIndex || this._scrollMetrics.timestamp !== 0) {\n this._sentStartForContentLength = this._scrollMetrics.contentLength;\n onStartReached({\n distanceFromStart\n });\n }\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 else {\n this._sentStartForContentLength = isWithinStartThreshold ? this._sentStartForContentLength : 0;\n this._sentEndForContentLength = isWithinEndThreshold ? this._sentEndForContentLength : 0;\n }\n }\n\n /* Translates metrics from a scroll event in a parent VirtualizedList into\n * coordinates relative to the child list.\n */\n\n _scheduleCellsToRenderUpdate() {\n var _this$state$cellsArou = this.state.cellsAroundViewport,\n first = _this$state$cellsArou.first,\n last = _this$state$cellsArou.last;\n var _this$_scrollMetrics3 = this._scrollMetrics,\n offset = _this$_scrollMetrics3.offset,\n visibleLength = _this$_scrollMetrics3.visibleLength,\n velocity = _this$_scrollMetrics3.velocity;\n var itemCount = this.props.getItemCount(this.props.data);\n var hiPri = false;\n var onStartReachedThreshold = onStartReachedThresholdOrDefault(this.props.onStartReachedThreshold);\n var onEndReachedThreshold = onEndReachedThresholdOrDefault(this.props.onEndReachedThreshold);\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 var distTop = offset - this.__getFrameMetricsApprox(first, this.props).offset;\n hiPri = distTop < 0 || velocity < -2 && distTop < 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 var distBottom = this.__getFrameMetricsApprox(last, this.props).offset - (offset + visibleLength);\n hiPri = distBottom < 0 || velocity > 2 && distBottom < getScrollingThreshold(onEndReachedThreshold, visibleLength);\n }\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 (hiPri && (this._averageCellLength || this.props.getItemLayout) && !this._hiPriInProgress) {\n this._hiPriInProgress = true;\n // Don't worry about interactions when scrolling quickly; focus on filling content as fast\n // as possible.\n this._updateCellsToRenderBatcher.dispose({\n abort: true\n });\n this._updateCellsToRender();\n return;\n } else {\n this._updateCellsToRenderBatcher.schedule();\n }\n }\n\n /**\n * Gets an approximate offset to an item at a given index. Supports\n * fractional indices.\n */\n\n _updateViewableItems(props, cellsAroundViewport) {\n this._viewabilityTuples.forEach(tuple => {\n tuple.viewabilityHelper.onUpdate(props, this._scrollMetrics.offset, this._scrollMetrics.visibleLength, this._getFrameMetrics, this._createViewToken, tuple.onViewableItemsChanged, cellsAroundViewport);\n });\n }\n}\nVirtualizedList.contextType = VirtualizedListContext;\nvar styles = StyleSheet.create({\n verticallyInverted: {\n transform: 'scaleY(-1)'\n },\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});\nexport default VirtualizedList;","/**\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This 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 * @format\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 constructor() {\n this._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(eventType, listener, context) {\n var registrations = allocate(this._registry, eventType);\n var registration = {\n context,\n listener,\n remove() {\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(eventType) {\n var registrations = this._registry[eventType];\n if (registrations != null) {\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 for (var _i = 0, _arr = [...registrations]; _i < _arr.length; _i++) {\n var registration = _arr[_i];\n registration.listener.apply(registration.context, args);\n }\n }\n }\n\n /**\n * Removes all registered listeners.\n */\n removeAllListeners(eventType) {\n if (eventType == null) {\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) {\n var registrations = this._registry[eventType];\n return registrations == null ? 0 : registrations.size;\n }\n}\nfunction allocate(registry, eventType) {\n var registrations = registry[eventType];\n if (registrations == null) {\n registrations = new Set();\n registry[eventType] = registrations;\n }\n return registrations;\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 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar $defineProperty = require('es-define-property');\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\treturn !!$defineProperty;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!$defineProperty) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (typeof Reflect === 'object' && typeof Reflect.ownKeys === 'function') {\n\t\treturn Reflect.ownKeys;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar CreateMethodProperty = require('es-abstract/2023/CreateMethodProperty');\nvar setToStringTag = require('es-set-tostringtag');\nvar globalThis = require('globalthis')();\n\nvar getPolyfill = require('./polyfill');\n\nmodule.exports = function shimReflectOwnKeys() {\n\tif (typeof Reflect === 'undefined') {\n\t\tvar R = {};\n\t\tsetToStringTag(R, 'Reflect');\n\t\tCreateMethodProperty(globalThis, 'Reflect', R);\n\t}\n\n\tvar polyfill = getPolyfill();\n\tif (polyfill !== Reflect.ownKeys) {\n\t\tCreateMethodProperty(Reflect, 'ownKeys', polyfill);\n\t}\n\treturn polyfill;\n};\n","/**\n * @license React\n * scheduler.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';function f(a,b){var c=a.length;a.push(b);a:for(;0>>1,e=a[d];if(0>>1;dg(C,c))ng(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(ng(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Qa||125d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n module.exports = require('./cjs/scheduler.development.js');\n}\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar define = require('define-data-property');\nvar hasDescriptors = require('has-property-descriptors')();\nvar gOPD = require('gopd');\n\nvar $TypeError = require('es-errors/type');\nvar $floor = GetIntrinsic('%Math.floor%');\n\n/** @type {import('.')} */\nmodule.exports = function setFunctionLength(fn, length) {\n\tif (typeof fn !== 'function') {\n\t\tthrow new $TypeError('`fn` is not a function');\n\t}\n\tif (typeof length !== 'number' || length < 0 || length > 0xFFFFFFFF || $floor(length) !== length) {\n\t\tthrow new $TypeError('`length` must be a positive 32-bit integer');\n\t}\n\n\tvar loose = arguments.length > 2 && !!arguments[2];\n\n\tvar functionLengthIsConfigurable = true;\n\tvar functionLengthIsWritable = true;\n\tif ('length' in fn && gOPD) {\n\t\tvar desc = gOPD(fn, 'length');\n\t\tif (desc && !desc.configurable) {\n\t\t\tfunctionLengthIsConfigurable = false;\n\t\t}\n\t\tif (desc && !desc.writable) {\n\t\t\tfunctionLengthIsWritable = false;\n\t\t}\n\t}\n\n\tif (functionLengthIsConfigurable || functionLengthIsWritable || !loose) {\n\t\tif (hasDescriptors) {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length, true, true);\n\t\t} else {\n\t\t\tdefine(/** @type {Parameters[0]} */ (fn), 'length', length);\n\t\t}\n\t}\n\treturn fn;\n};\n","/*!\n * shallow-clone \n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\n'use strict';\n\nconst valueOf = Symbol.prototype.valueOf;\nconst typeOf = require('kind-of');\n\nfunction clone(val, deep) {\n switch (typeOf(val)) {\n case 'array':\n return val.slice();\n case 'object':\n return Object.assign({}, val);\n case 'date':\n return new val.constructor(Number(val));\n case 'map':\n return new Map(val);\n case 'set':\n return new Set(val);\n case 'buffer':\n return cloneBuffer(val);\n case 'symbol':\n return cloneSymbol(val);\n case 'arraybuffer':\n return cloneArrayBuffer(val);\n case 'float32array':\n case 'float64array':\n case 'int16array':\n case 'int32array':\n case 'int8array':\n case 'uint16array':\n case 'uint32array':\n case 'uint8clampedarray':\n case 'uint8array':\n return cloneTypedArray(val);\n case 'regexp':\n return cloneRegExp(val);\n case 'error':\n return Object.create(val);\n default: {\n return val;\n }\n }\n}\n\nfunction cloneRegExp(val) {\n const flags = val.flags !== void 0 ? val.flags : (/\\w+$/.exec(val) || void 0);\n const re = new val.constructor(val.source, flags);\n re.lastIndex = val.lastIndex;\n return re;\n}\n\nfunction cloneArrayBuffer(val) {\n const res = new val.constructor(val.byteLength);\n new Uint8Array(res).set(new Uint8Array(val));\n return res;\n}\n\nfunction cloneTypedArray(val, deep) {\n return new val.constructor(val.buffer, val.byteOffset, val.length);\n}\n\nfunction cloneBuffer(val) {\n const len = val.length;\n const buf = Buffer.allocUnsafe ? Buffer.allocUnsafe(len) : Buffer.from(len);\n val.copy(buf);\n return buf;\n}\n\nfunction cloneSymbol(val) {\n return valueOf ? Object(valueOf.call(val)) : {};\n}\n\n/**\n * Expose `clone`\n */\n\nmodule.exports = clone;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\nvar callBound = require('call-bind/callBound');\nvar inspect = require('object-inspect');\n\nvar $TypeError = GetIntrinsic('%TypeError%');\nvar $WeakMap = GetIntrinsic('%WeakMap%', true);\nvar $Map = GetIntrinsic('%Map%', true);\n\nvar $weakMapGet = callBound('WeakMap.prototype.get', true);\nvar $weakMapSet = callBound('WeakMap.prototype.set', true);\nvar $weakMapHas = callBound('WeakMap.prototype.has', true);\nvar $mapGet = callBound('Map.prototype.get', true);\nvar $mapSet = callBound('Map.prototype.set', true);\nvar $mapHas = callBound('Map.prototype.has', true);\n\n/*\n * This function traverses the list returning the node corresponding to the\n * given key.\n *\n * That node is also moved to the head of the list, so that if it's accessed\n * again we don't need to traverse the whole list. By doing so, all the recently\n * used nodes can be accessed relatively quickly.\n */\nvar listGetNode = function (list, key) { // eslint-disable-line consistent-return\n\tfor (var prev = list, curr; (curr = prev.next) !== null; prev = curr) {\n\t\tif (curr.key === key) {\n\t\t\tprev.next = curr.next;\n\t\t\tcurr.next = list.next;\n\t\t\tlist.next = curr; // eslint-disable-line no-param-reassign\n\t\t\treturn curr;\n\t\t}\n\t}\n};\n\nvar listGet = function (objects, key) {\n\tvar node = listGetNode(objects, key);\n\treturn node && node.value;\n};\nvar listSet = function (objects, key, value) {\n\tvar node = listGetNode(objects, key);\n\tif (node) {\n\t\tnode.value = value;\n\t} else {\n\t\t// Prepend the new node to the beginning of the list\n\t\tobjects.next = { // eslint-disable-line no-param-reassign\n\t\t\tkey: key,\n\t\t\tnext: objects.next,\n\t\t\tvalue: value\n\t\t};\n\t}\n};\nvar listHas = function (objects, key) {\n\treturn !!listGetNode(objects, key);\n};\n\nmodule.exports = function getSideChannel() {\n\tvar $wm;\n\tvar $m;\n\tvar $o;\n\tvar channel = {\n\t\tassert: function (key) {\n\t\t\tif (!channel.has(key)) {\n\t\t\t\tthrow new $TypeError('Side channel does not contain ' + inspect(key));\n\t\t\t}\n\t\t},\n\t\tget: function (key) { // eslint-disable-line consistent-return\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapGet($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapGet($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listGet($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\thas: function (key) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif ($wm) {\n\t\t\t\t\treturn $weakMapHas($wm, key);\n\t\t\t\t}\n\t\t\t} else if ($Map) {\n\t\t\t\tif ($m) {\n\t\t\t\t\treturn $mapHas($m, key);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ($o) { // eslint-disable-line no-lonely-if\n\t\t\t\t\treturn listHas($o, key);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tset: function (key, value) {\n\t\t\tif ($WeakMap && key && (typeof key === 'object' || typeof key === 'function')) {\n\t\t\t\tif (!$wm) {\n\t\t\t\t\t$wm = new $WeakMap();\n\t\t\t\t}\n\t\t\t\t$weakMapSet($wm, key, value);\n\t\t\t} else if ($Map) {\n\t\t\t\tif (!$m) {\n\t\t\t\t\t$m = new $Map();\n\t\t\t\t}\n\t\t\t\t$mapSet($m, key, value);\n\t\t\t} else {\n\t\t\t\tif (!$o) {\n\t\t\t\t\t/*\n\t\t\t\t\t * Initialize the linked list as an empty node, so that we don't have\n\t\t\t\t\t * to special-case handling of the first node: we can always refer to\n\t\t\t\t\t * it as (previous node).next, instead of something like (list).head\n\t\t\t\t\t */\n\t\t\t\t\t$o = { key: {}, next: null };\n\t\t\t\t}\n\t\t\t\tlistSet($o, key, value);\n\t\t\t}\n\t\t}\n\t};\n\treturn channel;\n};\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\n\nvar getProto = Object.getPrototypeOf || function (x) { return x.__proto__; }; // eslint-disable-line no-proto\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/g, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","var hasMap = typeof Map === 'function' && Map.prototype;\nvar mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, 'size') : null;\nvar mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === 'function' ? mapSizeDescriptor.get : null;\nvar mapForEach = hasMap && Map.prototype.forEach;\nvar hasSet = typeof Set === 'function' && Set.prototype;\nvar setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, 'size') : null;\nvar setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === 'function' ? setSizeDescriptor.get : null;\nvar setForEach = hasSet && Set.prototype.forEach;\nvar hasWeakMap = typeof WeakMap === 'function' && WeakMap.prototype;\nvar weakMapHas = hasWeakMap ? WeakMap.prototype.has : null;\nvar hasWeakSet = typeof WeakSet === 'function' && WeakSet.prototype;\nvar weakSetHas = hasWeakSet ? WeakSet.prototype.has : null;\nvar hasWeakRef = typeof WeakRef === 'function' && WeakRef.prototype;\nvar weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null;\nvar booleanValueOf = Boolean.prototype.valueOf;\nvar objectToString = Object.prototype.toString;\nvar functionToString = Function.prototype.toString;\nvar $match = String.prototype.match;\nvar $slice = String.prototype.slice;\nvar $replace = String.prototype.replace;\nvar $toUpperCase = String.prototype.toUpperCase;\nvar $toLowerCase = String.prototype.toLowerCase;\nvar $test = RegExp.prototype.test;\nvar $concat = Array.prototype.concat;\nvar $join = Array.prototype.join;\nvar $arrSlice = Array.prototype.slice;\nvar $floor = Math.floor;\nvar bigIntValueOf = typeof BigInt === 'function' ? BigInt.prototype.valueOf : null;\nvar gOPS = Object.getOwnPropertySymbols;\nvar symToString = typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol' ? Symbol.prototype.toString : null;\nvar hasShammedSymbols = typeof Symbol === 'function' && typeof Symbol.iterator === 'object';\n// ie, `has-tostringtag/shams\nvar toStringTag = typeof Symbol === 'function' && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? 'object' : 'symbol')\n ? Symbol.toStringTag\n : null;\nvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\nvar gPO = (typeof Reflect === 'function' ? Reflect.getPrototypeOf : Object.getPrototypeOf) || (\n [].__proto__ === Array.prototype // eslint-disable-line no-proto\n ? function (O) {\n return O.__proto__; // eslint-disable-line no-proto\n }\n : null\n);\n\nfunction addNumericSeparator(num, str) {\n if (\n num === Infinity\n || num === -Infinity\n || num !== num\n || (num && num > -1000 && num < 1000)\n || $test.call(/e/, str)\n ) {\n return str;\n }\n var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;\n if (typeof num === 'number') {\n var int = num < 0 ? -$floor(-num) : $floor(num); // trunc(num)\n if (int !== num) {\n var intStr = String(int);\n var dec = $slice.call(str, intStr.length + 1);\n return $replace.call(intStr, sepRegex, '$&_') + '.' + $replace.call($replace.call(dec, /([0-9]{3})/g, '$&_'), /_$/, '');\n }\n }\n return $replace.call(str, sepRegex, '$&_');\n}\n\nvar utilInspect = require('./util.inspect');\nvar inspectCustom = utilInspect.custom;\nvar inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null;\n\nmodule.exports = function inspect_(obj, options, depth, seen) {\n var opts = options || {};\n\n if (has(opts, 'quoteStyle') && (opts.quoteStyle !== 'single' && opts.quoteStyle !== 'double')) {\n throw new TypeError('option \"quoteStyle\" must be \"single\" or \"double\"');\n }\n if (\n has(opts, 'maxStringLength') && (typeof opts.maxStringLength === 'number'\n ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity\n : opts.maxStringLength !== null\n )\n ) {\n throw new TypeError('option \"maxStringLength\", if provided, must be a positive integer, Infinity, or `null`');\n }\n var customInspect = has(opts, 'customInspect') ? opts.customInspect : true;\n if (typeof customInspect !== 'boolean' && customInspect !== 'symbol') {\n throw new TypeError('option \"customInspect\", if provided, must be `true`, `false`, or `\\'symbol\\'`');\n }\n\n if (\n has(opts, 'indent')\n && opts.indent !== null\n && opts.indent !== '\\t'\n && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)\n ) {\n throw new TypeError('option \"indent\" must be \"\\\\t\", an integer > 0, or `null`');\n }\n if (has(opts, 'numericSeparator') && typeof opts.numericSeparator !== 'boolean') {\n throw new TypeError('option \"numericSeparator\", if provided, must be `true` or `false`');\n }\n var numericSeparator = opts.numericSeparator;\n\n if (typeof obj === 'undefined') {\n return 'undefined';\n }\n if (obj === null) {\n return 'null';\n }\n if (typeof obj === 'boolean') {\n return obj ? 'true' : 'false';\n }\n\n if (typeof obj === 'string') {\n return inspectString(obj, opts);\n }\n if (typeof obj === 'number') {\n if (obj === 0) {\n return Infinity / obj > 0 ? '0' : '-0';\n }\n var str = String(obj);\n return numericSeparator ? addNumericSeparator(obj, str) : str;\n }\n if (typeof obj === 'bigint') {\n var bigIntStr = String(obj) + 'n';\n return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr;\n }\n\n var maxDepth = typeof opts.depth === 'undefined' ? 5 : opts.depth;\n if (typeof depth === 'undefined') { depth = 0; }\n if (depth >= maxDepth && maxDepth > 0 && typeof obj === 'object') {\n return isArray(obj) ? '[Array]' : '[Object]';\n }\n\n var indent = getIndent(opts, depth);\n\n if (typeof seen === 'undefined') {\n seen = [];\n } else if (indexOf(seen, obj) >= 0) {\n return '[Circular]';\n }\n\n function inspect(value, from, noIndent) {\n if (from) {\n seen = $arrSlice.call(seen);\n seen.push(from);\n }\n if (noIndent) {\n var newOpts = {\n depth: opts.depth\n };\n if (has(opts, 'quoteStyle')) {\n newOpts.quoteStyle = opts.quoteStyle;\n }\n return inspect_(value, newOpts, depth + 1, seen);\n }\n return inspect_(value, opts, depth + 1, seen);\n }\n\n if (typeof obj === 'function' && !isRegExp(obj)) { // in older engines, regexes are callable\n var name = nameOf(obj);\n var keys = arrObjKeys(obj, inspect);\n return '[Function' + (name ? ': ' + name : ' (anonymous)') + ']' + (keys.length > 0 ? ' { ' + $join.call(keys, ', ') + ' }' : '');\n }\n if (isSymbol(obj)) {\n var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\\(.*\\))_[^)]*$/, '$1') : symToString.call(obj);\n return typeof obj === 'object' && !hasShammedSymbols ? markBoxed(symString) : symString;\n }\n if (isElement(obj)) {\n var s = '<' + $toLowerCase.call(String(obj.nodeName));\n var attrs = obj.attributes || [];\n for (var i = 0; i < attrs.length; i++) {\n s += ' ' + attrs[i].name + '=' + wrapQuotes(quote(attrs[i].value), 'double', opts);\n }\n s += '>';\n if (obj.childNodes && obj.childNodes.length) { s += '...'; }\n s += '';\n return s;\n }\n if (isArray(obj)) {\n if (obj.length === 0) { return '[]'; }\n var xs = arrObjKeys(obj, inspect);\n if (indent && !singleLineValues(xs)) {\n return '[' + indentedJoin(xs, indent) + ']';\n }\n return '[ ' + $join.call(xs, ', ') + ' ]';\n }\n if (isError(obj)) {\n var parts = arrObjKeys(obj, inspect);\n if (!('cause' in Error.prototype) && 'cause' in obj && !isEnumerable.call(obj, 'cause')) {\n return '{ [' + String(obj) + '] ' + $join.call($concat.call('[cause]: ' + inspect(obj.cause), parts), ', ') + ' }';\n }\n if (parts.length === 0) { return '[' + String(obj) + ']'; }\n return '{ [' + String(obj) + '] ' + $join.call(parts, ', ') + ' }';\n }\n if (typeof obj === 'object' && customInspect) {\n if (inspectSymbol && typeof obj[inspectSymbol] === 'function' && utilInspect) {\n return utilInspect(obj, { depth: maxDepth - depth });\n } else if (customInspect !== 'symbol' && typeof obj.inspect === 'function') {\n return obj.inspect();\n }\n }\n if (isMap(obj)) {\n var mapParts = [];\n mapForEach.call(obj, function (value, key) {\n mapParts.push(inspect(key, obj, true) + ' => ' + inspect(value, obj));\n });\n return collectionOf('Map', mapSize.call(obj), mapParts, indent);\n }\n if (isSet(obj)) {\n var setParts = [];\n setForEach.call(obj, function (value) {\n setParts.push(inspect(value, obj));\n });\n return collectionOf('Set', setSize.call(obj), setParts, indent);\n }\n if (isWeakMap(obj)) {\n return weakCollectionOf('WeakMap');\n }\n if (isWeakSet(obj)) {\n return weakCollectionOf('WeakSet');\n }\n if (isWeakRef(obj)) {\n return weakCollectionOf('WeakRef');\n }\n if (isNumber(obj)) {\n return markBoxed(inspect(Number(obj)));\n }\n if (isBigInt(obj)) {\n return markBoxed(inspect(bigIntValueOf.call(obj)));\n }\n if (isBoolean(obj)) {\n return markBoxed(booleanValueOf.call(obj));\n }\n if (isString(obj)) {\n return markBoxed(inspect(String(obj)));\n }\n if (!isDate(obj) && !isRegExp(obj)) {\n var ys = arrObjKeys(obj, inspect);\n var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object;\n var protoTag = obj instanceof Object ? '' : 'null prototype';\n var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? 'Object' : '';\n var constructorTag = isPlainObject || typeof obj.constructor !== 'function' ? '' : obj.constructor.name ? obj.constructor.name + ' ' : '';\n var tag = constructorTag + (stringTag || protoTag ? '[' + $join.call($concat.call([], stringTag || [], protoTag || []), ': ') + '] ' : '');\n if (ys.length === 0) { return tag + '{}'; }\n if (indent) {\n return tag + '{' + indentedJoin(ys, indent) + '}';\n }\n return tag + '{ ' + $join.call(ys, ', ') + ' }';\n }\n return String(obj);\n};\n\nfunction wrapQuotes(s, defaultStyle, opts) {\n var quoteChar = (opts.quoteStyle || defaultStyle) === 'double' ? '\"' : \"'\";\n return quoteChar + s + quoteChar;\n}\n\nfunction quote(s) {\n return $replace.call(String(s), /\"/g, '"');\n}\n\nfunction isArray(obj) { return toStr(obj) === '[object Array]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isDate(obj) { return toStr(obj) === '[object Date]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isRegExp(obj) { return toStr(obj) === '[object RegExp]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isError(obj) { return toStr(obj) === '[object Error]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isString(obj) { return toStr(obj) === '[object String]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isNumber(obj) { return toStr(obj) === '[object Number]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\nfunction isBoolean(obj) { return toStr(obj) === '[object Boolean]' && (!toStringTag || !(typeof obj === 'object' && toStringTag in obj)); }\n\n// Symbol and BigInt do have Symbol.toStringTag by spec, so that can't be used to eliminate false positives\nfunction isSymbol(obj) {\n if (hasShammedSymbols) {\n return obj && typeof obj === 'object' && obj instanceof Symbol;\n }\n if (typeof obj === 'symbol') {\n return true;\n }\n if (!obj || typeof obj !== 'object' || !symToString) {\n return false;\n }\n try {\n symToString.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isBigInt(obj) {\n if (!obj || typeof obj !== 'object' || !bigIntValueOf) {\n return false;\n }\n try {\n bigIntValueOf.call(obj);\n return true;\n } catch (e) {}\n return false;\n}\n\nvar hasOwn = Object.prototype.hasOwnProperty || function (key) { return key in this; };\nfunction has(obj, key) {\n return hasOwn.call(obj, key);\n}\n\nfunction toStr(obj) {\n return objectToString.call(obj);\n}\n\nfunction nameOf(f) {\n if (f.name) { return f.name; }\n var m = $match.call(functionToString.call(f), /^function\\s*([\\w$]+)/);\n if (m) { return m[1]; }\n return null;\n}\n\nfunction indexOf(xs, x) {\n if (xs.indexOf) { return xs.indexOf(x); }\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) { return i; }\n }\n return -1;\n}\n\nfunction isMap(x) {\n if (!mapSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n mapSize.call(x);\n try {\n setSize.call(x);\n } catch (s) {\n return true;\n }\n return x instanceof Map; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakMap(x) {\n if (!weakMapHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakMapHas.call(x, weakMapHas);\n try {\n weakSetHas.call(x, weakSetHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakMap; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakRef(x) {\n if (!weakRefDeref || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakRefDeref.call(x);\n return true;\n } catch (e) {}\n return false;\n}\n\nfunction isSet(x) {\n if (!setSize || !x || typeof x !== 'object') {\n return false;\n }\n try {\n setSize.call(x);\n try {\n mapSize.call(x);\n } catch (m) {\n return true;\n }\n return x instanceof Set; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isWeakSet(x) {\n if (!weakSetHas || !x || typeof x !== 'object') {\n return false;\n }\n try {\n weakSetHas.call(x, weakSetHas);\n try {\n weakMapHas.call(x, weakMapHas);\n } catch (s) {\n return true;\n }\n return x instanceof WeakSet; // core-js workaround, pre-v2.5.0\n } catch (e) {}\n return false;\n}\n\nfunction isElement(x) {\n if (!x || typeof x !== 'object') { return false; }\n if (typeof HTMLElement !== 'undefined' && x instanceof HTMLElement) {\n return true;\n }\n return typeof x.nodeName === 'string' && typeof x.getAttribute === 'function';\n}\n\nfunction inspectString(str, opts) {\n if (str.length > opts.maxStringLength) {\n var remaining = str.length - opts.maxStringLength;\n var trailer = '... ' + remaining + ' more character' + (remaining > 1 ? 's' : '');\n return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer;\n }\n // eslint-disable-next-line no-control-regex\n var s = $replace.call($replace.call(str, /(['\\\\])/g, '\\\\$1'), /[\\x00-\\x1f]/g, lowbyte);\n return wrapQuotes(s, 'single', opts);\n}\n\nfunction lowbyte(c) {\n var n = c.charCodeAt(0);\n var x = {\n 8: 'b',\n 9: 't',\n 10: 'n',\n 12: 'f',\n 13: 'r'\n }[n];\n if (x) { return '\\\\' + x; }\n return '\\\\x' + (n < 0x10 ? '0' : '') + $toUpperCase.call(n.toString(16));\n}\n\nfunction markBoxed(str) {\n return 'Object(' + str + ')';\n}\n\nfunction weakCollectionOf(type) {\n return type + ' { ? }';\n}\n\nfunction collectionOf(type, size, entries, indent) {\n var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ', ');\n return type + ' (' + size + ') {' + joinedEntries + '}';\n}\n\nfunction singleLineValues(xs) {\n for (var i = 0; i < xs.length; i++) {\n if (indexOf(xs[i], '\\n') >= 0) {\n return false;\n }\n }\n return true;\n}\n\nfunction getIndent(opts, depth) {\n var baseIndent;\n if (opts.indent === '\\t') {\n baseIndent = '\\t';\n } else if (typeof opts.indent === 'number' && opts.indent > 0) {\n baseIndent = $join.call(Array(opts.indent + 1), ' ');\n } else {\n return null;\n }\n return {\n base: baseIndent,\n prev: $join.call(Array(depth + 1), baseIndent)\n };\n}\n\nfunction indentedJoin(xs, indent) {\n if (xs.length === 0) { return ''; }\n var lineJoiner = '\\n' + indent.prev + indent.base;\n return lineJoiner + $join.call(xs, ',' + lineJoiner) + '\\n' + indent.prev;\n}\n\nfunction arrObjKeys(obj, inspect) {\n var isArr = isArray(obj);\n var xs = [];\n if (isArr) {\n xs.length = obj.length;\n for (var i = 0; i < obj.length; i++) {\n xs[i] = has(obj, i) ? inspect(obj[i], obj) : '';\n }\n }\n var syms = typeof gOPS === 'function' ? gOPS(obj) : [];\n var symMap;\n if (hasShammedSymbols) {\n symMap = {};\n for (var k = 0; k < syms.length; k++) {\n symMap['$' + syms[k]] = syms[k];\n }\n }\n\n for (var key in obj) { // eslint-disable-line no-restricted-syntax\n if (!has(obj, key)) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (isArr && String(Number(key)) === key && key < obj.length) { continue; } // eslint-disable-line no-restricted-syntax, no-continue\n if (hasShammedSymbols && symMap['$' + key] instanceof Symbol) {\n // this is to prevent shammed Symbols, which are stored as strings, from being included in the string key section\n continue; // eslint-disable-line no-restricted-syntax, no-continue\n } else if ($test.call(/[^\\w$]/, key)) {\n xs.push(inspect(key, obj) + ': ' + inspect(obj[key], obj));\n } else {\n xs.push(key + ': ' + inspect(obj[key], obj));\n }\n }\n if (typeof gOPS === 'function') {\n for (var j = 0; j < syms.length; j++) {\n if (isEnumerable.call(obj, syms[j])) {\n xs.push('[' + inspect(syms[j]) + ']: ' + inspect(obj[syms[j]], obj));\n }\n }\n }\n return xs;\n}\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar has = Object.prototype.hasOwnProperty;\nvar hasNativeMap = typeof Map !== \"undefined\";\n\n/**\n * A data structure which is a combination of an array and a set. Adding a new\n * member is O(1), testing for membership is O(1), and finding the index of an\n * element is O(1). Removing elements from the set is not supported. Only\n * strings are supported for membership.\n */\nfunction ArraySet() {\n this._array = [];\n this._set = hasNativeMap ? new Map() : Object.create(null);\n}\n\n/**\n * Static method for creating ArraySet instances from an existing array.\n */\nArraySet.fromArray = function ArraySet_fromArray(aArray, aAllowDuplicates) {\n var set = new ArraySet();\n for (var i = 0, len = aArray.length; i < len; i++) {\n set.add(aArray[i], aAllowDuplicates);\n }\n return set;\n};\n\n/**\n * Return how many unique items are in this ArraySet. If duplicates have been\n * added, than those do not count towards the size.\n *\n * @returns Number\n */\nArraySet.prototype.size = function ArraySet_size() {\n return hasNativeMap ? this._set.size : Object.getOwnPropertyNames(this._set).length;\n};\n\n/**\n * Add the given string to this set.\n *\n * @param String aStr\n */\nArraySet.prototype.add = function ArraySet_add(aStr, aAllowDuplicates) {\n var sStr = hasNativeMap ? aStr : util.toSetString(aStr);\n var isDuplicate = hasNativeMap ? this.has(aStr) : has.call(this._set, sStr);\n var idx = this._array.length;\n if (!isDuplicate || aAllowDuplicates) {\n this._array.push(aStr);\n }\n if (!isDuplicate) {\n if (hasNativeMap) {\n this._set.set(aStr, idx);\n } else {\n this._set[sStr] = idx;\n }\n }\n};\n\n/**\n * Is the given string a member of this set?\n *\n * @param String aStr\n */\nArraySet.prototype.has = function ArraySet_has(aStr) {\n if (hasNativeMap) {\n return this._set.has(aStr);\n } else {\n var sStr = util.toSetString(aStr);\n return has.call(this._set, sStr);\n }\n};\n\n/**\n * What is the index of the given string in the array?\n *\n * @param String aStr\n */\nArraySet.prototype.indexOf = function ArraySet_indexOf(aStr) {\n if (hasNativeMap) {\n var idx = this._set.get(aStr);\n if (idx >= 0) {\n return idx;\n }\n } else {\n var sStr = util.toSetString(aStr);\n if (has.call(this._set, sStr)) {\n return this._set[sStr];\n }\n }\n\n throw new Error('\"' + aStr + '\" is not in the set.');\n};\n\n/**\n * What is the element at the given index?\n *\n * @param Number aIdx\n */\nArraySet.prototype.at = function ArraySet_at(aIdx) {\n if (aIdx >= 0 && aIdx < this._array.length) {\n return this._array[aIdx];\n }\n throw new Error('No element indexed by ' + aIdx);\n};\n\n/**\n * Returns the array representation of this set (which has the proper indices\n * indicated by indexOf). Note that this is a copy of the internal array used\n * for storing the members so that no one can mess with internal state.\n */\nArraySet.prototype.toArray = function ArraySet_toArray() {\n return this._array.slice();\n};\n\nexports.ArraySet = ArraySet;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n *\n * Based on the Base 64 VLQ implementation in Closure Compiler:\n * https://code.google.com/p/closure-compiler/source/browse/trunk/src/com/google/debugging/sourcemap/Base64VLQ.java\n *\n * Copyright 2011 The Closure Compiler Authors. All rights reserved.\n * Redistribution and use in source and binary forms, with or without\n * modification, are permitted provided that the following conditions are\n * met:\n *\n * * Redistributions of source code must retain the above copyright\n * notice, this list of conditions and the following disclaimer.\n * * Redistributions in binary form must reproduce the above\n * copyright notice, this list of conditions and the following\n * disclaimer in the documentation and/or other materials provided\n * with the distribution.\n * * Neither the name of Google Inc. nor the names of its\n * contributors may be used to endorse or promote products derived\n * from this software without specific prior written permission.\n *\n * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n * \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n */\n\nvar base64 = require('./base64');\n\n// A single base 64 digit can contain 6 bits of data. For the base 64 variable\n// length quantities we use in the source map spec, the first bit is the sign,\n// the next four bits are the actual value, and the 6th bit is the\n// continuation bit. The continuation bit tells us whether there are more\n// digits in this value following this digit.\n//\n// Continuation\n// | Sign\n// | |\n// V V\n// 101011\n\nvar VLQ_BASE_SHIFT = 5;\n\n// binary: 100000\nvar VLQ_BASE = 1 << VLQ_BASE_SHIFT;\n\n// binary: 011111\nvar VLQ_BASE_MASK = VLQ_BASE - 1;\n\n// binary: 100000\nvar VLQ_CONTINUATION_BIT = VLQ_BASE;\n\n/**\n * Converts from a two-complement value to a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 1 becomes 2 (10 binary), -1 becomes 3 (11 binary)\n * 2 becomes 4 (100 binary), -2 becomes 5 (101 binary)\n */\nfunction toVLQSigned(aValue) {\n return aValue < 0\n ? ((-aValue) << 1) + 1\n : (aValue << 1) + 0;\n}\n\n/**\n * Converts to a two-complement value from a value where the sign bit is\n * placed in the least significant bit. For example, as decimals:\n * 2 (10 binary) becomes 1, 3 (11 binary) becomes -1\n * 4 (100 binary) becomes 2, 5 (101 binary) becomes -2\n */\nfunction fromVLQSigned(aValue) {\n var isNegative = (aValue & 1) === 1;\n var shifted = aValue >> 1;\n return isNegative\n ? -shifted\n : shifted;\n}\n\n/**\n * Returns the base 64 VLQ encoded value.\n */\nexports.encode = function base64VLQ_encode(aValue) {\n var encoded = \"\";\n var digit;\n\n var vlq = toVLQSigned(aValue);\n\n do {\n digit = vlq & VLQ_BASE_MASK;\n vlq >>>= VLQ_BASE_SHIFT;\n if (vlq > 0) {\n // There are still more digits in this value, so we must make sure the\n // continuation bit is marked.\n digit |= VLQ_CONTINUATION_BIT;\n }\n encoded += base64.encode(digit);\n } while (vlq > 0);\n\n return encoded;\n};\n\n/**\n * Decodes the next base 64 VLQ value from the given string and returns the\n * value and the rest of the string via the out parameter.\n */\nexports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) {\n var strLen = aStr.length;\n var result = 0;\n var shift = 0;\n var continuation, digit;\n\n do {\n if (aIndex >= strLen) {\n throw new Error(\"Expected more digits in base 64 VLQ value.\");\n }\n\n digit = base64.decode(aStr.charCodeAt(aIndex++));\n if (digit === -1) {\n throw new Error(\"Invalid base64 digit: \" + aStr.charAt(aIndex - 1));\n }\n\n continuation = !!(digit & VLQ_CONTINUATION_BIT);\n digit &= VLQ_BASE_MASK;\n result = result + (digit << shift);\n shift += VLQ_BASE_SHIFT;\n } while (continuation);\n\n aOutParam.value = fromVLQSigned(result);\n aOutParam.rest = aIndex;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar intToCharMap = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split('');\n\n/**\n * Encode an integer in the range of 0 to 63 to a single base 64 digit.\n */\nexports.encode = function (number) {\n if (0 <= number && number < intToCharMap.length) {\n return intToCharMap[number];\n }\n throw new TypeError(\"Must be between 0 and 63: \" + number);\n};\n\n/**\n * Decode a single base 64 character code digit to an integer. Returns -1 on\n * failure.\n */\nexports.decode = function (charCode) {\n var bigA = 65; // 'A'\n var bigZ = 90; // 'Z'\n\n var littleA = 97; // 'a'\n var littleZ = 122; // 'z'\n\n var zero = 48; // '0'\n var nine = 57; // '9'\n\n var plus = 43; // '+'\n var slash = 47; // '/'\n\n var littleOffset = 26;\n var numberOffset = 52;\n\n // 0 - 25: ABCDEFGHIJKLMNOPQRSTUVWXYZ\n if (bigA <= charCode && charCode <= bigZ) {\n return (charCode - bigA);\n }\n\n // 26 - 51: abcdefghijklmnopqrstuvwxyz\n if (littleA <= charCode && charCode <= littleZ) {\n return (charCode - littleA + littleOffset);\n }\n\n // 52 - 61: 0123456789\n if (zero <= charCode && charCode <= nine) {\n return (charCode - zero + numberOffset);\n }\n\n // 62: +\n if (charCode == plus) {\n return 62;\n }\n\n // 63: /\n if (charCode == slash) {\n return 63;\n }\n\n // Invalid base64 digit.\n return -1;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nexports.GREATEST_LOWER_BOUND = 1;\nexports.LEAST_UPPER_BOUND = 2;\n\n/**\n * Recursive implementation of binary search.\n *\n * @param aLow Indices here and lower do not contain the needle.\n * @param aHigh Indices here and higher do not contain the needle.\n * @param aNeedle The element being searched for.\n * @param aHaystack The non-empty array being searched.\n * @param aCompare Function which takes two elements and returns -1, 0, or 1.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n */\nfunction recursiveSearch(aLow, aHigh, aNeedle, aHaystack, aCompare, aBias) {\n // This function terminates when one of the following is true:\n //\n // 1. We find the exact element we are looking for.\n //\n // 2. We did not find the exact element, but we can return the index of\n // the next-closest element.\n //\n // 3. We did not find the exact element, and there is no next-closest\n // element than the one we are searching for, so we return -1.\n var mid = Math.floor((aHigh - aLow) / 2) + aLow;\n var cmp = aCompare(aNeedle, aHaystack[mid], true);\n if (cmp === 0) {\n // Found the element we are looking for.\n return mid;\n }\n else if (cmp > 0) {\n // Our needle is greater than aHaystack[mid].\n if (aHigh - mid > 1) {\n // The element is in the upper half.\n return recursiveSearch(mid, aHigh, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // The exact needle element was not found in this haystack. Determine if\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return aHigh < aHaystack.length ? aHigh : -1;\n } else {\n return mid;\n }\n }\n else {\n // Our needle is less than aHaystack[mid].\n if (mid - aLow > 1) {\n // The element is in the lower half.\n return recursiveSearch(aLow, mid, aNeedle, aHaystack, aCompare, aBias);\n }\n\n // we are in termination case (3) or (2) and return the appropriate thing.\n if (aBias == exports.LEAST_UPPER_BOUND) {\n return mid;\n } else {\n return aLow < 0 ? -1 : aLow;\n }\n }\n}\n\n/**\n * This is an implementation of binary search which will always try and return\n * the index of the closest element if there is no exact hit. This is because\n * mappings between original and generated line/col pairs are single points,\n * and there is an implicit region between each of them, so a miss just means\n * that you aren't on the very start of a region.\n *\n * @param aNeedle The element you are looking for.\n * @param aHaystack The array that is being searched.\n * @param aCompare A function which takes the needle and an element in the\n * array and returns -1, 0, or 1 depending on whether the needle is less\n * than, equal to, or greater than the element, respectively.\n * @param aBias Either 'binarySearch.GREATEST_LOWER_BOUND' or\n * 'binarySearch.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'binarySearch.GREATEST_LOWER_BOUND'.\n */\nexports.search = function search(aNeedle, aHaystack, aCompare, aBias) {\n if (aHaystack.length === 0) {\n return -1;\n }\n\n var index = recursiveSearch(-1, aHaystack.length, aNeedle, aHaystack,\n aCompare, aBias || exports.GREATEST_LOWER_BOUND);\n if (index < 0) {\n return -1;\n }\n\n // We have found either the exact element, or the next-closest element than\n // the one we are searching for. However, there may be more than one such\n // element. Make sure we always return the smallest of these.\n while (index - 1 >= 0) {\n if (aCompare(aHaystack[index], aHaystack[index - 1], true) !== 0) {\n break;\n }\n --index;\n }\n\n return index;\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2014 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\n\n/**\n * Determine whether mappingB is after mappingA with respect to generated\n * position.\n */\nfunction generatedPositionAfter(mappingA, mappingB) {\n // Optimized for most common case\n var lineA = mappingA.generatedLine;\n var lineB = mappingB.generatedLine;\n var columnA = mappingA.generatedColumn;\n var columnB = mappingB.generatedColumn;\n return lineB > lineA || lineB == lineA && columnB >= columnA ||\n util.compareByGeneratedPositionsInflated(mappingA, mappingB) <= 0;\n}\n\n/**\n * A data structure to provide a sorted view of accumulated mappings in a\n * performance conscious manner. It trades a neglibable overhead in general\n * case for a large speedup in case of mappings being added in order.\n */\nfunction MappingList() {\n this._array = [];\n this._sorted = true;\n // Serves as infimum\n this._last = {generatedLine: -1, generatedColumn: 0};\n}\n\n/**\n * Iterate through internal items. This method takes the same arguments that\n * `Array.prototype.forEach` takes.\n *\n * NOTE: The order of the mappings is NOT guaranteed.\n */\nMappingList.prototype.unsortedForEach =\n function MappingList_forEach(aCallback, aThisArg) {\n this._array.forEach(aCallback, aThisArg);\n };\n\n/**\n * Add the given source mapping.\n *\n * @param Object aMapping\n */\nMappingList.prototype.add = function MappingList_add(aMapping) {\n if (generatedPositionAfter(this._last, aMapping)) {\n this._last = aMapping;\n this._array.push(aMapping);\n } else {\n this._sorted = false;\n this._array.push(aMapping);\n }\n};\n\n/**\n * Returns the flat, sorted array of mappings. The mappings are sorted by\n * generated position.\n *\n * WARNING: This method returns internal data without copying, for\n * performance. The return value must NOT be mutated, and should be treated as\n * an immutable borrow. If you want to take ownership, you must make your own\n * copy.\n */\nMappingList.prototype.toArray = function MappingList_toArray() {\n if (!this._sorted) {\n this._array.sort(util.compareByGeneratedPositionsInflated);\n this._sorted = true;\n }\n return this._array;\n};\n\nexports.MappingList = MappingList;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n// It turns out that some (most?) JavaScript engines don't self-host\n// `Array.prototype.sort`. This makes sense because C++ will likely remain\n// faster than JS when doing raw CPU-intensive sorting. However, when using a\n// custom comparator function, calling back and forth between the VM's C++ and\n// JIT'd JS is rather slow *and* loses JIT type information, resulting in\n// worse generated code for the comparator function than would be optimal. In\n// fact, when sorting with a comparator, these costs outweigh the benefits of\n// sorting in C++. By using our own JS-implemented Quick Sort (below), we get\n// a ~3500ms mean speed-up in `bench/bench.html`.\n\n/**\n * Swap the elements indexed by `x` and `y` in the array `ary`.\n *\n * @param {Array} ary\n * The array.\n * @param {Number} x\n * The index of the first item.\n * @param {Number} y\n * The index of the second item.\n */\nfunction swap(ary, x, y) {\n var temp = ary[x];\n ary[x] = ary[y];\n ary[y] = temp;\n}\n\n/**\n * Returns a random integer within the range `low .. high` inclusive.\n *\n * @param {Number} low\n * The lower bound on the range.\n * @param {Number} high\n * The upper bound on the range.\n */\nfunction randomIntInRange(low, high) {\n return Math.round(low + (Math.random() * (high - low)));\n}\n\n/**\n * The Quick Sort algorithm.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n * @param {Number} p\n * Start index of the array\n * @param {Number} r\n * End index of the array\n */\nfunction doQuickSort(ary, comparator, p, r) {\n // If our lower bound is less than our upper bound, we (1) partition the\n // array into two pieces and (2) recurse on each half. If it is not, this is\n // the empty array and our base case.\n\n if (p < r) {\n // (1) Partitioning.\n //\n // The partitioning chooses a pivot between `p` and `r` and moves all\n // elements that are less than or equal to the pivot to the before it, and\n // all the elements that are greater than it after it. The effect is that\n // once partition is done, the pivot is in the exact place it will be when\n // the array is put in sorted order, and it will not need to be moved\n // again. This runs in O(n) time.\n\n // Always choose a random pivot so that an input array which is reverse\n // sorted does not cause O(n^2) running time.\n var pivotIndex = randomIntInRange(p, r);\n var i = p - 1;\n\n swap(ary, pivotIndex, r);\n var pivot = ary[r];\n\n // Immediately after `j` is incremented in this loop, the following hold\n // true:\n //\n // * Every element in `ary[p .. i]` is less than or equal to the pivot.\n //\n // * Every element in `ary[i+1 .. j-1]` is greater than the pivot.\n for (var j = p; j < r; j++) {\n if (comparator(ary[j], pivot) <= 0) {\n i += 1;\n swap(ary, i, j);\n }\n }\n\n swap(ary, i + 1, j);\n var q = i + 1;\n\n // (2) Recurse on each half.\n\n doQuickSort(ary, comparator, p, q - 1);\n doQuickSort(ary, comparator, q + 1, r);\n }\n}\n\n/**\n * Sort the given array in-place with the given comparator function.\n *\n * @param {Array} ary\n * An array to sort.\n * @param {function} comparator\n * Function to use to compare two items.\n */\nexports.quickSort = function (ary, comparator) {\n doQuickSort(ary, comparator, 0, ary.length - 1);\n};\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar util = require('./util');\nvar binarySearch = require('./binary-search');\nvar ArraySet = require('./array-set').ArraySet;\nvar base64VLQ = require('./base64-vlq');\nvar quickSort = require('./quick-sort').quickSort;\n\nfunction SourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n return sourceMap.sections != null\n ? new IndexedSourceMapConsumer(sourceMap, aSourceMapURL)\n : new BasicSourceMapConsumer(sourceMap, aSourceMapURL);\n}\n\nSourceMapConsumer.fromSourceMap = function(aSourceMap, aSourceMapURL) {\n return BasicSourceMapConsumer.fromSourceMap(aSourceMap, aSourceMapURL);\n}\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nSourceMapConsumer.prototype._version = 3;\n\n// `__generatedMappings` and `__originalMappings` are arrays that hold the\n// parsed mapping coordinates from the source map's \"mappings\" attribute. They\n// are lazily instantiated, accessed via the `_generatedMappings` and\n// `_originalMappings` getters respectively, and we only parse the mappings\n// and create these arrays once queried for a source location. We jump through\n// these hoops because there can be many thousands of mappings, and parsing\n// them is expensive, so we only want to do it if we must.\n//\n// Each object in the arrays is of the form:\n//\n// {\n// generatedLine: The line number in the generated code,\n// generatedColumn: The column number in the generated code,\n// source: The path to the original source file that generated this\n// chunk of code,\n// originalLine: The line number in the original source that\n// corresponds to this chunk of generated code,\n// originalColumn: The column number in the original source that\n// corresponds to this chunk of generated code,\n// name: The name of the original symbol which generated this chunk of\n// code.\n// }\n//\n// All properties except for `generatedLine` and `generatedColumn` can be\n// `null`.\n//\n// `_generatedMappings` is ordered by the generated positions.\n//\n// `_originalMappings` is ordered by the original positions.\n\nSourceMapConsumer.prototype.__generatedMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_generatedMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__generatedMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__generatedMappings;\n }\n});\n\nSourceMapConsumer.prototype.__originalMappings = null;\nObject.defineProperty(SourceMapConsumer.prototype, '_originalMappings', {\n configurable: true,\n enumerable: true,\n get: function () {\n if (!this.__originalMappings) {\n this._parseMappings(this._mappings, this.sourceRoot);\n }\n\n return this.__originalMappings;\n }\n});\n\nSourceMapConsumer.prototype._charIsMappingSeparator =\n function SourceMapConsumer_charIsMappingSeparator(aStr, index) {\n var c = aStr.charAt(index);\n return c === \";\" || c === \",\";\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n throw new Error(\"Subclasses must implement _parseMappings\");\n };\n\nSourceMapConsumer.GENERATED_ORDER = 1;\nSourceMapConsumer.ORIGINAL_ORDER = 2;\n\nSourceMapConsumer.GREATEST_LOWER_BOUND = 1;\nSourceMapConsumer.LEAST_UPPER_BOUND = 2;\n\n/**\n * Iterate over each mapping between an original source/line/column and a\n * generated line/column in this source map.\n *\n * @param Function aCallback\n * The function that is called with each mapping.\n * @param Object aContext\n * Optional. If specified, this object will be the value of `this` every\n * time that `aCallback` is called.\n * @param aOrder\n * Either `SourceMapConsumer.GENERATED_ORDER` or\n * `SourceMapConsumer.ORIGINAL_ORDER`. Specifies whether you want to\n * iterate over the mappings sorted by the generated file's line/column\n * order or the original's source/line/column order, respectively. Defaults to\n * `SourceMapConsumer.GENERATED_ORDER`.\n */\nSourceMapConsumer.prototype.eachMapping =\n function SourceMapConsumer_eachMapping(aCallback, aContext, aOrder) {\n var context = aContext || null;\n var order = aOrder || SourceMapConsumer.GENERATED_ORDER;\n\n var mappings;\n switch (order) {\n case SourceMapConsumer.GENERATED_ORDER:\n mappings = this._generatedMappings;\n break;\n case SourceMapConsumer.ORIGINAL_ORDER:\n mappings = this._originalMappings;\n break;\n default:\n throw new Error(\"Unknown order of iteration.\");\n }\n\n var sourceRoot = this.sourceRoot;\n mappings.map(function (mapping) {\n var source = mapping.source === null ? null : this._sources.at(mapping.source);\n source = util.computeSourceURL(sourceRoot, source, this._sourceMapURL);\n return {\n source: source,\n generatedLine: mapping.generatedLine,\n generatedColumn: mapping.generatedColumn,\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: mapping.name === null ? null : this._names.at(mapping.name)\n };\n }, this).forEach(aCallback, context);\n };\n\n/**\n * Returns all generated line and column information for the original source,\n * line, and column provided. If no column is provided, returns all mappings\n * corresponding to a either the line we are searching for or the next\n * closest line that has any mappings. Otherwise, returns all mappings\n * corresponding to the given line and either the column we are searching for\n * or the next closest column that has any offsets.\n *\n * The only argument is an object with the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number is 1-based.\n * - column: Optional. the column number in the original source.\n * The column number is 0-based.\n *\n * and an array of objects is returned, each with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nSourceMapConsumer.prototype.allGeneratedPositionsFor =\n function SourceMapConsumer_allGeneratedPositionsFor(aArgs) {\n var line = util.getArg(aArgs, 'line');\n\n // When there is no exact match, BasicSourceMapConsumer.prototype._findMapping\n // returns the index of the closest mapping less than the needle. By\n // setting needle.originalColumn to 0, we thus find the last mapping for\n // the given line, provided such a mapping exists.\n var needle = {\n source: util.getArg(aArgs, 'source'),\n originalLine: line,\n originalColumn: util.getArg(aArgs, 'column', 0)\n };\n\n needle.source = this._findSourceIndex(needle.source);\n if (needle.source < 0) {\n return [];\n }\n\n var mappings = [];\n\n var index = this._findMapping(needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n binarySearch.LEAST_UPPER_BOUND);\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (aArgs.column === undefined) {\n var originalLine = mapping.originalLine;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we found. Since\n // mappings are sorted, this is guaranteed to find all mappings for\n // the line we found.\n while (mapping && mapping.originalLine === originalLine) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n } else {\n var originalColumn = mapping.originalColumn;\n\n // Iterate until either we run out of mappings, or we run into\n // a mapping for a different line than the one we were searching for.\n // Since mappings are sorted, this is guaranteed to find all mappings for\n // the line we are searching for.\n while (mapping &&\n mapping.originalLine === line &&\n mapping.originalColumn == originalColumn) {\n mappings.push({\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n });\n\n mapping = this._originalMappings[++index];\n }\n }\n }\n\n return mappings;\n };\n\nexports.SourceMapConsumer = SourceMapConsumer;\n\n/**\n * A BasicSourceMapConsumer instance represents a parsed source map which we can\n * query for information about the original file positions by giving it a file\n * position in the generated source.\n *\n * The first parameter is the raw source map (either as a JSON string, or\n * already parsed to an object). According to the spec, source maps have the\n * following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - sources: An array of URLs to the original source files.\n * - names: An array of identifiers which can be referrenced by individual mappings.\n * - sourceRoot: Optional. The URL root from which all sources are relative.\n * - sourcesContent: Optional. An array of contents of the original source files.\n * - mappings: A string of base64 VLQs which contain the actual mappings.\n * - file: Optional. The generated file this source map is associated with.\n *\n * Here is an example source map, taken from the source map spec[0]:\n *\n * {\n * version : 3,\n * file: \"out.js\",\n * sourceRoot : \"\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AA,AB;;ABCDE;\"\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#\n */\nfunction BasicSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sources = util.getArg(sourceMap, 'sources');\n // Sass 3.3 leaves out the 'names' array, so we deviate from the spec (which\n // requires the array) to play nice here.\n var names = util.getArg(sourceMap, 'names', []);\n var sourceRoot = util.getArg(sourceMap, 'sourceRoot', null);\n var sourcesContent = util.getArg(sourceMap, 'sourcesContent', null);\n var mappings = util.getArg(sourceMap, 'mappings');\n var file = util.getArg(sourceMap, 'file', null);\n\n // Once again, Sass deviates from the spec and supplies the version as a\n // string rather than a number, so we use loose equality checking here.\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n if (sourceRoot) {\n sourceRoot = util.normalize(sourceRoot);\n }\n\n sources = sources\n .map(String)\n // Some source maps produce relative source paths like \"./foo.js\" instead of\n // \"foo.js\". Normalize these first so that future comparisons will succeed.\n // See bugzil.la/1090768.\n .map(util.normalize)\n // Always ensure that absolute sources are internally stored relative to\n // the source root, if the source root is absolute. Not doing this would\n // be particularly problematic when the source root is a prefix of the\n // source (valid, but why??). See github issue #199 and bugzil.la/1188982.\n .map(function (source) {\n return sourceRoot && util.isAbsolute(sourceRoot) && util.isAbsolute(source)\n ? util.relative(sourceRoot, source)\n : source;\n });\n\n // Pass `true` below to allow duplicate names and sources. While source maps\n // are intended to be compressed and deduplicated, the TypeScript compiler\n // sometimes generates source maps with duplicates in them. See Github issue\n // #72 and bugzil.la/889492.\n this._names = ArraySet.fromArray(names.map(String), true);\n this._sources = ArraySet.fromArray(sources, true);\n\n this._absoluteSources = this._sources.toArray().map(function (s) {\n return util.computeSourceURL(sourceRoot, s, aSourceMapURL);\n });\n\n this.sourceRoot = sourceRoot;\n this.sourcesContent = sourcesContent;\n this._mappings = mappings;\n this._sourceMapURL = aSourceMapURL;\n this.file = file;\n}\n\nBasicSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nBasicSourceMapConsumer.prototype.consumer = SourceMapConsumer;\n\n/**\n * Utility function to find the index of a source. Returns -1 if not\n * found.\n */\nBasicSourceMapConsumer.prototype._findSourceIndex = function(aSource) {\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n if (this._sources.has(relativeSource)) {\n return this._sources.indexOf(relativeSource);\n }\n\n // Maybe aSource is an absolute URL as returned by |sources|. In\n // this case we can't simply undo the transform.\n var i;\n for (i = 0; i < this._absoluteSources.length; ++i) {\n if (this._absoluteSources[i] == aSource) {\n return i;\n }\n }\n\n return -1;\n};\n\n/**\n * Create a BasicSourceMapConsumer from a SourceMapGenerator.\n *\n * @param SourceMapGenerator aSourceMap\n * The source map that will be consumed.\n * @param String aSourceMapURL\n * The URL at which the source map can be found (optional)\n * @returns BasicSourceMapConsumer\n */\nBasicSourceMapConsumer.fromSourceMap =\n function SourceMapConsumer_fromSourceMap(aSourceMap, aSourceMapURL) {\n var smc = Object.create(BasicSourceMapConsumer.prototype);\n\n var names = smc._names = ArraySet.fromArray(aSourceMap._names.toArray(), true);\n var sources = smc._sources = ArraySet.fromArray(aSourceMap._sources.toArray(), true);\n smc.sourceRoot = aSourceMap._sourceRoot;\n smc.sourcesContent = aSourceMap._generateSourcesContent(smc._sources.toArray(),\n smc.sourceRoot);\n smc.file = aSourceMap._file;\n smc._sourceMapURL = aSourceMapURL;\n smc._absoluteSources = smc._sources.toArray().map(function (s) {\n return util.computeSourceURL(smc.sourceRoot, s, aSourceMapURL);\n });\n\n // Because we are modifying the entries (by converting string sources and\n // names to indices into the sources and names ArraySets), we have to make\n // a copy of the entry or else bad things happen. Shared mutable state\n // strikes again! See github issue #191.\n\n var generatedMappings = aSourceMap._mappings.toArray().slice();\n var destGeneratedMappings = smc.__generatedMappings = [];\n var destOriginalMappings = smc.__originalMappings = [];\n\n for (var i = 0, length = generatedMappings.length; i < length; i++) {\n var srcMapping = generatedMappings[i];\n var destMapping = new Mapping;\n destMapping.generatedLine = srcMapping.generatedLine;\n destMapping.generatedColumn = srcMapping.generatedColumn;\n\n if (srcMapping.source) {\n destMapping.source = sources.indexOf(srcMapping.source);\n destMapping.originalLine = srcMapping.originalLine;\n destMapping.originalColumn = srcMapping.originalColumn;\n\n if (srcMapping.name) {\n destMapping.name = names.indexOf(srcMapping.name);\n }\n\n destOriginalMappings.push(destMapping);\n }\n\n destGeneratedMappings.push(destMapping);\n }\n\n quickSort(smc.__originalMappings, util.compareByOriginalPositions);\n\n return smc;\n };\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nBasicSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(BasicSourceMapConsumer.prototype, 'sources', {\n get: function () {\n return this._absoluteSources.slice();\n }\n});\n\n/**\n * Provide the JIT with a nice shape / hidden class.\n */\nfunction Mapping() {\n this.generatedLine = 0;\n this.generatedColumn = 0;\n this.source = null;\n this.originalLine = null;\n this.originalColumn = null;\n this.name = null;\n}\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nBasicSourceMapConsumer.prototype._parseMappings =\n function SourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n var generatedLine = 1;\n var previousGeneratedColumn = 0;\n var previousOriginalLine = 0;\n var previousOriginalColumn = 0;\n var previousSource = 0;\n var previousName = 0;\n var length = aStr.length;\n var index = 0;\n var cachedSegments = {};\n var temp = {};\n var originalMappings = [];\n var generatedMappings = [];\n var mapping, str, segment, end, value;\n\n while (index < length) {\n if (aStr.charAt(index) === ';') {\n generatedLine++;\n index++;\n previousGeneratedColumn = 0;\n }\n else if (aStr.charAt(index) === ',') {\n index++;\n }\n else {\n mapping = new Mapping();\n mapping.generatedLine = generatedLine;\n\n // Because each offset is encoded relative to the previous one,\n // many segments often have the same encoding. We can exploit this\n // fact by caching the parsed variable length fields of each segment,\n // allowing us to avoid a second parse if we encounter the same\n // segment again.\n for (end = index; end < length; end++) {\n if (this._charIsMappingSeparator(aStr, end)) {\n break;\n }\n }\n str = aStr.slice(index, end);\n\n segment = cachedSegments[str];\n if (segment) {\n index += str.length;\n } else {\n segment = [];\n while (index < end) {\n base64VLQ.decode(aStr, index, temp);\n value = temp.value;\n index = temp.rest;\n segment.push(value);\n }\n\n if (segment.length === 2) {\n throw new Error('Found a source, but no line and column');\n }\n\n if (segment.length === 3) {\n throw new Error('Found a source and line, but no column');\n }\n\n cachedSegments[str] = segment;\n }\n\n // Generated column.\n mapping.generatedColumn = previousGeneratedColumn + segment[0];\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (segment.length > 1) {\n // Original source.\n mapping.source = previousSource + segment[1];\n previousSource += segment[1];\n\n // Original line.\n mapping.originalLine = previousOriginalLine + segment[2];\n previousOriginalLine = mapping.originalLine;\n // Lines are stored 0-based\n mapping.originalLine += 1;\n\n // Original column.\n mapping.originalColumn = previousOriginalColumn + segment[3];\n previousOriginalColumn = mapping.originalColumn;\n\n if (segment.length > 4) {\n // Original name.\n mapping.name = previousName + segment[4];\n previousName += segment[4];\n }\n }\n\n generatedMappings.push(mapping);\n if (typeof mapping.originalLine === 'number') {\n originalMappings.push(mapping);\n }\n }\n }\n\n quickSort(generatedMappings, util.compareByGeneratedPositionsDeflated);\n this.__generatedMappings = generatedMappings;\n\n quickSort(originalMappings, util.compareByOriginalPositions);\n this.__originalMappings = originalMappings;\n };\n\n/**\n * Find the mapping that best matches the hypothetical \"needle\" mapping that\n * we are searching for in the given \"haystack\" of mappings.\n */\nBasicSourceMapConsumer.prototype._findMapping =\n function SourceMapConsumer_findMapping(aNeedle, aMappings, aLineName,\n aColumnName, aComparator, aBias) {\n // To return the position we are searching for, we must first find the\n // mapping for the given position and then return the opposite position it\n // points to. Because the mappings are sorted, we can use binary search to\n // find the best mapping.\n\n if (aNeedle[aLineName] <= 0) {\n throw new TypeError('Line must be greater than or equal to 1, got '\n + aNeedle[aLineName]);\n }\n if (aNeedle[aColumnName] < 0) {\n throw new TypeError('Column must be greater than or equal to 0, got '\n + aNeedle[aColumnName]);\n }\n\n return binarySearch.search(aNeedle, aMappings, aComparator, aBias);\n };\n\n/**\n * Compute the last column for each generated mapping. The last column is\n * inclusive.\n */\nBasicSourceMapConsumer.prototype.computeColumnSpans =\n function SourceMapConsumer_computeColumnSpans() {\n for (var index = 0; index < this._generatedMappings.length; ++index) {\n var mapping = this._generatedMappings[index];\n\n // Mappings do not contain a field for the last generated columnt. We\n // can come up with an optimistic estimate, however, by assuming that\n // mappings are contiguous (i.e. given two consecutive mappings, the\n // first mapping ends where the second one starts).\n if (index + 1 < this._generatedMappings.length) {\n var nextMapping = this._generatedMappings[index + 1];\n\n if (mapping.generatedLine === nextMapping.generatedLine) {\n mapping.lastGeneratedColumn = nextMapping.generatedColumn - 1;\n continue;\n }\n }\n\n // The last mapping for each line spans the entire line.\n mapping.lastGeneratedColumn = Infinity;\n }\n };\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nBasicSourceMapConsumer.prototype.originalPositionFor =\n function SourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._generatedMappings,\n \"generatedLine\",\n \"generatedColumn\",\n util.compareByGeneratedPositionsDeflated,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._generatedMappings[index];\n\n if (mapping.generatedLine === needle.generatedLine) {\n var source = util.getArg(mapping, 'source', null);\n if (source !== null) {\n source = this._sources.at(source);\n source = util.computeSourceURL(this.sourceRoot, source, this._sourceMapURL);\n }\n var name = util.getArg(mapping, 'name', null);\n if (name !== null) {\n name = this._names.at(name);\n }\n return {\n source: source,\n line: util.getArg(mapping, 'originalLine', null),\n column: util.getArg(mapping, 'originalColumn', null),\n name: name\n };\n }\n }\n\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nBasicSourceMapConsumer.prototype.hasContentsOfAllSources =\n function BasicSourceMapConsumer_hasContentsOfAllSources() {\n if (!this.sourcesContent) {\n return false;\n }\n return this.sourcesContent.length >= this._sources.size() &&\n !this.sourcesContent.some(function (sc) { return sc == null; });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nBasicSourceMapConsumer.prototype.sourceContentFor =\n function SourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n if (!this.sourcesContent) {\n return null;\n }\n\n var index = this._findSourceIndex(aSource);\n if (index >= 0) {\n return this.sourcesContent[index];\n }\n\n var relativeSource = aSource;\n if (this.sourceRoot != null) {\n relativeSource = util.relative(this.sourceRoot, relativeSource);\n }\n\n var url;\n if (this.sourceRoot != null\n && (url = util.urlParse(this.sourceRoot))) {\n // XXX: file:// URIs and absolute paths lead to unexpected behavior for\n // many users. We can help them out when they expect file:// URIs to\n // behave like it would if they were running a local HTTP server. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=885597.\n var fileUriAbsPath = relativeSource.replace(/^file:\\/\\//, \"\");\n if (url.scheme == \"file\"\n && this._sources.has(fileUriAbsPath)) {\n return this.sourcesContent[this._sources.indexOf(fileUriAbsPath)]\n }\n\n if ((!url.path || url.path == \"/\")\n && this._sources.has(\"/\" + relativeSource)) {\n return this.sourcesContent[this._sources.indexOf(\"/\" + relativeSource)];\n }\n }\n\n // This function is used recursively from\n // IndexedSourceMapConsumer.prototype.sourceContentFor. In that case, we\n // don't want to throw if we can't find the source - we just want to\n // return null, so we provide a flag to exit gracefully.\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + relativeSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n * - bias: Either 'SourceMapConsumer.GREATEST_LOWER_BOUND' or\n * 'SourceMapConsumer.LEAST_UPPER_BOUND'. Specifies whether to return the\n * closest element that is smaller than or greater than the one we are\n * searching for, respectively, if the exact element cannot be found.\n * Defaults to 'SourceMapConsumer.GREATEST_LOWER_BOUND'.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based.\n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nBasicSourceMapConsumer.prototype.generatedPositionFor =\n function SourceMapConsumer_generatedPositionFor(aArgs) {\n var source = util.getArg(aArgs, 'source');\n source = this._findSourceIndex(source);\n if (source < 0) {\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n }\n\n var needle = {\n source: source,\n originalLine: util.getArg(aArgs, 'line'),\n originalColumn: util.getArg(aArgs, 'column')\n };\n\n var index = this._findMapping(\n needle,\n this._originalMappings,\n \"originalLine\",\n \"originalColumn\",\n util.compareByOriginalPositions,\n util.getArg(aArgs, 'bias', SourceMapConsumer.GREATEST_LOWER_BOUND)\n );\n\n if (index >= 0) {\n var mapping = this._originalMappings[index];\n\n if (mapping.source === needle.source) {\n return {\n line: util.getArg(mapping, 'generatedLine', null),\n column: util.getArg(mapping, 'generatedColumn', null),\n lastColumn: util.getArg(mapping, 'lastGeneratedColumn', null)\n };\n }\n }\n\n return {\n line: null,\n column: null,\n lastColumn: null\n };\n };\n\nexports.BasicSourceMapConsumer = BasicSourceMapConsumer;\n\n/**\n * An IndexedSourceMapConsumer instance represents a parsed source map which\n * we can query for information. It differs from BasicSourceMapConsumer in\n * that it takes \"indexed\" source maps (i.e. ones with a \"sections\" field) as\n * input.\n *\n * The first parameter is a raw source map (either as a JSON string, or already\n * parsed to an object). According to the spec for indexed source maps, they\n * have the following attributes:\n *\n * - version: Which version of the source map spec this map is following.\n * - file: Optional. The generated file this source map is associated with.\n * - sections: A list of section definitions.\n *\n * Each value under the \"sections\" field has two fields:\n * - offset: The offset into the original specified at which this section\n * begins to apply, defined as an object with a \"line\" and \"column\"\n * field.\n * - map: A source map definition. This source map could also be indexed,\n * but doesn't have to be.\n *\n * Instead of the \"map\" field, it's also possible to have a \"url\" field\n * specifying a URL to retrieve a source map from, but that's currently\n * unsupported.\n *\n * Here's an example source map, taken from the source map spec[0], but\n * modified to omit a section which uses the \"url\" field.\n *\n * {\n * version : 3,\n * file: \"app.js\",\n * sections: [{\n * offset: {line:100, column:10},\n * map: {\n * version : 3,\n * file: \"section.js\",\n * sources: [\"foo.js\", \"bar.js\"],\n * names: [\"src\", \"maps\", \"are\", \"fun\"],\n * mappings: \"AAAA,E;;ABCDE;\"\n * }\n * }],\n * }\n *\n * The second parameter, if given, is a string whose value is the URL\n * at which the source map was found. This URL is used to compute the\n * sources array.\n *\n * [0]: https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit#heading=h.535es3xeprgt\n */\nfunction IndexedSourceMapConsumer(aSourceMap, aSourceMapURL) {\n var sourceMap = aSourceMap;\n if (typeof aSourceMap === 'string') {\n sourceMap = util.parseSourceMapInput(aSourceMap);\n }\n\n var version = util.getArg(sourceMap, 'version');\n var sections = util.getArg(sourceMap, 'sections');\n\n if (version != this._version) {\n throw new Error('Unsupported version: ' + version);\n }\n\n this._sources = new ArraySet();\n this._names = new ArraySet();\n\n var lastOffset = {\n line: -1,\n column: 0\n };\n this._sections = sections.map(function (s) {\n if (s.url) {\n // The url field will require support for asynchronicity.\n // See https://github.com/mozilla/source-map/issues/16\n throw new Error('Support for url field in sections not implemented.');\n }\n var offset = util.getArg(s, 'offset');\n var offsetLine = util.getArg(offset, 'line');\n var offsetColumn = util.getArg(offset, 'column');\n\n if (offsetLine < lastOffset.line ||\n (offsetLine === lastOffset.line && offsetColumn < lastOffset.column)) {\n throw new Error('Section offsets must be ordered and non-overlapping.');\n }\n lastOffset = offset;\n\n return {\n generatedOffset: {\n // The offset fields are 0-based, but we use 1-based indices when\n // encoding/decoding from VLQ.\n generatedLine: offsetLine + 1,\n generatedColumn: offsetColumn + 1\n },\n consumer: new SourceMapConsumer(util.getArg(s, 'map'), aSourceMapURL)\n }\n });\n}\n\nIndexedSourceMapConsumer.prototype = Object.create(SourceMapConsumer.prototype);\nIndexedSourceMapConsumer.prototype.constructor = SourceMapConsumer;\n\n/**\n * The version of the source mapping spec that we are consuming.\n */\nIndexedSourceMapConsumer.prototype._version = 3;\n\n/**\n * The list of original sources.\n */\nObject.defineProperty(IndexedSourceMapConsumer.prototype, 'sources', {\n get: function () {\n var sources = [];\n for (var i = 0; i < this._sections.length; i++) {\n for (var j = 0; j < this._sections[i].consumer.sources.length; j++) {\n sources.push(this._sections[i].consumer.sources[j]);\n }\n }\n return sources;\n }\n});\n\n/**\n * Returns the original source, line, and column information for the generated\n * source's line and column positions provided. The only argument is an object\n * with the following properties:\n *\n * - line: The line number in the generated source. The line number\n * is 1-based.\n * - column: The column number in the generated source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - source: The original source file, or null.\n * - line: The line number in the original source, or null. The\n * line number is 1-based.\n * - column: The column number in the original source, or null. The\n * column number is 0-based.\n * - name: The original identifier, or null.\n */\nIndexedSourceMapConsumer.prototype.originalPositionFor =\n function IndexedSourceMapConsumer_originalPositionFor(aArgs) {\n var needle = {\n generatedLine: util.getArg(aArgs, 'line'),\n generatedColumn: util.getArg(aArgs, 'column')\n };\n\n // Find the section containing the generated position we're trying to map\n // to an original position.\n var sectionIndex = binarySearch.search(needle, this._sections,\n function(needle, section) {\n var cmp = needle.generatedLine - section.generatedOffset.generatedLine;\n if (cmp) {\n return cmp;\n }\n\n return (needle.generatedColumn -\n section.generatedOffset.generatedColumn);\n });\n var section = this._sections[sectionIndex];\n\n if (!section) {\n return {\n source: null,\n line: null,\n column: null,\n name: null\n };\n }\n\n return section.consumer.originalPositionFor({\n line: needle.generatedLine -\n (section.generatedOffset.generatedLine - 1),\n column: needle.generatedColumn -\n (section.generatedOffset.generatedLine === needle.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n bias: aArgs.bias\n });\n };\n\n/**\n * Return true if we have the source content for every source in the source\n * map, false otherwise.\n */\nIndexedSourceMapConsumer.prototype.hasContentsOfAllSources =\n function IndexedSourceMapConsumer_hasContentsOfAllSources() {\n return this._sections.every(function (s) {\n return s.consumer.hasContentsOfAllSources();\n });\n };\n\n/**\n * Returns the original source content. The only argument is the url of the\n * original source file. Returns null if no original source content is\n * available.\n */\nIndexedSourceMapConsumer.prototype.sourceContentFor =\n function IndexedSourceMapConsumer_sourceContentFor(aSource, nullOnMissing) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n var content = section.consumer.sourceContentFor(aSource, true);\n if (content) {\n return content;\n }\n }\n if (nullOnMissing) {\n return null;\n }\n else {\n throw new Error('\"' + aSource + '\" is not in the SourceMap.');\n }\n };\n\n/**\n * Returns the generated line and column information for the original source,\n * line, and column positions provided. The only argument is an object with\n * the following properties:\n *\n * - source: The filename of the original source.\n * - line: The line number in the original source. The line number\n * is 1-based.\n * - column: The column number in the original source. The column\n * number is 0-based.\n *\n * and an object is returned with the following properties:\n *\n * - line: The line number in the generated source, or null. The\n * line number is 1-based. \n * - column: The column number in the generated source, or null.\n * The column number is 0-based.\n */\nIndexedSourceMapConsumer.prototype.generatedPositionFor =\n function IndexedSourceMapConsumer_generatedPositionFor(aArgs) {\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n\n // Only consider this section if the requested source is in the list of\n // sources of the consumer.\n if (section.consumer._findSourceIndex(util.getArg(aArgs, 'source')) === -1) {\n continue;\n }\n var generatedPosition = section.consumer.generatedPositionFor(aArgs);\n if (generatedPosition) {\n var ret = {\n line: generatedPosition.line +\n (section.generatedOffset.generatedLine - 1),\n column: generatedPosition.column +\n (section.generatedOffset.generatedLine === generatedPosition.line\n ? section.generatedOffset.generatedColumn - 1\n : 0)\n };\n return ret;\n }\n }\n\n return {\n line: null,\n column: null\n };\n };\n\n/**\n * Parse the mappings in a string in to a data structure which we can easily\n * query (the ordered arrays in the `this.__generatedMappings` and\n * `this.__originalMappings` properties).\n */\nIndexedSourceMapConsumer.prototype._parseMappings =\n function IndexedSourceMapConsumer_parseMappings(aStr, aSourceRoot) {\n this.__generatedMappings = [];\n this.__originalMappings = [];\n for (var i = 0; i < this._sections.length; i++) {\n var section = this._sections[i];\n var sectionMappings = section.consumer._generatedMappings;\n for (var j = 0; j < sectionMappings.length; j++) {\n var mapping = sectionMappings[j];\n\n var source = section.consumer._sources.at(mapping.source);\n source = util.computeSourceURL(section.consumer.sourceRoot, source, this._sourceMapURL);\n this._sources.add(source);\n source = this._sources.indexOf(source);\n\n var name = null;\n if (mapping.name) {\n name = section.consumer._names.at(mapping.name);\n this._names.add(name);\n name = this._names.indexOf(name);\n }\n\n // The mappings coming from the consumer for the section have\n // generated positions relative to the start of the section, so we\n // need to offset them to be relative to the start of the concatenated\n // generated file.\n var adjustedMapping = {\n source: source,\n generatedLine: mapping.generatedLine +\n (section.generatedOffset.generatedLine - 1),\n generatedColumn: mapping.generatedColumn +\n (section.generatedOffset.generatedLine === mapping.generatedLine\n ? section.generatedOffset.generatedColumn - 1\n : 0),\n originalLine: mapping.originalLine,\n originalColumn: mapping.originalColumn,\n name: name\n };\n\n this.__generatedMappings.push(adjustedMapping);\n if (typeof adjustedMapping.originalLine === 'number') {\n this.__originalMappings.push(adjustedMapping);\n }\n }\n }\n\n quickSort(this.__generatedMappings, util.compareByGeneratedPositionsDeflated);\n quickSort(this.__originalMappings, util.compareByOriginalPositions);\n };\n\nexports.IndexedSourceMapConsumer = IndexedSourceMapConsumer;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar base64VLQ = require('./base64-vlq');\nvar util = require('./util');\nvar ArraySet = require('./array-set').ArraySet;\nvar MappingList = require('./mapping-list').MappingList;\n\n/**\n * An instance of the SourceMapGenerator represents a source map which is\n * being built incrementally. You may pass an object with the following\n * properties:\n *\n * - file: The filename of the generated source.\n * - sourceRoot: A root for all relative URLs in this source map.\n */\nfunction SourceMapGenerator(aArgs) {\n if (!aArgs) {\n aArgs = {};\n }\n this._file = util.getArg(aArgs, 'file', null);\n this._sourceRoot = util.getArg(aArgs, 'sourceRoot', null);\n this._skipValidation = util.getArg(aArgs, 'skipValidation', false);\n this._sources = new ArraySet();\n this._names = new ArraySet();\n this._mappings = new MappingList();\n this._sourcesContents = null;\n}\n\nSourceMapGenerator.prototype._version = 3;\n\n/**\n * Creates a new SourceMapGenerator based on a SourceMapConsumer\n *\n * @param aSourceMapConsumer The SourceMap.\n */\nSourceMapGenerator.fromSourceMap =\n function SourceMapGenerator_fromSourceMap(aSourceMapConsumer) {\n var sourceRoot = aSourceMapConsumer.sourceRoot;\n var generator = new SourceMapGenerator({\n file: aSourceMapConsumer.file,\n sourceRoot: sourceRoot\n });\n aSourceMapConsumer.eachMapping(function (mapping) {\n var newMapping = {\n generated: {\n line: mapping.generatedLine,\n column: mapping.generatedColumn\n }\n };\n\n if (mapping.source != null) {\n newMapping.source = mapping.source;\n if (sourceRoot != null) {\n newMapping.source = util.relative(sourceRoot, newMapping.source);\n }\n\n newMapping.original = {\n line: mapping.originalLine,\n column: mapping.originalColumn\n };\n\n if (mapping.name != null) {\n newMapping.name = mapping.name;\n }\n }\n\n generator.addMapping(newMapping);\n });\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var sourceRelative = sourceFile;\n if (sourceRoot !== null) {\n sourceRelative = util.relative(sourceRoot, sourceFile);\n }\n\n if (!generator._sources.has(sourceRelative)) {\n generator._sources.add(sourceRelative);\n }\n\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n generator.setSourceContent(sourceFile, content);\n }\n });\n return generator;\n };\n\n/**\n * Add a single mapping from original source line and column to the generated\n * source's line and column for this source map being created. The mapping\n * object should have the following properties:\n *\n * - generated: An object with the generated line and column positions.\n * - original: An object with the original line and column positions.\n * - source: The original source file (relative to the sourceRoot).\n * - name: An optional original token name for this mapping.\n */\nSourceMapGenerator.prototype.addMapping =\n function SourceMapGenerator_addMapping(aArgs) {\n var generated = util.getArg(aArgs, 'generated');\n var original = util.getArg(aArgs, 'original', null);\n var source = util.getArg(aArgs, 'source', null);\n var name = util.getArg(aArgs, 'name', null);\n\n if (!this._skipValidation) {\n this._validateMapping(generated, original, source, name);\n }\n\n if (source != null) {\n source = String(source);\n if (!this._sources.has(source)) {\n this._sources.add(source);\n }\n }\n\n if (name != null) {\n name = String(name);\n if (!this._names.has(name)) {\n this._names.add(name);\n }\n }\n\n this._mappings.add({\n generatedLine: generated.line,\n generatedColumn: generated.column,\n originalLine: original != null && original.line,\n originalColumn: original != null && original.column,\n source: source,\n name: name\n });\n };\n\n/**\n * Set the source content for a source file.\n */\nSourceMapGenerator.prototype.setSourceContent =\n function SourceMapGenerator_setSourceContent(aSourceFile, aSourceContent) {\n var source = aSourceFile;\n if (this._sourceRoot != null) {\n source = util.relative(this._sourceRoot, source);\n }\n\n if (aSourceContent != null) {\n // Add the source content to the _sourcesContents map.\n // Create a new _sourcesContents map if the property is null.\n if (!this._sourcesContents) {\n this._sourcesContents = Object.create(null);\n }\n this._sourcesContents[util.toSetString(source)] = aSourceContent;\n } else if (this._sourcesContents) {\n // Remove the source file from the _sourcesContents map.\n // If the _sourcesContents map is empty, set the property to null.\n delete this._sourcesContents[util.toSetString(source)];\n if (Object.keys(this._sourcesContents).length === 0) {\n this._sourcesContents = null;\n }\n }\n };\n\n/**\n * Applies the mappings of a sub-source-map for a specific source file to the\n * source map being generated. Each mapping to the supplied source file is\n * rewritten using the supplied source map. Note: The resolution for the\n * resulting mappings is the minimium of this map and the supplied map.\n *\n * @param aSourceMapConsumer The source map to be applied.\n * @param aSourceFile Optional. The filename of the source file.\n * If omitted, SourceMapConsumer's file property will be used.\n * @param aSourceMapPath Optional. The dirname of the path to the source map\n * to be applied. If relative, it is relative to the SourceMapConsumer.\n * This parameter is needed when the two source maps aren't in the same\n * directory, and the source map to be applied contains relative source\n * paths. If so, those relative source paths need to be rewritten\n * relative to the SourceMapGenerator.\n */\nSourceMapGenerator.prototype.applySourceMap =\n function SourceMapGenerator_applySourceMap(aSourceMapConsumer, aSourceFile, aSourceMapPath) {\n var sourceFile = aSourceFile;\n // If aSourceFile is omitted, we will use the file property of the SourceMap\n if (aSourceFile == null) {\n if (aSourceMapConsumer.file == null) {\n throw new Error(\n 'SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, ' +\n 'or the source map\\'s \"file\" property. Both were omitted.'\n );\n }\n sourceFile = aSourceMapConsumer.file;\n }\n var sourceRoot = this._sourceRoot;\n // Make \"sourceFile\" relative if an absolute Url is passed.\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n // Applying the SourceMap can add and remove items from the sources and\n // the names array.\n var newSources = new ArraySet();\n var newNames = new ArraySet();\n\n // Find mappings for the \"sourceFile\"\n this._mappings.unsortedForEach(function (mapping) {\n if (mapping.source === sourceFile && mapping.originalLine != null) {\n // Check if it can be mapped by the source map, then update the mapping.\n var original = aSourceMapConsumer.originalPositionFor({\n line: mapping.originalLine,\n column: mapping.originalColumn\n });\n if (original.source != null) {\n // Copy mapping\n mapping.source = original.source;\n if (aSourceMapPath != null) {\n mapping.source = util.join(aSourceMapPath, mapping.source)\n }\n if (sourceRoot != null) {\n mapping.source = util.relative(sourceRoot, mapping.source);\n }\n mapping.originalLine = original.line;\n mapping.originalColumn = original.column;\n if (original.name != null) {\n mapping.name = original.name;\n }\n }\n }\n\n var source = mapping.source;\n if (source != null && !newSources.has(source)) {\n newSources.add(source);\n }\n\n var name = mapping.name;\n if (name != null && !newNames.has(name)) {\n newNames.add(name);\n }\n\n }, this);\n this._sources = newSources;\n this._names = newNames;\n\n // Copy sourcesContents of applied map.\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aSourceMapPath != null) {\n sourceFile = util.join(aSourceMapPath, sourceFile);\n }\n if (sourceRoot != null) {\n sourceFile = util.relative(sourceRoot, sourceFile);\n }\n this.setSourceContent(sourceFile, content);\n }\n }, this);\n };\n\n/**\n * A mapping can have one of the three levels of data:\n *\n * 1. Just the generated position.\n * 2. The Generated position, original position, and original source.\n * 3. Generated and original position, original source, as well as a name\n * token.\n *\n * To maintain consistency, we validate that any new mapping being added falls\n * in to one of these categories.\n */\nSourceMapGenerator.prototype._validateMapping =\n function SourceMapGenerator_validateMapping(aGenerated, aOriginal, aSource,\n aName) {\n // When aOriginal is truthy but has empty values for .line and .column,\n // it is most likely a programmer error. In this case we throw a very\n // specific error message to try to guide them the right way.\n // For example: https://github.com/Polymer/polymer-bundler/pull/519\n if (aOriginal && typeof aOriginal.line !== 'number' && typeof aOriginal.column !== 'number') {\n throw new Error(\n 'original.line and original.column are not numbers -- you probably meant to omit ' +\n 'the original mapping entirely and only map the generated position. If so, pass ' +\n 'null for the original mapping instead of an object with empty or null values.'\n );\n }\n\n if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aGenerated.line > 0 && aGenerated.column >= 0\n && !aOriginal && !aSource && !aName) {\n // Case 1.\n return;\n }\n else if (aGenerated && 'line' in aGenerated && 'column' in aGenerated\n && aOriginal && 'line' in aOriginal && 'column' in aOriginal\n && aGenerated.line > 0 && aGenerated.column >= 0\n && aOriginal.line > 0 && aOriginal.column >= 0\n && aSource) {\n // Cases 2 and 3.\n return;\n }\n else {\n throw new Error('Invalid mapping: ' + JSON.stringify({\n generated: aGenerated,\n source: aSource,\n original: aOriginal,\n name: aName\n }));\n }\n };\n\n/**\n * Serialize the accumulated mappings in to the stream of base 64 VLQs\n * specified by the source map format.\n */\nSourceMapGenerator.prototype._serializeMappings =\n function SourceMapGenerator_serializeMappings() {\n var previousGeneratedColumn = 0;\n var previousGeneratedLine = 1;\n var previousOriginalColumn = 0;\n var previousOriginalLine = 0;\n var previousName = 0;\n var previousSource = 0;\n var result = '';\n var next;\n var mapping;\n var nameIdx;\n var sourceIdx;\n\n var mappings = this._mappings.toArray();\n for (var i = 0, len = mappings.length; i < len; i++) {\n mapping = mappings[i];\n next = ''\n\n if (mapping.generatedLine !== previousGeneratedLine) {\n previousGeneratedColumn = 0;\n while (mapping.generatedLine !== previousGeneratedLine) {\n next += ';';\n previousGeneratedLine++;\n }\n }\n else {\n if (i > 0) {\n if (!util.compareByGeneratedPositionsInflated(mapping, mappings[i - 1])) {\n continue;\n }\n next += ',';\n }\n }\n\n next += base64VLQ.encode(mapping.generatedColumn\n - previousGeneratedColumn);\n previousGeneratedColumn = mapping.generatedColumn;\n\n if (mapping.source != null) {\n sourceIdx = this._sources.indexOf(mapping.source);\n next += base64VLQ.encode(sourceIdx - previousSource);\n previousSource = sourceIdx;\n\n // lines are stored 0-based in SourceMap spec version 3\n next += base64VLQ.encode(mapping.originalLine - 1\n - previousOriginalLine);\n previousOriginalLine = mapping.originalLine - 1;\n\n next += base64VLQ.encode(mapping.originalColumn\n - previousOriginalColumn);\n previousOriginalColumn = mapping.originalColumn;\n\n if (mapping.name != null) {\n nameIdx = this._names.indexOf(mapping.name);\n next += base64VLQ.encode(nameIdx - previousName);\n previousName = nameIdx;\n }\n }\n\n result += next;\n }\n\n return result;\n };\n\nSourceMapGenerator.prototype._generateSourcesContent =\n function SourceMapGenerator_generateSourcesContent(aSources, aSourceRoot) {\n return aSources.map(function (source) {\n if (!this._sourcesContents) {\n return null;\n }\n if (aSourceRoot != null) {\n source = util.relative(aSourceRoot, source);\n }\n var key = util.toSetString(source);\n return Object.prototype.hasOwnProperty.call(this._sourcesContents, key)\n ? this._sourcesContents[key]\n : null;\n }, this);\n };\n\n/**\n * Externalize the source map.\n */\nSourceMapGenerator.prototype.toJSON =\n function SourceMapGenerator_toJSON() {\n var map = {\n version: this._version,\n sources: this._sources.toArray(),\n names: this._names.toArray(),\n mappings: this._serializeMappings()\n };\n if (this._file != null) {\n map.file = this._file;\n }\n if (this._sourceRoot != null) {\n map.sourceRoot = this._sourceRoot;\n }\n if (this._sourcesContents) {\n map.sourcesContent = this._generateSourcesContent(map.sources, map.sourceRoot);\n }\n\n return map;\n };\n\n/**\n * Render the source map being generated to a string.\n */\nSourceMapGenerator.prototype.toString =\n function SourceMapGenerator_toString() {\n return JSON.stringify(this.toJSON());\n };\n\nexports.SourceMapGenerator = SourceMapGenerator;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\nvar SourceMapGenerator = require('./source-map-generator').SourceMapGenerator;\nvar util = require('./util');\n\n// Matches a Windows-style `\\r\\n` newline or a `\\n` newline used by all other\n// operating systems these days (capturing the result).\nvar REGEX_NEWLINE = /(\\r?\\n)/;\n\n// Newline character code for charCodeAt() comparisons\nvar NEWLINE_CODE = 10;\n\n// Private symbol for identifying `SourceNode`s when multiple versions of\n// the source-map library are loaded. This MUST NOT CHANGE across\n// versions!\nvar isSourceNode = \"$$$isSourceNode$$$\";\n\n/**\n * SourceNodes provide a way to abstract over interpolating/concatenating\n * snippets of generated JavaScript source code while maintaining the line and\n * column information associated with the original source code.\n *\n * @param aLine The original line number.\n * @param aColumn The original column number.\n * @param aSource The original source's filename.\n * @param aChunks Optional. An array of strings which are snippets of\n * generated JS, or other SourceNodes.\n * @param aName The original identifier.\n */\nfunction SourceNode(aLine, aColumn, aSource, aChunks, aName) {\n this.children = [];\n this.sourceContents = {};\n this.line = aLine == null ? null : aLine;\n this.column = aColumn == null ? null : aColumn;\n this.source = aSource == null ? null : aSource;\n this.name = aName == null ? null : aName;\n this[isSourceNode] = true;\n if (aChunks != null) this.add(aChunks);\n}\n\n/**\n * Creates a SourceNode from generated code and a SourceMapConsumer.\n *\n * @param aGeneratedCode The generated code\n * @param aSourceMapConsumer The SourceMap for the generated code\n * @param aRelativePath Optional. The path that relative sources in the\n * SourceMapConsumer should be relative to.\n */\nSourceNode.fromStringWithSourceMap =\n function SourceNode_fromStringWithSourceMap(aGeneratedCode, aSourceMapConsumer, aRelativePath) {\n // The SourceNode we want to fill with the generated code\n // and the SourceMap\n var node = new SourceNode();\n\n // All even indices of this array are one line of the generated code,\n // while all odd indices are the newlines between two adjacent lines\n // (since `REGEX_NEWLINE` captures its match).\n // Processed fragments are accessed by calling `shiftNextLine`.\n var remainingLines = aGeneratedCode.split(REGEX_NEWLINE);\n var remainingLinesIndex = 0;\n var shiftNextLine = function() {\n var lineContents = getNextLine();\n // The last line of a file might not have a newline.\n var newLine = getNextLine() || \"\";\n return lineContents + newLine;\n\n function getNextLine() {\n return remainingLinesIndex < remainingLines.length ?\n remainingLines[remainingLinesIndex++] : undefined;\n }\n };\n\n // We need to remember the position of \"remainingLines\"\n var lastGeneratedLine = 1, lastGeneratedColumn = 0;\n\n // The generate SourceNodes we need a code range.\n // To extract it current and last mapping is used.\n // Here we store the last mapping.\n var lastMapping = null;\n\n aSourceMapConsumer.eachMapping(function (mapping) {\n if (lastMapping !== null) {\n // We add the code from \"lastMapping\" to \"mapping\":\n // First check if there is a new line in between.\n if (lastGeneratedLine < mapping.generatedLine) {\n // Associate first line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n lastGeneratedLine++;\n lastGeneratedColumn = 0;\n // The remaining code is added without mapping\n } else {\n // There is no new line in between.\n // Associate the code between \"lastGeneratedColumn\" and\n // \"mapping.generatedColumn\" with \"lastMapping\"\n var nextLine = remainingLines[remainingLinesIndex] || '';\n var code = nextLine.substr(0, mapping.generatedColumn -\n lastGeneratedColumn);\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn -\n lastGeneratedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n addMappingWithCode(lastMapping, code);\n // No more remaining code, continue\n lastMapping = mapping;\n return;\n }\n }\n // We add the generated code until the first mapping\n // to the SourceNode without any mapping.\n // Each line is added as separate string.\n while (lastGeneratedLine < mapping.generatedLine) {\n node.add(shiftNextLine());\n lastGeneratedLine++;\n }\n if (lastGeneratedColumn < mapping.generatedColumn) {\n var nextLine = remainingLines[remainingLinesIndex] || '';\n node.add(nextLine.substr(0, mapping.generatedColumn));\n remainingLines[remainingLinesIndex] = nextLine.substr(mapping.generatedColumn);\n lastGeneratedColumn = mapping.generatedColumn;\n }\n lastMapping = mapping;\n }, this);\n // We have processed all mappings.\n if (remainingLinesIndex < remainingLines.length) {\n if (lastMapping) {\n // Associate the remaining code in the current line with \"lastMapping\"\n addMappingWithCode(lastMapping, shiftNextLine());\n }\n // and add the remaining lines without any mapping\n node.add(remainingLines.splice(remainingLinesIndex).join(\"\"));\n }\n\n // Copy sourcesContent into SourceNode\n aSourceMapConsumer.sources.forEach(function (sourceFile) {\n var content = aSourceMapConsumer.sourceContentFor(sourceFile);\n if (content != null) {\n if (aRelativePath != null) {\n sourceFile = util.join(aRelativePath, sourceFile);\n }\n node.setSourceContent(sourceFile, content);\n }\n });\n\n return node;\n\n function addMappingWithCode(mapping, code) {\n if (mapping === null || mapping.source === undefined) {\n node.add(code);\n } else {\n var source = aRelativePath\n ? util.join(aRelativePath, mapping.source)\n : mapping.source;\n node.add(new SourceNode(mapping.originalLine,\n mapping.originalColumn,\n source,\n code,\n mapping.name));\n }\n }\n };\n\n/**\n * Add a chunk of generated JS to this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.add = function SourceNode_add(aChunk) {\n if (Array.isArray(aChunk)) {\n aChunk.forEach(function (chunk) {\n this.add(chunk);\n }, this);\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n if (aChunk) {\n this.children.push(aChunk);\n }\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Add a chunk of generated JS to the beginning of this source node.\n *\n * @param aChunk A string snippet of generated JS code, another instance of\n * SourceNode, or an array where each member is one of those things.\n */\nSourceNode.prototype.prepend = function SourceNode_prepend(aChunk) {\n if (Array.isArray(aChunk)) {\n for (var i = aChunk.length-1; i >= 0; i--) {\n this.prepend(aChunk[i]);\n }\n }\n else if (aChunk[isSourceNode] || typeof aChunk === \"string\") {\n this.children.unshift(aChunk);\n }\n else {\n throw new TypeError(\n \"Expected a SourceNode, string, or an array of SourceNodes and strings. Got \" + aChunk\n );\n }\n return this;\n};\n\n/**\n * Walk over the tree of JS snippets in this node and its children. The\n * walking function is called once for each snippet of JS and is passed that\n * snippet and the its original associated source's line/column location.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walk = function SourceNode_walk(aFn) {\n var chunk;\n for (var i = 0, len = this.children.length; i < len; i++) {\n chunk = this.children[i];\n if (chunk[isSourceNode]) {\n chunk.walk(aFn);\n }\n else {\n if (chunk !== '') {\n aFn(chunk, { source: this.source,\n line: this.line,\n column: this.column,\n name: this.name });\n }\n }\n }\n};\n\n/**\n * Like `String.prototype.join` except for SourceNodes. Inserts `aStr` between\n * each of `this.children`.\n *\n * @param aSep The separator.\n */\nSourceNode.prototype.join = function SourceNode_join(aSep) {\n var newChildren;\n var i;\n var len = this.children.length;\n if (len > 0) {\n newChildren = [];\n for (i = 0; i < len-1; i++) {\n newChildren.push(this.children[i]);\n newChildren.push(aSep);\n }\n newChildren.push(this.children[i]);\n this.children = newChildren;\n }\n return this;\n};\n\n/**\n * Call String.prototype.replace on the very right-most source snippet. Useful\n * for trimming whitespace from the end of a source node, etc.\n *\n * @param aPattern The pattern to replace.\n * @param aReplacement The thing to replace the pattern with.\n */\nSourceNode.prototype.replaceRight = function SourceNode_replaceRight(aPattern, aReplacement) {\n var lastChild = this.children[this.children.length - 1];\n if (lastChild[isSourceNode]) {\n lastChild.replaceRight(aPattern, aReplacement);\n }\n else if (typeof lastChild === 'string') {\n this.children[this.children.length - 1] = lastChild.replace(aPattern, aReplacement);\n }\n else {\n this.children.push(''.replace(aPattern, aReplacement));\n }\n return this;\n};\n\n/**\n * Set the source content for a source file. This will be added to the SourceMapGenerator\n * in the sourcesContent field.\n *\n * @param aSourceFile The filename of the source file\n * @param aSourceContent The content of the source file\n */\nSourceNode.prototype.setSourceContent =\n function SourceNode_setSourceContent(aSourceFile, aSourceContent) {\n this.sourceContents[util.toSetString(aSourceFile)] = aSourceContent;\n };\n\n/**\n * Walk over the tree of SourceNodes. The walking function is called for each\n * source file content and is passed the filename and source content.\n *\n * @param aFn The traversal function.\n */\nSourceNode.prototype.walkSourceContents =\n function SourceNode_walkSourceContents(aFn) {\n for (var i = 0, len = this.children.length; i < len; i++) {\n if (this.children[i][isSourceNode]) {\n this.children[i].walkSourceContents(aFn);\n }\n }\n\n var sources = Object.keys(this.sourceContents);\n for (var i = 0, len = sources.length; i < len; i++) {\n aFn(util.fromSetString(sources[i]), this.sourceContents[sources[i]]);\n }\n };\n\n/**\n * Return the string representation of this source node. Walks over the tree\n * and concatenates all the various snippets together to one string.\n */\nSourceNode.prototype.toString = function SourceNode_toString() {\n var str = \"\";\n this.walk(function (chunk) {\n str += chunk;\n });\n return str;\n};\n\n/**\n * Returns the string representation of this source node along with a source\n * map.\n */\nSourceNode.prototype.toStringWithSourceMap = function SourceNode_toStringWithSourceMap(aArgs) {\n var generated = {\n code: \"\",\n line: 1,\n column: 0\n };\n var map = new SourceMapGenerator(aArgs);\n var sourceMappingActive = false;\n var lastOriginalSource = null;\n var lastOriginalLine = null;\n var lastOriginalColumn = null;\n var lastOriginalName = null;\n this.walk(function (chunk, original) {\n generated.code += chunk;\n if (original.source !== null\n && original.line !== null\n && original.column !== null) {\n if(lastOriginalSource !== original.source\n || lastOriginalLine !== original.line\n || lastOriginalColumn !== original.column\n || lastOriginalName !== original.name) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n lastOriginalSource = original.source;\n lastOriginalLine = original.line;\n lastOriginalColumn = original.column;\n lastOriginalName = original.name;\n sourceMappingActive = true;\n } else if (sourceMappingActive) {\n map.addMapping({\n generated: {\n line: generated.line,\n column: generated.column\n }\n });\n lastOriginalSource = null;\n sourceMappingActive = false;\n }\n for (var idx = 0, length = chunk.length; idx < length; idx++) {\n if (chunk.charCodeAt(idx) === NEWLINE_CODE) {\n generated.line++;\n generated.column = 0;\n // Mappings end at eol\n if (idx + 1 === length) {\n lastOriginalSource = null;\n sourceMappingActive = false;\n } else if (sourceMappingActive) {\n map.addMapping({\n source: original.source,\n original: {\n line: original.line,\n column: original.column\n },\n generated: {\n line: generated.line,\n column: generated.column\n },\n name: original.name\n });\n }\n } else {\n generated.column++;\n }\n }\n });\n this.walkSourceContents(function (sourceFile, sourceContent) {\n map.setSourceContent(sourceFile, sourceContent);\n });\n\n return { code: generated.code, map: map };\n};\n\nexports.SourceNode = SourceNode;\n","/* -*- Mode: js; js-indent-level: 2; -*- */\n/*\n * Copyright 2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\n\n/**\n * This is a helper function for getting values from parameter/options\n * objects.\n *\n * @param args The object we are extracting values from\n * @param name The name of the property we are getting.\n * @param defaultValue An optional value to return if the property is missing\n * from the object. If this is not specified and the property is missing, an\n * error will be thrown.\n */\nfunction getArg(aArgs, aName, aDefaultValue) {\n if (aName in aArgs) {\n return aArgs[aName];\n } else if (arguments.length === 3) {\n return aDefaultValue;\n } else {\n throw new Error('\"' + aName + '\" is a required argument.');\n }\n}\nexports.getArg = getArg;\n\nvar urlRegexp = /^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/;\nvar dataUrlRegexp = /^data:.+\\,.+$/;\n\nfunction urlParse(aUrl) {\n var match = aUrl.match(urlRegexp);\n if (!match) {\n return null;\n }\n return {\n scheme: match[1],\n auth: match[2],\n host: match[3],\n port: match[4],\n path: match[5]\n };\n}\nexports.urlParse = urlParse;\n\nfunction urlGenerate(aParsedUrl) {\n var url = '';\n if (aParsedUrl.scheme) {\n url += aParsedUrl.scheme + ':';\n }\n url += '//';\n if (aParsedUrl.auth) {\n url += aParsedUrl.auth + '@';\n }\n if (aParsedUrl.host) {\n url += aParsedUrl.host;\n }\n if (aParsedUrl.port) {\n url += \":\" + aParsedUrl.port\n }\n if (aParsedUrl.path) {\n url += aParsedUrl.path;\n }\n return url;\n}\nexports.urlGenerate = urlGenerate;\n\n/**\n * Normalizes a path, or the path portion of a URL:\n *\n * - Replaces consecutive slashes with one slash.\n * - Removes unnecessary '.' parts.\n * - Removes unnecessary '/..' parts.\n *\n * Based on code in the Node.js 'path' core module.\n *\n * @param aPath The path or url to normalize.\n */\nfunction normalize(aPath) {\n var path = aPath;\n var url = urlParse(aPath);\n if (url) {\n if (!url.path) {\n return aPath;\n }\n path = url.path;\n }\n var isAbsolute = exports.isAbsolute(path);\n\n var parts = path.split(/\\/+/);\n for (var part, up = 0, i = parts.length - 1; i >= 0; i--) {\n part = parts[i];\n if (part === '.') {\n parts.splice(i, 1);\n } else if (part === '..') {\n up++;\n } else if (up > 0) {\n if (part === '') {\n // The first part is blank if the path is absolute. Trying to go\n // above the root is a no-op. Therefore we can remove all '..' parts\n // directly after the root.\n parts.splice(i + 1, up);\n up = 0;\n } else {\n parts.splice(i, 2);\n up--;\n }\n }\n }\n path = parts.join('/');\n\n if (path === '') {\n path = isAbsolute ? '/' : '.';\n }\n\n if (url) {\n url.path = path;\n return urlGenerate(url);\n }\n return path;\n}\nexports.normalize = normalize;\n\n/**\n * Joins two paths/URLs.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be joined with the root.\n *\n * - If aPath is a URL or a data URI, aPath is returned, unless aPath is a\n * scheme-relative URL: Then the scheme of aRoot, if any, is prepended\n * first.\n * - Otherwise aPath is a path. If aRoot is a URL, then its path portion\n * is updated with the result and aRoot is returned. Otherwise the result\n * is returned.\n * - If aPath is absolute, the result is aPath.\n * - Otherwise the two paths are joined with a slash.\n * - Joining for example 'http://' and 'www.example.com' is also supported.\n */\nfunction join(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n if (aPath === \"\") {\n aPath = \".\";\n }\n var aPathUrl = urlParse(aPath);\n var aRootUrl = urlParse(aRoot);\n if (aRootUrl) {\n aRoot = aRootUrl.path || '/';\n }\n\n // `join(foo, '//www.example.org')`\n if (aPathUrl && !aPathUrl.scheme) {\n if (aRootUrl) {\n aPathUrl.scheme = aRootUrl.scheme;\n }\n return urlGenerate(aPathUrl);\n }\n\n if (aPathUrl || aPath.match(dataUrlRegexp)) {\n return aPath;\n }\n\n // `join('http://', 'www.example.com')`\n if (aRootUrl && !aRootUrl.host && !aRootUrl.path) {\n aRootUrl.host = aPath;\n return urlGenerate(aRootUrl);\n }\n\n var joined = aPath.charAt(0) === '/'\n ? aPath\n : normalize(aRoot.replace(/\\/+$/, '') + '/' + aPath);\n\n if (aRootUrl) {\n aRootUrl.path = joined;\n return urlGenerate(aRootUrl);\n }\n return joined;\n}\nexports.join = join;\n\nexports.isAbsolute = function (aPath) {\n return aPath.charAt(0) === '/' || urlRegexp.test(aPath);\n};\n\n/**\n * Make a path relative to a URL or another path.\n *\n * @param aRoot The root path or URL.\n * @param aPath The path or URL to be made relative to aRoot.\n */\nfunction relative(aRoot, aPath) {\n if (aRoot === \"\") {\n aRoot = \".\";\n }\n\n aRoot = aRoot.replace(/\\/$/, '');\n\n // It is possible for the path to be above the root. In this case, simply\n // checking whether the root is a prefix of the path won't work. Instead, we\n // need to remove components from the root one by one, until either we find\n // a prefix that fits, or we run out of components to remove.\n var level = 0;\n while (aPath.indexOf(aRoot + '/') !== 0) {\n var index = aRoot.lastIndexOf(\"/\");\n if (index < 0) {\n return aPath;\n }\n\n // If the only part of the root that is left is the scheme (i.e. http://,\n // file:///, etc.), one or more slashes (/), or simply nothing at all, we\n // have exhausted all components, so the path is not relative to the root.\n aRoot = aRoot.slice(0, index);\n if (aRoot.match(/^([^\\/]+:\\/)?\\/*$/)) {\n return aPath;\n }\n\n ++level;\n }\n\n // Make sure we add a \"../\" for each component we removed from the root.\n return Array(level + 1).join(\"../\") + aPath.substr(aRoot.length + 1);\n}\nexports.relative = relative;\n\nvar supportsNullProto = (function () {\n var obj = Object.create(null);\n return !('__proto__' in obj);\n}());\n\nfunction identity (s) {\n return s;\n}\n\n/**\n * Because behavior goes wacky when you set `__proto__` on objects, we\n * have to prefix all the strings in our set with an arbitrary character.\n *\n * See https://github.com/mozilla/source-map/pull/31 and\n * https://github.com/mozilla/source-map/issues/30\n *\n * @param String aStr\n */\nfunction toSetString(aStr) {\n if (isProtoString(aStr)) {\n return '$' + aStr;\n }\n\n return aStr;\n}\nexports.toSetString = supportsNullProto ? identity : toSetString;\n\nfunction fromSetString(aStr) {\n if (isProtoString(aStr)) {\n return aStr.slice(1);\n }\n\n return aStr;\n}\nexports.fromSetString = supportsNullProto ? identity : fromSetString;\n\nfunction isProtoString(s) {\n if (!s) {\n return false;\n }\n\n var length = s.length;\n\n if (length < 9 /* \"__proto__\".length */) {\n return false;\n }\n\n if (s.charCodeAt(length - 1) !== 95 /* '_' */ ||\n s.charCodeAt(length - 2) !== 95 /* '_' */ ||\n s.charCodeAt(length - 3) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 4) !== 116 /* 't' */ ||\n s.charCodeAt(length - 5) !== 111 /* 'o' */ ||\n s.charCodeAt(length - 6) !== 114 /* 'r' */ ||\n s.charCodeAt(length - 7) !== 112 /* 'p' */ ||\n s.charCodeAt(length - 8) !== 95 /* '_' */ ||\n s.charCodeAt(length - 9) !== 95 /* '_' */) {\n return false;\n }\n\n for (var i = length - 10; i >= 0; i--) {\n if (s.charCodeAt(i) !== 36 /* '$' */) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Comparator between two mappings where the original positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same original source/line/column, but different generated\n * line and column the same. Useful when searching for a mapping with a\n * stubbed out mapping.\n */\nfunction compareByOriginalPositions(mappingA, mappingB, onlyCompareOriginal) {\n var cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0 || onlyCompareOriginal) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByOriginalPositions = compareByOriginalPositions;\n\n/**\n * Comparator between two mappings with deflated source and name indices where\n * the generated positions are compared.\n *\n * Optionally pass in `true` as `onlyCompareGenerated` to consider two\n * mappings with the same generated line and column, but different\n * source/name/original line and column the same. Useful when searching for a\n * mapping with a stubbed out mapping.\n */\nfunction compareByGeneratedPositionsDeflated(mappingA, mappingB, onlyCompareGenerated) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0 || onlyCompareGenerated) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsDeflated = compareByGeneratedPositionsDeflated;\n\nfunction strcmp(aStr1, aStr2) {\n if (aStr1 === aStr2) {\n return 0;\n }\n\n if (aStr1 === null) {\n return 1; // aStr2 !== null\n }\n\n if (aStr2 === null) {\n return -1; // aStr1 !== null\n }\n\n if (aStr1 > aStr2) {\n return 1;\n }\n\n return -1;\n}\n\n/**\n * Comparator between two mappings with inflated source and name strings where\n * the generated positions are compared.\n */\nfunction compareByGeneratedPositionsInflated(mappingA, mappingB) {\n var cmp = mappingA.generatedLine - mappingB.generatedLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.generatedColumn - mappingB.generatedColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = strcmp(mappingA.source, mappingB.source);\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalLine - mappingB.originalLine;\n if (cmp !== 0) {\n return cmp;\n }\n\n cmp = mappingA.originalColumn - mappingB.originalColumn;\n if (cmp !== 0) {\n return cmp;\n }\n\n return strcmp(mappingA.name, mappingB.name);\n}\nexports.compareByGeneratedPositionsInflated = compareByGeneratedPositionsInflated;\n\n/**\n * Strip any JSON XSSI avoidance prefix from the string (as documented\n * in the source maps specification), and then parse the string as\n * JSON.\n */\nfunction parseSourceMapInput(str) {\n return JSON.parse(str.replace(/^\\)]}'[^\\n]*\\n/, ''));\n}\nexports.parseSourceMapInput = parseSourceMapInput;\n\n/**\n * Compute the URL of a source given the the source root, the source's\n * URL, and the source map's URL.\n */\nfunction computeSourceURL(sourceRoot, sourceURL, sourceMapURL) {\n sourceURL = sourceURL || '';\n\n if (sourceRoot) {\n // This follows what Chrome does.\n if (sourceRoot[sourceRoot.length - 1] !== '/' && sourceURL[0] !== '/') {\n sourceRoot += '/';\n }\n // The spec says:\n // Line 4: An optional source root, useful for relocating source\n // files on a server or removing repeated values in the\n // “sources” entry. This value is prepended to the individual\n // entries in the “source” field.\n sourceURL = sourceRoot + sourceURL;\n }\n\n // Historically, SourceMapConsumer did not take the sourceMapURL as\n // a parameter. This mode is still somewhat supported, which is why\n // this code block is conditional. However, it's preferable to pass\n // the source map URL to SourceMapConsumer, so that this function\n // can implement the source URL resolution algorithm as outlined in\n // the spec. This block is basically the equivalent of:\n // new URL(sourceURL, sourceMapURL).toString()\n // ... except it avoids using URL, which wasn't available in the\n // older releases of node still supported by this library.\n //\n // The spec says:\n // If the sources are not absolute URLs after prepending of the\n // “sourceRoot”, the sources are resolved relative to the\n // SourceMap (like resolving script src in a html document).\n if (sourceMapURL) {\n var parsed = urlParse(sourceMapURL);\n if (!parsed) {\n throw new Error(\"sourceMapURL could not be parsed\");\n }\n if (parsed.path) {\n // Strip the last path component, but keep the \"/\".\n var index = parsed.path.lastIndexOf('/');\n if (index >= 0) {\n parsed.path = parsed.path.substring(0, index + 1);\n }\n }\n sourceURL = join(urlGenerate(parsed), sourceURL);\n }\n\n return normalize(sourceURL);\n}\nexports.computeSourceURL = computeSourceURL;\n","/*\n * Copyright 2009-2011 Mozilla Foundation and contributors\n * Licensed under the New BSD license. See LICENSE.txt or:\n * http://opensource.org/licenses/BSD-3-Clause\n */\nexports.SourceMapGenerator = require('./lib/source-map-generator').SourceMapGenerator;\nexports.SourceMapConsumer = require('./lib/source-map-consumer').SourceMapConsumer;\nexports.SourceNode = require('./lib/source-node').SourceNode;\n","(function (factory) {\n if (typeof exports === 'object') {\n // Node/CommonJS\n module.exports = factory();\n } else if (typeof define === 'function' && define.amd) {\n // AMD\n define(factory);\n } else {\n // Browser globals (with support for web workers)\n var glob;\n\n try {\n glob = window;\n } catch (e) {\n glob = self;\n }\n\n glob.SparkMD5 = factory();\n }\n}(function (undefined) {\n\n 'use strict';\n\n /*\n * Fastest md5 implementation around (JKM md5).\n * Credits: Joseph Myers\n *\n * @see http://www.myersdaily.org/joseph/javascript/md5-text.html\n * @see http://jsperf.com/md5-shootout/7\n */\n\n /* this function is much faster,\n so if possible we use it. Some IEs\n are the only ones I know of that\n need the idiotic second function,\n generated by an if clause. */\n var add32 = function (a, b) {\n return (a + b) & 0xFFFFFFFF;\n },\n hex_chr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'];\n\n\n function cmn(q, a, b, x, s, t) {\n a = add32(add32(a, q), add32(x, t));\n return add32((a << s) | (a >>> (32 - s)), b);\n }\n\n function md5cycle(x, k) {\n var a = x[0],\n b = x[1],\n c = x[2],\n d = x[3];\n\n a += (b & c | ~b & d) + k[0] - 680876936 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[1] - 389564586 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[2] + 606105819 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[3] - 1044525330 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[4] - 176418897 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[5] + 1200080426 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[6] - 1473231341 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[7] - 45705983 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[8] + 1770035416 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[9] - 1958414417 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[10] - 42063 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[11] - 1990404162 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n a += (b & c | ~b & d) + k[12] + 1804603682 | 0;\n a = (a << 7 | a >>> 25) + b | 0;\n d += (a & b | ~a & c) + k[13] - 40341101 | 0;\n d = (d << 12 | d >>> 20) + a | 0;\n c += (d & a | ~d & b) + k[14] - 1502002290 | 0;\n c = (c << 17 | c >>> 15) + d | 0;\n b += (c & d | ~c & a) + k[15] + 1236535329 | 0;\n b = (b << 22 | b >>> 10) + c | 0;\n\n a += (b & d | c & ~d) + k[1] - 165796510 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[6] - 1069501632 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[11] + 643717713 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[0] - 373897302 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[5] - 701558691 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[10] + 38016083 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[15] - 660478335 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[4] - 405537848 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[9] + 568446438 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[14] - 1019803690 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[3] - 187363961 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[8] + 1163531501 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n a += (b & d | c & ~d) + k[13] - 1444681467 | 0;\n a = (a << 5 | a >>> 27) + b | 0;\n d += (a & c | b & ~c) + k[2] - 51403784 | 0;\n d = (d << 9 | d >>> 23) + a | 0;\n c += (d & b | a & ~b) + k[7] + 1735328473 | 0;\n c = (c << 14 | c >>> 18) + d | 0;\n b += (c & a | d & ~a) + k[12] - 1926607734 | 0;\n b = (b << 20 | b >>> 12) + c | 0;\n\n a += (b ^ c ^ d) + k[5] - 378558 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[8] - 2022574463 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[11] + 1839030562 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[14] - 35309556 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[1] - 1530992060 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[4] + 1272893353 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[7] - 155497632 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[10] - 1094730640 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[13] + 681279174 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[0] - 358537222 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[3] - 722521979 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[6] + 76029189 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n a += (b ^ c ^ d) + k[9] - 640364487 | 0;\n a = (a << 4 | a >>> 28) + b | 0;\n d += (a ^ b ^ c) + k[12] - 421815835 | 0;\n d = (d << 11 | d >>> 21) + a | 0;\n c += (d ^ a ^ b) + k[15] + 530742520 | 0;\n c = (c << 16 | c >>> 16) + d | 0;\n b += (c ^ d ^ a) + k[2] - 995338651 | 0;\n b = (b << 23 | b >>> 9) + c | 0;\n\n a += (c ^ (b | ~d)) + k[0] - 198630844 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[7] + 1126891415 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[14] - 1416354905 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[5] - 57434055 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[12] + 1700485571 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[3] - 1894986606 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[10] - 1051523 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[1] - 2054922799 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[8] + 1873313359 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[15] - 30611744 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[6] - 1560198380 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[13] + 1309151649 | 0;\n b = (b << 21 |b >>> 11) + c | 0;\n a += (c ^ (b | ~d)) + k[4] - 145523070 | 0;\n a = (a << 6 | a >>> 26) + b | 0;\n d += (b ^ (a | ~c)) + k[11] - 1120210379 | 0;\n d = (d << 10 | d >>> 22) + a | 0;\n c += (a ^ (d | ~b)) + k[2] + 718787259 | 0;\n c = (c << 15 | c >>> 17) + d | 0;\n b += (d ^ (c | ~a)) + k[9] - 343485551 | 0;\n b = (b << 21 | b >>> 11) + c | 0;\n\n x[0] = a + x[0] | 0;\n x[1] = b + x[1] | 0;\n x[2] = c + x[2] | 0;\n x[3] = d + x[3] | 0;\n }\n\n function md5blk(s) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = s.charCodeAt(i) + (s.charCodeAt(i + 1) << 8) + (s.charCodeAt(i + 2) << 16) + (s.charCodeAt(i + 3) << 24);\n }\n return md5blks;\n }\n\n function md5blk_array(a) {\n var md5blks = [],\n i; /* Andy King said do it this way. */\n\n for (i = 0; i < 64; i += 4) {\n md5blks[i >> 2] = a[i] + (a[i + 1] << 8) + (a[i + 2] << 16) + (a[i + 3] << 24);\n }\n return md5blks;\n }\n\n function md51(s) {\n var n = s.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk(s.substring(i - 64, i)));\n }\n s = s.substring(i - 64);\n length = s.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= s.charCodeAt(i) << ((i % 4) << 3);\n }\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n return state;\n }\n\n function md51_array(a) {\n var n = a.length,\n state = [1732584193, -271733879, -1732584194, 271733878],\n i,\n length,\n tail,\n tmp,\n lo,\n hi;\n\n for (i = 64; i <= n; i += 64) {\n md5cycle(state, md5blk_array(a.subarray(i - 64, i)));\n }\n\n // Not sure if it is a bug, however IE10 will always produce a sub array of length 1\n // containing the last element of the parent array if the sub array specified starts\n // beyond the length of the parent array - weird.\n // https://connect.microsoft.com/IE/feedback/details/771452/typed-array-subarray-issue\n a = (i - 64) < n ? a.subarray(i - 64) : new Uint8Array(0);\n\n length = a.length;\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= a[i] << ((i % 4) << 3);\n }\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(state, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Beware that the final length might not fit in 32 bits so we take care of that\n tmp = n * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n\n md5cycle(state, tail);\n\n return state;\n }\n\n function rhex(n) {\n var s = '',\n j;\n for (j = 0; j < 4; j += 1) {\n s += hex_chr[(n >> (j * 8 + 4)) & 0x0F] + hex_chr[(n >> (j * 8)) & 0x0F];\n }\n return s;\n }\n\n function hex(x) {\n var i;\n for (i = 0; i < x.length; i += 1) {\n x[i] = rhex(x[i]);\n }\n return x.join('');\n }\n\n // In some cases the fast add32 function cannot be used..\n if (hex(md51('hello')) !== '5d41402abc4b2a76b9719d911017c592') {\n add32 = function (x, y) {\n var lsw = (x & 0xFFFF) + (y & 0xFFFF),\n msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return (msw << 16) | (lsw & 0xFFFF);\n };\n }\n\n // ---------------------------------------------------\n\n /**\n * ArrayBuffer slice polyfill.\n *\n * @see https://github.com/ttaubert/node-arraybuffer-slice\n */\n\n if (typeof ArrayBuffer !== 'undefined' && !ArrayBuffer.prototype.slice) {\n (function () {\n function clamp(val, length) {\n val = (val | 0) || 0;\n\n if (val < 0) {\n return Math.max(val + length, 0);\n }\n\n return Math.min(val, length);\n }\n\n ArrayBuffer.prototype.slice = function (from, to) {\n var length = this.byteLength,\n begin = clamp(from, length),\n end = length,\n num,\n target,\n targetArray,\n sourceArray;\n\n if (to !== undefined) {\n end = clamp(to, length);\n }\n\n if (begin > end) {\n return new ArrayBuffer(0);\n }\n\n num = end - begin;\n target = new ArrayBuffer(num);\n targetArray = new Uint8Array(target);\n\n sourceArray = new Uint8Array(this, begin, num);\n targetArray.set(sourceArray);\n\n return target;\n };\n })();\n }\n\n // ---------------------------------------------------\n\n /**\n * Helpers.\n */\n\n function toUtf8(str) {\n if (/[\\u0080-\\uFFFF]/.test(str)) {\n str = unescape(encodeURIComponent(str));\n }\n\n return str;\n }\n\n function utf8Str2ArrayBuffer(str, returnUInt8Array) {\n var length = str.length,\n buff = new ArrayBuffer(length),\n arr = new Uint8Array(buff),\n i;\n\n for (i = 0; i < length; i += 1) {\n arr[i] = str.charCodeAt(i);\n }\n\n return returnUInt8Array ? arr : buff;\n }\n\n function arrayBuffer2Utf8Str(buff) {\n return String.fromCharCode.apply(null, new Uint8Array(buff));\n }\n\n function concatenateArrayBuffers(first, second, returnUInt8Array) {\n var result = new Uint8Array(first.byteLength + second.byteLength);\n\n result.set(new Uint8Array(first));\n result.set(new Uint8Array(second), first.byteLength);\n\n return returnUInt8Array ? result : result.buffer;\n }\n\n function hexToBinaryString(hex) {\n var bytes = [],\n length = hex.length,\n x;\n\n for (x = 0; x < length - 1; x += 2) {\n bytes.push(parseInt(hex.substr(x, 2), 16));\n }\n\n return String.fromCharCode.apply(String, bytes);\n }\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation.\n *\n * Use this class to perform an incremental md5, otherwise use the\n * static methods instead.\n */\n\n function SparkMD5() {\n // call reset to init the instance\n this.reset();\n }\n\n /**\n * Appends a string.\n * A conversion will be applied if an utf8 string is detected.\n *\n * @param {String} str The string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.append = function (str) {\n // Converts the string to utf8 bytes if necessary\n // Then append as binary\n this.appendBinary(toUtf8(str));\n\n return this;\n };\n\n /**\n * Appends a binary string.\n *\n * @param {String} contents The binary string to be appended\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.appendBinary = function (contents) {\n this._buff += contents;\n this._length += contents.length;\n\n var length = this._buff.length,\n i;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk(this._buff.substring(i - 64, i)));\n }\n\n this._buff = this._buff.substring(i - 64);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n i,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff.charCodeAt(i) << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.reset = function () {\n this._buff = '';\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.prototype.getState = function () {\n return {\n buff: this._buff,\n length: this._length,\n hash: this._hash.slice()\n };\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5} The instance itself\n */\n SparkMD5.prototype.setState = function (state) {\n this._buff = state.buff;\n this._length = state.length;\n this._hash = state.hash;\n\n return this;\n };\n\n /**\n * Releases memory used by the incremental buffer and other additional\n * resources. If you plan to use the instance again, use reset instead.\n */\n SparkMD5.prototype.destroy = function () {\n delete this._hash;\n delete this._buff;\n delete this._length;\n };\n\n /**\n * Finish the final calculation based on the tail.\n *\n * @param {Array} tail The tail (will be modified)\n * @param {Number} length The length of the remaining buffer\n */\n SparkMD5.prototype._finish = function (tail, length) {\n var i = length,\n tmp,\n lo,\n hi;\n\n tail[i >> 2] |= 0x80 << ((i % 4) << 3);\n if (i > 55) {\n md5cycle(this._hash, tail);\n for (i = 0; i < 16; i += 1) {\n tail[i] = 0;\n }\n }\n\n // Do the final computation based on the tail and length\n // Beware that the final length may not fit in 32 bits so we take care of that\n tmp = this._length * 8;\n tmp = tmp.toString(16).match(/(.*?)(.{0,8})$/);\n lo = parseInt(tmp[2], 16);\n hi = parseInt(tmp[1], 16) || 0;\n\n tail[14] = lo;\n tail[15] = hi;\n md5cycle(this._hash, tail);\n };\n\n /**\n * Performs the md5 hash on a string.\n * A conversion will be applied if utf8 string is detected.\n *\n * @param {String} str The string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hash = function (str, raw) {\n // Converts the string to utf8 bytes if necessary\n // Then compute it using the binary function\n return SparkMD5.hashBinary(toUtf8(str), raw);\n };\n\n /**\n * Performs the md5 hash on a binary string.\n *\n * @param {String} content The binary string\n * @param {Boolean} [raw] True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.hashBinary = function (content, raw) {\n var hash = md51(content),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n // ---------------------------------------------------\n\n /**\n * SparkMD5 OOP implementation for array buffers.\n *\n * Use this class to perform an incremental md5 ONLY for array buffers.\n */\n SparkMD5.ArrayBuffer = function () {\n // call reset to init the instance\n this.reset();\n };\n\n /**\n * Appends an array buffer.\n *\n * @param {ArrayBuffer} arr The array to be appended\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.append = function (arr) {\n var buff = concatenateArrayBuffers(this._buff.buffer, arr, true),\n length = buff.length,\n i;\n\n this._length += arr.byteLength;\n\n for (i = 64; i <= length; i += 64) {\n md5cycle(this._hash, md5blk_array(buff.subarray(i - 64, i)));\n }\n\n this._buff = (i - 64) < length ? new Uint8Array(buff.buffer.slice(i - 64)) : new Uint8Array(0);\n\n return this;\n };\n\n /**\n * Finishes the incremental computation, reseting the internal state and\n * returning the result.\n *\n * @param {Boolean} raw True to get the raw string, false to get the hex string\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.prototype.end = function (raw) {\n var buff = this._buff,\n length = buff.length,\n tail = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n i,\n ret;\n\n for (i = 0; i < length; i += 1) {\n tail[i >> 2] |= buff[i] << ((i % 4) << 3);\n }\n\n this._finish(tail, length);\n ret = hex(this._hash);\n\n if (raw) {\n ret = hexToBinaryString(ret);\n }\n\n this.reset();\n\n return ret;\n };\n\n /**\n * Resets the internal state of the computation.\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.reset = function () {\n this._buff = new Uint8Array(0);\n this._length = 0;\n this._hash = [1732584193, -271733879, -1732584194, 271733878];\n\n return this;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @return {Object} The state\n */\n SparkMD5.ArrayBuffer.prototype.getState = function () {\n var state = SparkMD5.prototype.getState.call(this);\n\n // Convert buffer to a string\n state.buff = arrayBuffer2Utf8Str(state.buff);\n\n return state;\n };\n\n /**\n * Gets the internal state of the computation.\n *\n * @param {Object} state The state\n *\n * @return {SparkMD5.ArrayBuffer} The instance itself\n */\n SparkMD5.ArrayBuffer.prototype.setState = function (state) {\n // Convert string to buffer\n state.buff = utf8Str2ArrayBuffer(state.buff, true);\n\n return SparkMD5.prototype.setState.call(this, state);\n };\n\n SparkMD5.ArrayBuffer.prototype.destroy = SparkMD5.prototype.destroy;\n\n SparkMD5.ArrayBuffer.prototype._finish = SparkMD5.prototype._finish;\n\n /**\n * Performs the md5 hash on an array buffer.\n *\n * @param {ArrayBuffer} arr The array buffer\n * @param {Boolean} [raw] True to get the raw string, false to get the hex one\n *\n * @return {String} The result\n */\n SparkMD5.ArrayBuffer.hash = function (arr, raw) {\n var hash = md51_array(new Uint8Array(arr)),\n ret = hex(hash);\n\n return raw ? hexToBinaryString(ret) : ret;\n };\n\n return SparkMD5;\n}));\n","/*\nStimulus 3.2.1\nCopyright © 2023 Basecamp, LLC\n */\nclass EventListener {\n constructor(eventTarget, eventName, eventOptions) {\n this.eventTarget = eventTarget;\n this.eventName = eventName;\n this.eventOptions = eventOptions;\n this.unorderedBindings = new Set();\n }\n connect() {\n this.eventTarget.addEventListener(this.eventName, this, this.eventOptions);\n }\n disconnect() {\n this.eventTarget.removeEventListener(this.eventName, this, this.eventOptions);\n }\n bindingConnected(binding) {\n this.unorderedBindings.add(binding);\n }\n bindingDisconnected(binding) {\n this.unorderedBindings.delete(binding);\n }\n handleEvent(event) {\n const extendedEvent = extendEvent(event);\n for (const binding of this.bindings) {\n if (extendedEvent.immediatePropagationStopped) {\n break;\n }\n else {\n binding.handleEvent(extendedEvent);\n }\n }\n }\n hasBindings() {\n return this.unorderedBindings.size > 0;\n }\n get bindings() {\n return Array.from(this.unorderedBindings).sort((left, right) => {\n const leftIndex = left.index, rightIndex = right.index;\n return leftIndex < rightIndex ? -1 : leftIndex > rightIndex ? 1 : 0;\n });\n }\n}\nfunction extendEvent(event) {\n if (\"immediatePropagationStopped\" in event) {\n return event;\n }\n else {\n const { stopImmediatePropagation } = event;\n return Object.assign(event, {\n immediatePropagationStopped: false,\n stopImmediatePropagation() {\n this.immediatePropagationStopped = true;\n stopImmediatePropagation.call(this);\n },\n });\n }\n}\n\nclass Dispatcher {\n constructor(application) {\n this.application = application;\n this.eventListenerMaps = new Map();\n this.started = false;\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.eventListeners.forEach((eventListener) => eventListener.connect());\n }\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.eventListeners.forEach((eventListener) => eventListener.disconnect());\n }\n }\n get eventListeners() {\n return Array.from(this.eventListenerMaps.values()).reduce((listeners, map) => listeners.concat(Array.from(map.values())), []);\n }\n bindingConnected(binding) {\n this.fetchEventListenerForBinding(binding).bindingConnected(binding);\n }\n bindingDisconnected(binding, clearEventListeners = false) {\n this.fetchEventListenerForBinding(binding).bindingDisconnected(binding);\n if (clearEventListeners)\n this.clearEventListenersForBinding(binding);\n }\n handleError(error, message, detail = {}) {\n this.application.handleError(error, `Error ${message}`, detail);\n }\n clearEventListenersForBinding(binding) {\n const eventListener = this.fetchEventListenerForBinding(binding);\n if (!eventListener.hasBindings()) {\n eventListener.disconnect();\n this.removeMappedEventListenerFor(binding);\n }\n }\n removeMappedEventListenerFor(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n eventListenerMap.delete(cacheKey);\n if (eventListenerMap.size == 0)\n this.eventListenerMaps.delete(eventTarget);\n }\n fetchEventListenerForBinding(binding) {\n const { eventTarget, eventName, eventOptions } = binding;\n return this.fetchEventListener(eventTarget, eventName, eventOptions);\n }\n fetchEventListener(eventTarget, eventName, eventOptions) {\n const eventListenerMap = this.fetchEventListenerMapForEventTarget(eventTarget);\n const cacheKey = this.cacheKey(eventName, eventOptions);\n let eventListener = eventListenerMap.get(cacheKey);\n if (!eventListener) {\n eventListener = this.createEventListener(eventTarget, eventName, eventOptions);\n eventListenerMap.set(cacheKey, eventListener);\n }\n return eventListener;\n }\n createEventListener(eventTarget, eventName, eventOptions) {\n const eventListener = new EventListener(eventTarget, eventName, eventOptions);\n if (this.started) {\n eventListener.connect();\n }\n return eventListener;\n }\n fetchEventListenerMapForEventTarget(eventTarget) {\n let eventListenerMap = this.eventListenerMaps.get(eventTarget);\n if (!eventListenerMap) {\n eventListenerMap = new Map();\n this.eventListenerMaps.set(eventTarget, eventListenerMap);\n }\n return eventListenerMap;\n }\n cacheKey(eventName, eventOptions) {\n const parts = [eventName];\n Object.keys(eventOptions)\n .sort()\n .forEach((key) => {\n parts.push(`${eventOptions[key] ? \"\" : \"!\"}${key}`);\n });\n return parts.join(\":\");\n }\n}\n\nconst defaultActionDescriptorFilters = {\n stop({ event, value }) {\n if (value)\n event.stopPropagation();\n return true;\n },\n prevent({ event, value }) {\n if (value)\n event.preventDefault();\n return true;\n },\n self({ event, value, element }) {\n if (value) {\n return element === event.target;\n }\n else {\n return true;\n }\n },\n};\nconst descriptorPattern = /^(?:(?:([^.]+?)\\+)?(.+?)(?:\\.(.+?))?(?:@(window|document))?->)?(.+?)(?:#([^:]+?))(?::(.+))?$/;\nfunction parseActionDescriptorString(descriptorString) {\n const source = descriptorString.trim();\n const matches = source.match(descriptorPattern) || [];\n let eventName = matches[2];\n let keyFilter = matches[3];\n if (keyFilter && ![\"keydown\", \"keyup\", \"keypress\"].includes(eventName)) {\n eventName += `.${keyFilter}`;\n keyFilter = \"\";\n }\n return {\n eventTarget: parseEventTarget(matches[4]),\n eventName,\n eventOptions: matches[7] ? parseEventOptions(matches[7]) : {},\n identifier: matches[5],\n methodName: matches[6],\n keyFilter: matches[1] || keyFilter,\n };\n}\nfunction parseEventTarget(eventTargetName) {\n if (eventTargetName == \"window\") {\n return window;\n }\n else if (eventTargetName == \"document\") {\n return document;\n }\n}\nfunction parseEventOptions(eventOptions) {\n return eventOptions\n .split(\":\")\n .reduce((options, token) => Object.assign(options, { [token.replace(/^!/, \"\")]: !/^!/.test(token) }), {});\n}\nfunction stringifyEventTarget(eventTarget) {\n if (eventTarget == window) {\n return \"window\";\n }\n else if (eventTarget == document) {\n return \"document\";\n }\n}\n\nfunction camelize(value) {\n return value.replace(/(?:[_-])([a-z0-9])/g, (_, char) => char.toUpperCase());\n}\nfunction namespaceCamelize(value) {\n return camelize(value.replace(/--/g, \"-\").replace(/__/g, \"_\"));\n}\nfunction capitalize(value) {\n return value.charAt(0).toUpperCase() + value.slice(1);\n}\nfunction dasherize(value) {\n return value.replace(/([A-Z])/g, (_, char) => `-${char.toLowerCase()}`);\n}\nfunction tokenize(value) {\n return value.match(/[^\\s]+/g) || [];\n}\n\nfunction isSomething(object) {\n return object !== null && object !== undefined;\n}\nfunction hasProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nconst allModifiers = [\"meta\", \"ctrl\", \"alt\", \"shift\"];\nclass Action {\n constructor(element, index, descriptor, schema) {\n this.element = element;\n this.index = index;\n this.eventTarget = descriptor.eventTarget || element;\n this.eventName = descriptor.eventName || getDefaultEventNameForElement(element) || error(\"missing event name\");\n this.eventOptions = descriptor.eventOptions || {};\n this.identifier = descriptor.identifier || error(\"missing identifier\");\n this.methodName = descriptor.methodName || error(\"missing method name\");\n this.keyFilter = descriptor.keyFilter || \"\";\n this.schema = schema;\n }\n static forToken(token, schema) {\n return new this(token.element, token.index, parseActionDescriptorString(token.content), schema);\n }\n toString() {\n const eventFilter = this.keyFilter ? `.${this.keyFilter}` : \"\";\n const eventTarget = this.eventTargetName ? `@${this.eventTargetName}` : \"\";\n return `${this.eventName}${eventFilter}${eventTarget}->${this.identifier}#${this.methodName}`;\n }\n shouldIgnoreKeyboardEvent(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filters = this.keyFilter.split(\"+\");\n if (this.keyFilterDissatisfied(event, filters)) {\n return true;\n }\n const standardFilter = filters.filter((key) => !allModifiers.includes(key))[0];\n if (!standardFilter) {\n return false;\n }\n if (!hasProperty(this.keyMappings, standardFilter)) {\n error(`contains unknown key filter: ${this.keyFilter}`);\n }\n return this.keyMappings[standardFilter].toLowerCase() !== event.key.toLowerCase();\n }\n shouldIgnoreMouseEvent(event) {\n if (!this.keyFilter) {\n return false;\n }\n const filters = [this.keyFilter];\n if (this.keyFilterDissatisfied(event, filters)) {\n return true;\n }\n return false;\n }\n get params() {\n const params = {};\n const pattern = new RegExp(`^data-${this.identifier}-(.+)-param$`, \"i\");\n for (const { name, value } of Array.from(this.element.attributes)) {\n const match = name.match(pattern);\n const key = match && match[1];\n if (key) {\n params[camelize(key)] = typecast(value);\n }\n }\n return params;\n }\n get eventTargetName() {\n return stringifyEventTarget(this.eventTarget);\n }\n get keyMappings() {\n return this.schema.keyMappings;\n }\n keyFilterDissatisfied(event, filters) {\n const [meta, ctrl, alt, shift] = allModifiers.map((modifier) => filters.includes(modifier));\n return event.metaKey !== meta || event.ctrlKey !== ctrl || event.altKey !== alt || event.shiftKey !== shift;\n }\n}\nconst defaultEventNames = {\n a: () => \"click\",\n button: () => \"click\",\n form: () => \"submit\",\n details: () => \"toggle\",\n input: (e) => (e.getAttribute(\"type\") == \"submit\" ? \"click\" : \"input\"),\n select: () => \"change\",\n textarea: () => \"input\",\n};\nfunction getDefaultEventNameForElement(element) {\n const tagName = element.tagName.toLowerCase();\n if (tagName in defaultEventNames) {\n return defaultEventNames[tagName](element);\n }\n}\nfunction error(message) {\n throw new Error(message);\n}\nfunction typecast(value) {\n try {\n return JSON.parse(value);\n }\n catch (o_O) {\n return value;\n }\n}\n\nclass Binding {\n constructor(context, action) {\n this.context = context;\n this.action = action;\n }\n get index() {\n return this.action.index;\n }\n get eventTarget() {\n return this.action.eventTarget;\n }\n get eventOptions() {\n return this.action.eventOptions;\n }\n get identifier() {\n return this.context.identifier;\n }\n handleEvent(event) {\n const actionEvent = this.prepareActionEvent(event);\n if (this.willBeInvokedByEvent(event) && this.applyEventModifiers(actionEvent)) {\n this.invokeWithEvent(actionEvent);\n }\n }\n get eventName() {\n return this.action.eventName;\n }\n get method() {\n const method = this.controller[this.methodName];\n if (typeof method == \"function\") {\n return method;\n }\n throw new Error(`Action \"${this.action}\" references undefined method \"${this.methodName}\"`);\n }\n applyEventModifiers(event) {\n const { element } = this.action;\n const { actionDescriptorFilters } = this.context.application;\n const { controller } = this.context;\n let passes = true;\n for (const [name, value] of Object.entries(this.eventOptions)) {\n if (name in actionDescriptorFilters) {\n const filter = actionDescriptorFilters[name];\n passes = passes && filter({ name, value, event, element, controller });\n }\n else {\n continue;\n }\n }\n return passes;\n }\n prepareActionEvent(event) {\n return Object.assign(event, { params: this.action.params });\n }\n invokeWithEvent(event) {\n const { target, currentTarget } = event;\n try {\n this.method.call(this.controller, event);\n this.context.logDebugActivity(this.methodName, { event, target, currentTarget, action: this.methodName });\n }\n catch (error) {\n const { identifier, controller, element, index } = this;\n const detail = { identifier, controller, element, index, event };\n this.context.handleError(error, `invoking action \"${this.action}\"`, detail);\n }\n }\n willBeInvokedByEvent(event) {\n const eventTarget = event.target;\n if (event instanceof KeyboardEvent && this.action.shouldIgnoreKeyboardEvent(event)) {\n return false;\n }\n if (event instanceof MouseEvent && this.action.shouldIgnoreMouseEvent(event)) {\n return false;\n }\n if (this.element === eventTarget) {\n return true;\n }\n else if (eventTarget instanceof Element && this.element.contains(eventTarget)) {\n return this.scope.containsElement(eventTarget);\n }\n else {\n return this.scope.containsElement(this.action.element);\n }\n }\n get controller() {\n return this.context.controller;\n }\n get methodName() {\n return this.action.methodName;\n }\n get element() {\n return this.scope.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nclass ElementObserver {\n constructor(element, delegate) {\n this.mutationObserverInit = { attributes: true, childList: true, subtree: true };\n this.element = element;\n this.started = false;\n this.delegate = delegate;\n this.elements = new Set();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.refresh();\n }\n }\n pause(callback) {\n if (this.started) {\n this.mutationObserver.disconnect();\n this.started = false;\n }\n callback();\n if (!this.started) {\n this.mutationObserver.observe(this.element, this.mutationObserverInit);\n this.started = true;\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n const matches = new Set(this.matchElementsInTree());\n for (const element of Array.from(this.elements)) {\n if (!matches.has(element)) {\n this.removeElement(element);\n }\n }\n for (const element of Array.from(matches)) {\n this.addElement(element);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n if (mutation.type == \"attributes\") {\n this.processAttributeChange(mutation.target, mutation.attributeName);\n }\n else if (mutation.type == \"childList\") {\n this.processRemovedNodes(mutation.removedNodes);\n this.processAddedNodes(mutation.addedNodes);\n }\n }\n processAttributeChange(element, attributeName) {\n if (this.elements.has(element)) {\n if (this.delegate.elementAttributeChanged && this.matchElement(element)) {\n this.delegate.elementAttributeChanged(element, attributeName);\n }\n else {\n this.removeElement(element);\n }\n }\n else if (this.matchElement(element)) {\n this.addElement(element);\n }\n }\n processRemovedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element) {\n this.processTree(element, this.removeElement);\n }\n }\n }\n processAddedNodes(nodes) {\n for (const node of Array.from(nodes)) {\n const element = this.elementFromNode(node);\n if (element && this.elementIsActive(element)) {\n this.processTree(element, this.addElement);\n }\n }\n }\n matchElement(element) {\n return this.delegate.matchElement(element);\n }\n matchElementsInTree(tree = this.element) {\n return this.delegate.matchElementsInTree(tree);\n }\n processTree(tree, processor) {\n for (const element of this.matchElementsInTree(tree)) {\n processor.call(this, element);\n }\n }\n elementFromNode(node) {\n if (node.nodeType == Node.ELEMENT_NODE) {\n return node;\n }\n }\n elementIsActive(element) {\n if (element.isConnected != this.element.isConnected) {\n return false;\n }\n else {\n return this.element.contains(element);\n }\n }\n addElement(element) {\n if (!this.elements.has(element)) {\n if (this.elementIsActive(element)) {\n this.elements.add(element);\n if (this.delegate.elementMatched) {\n this.delegate.elementMatched(element);\n }\n }\n }\n }\n removeElement(element) {\n if (this.elements.has(element)) {\n this.elements.delete(element);\n if (this.delegate.elementUnmatched) {\n this.delegate.elementUnmatched(element);\n }\n }\n }\n}\n\nclass AttributeObserver {\n constructor(element, attributeName, delegate) {\n this.attributeName = attributeName;\n this.delegate = delegate;\n this.elementObserver = new ElementObserver(element, this);\n }\n get element() {\n return this.elementObserver.element;\n }\n get selector() {\n return `[${this.attributeName}]`;\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get started() {\n return this.elementObserver.started;\n }\n matchElement(element) {\n return element.hasAttribute(this.attributeName);\n }\n matchElementsInTree(tree) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(this.selector));\n return match.concat(matches);\n }\n elementMatched(element) {\n if (this.delegate.elementMatchedAttribute) {\n this.delegate.elementMatchedAttribute(element, this.attributeName);\n }\n }\n elementUnmatched(element) {\n if (this.delegate.elementUnmatchedAttribute) {\n this.delegate.elementUnmatchedAttribute(element, this.attributeName);\n }\n }\n elementAttributeChanged(element, attributeName) {\n if (this.delegate.elementAttributeValueChanged && this.attributeName == attributeName) {\n this.delegate.elementAttributeValueChanged(element, attributeName);\n }\n }\n}\n\nfunction add(map, key, value) {\n fetch(map, key).add(value);\n}\nfunction del(map, key, value) {\n fetch(map, key).delete(value);\n prune(map, key);\n}\nfunction fetch(map, key) {\n let values = map.get(key);\n if (!values) {\n values = new Set();\n map.set(key, values);\n }\n return values;\n}\nfunction prune(map, key) {\n const values = map.get(key);\n if (values != null && values.size == 0) {\n map.delete(key);\n }\n}\n\nclass Multimap {\n constructor() {\n this.valuesByKey = new Map();\n }\n get keys() {\n return Array.from(this.valuesByKey.keys());\n }\n get values() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((values, set) => values.concat(Array.from(set)), []);\n }\n get size() {\n const sets = Array.from(this.valuesByKey.values());\n return sets.reduce((size, set) => size + set.size, 0);\n }\n add(key, value) {\n add(this.valuesByKey, key, value);\n }\n delete(key, value) {\n del(this.valuesByKey, key, value);\n }\n has(key, value) {\n const values = this.valuesByKey.get(key);\n return values != null && values.has(value);\n }\n hasKey(key) {\n return this.valuesByKey.has(key);\n }\n hasValue(value) {\n const sets = Array.from(this.valuesByKey.values());\n return sets.some((set) => set.has(value));\n }\n getValuesForKey(key) {\n const values = this.valuesByKey.get(key);\n return values ? Array.from(values) : [];\n }\n getKeysForValue(value) {\n return Array.from(this.valuesByKey)\n .filter(([_key, values]) => values.has(value))\n .map(([key, _values]) => key);\n }\n}\n\nclass IndexedMultimap extends Multimap {\n constructor() {\n super();\n this.keysByValue = new Map();\n }\n get values() {\n return Array.from(this.keysByValue.keys());\n }\n add(key, value) {\n super.add(key, value);\n add(this.keysByValue, value, key);\n }\n delete(key, value) {\n super.delete(key, value);\n del(this.keysByValue, value, key);\n }\n hasValue(value) {\n return this.keysByValue.has(value);\n }\n getKeysForValue(value) {\n const set = this.keysByValue.get(value);\n return set ? Array.from(set) : [];\n }\n}\n\nclass SelectorObserver {\n constructor(element, selector, delegate, details) {\n this._selector = selector;\n this.details = details;\n this.elementObserver = new ElementObserver(element, this);\n this.delegate = delegate;\n this.matchesByElement = new Multimap();\n }\n get started() {\n return this.elementObserver.started;\n }\n get selector() {\n return this._selector;\n }\n set selector(selector) {\n this._selector = selector;\n this.refresh();\n }\n start() {\n this.elementObserver.start();\n }\n pause(callback) {\n this.elementObserver.pause(callback);\n }\n stop() {\n this.elementObserver.stop();\n }\n refresh() {\n this.elementObserver.refresh();\n }\n get element() {\n return this.elementObserver.element;\n }\n matchElement(element) {\n const { selector } = this;\n if (selector) {\n const matches = element.matches(selector);\n if (this.delegate.selectorMatchElement) {\n return matches && this.delegate.selectorMatchElement(element, this.details);\n }\n return matches;\n }\n else {\n return false;\n }\n }\n matchElementsInTree(tree) {\n const { selector } = this;\n if (selector) {\n const match = this.matchElement(tree) ? [tree] : [];\n const matches = Array.from(tree.querySelectorAll(selector)).filter((match) => this.matchElement(match));\n return match.concat(matches);\n }\n else {\n return [];\n }\n }\n elementMatched(element) {\n const { selector } = this;\n if (selector) {\n this.selectorMatched(element, selector);\n }\n }\n elementUnmatched(element) {\n const selectors = this.matchesByElement.getKeysForValue(element);\n for (const selector of selectors) {\n this.selectorUnmatched(element, selector);\n }\n }\n elementAttributeChanged(element, _attributeName) {\n const { selector } = this;\n if (selector) {\n const matches = this.matchElement(element);\n const matchedBefore = this.matchesByElement.has(selector, element);\n if (matches && !matchedBefore) {\n this.selectorMatched(element, selector);\n }\n else if (!matches && matchedBefore) {\n this.selectorUnmatched(element, selector);\n }\n }\n }\n selectorMatched(element, selector) {\n this.delegate.selectorMatched(element, selector, this.details);\n this.matchesByElement.add(selector, element);\n }\n selectorUnmatched(element, selector) {\n this.delegate.selectorUnmatched(element, selector, this.details);\n this.matchesByElement.delete(selector, element);\n }\n}\n\nclass StringMapObserver {\n constructor(element, delegate) {\n this.element = element;\n this.delegate = delegate;\n this.started = false;\n this.stringMap = new Map();\n this.mutationObserver = new MutationObserver((mutations) => this.processMutations(mutations));\n }\n start() {\n if (!this.started) {\n this.started = true;\n this.mutationObserver.observe(this.element, { attributes: true, attributeOldValue: true });\n this.refresh();\n }\n }\n stop() {\n if (this.started) {\n this.mutationObserver.takeRecords();\n this.mutationObserver.disconnect();\n this.started = false;\n }\n }\n refresh() {\n if (this.started) {\n for (const attributeName of this.knownAttributeNames) {\n this.refreshAttribute(attributeName, null);\n }\n }\n }\n processMutations(mutations) {\n if (this.started) {\n for (const mutation of mutations) {\n this.processMutation(mutation);\n }\n }\n }\n processMutation(mutation) {\n const attributeName = mutation.attributeName;\n if (attributeName) {\n this.refreshAttribute(attributeName, mutation.oldValue);\n }\n }\n refreshAttribute(attributeName, oldValue) {\n const key = this.delegate.getStringMapKeyForAttribute(attributeName);\n if (key != null) {\n if (!this.stringMap.has(attributeName)) {\n this.stringMapKeyAdded(key, attributeName);\n }\n const value = this.element.getAttribute(attributeName);\n if (this.stringMap.get(attributeName) != value) {\n this.stringMapValueChanged(value, key, oldValue);\n }\n if (value == null) {\n const oldValue = this.stringMap.get(attributeName);\n this.stringMap.delete(attributeName);\n if (oldValue)\n this.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n else {\n this.stringMap.set(attributeName, value);\n }\n }\n }\n stringMapKeyAdded(key, attributeName) {\n if (this.delegate.stringMapKeyAdded) {\n this.delegate.stringMapKeyAdded(key, attributeName);\n }\n }\n stringMapValueChanged(value, key, oldValue) {\n if (this.delegate.stringMapValueChanged) {\n this.delegate.stringMapValueChanged(value, key, oldValue);\n }\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n if (this.delegate.stringMapKeyRemoved) {\n this.delegate.stringMapKeyRemoved(key, attributeName, oldValue);\n }\n }\n get knownAttributeNames() {\n return Array.from(new Set(this.currentAttributeNames.concat(this.recordedAttributeNames)));\n }\n get currentAttributeNames() {\n return Array.from(this.element.attributes).map((attribute) => attribute.name);\n }\n get recordedAttributeNames() {\n return Array.from(this.stringMap.keys());\n }\n}\n\nclass TokenListObserver {\n constructor(element, attributeName, delegate) {\n this.attributeObserver = new AttributeObserver(element, attributeName, this);\n this.delegate = delegate;\n this.tokensByElement = new Multimap();\n }\n get started() {\n return this.attributeObserver.started;\n }\n start() {\n this.attributeObserver.start();\n }\n pause(callback) {\n this.attributeObserver.pause(callback);\n }\n stop() {\n this.attributeObserver.stop();\n }\n refresh() {\n this.attributeObserver.refresh();\n }\n get element() {\n return this.attributeObserver.element;\n }\n get attributeName() {\n return this.attributeObserver.attributeName;\n }\n elementMatchedAttribute(element) {\n this.tokensMatched(this.readTokensForElement(element));\n }\n elementAttributeValueChanged(element) {\n const [unmatchedTokens, matchedTokens] = this.refreshTokensForElement(element);\n this.tokensUnmatched(unmatchedTokens);\n this.tokensMatched(matchedTokens);\n }\n elementUnmatchedAttribute(element) {\n this.tokensUnmatched(this.tokensByElement.getValuesForKey(element));\n }\n tokensMatched(tokens) {\n tokens.forEach((token) => this.tokenMatched(token));\n }\n tokensUnmatched(tokens) {\n tokens.forEach((token) => this.tokenUnmatched(token));\n }\n tokenMatched(token) {\n this.delegate.tokenMatched(token);\n this.tokensByElement.add(token.element, token);\n }\n tokenUnmatched(token) {\n this.delegate.tokenUnmatched(token);\n this.tokensByElement.delete(token.element, token);\n }\n refreshTokensForElement(element) {\n const previousTokens = this.tokensByElement.getValuesForKey(element);\n const currentTokens = this.readTokensForElement(element);\n const firstDifferingIndex = zip(previousTokens, currentTokens).findIndex(([previousToken, currentToken]) => !tokensAreEqual(previousToken, currentToken));\n if (firstDifferingIndex == -1) {\n return [[], []];\n }\n else {\n return [previousTokens.slice(firstDifferingIndex), currentTokens.slice(firstDifferingIndex)];\n }\n }\n readTokensForElement(element) {\n const attributeName = this.attributeName;\n const tokenString = element.getAttribute(attributeName) || \"\";\n return parseTokenString(tokenString, element, attributeName);\n }\n}\nfunction parseTokenString(tokenString, element, attributeName) {\n return tokenString\n .trim()\n .split(/\\s+/)\n .filter((content) => content.length)\n .map((content, index) => ({ element, attributeName, content, index }));\n}\nfunction zip(left, right) {\n const length = Math.max(left.length, right.length);\n return Array.from({ length }, (_, index) => [left[index], right[index]]);\n}\nfunction tokensAreEqual(left, right) {\n return left && right && left.index == right.index && left.content == right.content;\n}\n\nclass ValueListObserver {\n constructor(element, attributeName, delegate) {\n this.tokenListObserver = new TokenListObserver(element, attributeName, this);\n this.delegate = delegate;\n this.parseResultsByToken = new WeakMap();\n this.valuesByTokenByElement = new WeakMap();\n }\n get started() {\n return this.tokenListObserver.started;\n }\n start() {\n this.tokenListObserver.start();\n }\n stop() {\n this.tokenListObserver.stop();\n }\n refresh() {\n this.tokenListObserver.refresh();\n }\n get element() {\n return this.tokenListObserver.element;\n }\n get attributeName() {\n return this.tokenListObserver.attributeName;\n }\n tokenMatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).set(token, value);\n this.delegate.elementMatchedValue(element, value);\n }\n }\n tokenUnmatched(token) {\n const { element } = token;\n const { value } = this.fetchParseResultForToken(token);\n if (value) {\n this.fetchValuesByTokenForElement(element).delete(token);\n this.delegate.elementUnmatchedValue(element, value);\n }\n }\n fetchParseResultForToken(token) {\n let parseResult = this.parseResultsByToken.get(token);\n if (!parseResult) {\n parseResult = this.parseToken(token);\n this.parseResultsByToken.set(token, parseResult);\n }\n return parseResult;\n }\n fetchValuesByTokenForElement(element) {\n let valuesByToken = this.valuesByTokenByElement.get(element);\n if (!valuesByToken) {\n valuesByToken = new Map();\n this.valuesByTokenByElement.set(element, valuesByToken);\n }\n return valuesByToken;\n }\n parseToken(token) {\n try {\n const value = this.delegate.parseValueForToken(token);\n return { value };\n }\n catch (error) {\n return { error };\n }\n }\n}\n\nclass BindingObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.bindingsByAction = new Map();\n }\n start() {\n if (!this.valueListObserver) {\n this.valueListObserver = new ValueListObserver(this.element, this.actionAttribute, this);\n this.valueListObserver.start();\n }\n }\n stop() {\n if (this.valueListObserver) {\n this.valueListObserver.stop();\n delete this.valueListObserver;\n this.disconnectAllActions();\n }\n }\n get element() {\n return this.context.element;\n }\n get identifier() {\n return this.context.identifier;\n }\n get actionAttribute() {\n return this.schema.actionAttribute;\n }\n get schema() {\n return this.context.schema;\n }\n get bindings() {\n return Array.from(this.bindingsByAction.values());\n }\n connectAction(action) {\n const binding = new Binding(this.context, action);\n this.bindingsByAction.set(action, binding);\n this.delegate.bindingConnected(binding);\n }\n disconnectAction(action) {\n const binding = this.bindingsByAction.get(action);\n if (binding) {\n this.bindingsByAction.delete(action);\n this.delegate.bindingDisconnected(binding);\n }\n }\n disconnectAllActions() {\n this.bindings.forEach((binding) => this.delegate.bindingDisconnected(binding, true));\n this.bindingsByAction.clear();\n }\n parseValueForToken(token) {\n const action = Action.forToken(token, this.schema);\n if (action.identifier == this.identifier) {\n return action;\n }\n }\n elementMatchedValue(element, action) {\n this.connectAction(action);\n }\n elementUnmatchedValue(element, action) {\n this.disconnectAction(action);\n }\n}\n\nclass ValueObserver {\n constructor(context, receiver) {\n this.context = context;\n this.receiver = receiver;\n this.stringMapObserver = new StringMapObserver(this.element, this);\n this.valueDescriptorMap = this.controller.valueDescriptorMap;\n }\n start() {\n this.stringMapObserver.start();\n this.invokeChangedCallbacksForDefaultValues();\n }\n stop() {\n this.stringMapObserver.stop();\n }\n get element() {\n return this.context.element;\n }\n get controller() {\n return this.context.controller;\n }\n getStringMapKeyForAttribute(attributeName) {\n if (attributeName in this.valueDescriptorMap) {\n return this.valueDescriptorMap[attributeName].name;\n }\n }\n stringMapKeyAdded(key, attributeName) {\n const descriptor = this.valueDescriptorMap[attributeName];\n if (!this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), descriptor.writer(descriptor.defaultValue));\n }\n }\n stringMapValueChanged(value, name, oldValue) {\n const descriptor = this.valueDescriptorNameMap[name];\n if (value === null)\n return;\n if (oldValue === null) {\n oldValue = descriptor.writer(descriptor.defaultValue);\n }\n this.invokeChangedCallback(name, value, oldValue);\n }\n stringMapKeyRemoved(key, attributeName, oldValue) {\n const descriptor = this.valueDescriptorNameMap[key];\n if (this.hasValue(key)) {\n this.invokeChangedCallback(key, descriptor.writer(this.receiver[key]), oldValue);\n }\n else {\n this.invokeChangedCallback(key, descriptor.writer(descriptor.defaultValue), oldValue);\n }\n }\n invokeChangedCallbacksForDefaultValues() {\n for (const { key, name, defaultValue, writer } of this.valueDescriptors) {\n if (defaultValue != undefined && !this.controller.data.has(key)) {\n this.invokeChangedCallback(name, writer(defaultValue), undefined);\n }\n }\n }\n invokeChangedCallback(name, rawValue, rawOldValue) {\n const changedMethodName = `${name}Changed`;\n const changedMethod = this.receiver[changedMethodName];\n if (typeof changedMethod == \"function\") {\n const descriptor = this.valueDescriptorNameMap[name];\n try {\n const value = descriptor.reader(rawValue);\n let oldValue = rawOldValue;\n if (rawOldValue) {\n oldValue = descriptor.reader(rawOldValue);\n }\n changedMethod.call(this.receiver, value, oldValue);\n }\n catch (error) {\n if (error instanceof TypeError) {\n error.message = `Stimulus Value \"${this.context.identifier}.${descriptor.name}\" - ${error.message}`;\n }\n throw error;\n }\n }\n }\n get valueDescriptors() {\n const { valueDescriptorMap } = this;\n return Object.keys(valueDescriptorMap).map((key) => valueDescriptorMap[key]);\n }\n get valueDescriptorNameMap() {\n const descriptors = {};\n Object.keys(this.valueDescriptorMap).forEach((key) => {\n const descriptor = this.valueDescriptorMap[key];\n descriptors[descriptor.name] = descriptor;\n });\n return descriptors;\n }\n hasValue(attributeName) {\n const descriptor = this.valueDescriptorNameMap[attributeName];\n const hasMethodName = `has${capitalize(descriptor.name)}`;\n return this.receiver[hasMethodName];\n }\n}\n\nclass TargetObserver {\n constructor(context, delegate) {\n this.context = context;\n this.delegate = delegate;\n this.targetsByName = new Multimap();\n }\n start() {\n if (!this.tokenListObserver) {\n this.tokenListObserver = new TokenListObserver(this.element, this.attributeName, this);\n this.tokenListObserver.start();\n }\n }\n stop() {\n if (this.tokenListObserver) {\n this.disconnectAllTargets();\n this.tokenListObserver.stop();\n delete this.tokenListObserver;\n }\n }\n tokenMatched({ element, content: name }) {\n if (this.scope.containsElement(element)) {\n this.connectTarget(element, name);\n }\n }\n tokenUnmatched({ element, content: name }) {\n this.disconnectTarget(element, name);\n }\n connectTarget(element, name) {\n var _a;\n if (!this.targetsByName.has(name, element)) {\n this.targetsByName.add(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetConnected(element, name));\n }\n }\n disconnectTarget(element, name) {\n var _a;\n if (this.targetsByName.has(name, element)) {\n this.targetsByName.delete(name, element);\n (_a = this.tokenListObserver) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.targetDisconnected(element, name));\n }\n }\n disconnectAllTargets() {\n for (const name of this.targetsByName.keys) {\n for (const element of this.targetsByName.getValuesForKey(name)) {\n this.disconnectTarget(element, name);\n }\n }\n }\n get attributeName() {\n return `data-${this.context.identifier}-target`;\n }\n get element() {\n return this.context.element;\n }\n get scope() {\n return this.context.scope;\n }\n}\n\nfunction readInheritableStaticArrayValues(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return Array.from(ancestors.reduce((values, constructor) => {\n getOwnStaticArrayValues(constructor, propertyName).forEach((name) => values.add(name));\n return values;\n }, new Set()));\n}\nfunction readInheritableStaticObjectPairs(constructor, propertyName) {\n const ancestors = getAncestorsForConstructor(constructor);\n return ancestors.reduce((pairs, constructor) => {\n pairs.push(...getOwnStaticObjectPairs(constructor, propertyName));\n return pairs;\n }, []);\n}\nfunction getAncestorsForConstructor(constructor) {\n const ancestors = [];\n while (constructor) {\n ancestors.push(constructor);\n constructor = Object.getPrototypeOf(constructor);\n }\n return ancestors.reverse();\n}\nfunction getOwnStaticArrayValues(constructor, propertyName) {\n const definition = constructor[propertyName];\n return Array.isArray(definition) ? definition : [];\n}\nfunction getOwnStaticObjectPairs(constructor, propertyName) {\n const definition = constructor[propertyName];\n return definition ? Object.keys(definition).map((key) => [key, definition[key]]) : [];\n}\n\nclass OutletObserver {\n constructor(context, delegate) {\n this.started = false;\n this.context = context;\n this.delegate = delegate;\n this.outletsByName = new Multimap();\n this.outletElementsByName = new Multimap();\n this.selectorObserverMap = new Map();\n this.attributeObserverMap = new Map();\n }\n start() {\n if (!this.started) {\n this.outletDefinitions.forEach((outletName) => {\n this.setupSelectorObserverForOutlet(outletName);\n this.setupAttributeObserverForOutlet(outletName);\n });\n this.started = true;\n this.dependentContexts.forEach((context) => context.refresh());\n }\n }\n refresh() {\n this.selectorObserverMap.forEach((observer) => observer.refresh());\n this.attributeObserverMap.forEach((observer) => observer.refresh());\n }\n stop() {\n if (this.started) {\n this.started = false;\n this.disconnectAllOutlets();\n this.stopSelectorObservers();\n this.stopAttributeObservers();\n }\n }\n stopSelectorObservers() {\n if (this.selectorObserverMap.size > 0) {\n this.selectorObserverMap.forEach((observer) => observer.stop());\n this.selectorObserverMap.clear();\n }\n }\n stopAttributeObservers() {\n if (this.attributeObserverMap.size > 0) {\n this.attributeObserverMap.forEach((observer) => observer.stop());\n this.attributeObserverMap.clear();\n }\n }\n selectorMatched(element, _selector, { outletName }) {\n const outlet = this.getOutlet(element, outletName);\n if (outlet) {\n this.connectOutlet(outlet, element, outletName);\n }\n }\n selectorUnmatched(element, _selector, { outletName }) {\n const outlet = this.getOutletFromMap(element, outletName);\n if (outlet) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n selectorMatchElement(element, { outletName }) {\n const selector = this.selector(outletName);\n const hasOutlet = this.hasOutlet(element, outletName);\n const hasOutletController = element.matches(`[${this.schema.controllerAttribute}~=${outletName}]`);\n if (selector) {\n return hasOutlet && hasOutletController && element.matches(selector);\n }\n else {\n return false;\n }\n }\n elementMatchedAttribute(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n elementAttributeValueChanged(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n elementUnmatchedAttribute(_element, attributeName) {\n const outletName = this.getOutletNameFromOutletAttributeName(attributeName);\n if (outletName) {\n this.updateSelectorObserverForOutlet(outletName);\n }\n }\n connectOutlet(outlet, element, outletName) {\n var _a;\n if (!this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.add(outletName, outlet);\n this.outletElementsByName.add(outletName, element);\n (_a = this.selectorObserverMap.get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletConnected(outlet, element, outletName));\n }\n }\n disconnectOutlet(outlet, element, outletName) {\n var _a;\n if (this.outletElementsByName.has(outletName, element)) {\n this.outletsByName.delete(outletName, outlet);\n this.outletElementsByName.delete(outletName, element);\n (_a = this.selectorObserverMap\n .get(outletName)) === null || _a === void 0 ? void 0 : _a.pause(() => this.delegate.outletDisconnected(outlet, element, outletName));\n }\n }\n disconnectAllOutlets() {\n for (const outletName of this.outletElementsByName.keys) {\n for (const element of this.outletElementsByName.getValuesForKey(outletName)) {\n for (const outlet of this.outletsByName.getValuesForKey(outletName)) {\n this.disconnectOutlet(outlet, element, outletName);\n }\n }\n }\n }\n updateSelectorObserverForOutlet(outletName) {\n const observer = this.selectorObserverMap.get(outletName);\n if (observer) {\n observer.selector = this.selector(outletName);\n }\n }\n setupSelectorObserverForOutlet(outletName) {\n const selector = this.selector(outletName);\n const selectorObserver = new SelectorObserver(document.body, selector, this, { outletName });\n this.selectorObserverMap.set(outletName, selectorObserver);\n selectorObserver.start();\n }\n setupAttributeObserverForOutlet(outletName) {\n const attributeName = this.attributeNameForOutletName(outletName);\n const attributeObserver = new AttributeObserver(this.scope.element, attributeName, this);\n this.attributeObserverMap.set(outletName, attributeObserver);\n attributeObserver.start();\n }\n selector(outletName) {\n return this.scope.outlets.getSelectorForOutletName(outletName);\n }\n attributeNameForOutletName(outletName) {\n return this.scope.schema.outletAttributeForScope(this.identifier, outletName);\n }\n getOutletNameFromOutletAttributeName(attributeName) {\n return this.outletDefinitions.find((outletName) => this.attributeNameForOutletName(outletName) === attributeName);\n }\n get outletDependencies() {\n const dependencies = new Multimap();\n this.router.modules.forEach((module) => {\n const constructor = module.definition.controllerConstructor;\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n outlets.forEach((outlet) => dependencies.add(outlet, module.identifier));\n });\n return dependencies;\n }\n get outletDefinitions() {\n return this.outletDependencies.getKeysForValue(this.identifier);\n }\n get dependentControllerIdentifiers() {\n return this.outletDependencies.getValuesForKey(this.identifier);\n }\n get dependentContexts() {\n const identifiers = this.dependentControllerIdentifiers;\n return this.router.contexts.filter((context) => identifiers.includes(context.identifier));\n }\n hasOutlet(element, outletName) {\n return !!this.getOutlet(element, outletName) || !!this.getOutletFromMap(element, outletName);\n }\n getOutlet(element, outletName) {\n return this.application.getControllerForElementAndIdentifier(element, outletName);\n }\n getOutletFromMap(element, outletName) {\n return this.outletsByName.getValuesForKey(outletName).find((outlet) => outlet.element === element);\n }\n get scope() {\n return this.context.scope;\n }\n get schema() {\n return this.context.schema;\n }\n get identifier() {\n return this.context.identifier;\n }\n get application() {\n return this.context.application;\n }\n get router() {\n return this.application.router;\n }\n}\n\nclass Context {\n constructor(module, scope) {\n this.logDebugActivity = (functionName, detail = {}) => {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.logDebugActivity(this.identifier, functionName, detail);\n };\n this.module = module;\n this.scope = scope;\n this.controller = new module.controllerConstructor(this);\n this.bindingObserver = new BindingObserver(this, this.dispatcher);\n this.valueObserver = new ValueObserver(this, this.controller);\n this.targetObserver = new TargetObserver(this, this);\n this.outletObserver = new OutletObserver(this, this);\n try {\n this.controller.initialize();\n this.logDebugActivity(\"initialize\");\n }\n catch (error) {\n this.handleError(error, \"initializing controller\");\n }\n }\n connect() {\n this.bindingObserver.start();\n this.valueObserver.start();\n this.targetObserver.start();\n this.outletObserver.start();\n try {\n this.controller.connect();\n this.logDebugActivity(\"connect\");\n }\n catch (error) {\n this.handleError(error, \"connecting controller\");\n }\n }\n refresh() {\n this.outletObserver.refresh();\n }\n disconnect() {\n try {\n this.controller.disconnect();\n this.logDebugActivity(\"disconnect\");\n }\n catch (error) {\n this.handleError(error, \"disconnecting controller\");\n }\n this.outletObserver.stop();\n this.targetObserver.stop();\n this.valueObserver.stop();\n this.bindingObserver.stop();\n }\n get application() {\n return this.module.application;\n }\n get identifier() {\n return this.module.identifier;\n }\n get schema() {\n return this.application.schema;\n }\n get dispatcher() {\n return this.application.dispatcher;\n }\n get element() {\n return this.scope.element;\n }\n get parentElement() {\n return this.element.parentElement;\n }\n handleError(error, message, detail = {}) {\n const { identifier, controller, element } = this;\n detail = Object.assign({ identifier, controller, element }, detail);\n this.application.handleError(error, `Error ${message}`, detail);\n }\n targetConnected(element, name) {\n this.invokeControllerMethod(`${name}TargetConnected`, element);\n }\n targetDisconnected(element, name) {\n this.invokeControllerMethod(`${name}TargetDisconnected`, element);\n }\n outletConnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletConnected`, outlet, element);\n }\n outletDisconnected(outlet, element, name) {\n this.invokeControllerMethod(`${namespaceCamelize(name)}OutletDisconnected`, outlet, element);\n }\n invokeControllerMethod(methodName, ...args) {\n const controller = this.controller;\n if (typeof controller[methodName] == \"function\") {\n controller[methodName](...args);\n }\n }\n}\n\nfunction bless(constructor) {\n return shadow(constructor, getBlessedProperties(constructor));\n}\nfunction shadow(constructor, properties) {\n const shadowConstructor = extend(constructor);\n const shadowProperties = getShadowProperties(constructor.prototype, properties);\n Object.defineProperties(shadowConstructor.prototype, shadowProperties);\n return shadowConstructor;\n}\nfunction getBlessedProperties(constructor) {\n const blessings = readInheritableStaticArrayValues(constructor, \"blessings\");\n return blessings.reduce((blessedProperties, blessing) => {\n const properties = blessing(constructor);\n for (const key in properties) {\n const descriptor = blessedProperties[key] || {};\n blessedProperties[key] = Object.assign(descriptor, properties[key]);\n }\n return blessedProperties;\n }, {});\n}\nfunction getShadowProperties(prototype, properties) {\n return getOwnKeys(properties).reduce((shadowProperties, key) => {\n const descriptor = getShadowedDescriptor(prototype, properties, key);\n if (descriptor) {\n Object.assign(shadowProperties, { [key]: descriptor });\n }\n return shadowProperties;\n }, {});\n}\nfunction getShadowedDescriptor(prototype, properties, key) {\n const shadowingDescriptor = Object.getOwnPropertyDescriptor(prototype, key);\n const shadowedByValue = shadowingDescriptor && \"value\" in shadowingDescriptor;\n if (!shadowedByValue) {\n const descriptor = Object.getOwnPropertyDescriptor(properties, key).value;\n if (shadowingDescriptor) {\n descriptor.get = shadowingDescriptor.get || descriptor.get;\n descriptor.set = shadowingDescriptor.set || descriptor.set;\n }\n return descriptor;\n }\n}\nconst getOwnKeys = (() => {\n if (typeof Object.getOwnPropertySymbols == \"function\") {\n return (object) => [...Object.getOwnPropertyNames(object), ...Object.getOwnPropertySymbols(object)];\n }\n else {\n return Object.getOwnPropertyNames;\n }\n})();\nconst extend = (() => {\n function extendWithReflect(constructor) {\n function extended() {\n return Reflect.construct(constructor, arguments, new.target);\n }\n extended.prototype = Object.create(constructor.prototype, {\n constructor: { value: extended },\n });\n Reflect.setPrototypeOf(extended, constructor);\n return extended;\n }\n function testReflectExtension() {\n const a = function () {\n this.a.call(this);\n };\n const b = extendWithReflect(a);\n b.prototype.a = function () { };\n return new b();\n }\n try {\n testReflectExtension();\n return extendWithReflect;\n }\n catch (error) {\n return (constructor) => class extended extends constructor {\n };\n }\n})();\n\nfunction blessDefinition(definition) {\n return {\n identifier: definition.identifier,\n controllerConstructor: bless(definition.controllerConstructor),\n };\n}\n\nclass Module {\n constructor(application, definition) {\n this.application = application;\n this.definition = blessDefinition(definition);\n this.contextsByScope = new WeakMap();\n this.connectedContexts = new Set();\n }\n get identifier() {\n return this.definition.identifier;\n }\n get controllerConstructor() {\n return this.definition.controllerConstructor;\n }\n get contexts() {\n return Array.from(this.connectedContexts);\n }\n connectContextForScope(scope) {\n const context = this.fetchContextForScope(scope);\n this.connectedContexts.add(context);\n context.connect();\n }\n disconnectContextForScope(scope) {\n const context = this.contextsByScope.get(scope);\n if (context) {\n this.connectedContexts.delete(context);\n context.disconnect();\n }\n }\n fetchContextForScope(scope) {\n let context = this.contextsByScope.get(scope);\n if (!context) {\n context = new Context(this, scope);\n this.contextsByScope.set(scope, context);\n }\n return context;\n }\n}\n\nclass ClassMap {\n constructor(scope) {\n this.scope = scope;\n }\n has(name) {\n return this.data.has(this.getDataKey(name));\n }\n get(name) {\n return this.getAll(name)[0];\n }\n getAll(name) {\n const tokenString = this.data.get(this.getDataKey(name)) || \"\";\n return tokenize(tokenString);\n }\n getAttributeName(name) {\n return this.data.getAttributeNameForKey(this.getDataKey(name));\n }\n getDataKey(name) {\n return `${name}-class`;\n }\n get data() {\n return this.scope.data;\n }\n}\n\nclass DataMap {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.getAttribute(name);\n }\n set(key, value) {\n const name = this.getAttributeNameForKey(key);\n this.element.setAttribute(name, value);\n return this.get(key);\n }\n has(key) {\n const name = this.getAttributeNameForKey(key);\n return this.element.hasAttribute(name);\n }\n delete(key) {\n if (this.has(key)) {\n const name = this.getAttributeNameForKey(key);\n this.element.removeAttribute(name);\n return true;\n }\n else {\n return false;\n }\n }\n getAttributeNameForKey(key) {\n return `data-${this.identifier}-${dasherize(key)}`;\n }\n}\n\nclass Guide {\n constructor(logger) {\n this.warnedKeysByObject = new WeakMap();\n this.logger = logger;\n }\n warn(object, key, message) {\n let warnedKeys = this.warnedKeysByObject.get(object);\n if (!warnedKeys) {\n warnedKeys = new Set();\n this.warnedKeysByObject.set(object, warnedKeys);\n }\n if (!warnedKeys.has(key)) {\n warnedKeys.add(key);\n this.logger.warn(message, object);\n }\n }\n}\n\nfunction attributeValueContainsToken(attributeName, token) {\n return `[${attributeName}~=\"${token}\"]`;\n}\n\nclass TargetSet {\n constructor(scope) {\n this.scope = scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(targetName) {\n return this.find(targetName) != null;\n }\n find(...targetNames) {\n return targetNames.reduce((target, targetName) => target || this.findTarget(targetName) || this.findLegacyTarget(targetName), undefined);\n }\n findAll(...targetNames) {\n return targetNames.reduce((targets, targetName) => [\n ...targets,\n ...this.findAllTargets(targetName),\n ...this.findAllLegacyTargets(targetName),\n ], []);\n }\n findTarget(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findElement(selector);\n }\n findAllTargets(targetName) {\n const selector = this.getSelectorForTargetName(targetName);\n return this.scope.findAllElements(selector);\n }\n getSelectorForTargetName(targetName) {\n const attributeName = this.schema.targetAttributeForScope(this.identifier);\n return attributeValueContainsToken(attributeName, targetName);\n }\n findLegacyTarget(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.deprecate(this.scope.findElement(selector), targetName);\n }\n findAllLegacyTargets(targetName) {\n const selector = this.getLegacySelectorForTargetName(targetName);\n return this.scope.findAllElements(selector).map((element) => this.deprecate(element, targetName));\n }\n getLegacySelectorForTargetName(targetName) {\n const targetDescriptor = `${this.identifier}.${targetName}`;\n return attributeValueContainsToken(this.schema.targetAttribute, targetDescriptor);\n }\n deprecate(element, targetName) {\n if (element) {\n const { identifier } = this;\n const attributeName = this.schema.targetAttribute;\n const revisedAttributeName = this.schema.targetAttributeForScope(identifier);\n this.guide.warn(element, `target:${targetName}`, `Please replace ${attributeName}=\"${identifier}.${targetName}\" with ${revisedAttributeName}=\"${targetName}\". ` +\n `The ${attributeName} attribute is deprecated and will be removed in a future version of Stimulus.`);\n }\n return element;\n }\n get guide() {\n return this.scope.guide;\n }\n}\n\nclass OutletSet {\n constructor(scope, controllerElement) {\n this.scope = scope;\n this.controllerElement = controllerElement;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get schema() {\n return this.scope.schema;\n }\n has(outletName) {\n return this.find(outletName) != null;\n }\n find(...outletNames) {\n return outletNames.reduce((outlet, outletName) => outlet || this.findOutlet(outletName), undefined);\n }\n findAll(...outletNames) {\n return outletNames.reduce((outlets, outletName) => [...outlets, ...this.findAllOutlets(outletName)], []);\n }\n getSelectorForOutletName(outletName) {\n const attributeName = this.schema.outletAttributeForScope(this.identifier, outletName);\n return this.controllerElement.getAttribute(attributeName);\n }\n findOutlet(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n if (selector)\n return this.findElement(selector, outletName);\n }\n findAllOutlets(outletName) {\n const selector = this.getSelectorForOutletName(outletName);\n return selector ? this.findAllElements(selector, outletName) : [];\n }\n findElement(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName))[0];\n }\n findAllElements(selector, outletName) {\n const elements = this.scope.queryElements(selector);\n return elements.filter((element) => this.matchesElement(element, selector, outletName));\n }\n matchesElement(element, selector, outletName) {\n const controllerAttribute = element.getAttribute(this.scope.schema.controllerAttribute) || \"\";\n return element.matches(selector) && controllerAttribute.split(\" \").includes(outletName);\n }\n}\n\nclass Scope {\n constructor(schema, element, identifier, logger) {\n this.targets = new TargetSet(this);\n this.classes = new ClassMap(this);\n this.data = new DataMap(this);\n this.containsElement = (element) => {\n return element.closest(this.controllerSelector) === this.element;\n };\n this.schema = schema;\n this.element = element;\n this.identifier = identifier;\n this.guide = new Guide(logger);\n this.outlets = new OutletSet(this.documentScope, element);\n }\n findElement(selector) {\n return this.element.matches(selector) ? this.element : this.queryElements(selector).find(this.containsElement);\n }\n findAllElements(selector) {\n return [\n ...(this.element.matches(selector) ? [this.element] : []),\n ...this.queryElements(selector).filter(this.containsElement),\n ];\n }\n queryElements(selector) {\n return Array.from(this.element.querySelectorAll(selector));\n }\n get controllerSelector() {\n return attributeValueContainsToken(this.schema.controllerAttribute, this.identifier);\n }\n get isDocumentScope() {\n return this.element === document.documentElement;\n }\n get documentScope() {\n return this.isDocumentScope\n ? this\n : new Scope(this.schema, document.documentElement, this.identifier, this.guide.logger);\n }\n}\n\nclass ScopeObserver {\n constructor(element, schema, delegate) {\n this.element = element;\n this.schema = schema;\n this.delegate = delegate;\n this.valueListObserver = new ValueListObserver(this.element, this.controllerAttribute, this);\n this.scopesByIdentifierByElement = new WeakMap();\n this.scopeReferenceCounts = new WeakMap();\n }\n start() {\n this.valueListObserver.start();\n }\n stop() {\n this.valueListObserver.stop();\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n parseValueForToken(token) {\n const { element, content: identifier } = token;\n return this.parseValueForElementAndIdentifier(element, identifier);\n }\n parseValueForElementAndIdentifier(element, identifier) {\n const scopesByIdentifier = this.fetchScopesByIdentifierForElement(element);\n let scope = scopesByIdentifier.get(identifier);\n if (!scope) {\n scope = this.delegate.createScopeForElementAndIdentifier(element, identifier);\n scopesByIdentifier.set(identifier, scope);\n }\n return scope;\n }\n elementMatchedValue(element, value) {\n const referenceCount = (this.scopeReferenceCounts.get(value) || 0) + 1;\n this.scopeReferenceCounts.set(value, referenceCount);\n if (referenceCount == 1) {\n this.delegate.scopeConnected(value);\n }\n }\n elementUnmatchedValue(element, value) {\n const referenceCount = this.scopeReferenceCounts.get(value);\n if (referenceCount) {\n this.scopeReferenceCounts.set(value, referenceCount - 1);\n if (referenceCount == 1) {\n this.delegate.scopeDisconnected(value);\n }\n }\n }\n fetchScopesByIdentifierForElement(element) {\n let scopesByIdentifier = this.scopesByIdentifierByElement.get(element);\n if (!scopesByIdentifier) {\n scopesByIdentifier = new Map();\n this.scopesByIdentifierByElement.set(element, scopesByIdentifier);\n }\n return scopesByIdentifier;\n }\n}\n\nclass Router {\n constructor(application) {\n this.application = application;\n this.scopeObserver = new ScopeObserver(this.element, this.schema, this);\n this.scopesByIdentifier = new Multimap();\n this.modulesByIdentifier = new Map();\n }\n get element() {\n return this.application.element;\n }\n get schema() {\n return this.application.schema;\n }\n get logger() {\n return this.application.logger;\n }\n get controllerAttribute() {\n return this.schema.controllerAttribute;\n }\n get modules() {\n return Array.from(this.modulesByIdentifier.values());\n }\n get contexts() {\n return this.modules.reduce((contexts, module) => contexts.concat(module.contexts), []);\n }\n start() {\n this.scopeObserver.start();\n }\n stop() {\n this.scopeObserver.stop();\n }\n loadDefinition(definition) {\n this.unloadIdentifier(definition.identifier);\n const module = new Module(this.application, definition);\n this.connectModule(module);\n const afterLoad = definition.controllerConstructor.afterLoad;\n if (afterLoad) {\n afterLoad.call(definition.controllerConstructor, definition.identifier, this.application);\n }\n }\n unloadIdentifier(identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n this.disconnectModule(module);\n }\n }\n getContextForElementAndIdentifier(element, identifier) {\n const module = this.modulesByIdentifier.get(identifier);\n if (module) {\n return module.contexts.find((context) => context.element == element);\n }\n }\n proposeToConnectScopeForElementAndIdentifier(element, identifier) {\n const scope = this.scopeObserver.parseValueForElementAndIdentifier(element, identifier);\n if (scope) {\n this.scopeObserver.elementMatchedValue(scope.element, scope);\n }\n else {\n console.error(`Couldn't find or create scope for identifier: \"${identifier}\" and element:`, element);\n }\n }\n handleError(error, message, detail) {\n this.application.handleError(error, message, detail);\n }\n createScopeForElementAndIdentifier(element, identifier) {\n return new Scope(this.schema, element, identifier, this.logger);\n }\n scopeConnected(scope) {\n this.scopesByIdentifier.add(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.connectContextForScope(scope);\n }\n }\n scopeDisconnected(scope) {\n this.scopesByIdentifier.delete(scope.identifier, scope);\n const module = this.modulesByIdentifier.get(scope.identifier);\n if (module) {\n module.disconnectContextForScope(scope);\n }\n }\n connectModule(module) {\n this.modulesByIdentifier.set(module.identifier, module);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.connectContextForScope(scope));\n }\n disconnectModule(module) {\n this.modulesByIdentifier.delete(module.identifier);\n const scopes = this.scopesByIdentifier.getValuesForKey(module.identifier);\n scopes.forEach((scope) => module.disconnectContextForScope(scope));\n }\n}\n\nconst defaultSchema = {\n controllerAttribute: \"data-controller\",\n actionAttribute: \"data-action\",\n targetAttribute: \"data-target\",\n targetAttributeForScope: (identifier) => `data-${identifier}-target`,\n outletAttributeForScope: (identifier, outlet) => `data-${identifier}-${outlet}-outlet`,\n keyMappings: Object.assign(Object.assign({ enter: \"Enter\", tab: \"Tab\", esc: \"Escape\", space: \" \", up: \"ArrowUp\", down: \"ArrowDown\", left: \"ArrowLeft\", right: \"ArrowRight\", home: \"Home\", end: \"End\", page_up: \"PageUp\", page_down: \"PageDown\" }, objectFromEntries(\"abcdefghijklmnopqrstuvwxyz\".split(\"\").map((c) => [c, c]))), objectFromEntries(\"0123456789\".split(\"\").map((n) => [n, n]))),\n};\nfunction objectFromEntries(array) {\n return array.reduce((memo, [k, v]) => (Object.assign(Object.assign({}, memo), { [k]: v })), {});\n}\n\nclass Application {\n constructor(element = document.documentElement, schema = defaultSchema) {\n this.logger = console;\n this.debug = false;\n this.logDebugActivity = (identifier, functionName, detail = {}) => {\n if (this.debug) {\n this.logFormattedMessage(identifier, functionName, detail);\n }\n };\n this.element = element;\n this.schema = schema;\n this.dispatcher = new Dispatcher(this);\n this.router = new Router(this);\n this.actionDescriptorFilters = Object.assign({}, defaultActionDescriptorFilters);\n }\n static start(element, schema) {\n const application = new this(element, schema);\n application.start();\n return application;\n }\n async start() {\n await domReady();\n this.logDebugActivity(\"application\", \"starting\");\n this.dispatcher.start();\n this.router.start();\n this.logDebugActivity(\"application\", \"start\");\n }\n stop() {\n this.logDebugActivity(\"application\", \"stopping\");\n this.dispatcher.stop();\n this.router.stop();\n this.logDebugActivity(\"application\", \"stop\");\n }\n register(identifier, controllerConstructor) {\n this.load({ identifier, controllerConstructor });\n }\n registerActionOption(name, filter) {\n this.actionDescriptorFilters[name] = filter;\n }\n load(head, ...rest) {\n const definitions = Array.isArray(head) ? head : [head, ...rest];\n definitions.forEach((definition) => {\n if (definition.controllerConstructor.shouldLoad) {\n this.router.loadDefinition(definition);\n }\n });\n }\n unload(head, ...rest) {\n const identifiers = Array.isArray(head) ? head : [head, ...rest];\n identifiers.forEach((identifier) => this.router.unloadIdentifier(identifier));\n }\n get controllers() {\n return this.router.contexts.map((context) => context.controller);\n }\n getControllerForElementAndIdentifier(element, identifier) {\n const context = this.router.getContextForElementAndIdentifier(element, identifier);\n return context ? context.controller : null;\n }\n handleError(error, message, detail) {\n var _a;\n this.logger.error(`%s\\n\\n%o\\n\\n%o`, message, error, detail);\n (_a = window.onerror) === null || _a === void 0 ? void 0 : _a.call(window, message, \"\", 0, 0, error);\n }\n logFormattedMessage(identifier, functionName, detail = {}) {\n detail = Object.assign({ application: this }, detail);\n this.logger.groupCollapsed(`${identifier} #${functionName}`);\n this.logger.log(\"details:\", Object.assign({}, detail));\n this.logger.groupEnd();\n }\n}\nfunction domReady() {\n return new Promise((resolve) => {\n if (document.readyState == \"loading\") {\n document.addEventListener(\"DOMContentLoaded\", () => resolve());\n }\n else {\n resolve();\n }\n });\n}\n\nfunction ClassPropertiesBlessing(constructor) {\n const classes = readInheritableStaticArrayValues(constructor, \"classes\");\n return classes.reduce((properties, classDefinition) => {\n return Object.assign(properties, propertiesForClassDefinition(classDefinition));\n }, {});\n}\nfunction propertiesForClassDefinition(key) {\n return {\n [`${key}Class`]: {\n get() {\n const { classes } = this;\n if (classes.has(key)) {\n return classes.get(key);\n }\n else {\n const attribute = classes.getAttributeName(key);\n throw new Error(`Missing attribute \"${attribute}\"`);\n }\n },\n },\n [`${key}Classes`]: {\n get() {\n return this.classes.getAll(key);\n },\n },\n [`has${capitalize(key)}Class`]: {\n get() {\n return this.classes.has(key);\n },\n },\n };\n}\n\nfunction OutletPropertiesBlessing(constructor) {\n const outlets = readInheritableStaticArrayValues(constructor, \"outlets\");\n return outlets.reduce((properties, outletDefinition) => {\n return Object.assign(properties, propertiesForOutletDefinition(outletDefinition));\n }, {});\n}\nfunction getOutletController(controller, element, identifier) {\n return controller.application.getControllerForElementAndIdentifier(element, identifier);\n}\nfunction getControllerAndEnsureConnectedScope(controller, element, outletName) {\n let outletController = getOutletController(controller, element, outletName);\n if (outletController)\n return outletController;\n controller.application.router.proposeToConnectScopeForElementAndIdentifier(element, outletName);\n outletController = getOutletController(controller, element, outletName);\n if (outletController)\n return outletController;\n}\nfunction propertiesForOutletDefinition(name) {\n const camelizedName = namespaceCamelize(name);\n return {\n [`${camelizedName}Outlet`]: {\n get() {\n const outletElement = this.outlets.find(name);\n const selector = this.outlets.getSelectorForOutletName(name);\n if (outletElement) {\n const outletController = getControllerAndEnsureConnectedScope(this, outletElement, name);\n if (outletController)\n return outletController;\n throw new Error(`The provided outlet element is missing an outlet controller \"${name}\" instance for host controller \"${this.identifier}\"`);\n }\n throw new Error(`Missing outlet element \"${name}\" for host controller \"${this.identifier}\". Stimulus couldn't find a matching outlet element using selector \"${selector}\".`);\n },\n },\n [`${camelizedName}Outlets`]: {\n get() {\n const outlets = this.outlets.findAll(name);\n if (outlets.length > 0) {\n return outlets\n .map((outletElement) => {\n const outletController = getControllerAndEnsureConnectedScope(this, outletElement, name);\n if (outletController)\n return outletController;\n console.warn(`The provided outlet element is missing an outlet controller \"${name}\" instance for host controller \"${this.identifier}\"`, outletElement);\n })\n .filter((controller) => controller);\n }\n return [];\n },\n },\n [`${camelizedName}OutletElement`]: {\n get() {\n const outletElement = this.outlets.find(name);\n const selector = this.outlets.getSelectorForOutletName(name);\n if (outletElement) {\n return outletElement;\n }\n else {\n throw new Error(`Missing outlet element \"${name}\" for host controller \"${this.identifier}\". Stimulus couldn't find a matching outlet element using selector \"${selector}\".`);\n }\n },\n },\n [`${camelizedName}OutletElements`]: {\n get() {\n return this.outlets.findAll(name);\n },\n },\n [`has${capitalize(camelizedName)}Outlet`]: {\n get() {\n return this.outlets.has(name);\n },\n },\n };\n}\n\nfunction TargetPropertiesBlessing(constructor) {\n const targets = readInheritableStaticArrayValues(constructor, \"targets\");\n return targets.reduce((properties, targetDefinition) => {\n return Object.assign(properties, propertiesForTargetDefinition(targetDefinition));\n }, {});\n}\nfunction propertiesForTargetDefinition(name) {\n return {\n [`${name}Target`]: {\n get() {\n const target = this.targets.find(name);\n if (target) {\n return target;\n }\n else {\n throw new Error(`Missing target element \"${name}\" for \"${this.identifier}\" controller`);\n }\n },\n },\n [`${name}Targets`]: {\n get() {\n return this.targets.findAll(name);\n },\n },\n [`has${capitalize(name)}Target`]: {\n get() {\n return this.targets.has(name);\n },\n },\n };\n}\n\nfunction ValuePropertiesBlessing(constructor) {\n const valueDefinitionPairs = readInheritableStaticObjectPairs(constructor, \"values\");\n const propertyDescriptorMap = {\n valueDescriptorMap: {\n get() {\n return valueDefinitionPairs.reduce((result, valueDefinitionPair) => {\n const valueDescriptor = parseValueDefinitionPair(valueDefinitionPair, this.identifier);\n const attributeName = this.data.getAttributeNameForKey(valueDescriptor.key);\n return Object.assign(result, { [attributeName]: valueDescriptor });\n }, {});\n },\n },\n };\n return valueDefinitionPairs.reduce((properties, valueDefinitionPair) => {\n return Object.assign(properties, propertiesForValueDefinitionPair(valueDefinitionPair));\n }, propertyDescriptorMap);\n}\nfunction propertiesForValueDefinitionPair(valueDefinitionPair, controller) {\n const definition = parseValueDefinitionPair(valueDefinitionPair, controller);\n const { key, name, reader: read, writer: write } = definition;\n return {\n [name]: {\n get() {\n const value = this.data.get(key);\n if (value !== null) {\n return read(value);\n }\n else {\n return definition.defaultValue;\n }\n },\n set(value) {\n if (value === undefined) {\n this.data.delete(key);\n }\n else {\n this.data.set(key, write(value));\n }\n },\n },\n [`has${capitalize(name)}`]: {\n get() {\n return this.data.has(key) || definition.hasCustomDefaultValue;\n },\n },\n };\n}\nfunction parseValueDefinitionPair([token, typeDefinition], controller) {\n return valueDescriptorForTokenAndTypeDefinition({\n controller,\n token,\n typeDefinition,\n });\n}\nfunction parseValueTypeConstant(constant) {\n switch (constant) {\n case Array:\n return \"array\";\n case Boolean:\n return \"boolean\";\n case Number:\n return \"number\";\n case Object:\n return \"object\";\n case String:\n return \"string\";\n }\n}\nfunction parseValueTypeDefault(defaultValue) {\n switch (typeof defaultValue) {\n case \"boolean\":\n return \"boolean\";\n case \"number\":\n return \"number\";\n case \"string\":\n return \"string\";\n }\n if (Array.isArray(defaultValue))\n return \"array\";\n if (Object.prototype.toString.call(defaultValue) === \"[object Object]\")\n return \"object\";\n}\nfunction parseValueTypeObject(payload) {\n const { controller, token, typeObject } = payload;\n const hasType = isSomething(typeObject.type);\n const hasDefault = isSomething(typeObject.default);\n const fullObject = hasType && hasDefault;\n const onlyType = hasType && !hasDefault;\n const onlyDefault = !hasType && hasDefault;\n const typeFromObject = parseValueTypeConstant(typeObject.type);\n const typeFromDefaultValue = parseValueTypeDefault(payload.typeObject.default);\n if (onlyType)\n return typeFromObject;\n if (onlyDefault)\n return typeFromDefaultValue;\n if (typeFromObject !== typeFromDefaultValue) {\n const propertyPath = controller ? `${controller}.${token}` : token;\n throw new Error(`The specified default value for the Stimulus Value \"${propertyPath}\" must match the defined type \"${typeFromObject}\". The provided default value of \"${typeObject.default}\" is of type \"${typeFromDefaultValue}\".`);\n }\n if (fullObject)\n return typeFromObject;\n}\nfunction parseValueTypeDefinition(payload) {\n const { controller, token, typeDefinition } = payload;\n const typeObject = { controller, token, typeObject: typeDefinition };\n const typeFromObject = parseValueTypeObject(typeObject);\n const typeFromDefaultValue = parseValueTypeDefault(typeDefinition);\n const typeFromConstant = parseValueTypeConstant(typeDefinition);\n const type = typeFromObject || typeFromDefaultValue || typeFromConstant;\n if (type)\n return type;\n const propertyPath = controller ? `${controller}.${typeDefinition}` : token;\n throw new Error(`Unknown value type \"${propertyPath}\" for \"${token}\" value`);\n}\nfunction defaultValueForDefinition(typeDefinition) {\n const constant = parseValueTypeConstant(typeDefinition);\n if (constant)\n return defaultValuesByType[constant];\n const hasDefault = hasProperty(typeDefinition, \"default\");\n const hasType = hasProperty(typeDefinition, \"type\");\n const typeObject = typeDefinition;\n if (hasDefault)\n return typeObject.default;\n if (hasType) {\n const { type } = typeObject;\n const constantFromType = parseValueTypeConstant(type);\n if (constantFromType)\n return defaultValuesByType[constantFromType];\n }\n return typeDefinition;\n}\nfunction valueDescriptorForTokenAndTypeDefinition(payload) {\n const { token, typeDefinition } = payload;\n const key = `${dasherize(token)}-value`;\n const type = parseValueTypeDefinition(payload);\n return {\n type,\n key,\n name: camelize(key),\n get defaultValue() {\n return defaultValueForDefinition(typeDefinition);\n },\n get hasCustomDefaultValue() {\n return parseValueTypeDefault(typeDefinition) !== undefined;\n },\n reader: readers[type],\n writer: writers[type] || writers.default,\n };\n}\nconst defaultValuesByType = {\n get array() {\n return [];\n },\n boolean: false,\n number: 0,\n get object() {\n return {};\n },\n string: \"\",\n};\nconst readers = {\n array(value) {\n const array = JSON.parse(value);\n if (!Array.isArray(array)) {\n throw new TypeError(`expected value of type \"array\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(array)}\"`);\n }\n return array;\n },\n boolean(value) {\n return !(value == \"0\" || String(value).toLowerCase() == \"false\");\n },\n number(value) {\n return Number(value.replace(/_/g, \"\"));\n },\n object(value) {\n const object = JSON.parse(value);\n if (object === null || typeof object != \"object\" || Array.isArray(object)) {\n throw new TypeError(`expected value of type \"object\" but instead got value \"${value}\" of type \"${parseValueTypeDefault(object)}\"`);\n }\n return object;\n },\n string(value) {\n return value;\n },\n};\nconst writers = {\n default: writeString,\n array: writeJSON,\n object: writeJSON,\n};\nfunction writeJSON(value) {\n return JSON.stringify(value);\n}\nfunction writeString(value) {\n return `${value}`;\n}\n\nclass Controller {\n constructor(context) {\n this.context = context;\n }\n static get shouldLoad() {\n return true;\n }\n static afterLoad(_identifier, _application) {\n return;\n }\n get application() {\n return this.context.application;\n }\n get scope() {\n return this.context.scope;\n }\n get element() {\n return this.scope.element;\n }\n get identifier() {\n return this.scope.identifier;\n }\n get targets() {\n return this.scope.targets;\n }\n get outlets() {\n return this.scope.outlets;\n }\n get classes() {\n return this.scope.classes;\n }\n get data() {\n return this.scope.data;\n }\n initialize() {\n }\n connect() {\n }\n disconnect() {\n }\n dispatch(eventName, { target = this.element, detail = {}, prefix = this.identifier, bubbles = true, cancelable = true, } = {}) {\n const type = prefix ? `${prefix}:${eventName}` : eventName;\n const event = new CustomEvent(type, { detail, bubbles, cancelable });\n target.dispatchEvent(event);\n return event;\n }\n}\nController.blessings = [\n ClassPropertiesBlessing,\n TargetPropertiesBlessing,\n ValuePropertiesBlessing,\n OutletPropertiesBlessing,\n];\nController.targets = [];\nController.outlets = [];\nController.values = {};\n\nexport { Application, AttributeObserver, Context, Controller, ElementObserver, IndexedMultimap, Multimap, SelectorObserver, StringMapObserver, TokenListObserver, ValueListObserver, add, defaultSchema, del, fetch, prune };\n","/*\nStimulus Webpack Helpers 1.0.0\nCopyright © 2021 Basecamp, LLC\n */\nfunction definitionsFromContext(context) {\n return context.keys()\n .map((key) => definitionForModuleWithContextAndKey(context, key))\n .filter((value) => value);\n}\nfunction definitionForModuleWithContextAndKey(context, key) {\n const identifier = identifierForContextKey(key);\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\nfunction definitionForModuleAndIdentifier(module, identifier) {\n const controllerConstructor = module.default;\n if (typeof controllerConstructor == \"function\") {\n return { identifier, controllerConstructor };\n }\n}\nfunction identifierForContextKey(key) {\n const logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n\nexport { definitionForModuleAndIdentifier, definitionForModuleWithContextAndKey, definitionsFromContext, identifierForContextKey };\n","//\n// strftime\n// github.com/samsonjs/strftime\n// @_sjs\n//\n// Copyright 2010 - 2021 Sami Samhuri \n//\n// MIT License\n// http://sjs.mit-license.org\n//\n\n;(function() {\n\n var Locales = {\n de_DE: {\n identifier: 'de-DE',\n days: ['Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag'],\n shortDays: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],\n months: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],\n shortMonths: ['Jan', 'Feb', 'Mär', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d.%m.%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n en_CA: {\n identifier: 'en-CA',\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ],\n shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n ordinalSuffixes: [\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st'\n ],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%r',\n x: '%D'\n }\n },\n\n en_US: {\n identifier: 'en-US',\n days: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday' ],\n shortDays: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n months: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],\n shortMonths: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n ordinalSuffixes: [\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st', 'nd', 'rd', 'th', 'th', 'th', 'th', 'th', 'th', 'th',\n 'st'\n ],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%m/%d/%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%r',\n x: '%D'\n }\n },\n\n es_MX: {\n identifier: 'es-MX',\n days: ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'],\n shortDays: ['dom', 'lun', 'mar', 'mié', 'jue', 'vie', 'sáb'],\n months: ['enero', 'febrero', 'marzo', 'abril', 'mayo', 'junio', 'julio', 'agosto', 'septiembre', 'octubre', 'noviembre',' diciembre'],\n shortMonths: ['ene', 'feb', 'mar', 'abr', 'may', 'jun', 'jul', 'ago', 'sep', 'oct', 'nov', 'dic'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n fr_FR: {\n identifier: 'fr-FR',\n days: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],\n shortDays: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],\n months: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],\n shortMonths: ['janv.', 'févr.', 'mars', 'avril', 'mai', 'juin', 'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n it_IT: {\n identifier: 'it-IT',\n days: ['domenica', 'lunedì', 'martedì', 'mercoledì', 'giovedì', 'venerdì', 'sabato'],\n shortDays: ['dom', 'lun', 'mar', 'mer', 'gio', 'ven', 'sab'],\n months: ['gennaio', 'febbraio', 'marzo', 'aprile', 'maggio', 'giugno', 'luglio', 'agosto', 'settembre', 'ottobre', 'novembre', 'dicembre'],\n shortMonths: ['gen', 'feb', 'mar', 'apr', 'mag', 'giu', 'lug', 'ago', 'set', 'ott', 'nov', 'dic'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n nl_NL: {\n identifier: 'nl-NL',\n days: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],\n shortDays: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],\n months: ['januari', 'februari', 'maart', 'april', 'mei', 'juni', 'juli', 'augustus', 'september', 'oktober', 'november', 'december'],\n shortMonths: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun', 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d-%m-%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n pt_BR: {\n identifier: 'pt-BR',\n days: ['domingo', 'segunda', 'terça', 'quarta', 'quinta', 'sexta', 'sábado'],\n shortDays: ['Dom', 'Seg', 'Ter', 'Qua', 'Qui', 'Sex', 'Sáb'],\n months: ['janeiro', 'fevereiro', 'março', 'abril', 'maio', 'junho', 'julho', 'agosto', 'setembro', 'outubro', 'novembro', 'dezembro'],\n shortMonths: ['Jan', 'Fev', 'Mar', 'Abr', 'Mai', 'Jun', 'Jul', 'Ago', 'Set', 'Out', 'Nov', 'Dez'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d-%m-%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n ru_RU: {\n identifier: 'ru-RU',\n days: ['Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг', 'Пятница', 'Суббота'],\n shortDays: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],\n months: ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'],\n shortMonths: ['янв', 'фев', 'мар', 'апр', 'май', 'июн', 'июл', 'авг', 'сен', 'окт', 'ноя', 'дек'],\n AM: 'AM',\n PM: 'PM',\n am: 'am',\n pm: 'pm',\n formats: {\n c: '%a %d %b %Y %X',\n D: '%d.%m.%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n tr_TR: {\n identifier: 'tr-TR',\n days: ['Pazar', 'Pazartesi', 'Salı','Çarşamba', 'Perşembe', 'Cuma', 'Cumartesi'],\n shortDays: ['Paz', 'Pzt', 'Sal', 'Çrş', 'Prş', 'Cum', 'Cts'],\n months: ['Ocak', 'Şubat', 'Mart', 'Nisan', 'Mayıs', 'Haziran', 'Temmuz', 'Ağustos', 'Eylül', 'Ekim', 'Kasım', 'Aralık'],\n shortMonths: ['Oca', 'Şub', 'Mar', 'Nis', 'May', 'Haz', 'Tem', 'Ağu', 'Eyl', 'Eki', 'Kas', 'Ara'],\n AM: 'ÖÖ',\n PM: 'ÖS',\n am: 'ÖÖ',\n pm: 'ÖS',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d-%m-%Y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%T',\n x: '%D'\n }\n },\n\n // By michaeljayt\n // https://github.com/michaeljayt/strftime/commit/bcb4c12743811d51e568175aa7bff3fd2a77cef3\n zh_CN: {\n identifier: 'zh-CN',\n days: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'],\n shortDays: ['日', '一', '二', '三', '四', '五', '六'],\n months: ['一月份', '二月份', '三月份', '四月份', '五月份', '六月份', '七月份', '八月份', '九月份', '十月份', '十一月份', '十二月份'],\n shortMonths: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'],\n AM: '上午',\n PM: '下午',\n am: '上午',\n pm: '下午',\n formats: {\n c: '%a %d %b %Y %X %Z',\n D: '%d/%m/%y',\n F: '%Y-%m-%d',\n R: '%H:%M',\n r: '%I:%M:%S %p',\n T: '%H:%M:%S',\n v: '%e-%b-%Y',\n X: '%r',\n x: '%D'\n }\n }\n };\n\n var DefaultLocale = Locales['en_US'],\n defaultStrftime = new Strftime(DefaultLocale, 0, false),\n isCommonJS = typeof module !== 'undefined',\n namespace;\n\n // CommonJS / Node module\n if (isCommonJS) {\n namespace = module.exports = defaultStrftime;\n }\n // Browsers and other environments\n else {\n // Get the global object. Works in ES3, ES5, and ES5 strict mode.\n namespace = (function() { return this || (1,eval)('this'); }());\n namespace.strftime = defaultStrftime;\n }\n\n // Polyfill Date.now for old browsers.\n if (typeof Date.now !== 'function') {\n Date.now = function() {\n return +new Date();\n };\n }\n\n function Strftime(locale, customTimezoneOffset, useUtcTimezone) {\n var _locale = locale || DefaultLocale,\n _customTimezoneOffset = customTimezoneOffset || 0,\n _useUtcBasedDate = useUtcTimezone || false,\n\n // we store unix timestamp value here to not create new Date() each iteration (each millisecond)\n // Date.now() is 2 times faster than new Date()\n // while millisecond precise is enough here\n // this could be very helpful when strftime triggered a lot of times one by one\n _cachedDateTimestamp = 0,\n _cachedDate;\n\n function _strftime(format, date) {\n var timestamp;\n\n if (!date) {\n var currentTimestamp = Date.now();\n if (currentTimestamp > _cachedDateTimestamp) {\n _cachedDateTimestamp = currentTimestamp;\n _cachedDate = new Date(_cachedDateTimestamp);\n\n timestamp = _cachedDateTimestamp;\n\n if (_useUtcBasedDate) {\n // how to avoid duplication of date instantiation for utc here?\n // we tied to getTimezoneOffset of the current date\n _cachedDate = new Date(_cachedDateTimestamp + getTimestampToUtcOffsetFor(_cachedDate) + _customTimezoneOffset);\n }\n }\n else {\n timestamp = _cachedDateTimestamp;\n }\n date = _cachedDate;\n }\n else {\n timestamp = date.getTime();\n\n if (_useUtcBasedDate) {\n var utcOffset = getTimestampToUtcOffsetFor(date);\n date = new Date(timestamp + utcOffset + _customTimezoneOffset);\n // If we've crossed a DST boundary with this calculation we need to\n // adjust the new date accordingly or it will be off by an hour in UTC.\n if (getTimestampToUtcOffsetFor(date) !== utcOffset) {\n var newUTCOffset = getTimestampToUtcOffsetFor(date);\n date = new Date(timestamp + newUTCOffset + _customTimezoneOffset);\n }\n }\n }\n\n return _processFormat(format, date, _locale, timestamp);\n }\n\n function _processFormat(format, date, locale, timestamp) {\n var resultString = '',\n padding = null,\n isInScope = false,\n length = format.length,\n extendedTZ = false;\n\n for (var i = 0; i < length; i++) {\n\n var currentCharCode = format.charCodeAt(i);\n\n if (isInScope === true) {\n // '-'\n if (currentCharCode === 45) {\n padding = '';\n continue;\n }\n // '_'\n else if (currentCharCode === 95) {\n padding = ' ';\n continue;\n }\n // '0'\n else if (currentCharCode === 48) {\n padding = '0';\n continue;\n }\n // ':'\n else if (currentCharCode === 58) {\n if (extendedTZ) {\n warn(\"[WARNING] detected use of unsupported %:: or %::: modifiers to strftime\");\n }\n extendedTZ = true;\n continue;\n }\n\n switch (currentCharCode) {\n\n // Examples for new Date(0) in GMT\n\n // '%'\n // case '%':\n case 37:\n resultString += '%';\n break;\n\n // 'Thursday'\n // case 'A':\n case 65:\n resultString += locale.days[date.getDay()];\n break;\n\n // 'January'\n // case 'B':\n case 66:\n resultString += locale.months[date.getMonth()];\n break;\n\n // '19'\n // case 'C':\n case 67:\n resultString += padTill2(Math.floor(date.getFullYear() / 100), padding);\n break;\n\n // '01/01/70'\n // case 'D':\n case 68:\n resultString += _processFormat(locale.formats.D, date, locale, timestamp);\n break;\n\n // '1970-01-01'\n // case 'F':\n case 70:\n resultString += _processFormat(locale.formats.F, date, locale, timestamp);\n break;\n\n // '00'\n // case 'H':\n case 72:\n resultString += padTill2(date.getHours(), padding);\n break;\n\n // '12'\n // case 'I':\n case 73:\n resultString += padTill2(hours12(date.getHours()), padding);\n break;\n\n // '000'\n // case 'L':\n case 76:\n resultString += padTill3(Math.floor(timestamp % 1000));\n break;\n\n // '00'\n // case 'M':\n case 77:\n resultString += padTill2(date.getMinutes(), padding);\n break;\n\n // 'am'\n // case 'P':\n case 80:\n resultString += date.getHours() < 12 ? locale.am : locale.pm;\n break;\n\n // '00:00'\n // case 'R':\n case 82:\n resultString += _processFormat(locale.formats.R, date, locale, timestamp);\n break;\n\n // '00'\n // case 'S':\n case 83:\n resultString += padTill2(date.getSeconds(), padding);\n break;\n\n // '00:00:00'\n // case 'T':\n case 84:\n resultString += _processFormat(locale.formats.T, date, locale, timestamp);\n break;\n\n // '00'\n // case 'U':\n case 85:\n resultString += padTill2(weekNumber(date, 'sunday'), padding);\n break;\n\n // '00'\n // case 'W':\n case 87:\n resultString += padTill2(weekNumber(date, 'monday'), padding);\n break;\n\n // '16:00:00'\n // case 'X':\n case 88:\n resultString += _processFormat(locale.formats.X, date, locale, timestamp);\n break;\n\n // '1970'\n // case 'Y':\n case 89:\n resultString += date.getFullYear();\n break;\n\n // 'GMT'\n // case 'Z':\n case 90:\n if (_useUtcBasedDate && _customTimezoneOffset === 0) {\n resultString += \"GMT\";\n }\n else {\n var tzName = getTimezoneName(date);\n resultString += tzName || '';\n }\n break;\n\n // 'Thu'\n // case 'a':\n case 97:\n resultString += locale.shortDays[date.getDay()];\n break;\n\n // 'Jan'\n // case 'b':\n case 98:\n resultString += locale.shortMonths[date.getMonth()];\n break;\n\n // ''\n // case 'c':\n case 99:\n resultString += _processFormat(locale.formats.c, date, locale, timestamp);\n break;\n\n // '01'\n // case 'd':\n case 100:\n resultString += padTill2(date.getDate(), padding);\n break;\n\n // ' 1'\n // case 'e':\n case 101:\n resultString += padTill2(date.getDate(), padding == null ? ' ' : padding);\n break;\n\n // 'Jan'\n // case 'h':\n case 104:\n resultString += locale.shortMonths[date.getMonth()];\n break;\n\n // '000'\n // case 'j':\n case 106:\n var y = new Date(date.getFullYear(), 0, 1);\n var day = Math.ceil((date.getTime() - y.getTime()) / (1000 * 60 * 60 * 24));\n resultString += padTill3(day);\n break;\n\n // ' 0'\n // case 'k':\n case 107:\n resultString += padTill2(date.getHours(), padding == null ? ' ' : padding);\n break;\n\n // '12'\n // case 'l':\n case 108:\n resultString += padTill2(hours12(date.getHours()), padding == null ? ' ' : padding);\n break;\n\n // '01'\n // case 'm':\n case 109:\n resultString += padTill2(date.getMonth() + 1, padding);\n break;\n\n // '\\n'\n // case 'n':\n case 110:\n resultString += '\\n';\n break;\n\n // '1st'\n // case 'o':\n case 111:\n // Try to use an ordinal suffix from the locale, but fall back to using the old\n // function for compatibility with old locales that lack them.\n var day = date.getDate();\n if (locale.ordinalSuffixes) {\n resultString += String(day) + (locale.ordinalSuffixes[day - 1] || ordinal(day));\n }\n else {\n resultString += String(day) + ordinal(day);\n }\n break;\n\n // 'AM'\n // case 'p':\n case 112:\n resultString += date.getHours() < 12 ? locale.AM : locale.PM;\n break;\n\n // '12:00:00 AM'\n // case 'r':\n case 114:\n resultString += _processFormat(locale.formats.r, date, locale, timestamp);\n break;\n\n // '0'\n // case 's':\n case 115:\n resultString += Math.floor(timestamp / 1000);\n break;\n\n // '\\t'\n // case 't':\n case 116:\n resultString += '\\t';\n break;\n\n // '4'\n // case 'u':\n case 117:\n var day = date.getDay();\n resultString += day === 0 ? 7 : day;\n break; // 1 - 7, Monday is first day of the week\n\n // ' 1-Jan-1970'\n // case 'v':\n case 118:\n resultString += _processFormat(locale.formats.v, date, locale, timestamp);\n break;\n\n // '4'\n // case 'w':\n case 119:\n resultString += date.getDay();\n break; // 0 - 6, Sunday is first day of the week\n\n // '12/31/69'\n // case 'x':\n case 120:\n resultString += _processFormat(locale.formats.x, date, locale, timestamp);\n break;\n\n // '70'\n // case 'y':\n case 121:\n resultString += ('' + date.getFullYear()).slice(2);\n break;\n\n // '+0000'\n // case 'z':\n case 122:\n if (_useUtcBasedDate && _customTimezoneOffset === 0) {\n resultString += extendedTZ ? \"+00:00\" : \"+0000\";\n }\n else {\n var off;\n if (_customTimezoneOffset !== 0) {\n off = _customTimezoneOffset / (60 * 1000);\n }\n else {\n off = -date.getTimezoneOffset();\n }\n var sign = off < 0 ? '-' : '+';\n var sep = extendedTZ ? ':' : '';\n var hours = Math.floor(Math.abs(off / 60));\n var mins = Math.abs(off % 60);\n resultString += sign + padTill2(hours) + sep + padTill2(mins);\n }\n break;\n\n default:\n if (isInScope) {\n resultString += '%';\n }\n resultString += format[i];\n break;\n }\n\n padding = null;\n isInScope = false;\n continue;\n }\n\n // '%'\n if (currentCharCode === 37) {\n isInScope = true;\n continue;\n }\n\n resultString += format[i];\n }\n\n return resultString;\n }\n\n var strftime = _strftime;\n\n strftime.localize = function(locale) {\n return new Strftime(locale || _locale, _customTimezoneOffset, _useUtcBasedDate);\n };\n\n strftime.localizeByIdentifier = function(localeIdentifier) {\n var locale = Locales[localeIdentifier];\n if (!locale) {\n warn('[WARNING] No locale found with identifier \"' + localeIdentifier + '\".');\n return strftime;\n }\n return strftime.localize(locale);\n };\n\n strftime.timezone = function(timezone) {\n var customTimezoneOffset = _customTimezoneOffset;\n var useUtcBasedDate = _useUtcBasedDate;\n\n var timezoneType = typeof timezone;\n if (timezoneType === 'number' || timezoneType === 'string') {\n useUtcBasedDate = true;\n\n // ISO 8601 format timezone string, [-+]HHMM\n if (timezoneType === 'string') {\n var sign = timezone[0] === '-' ? -1 : 1,\n hours = parseInt(timezone.slice(1, 3), 10),\n minutes = parseInt(timezone.slice(3, 5), 10);\n\n customTimezoneOffset = sign * ((60 * hours) + minutes) * 60 * 1000;\n // in minutes: 420\n }\n else if (timezoneType === 'number') {\n customTimezoneOffset = timezone * 60 * 1000;\n }\n }\n\n return new Strftime(_locale, customTimezoneOffset, useUtcBasedDate);\n };\n\n strftime.utc = function() {\n return new Strftime(_locale, _customTimezoneOffset, true);\n };\n\n return strftime;\n }\n\n function padTill2(numberToPad, paddingChar) {\n if (paddingChar === '' || numberToPad > 9) {\n return numberToPad;\n }\n if (paddingChar == null) {\n paddingChar = '0';\n }\n return paddingChar + numberToPad;\n }\n\n function padTill3(numberToPad) {\n if (numberToPad > 99) {\n return numberToPad;\n }\n if (numberToPad > 9) {\n return '0' + numberToPad;\n }\n return '00' + numberToPad;\n }\n\n function hours12(hour) {\n if (hour === 0) {\n return 12;\n }\n else if (hour > 12) {\n return hour - 12;\n }\n return hour;\n }\n\n // firstWeekday: 'sunday' or 'monday', default is 'sunday'\n //\n // Pilfered & ported from Ruby's strftime implementation.\n function weekNumber(date, firstWeekday) {\n firstWeekday = firstWeekday || 'sunday';\n\n // This works by shifting the weekday back by one day if we\n // are treating Monday as the first day of the week.\n var weekday = date.getDay();\n if (firstWeekday === 'monday') {\n if (weekday === 0) // Sunday\n weekday = 6;\n else\n weekday--;\n }\n\n var firstDayOfYearUtc = Date.UTC(date.getFullYear(), 0, 1),\n dateUtc = Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()),\n yday = Math.floor((dateUtc - firstDayOfYearUtc) / 86400000),\n weekNum = (yday + 7 - weekday) / 7;\n\n return Math.floor(weekNum);\n }\n\n // Get the ordinal suffix for a number: st, nd, rd, or th\n function ordinal(number) {\n var i = number % 10;\n var ii = number % 100;\n\n if ((ii >= 11 && ii <= 13) || i === 0 || i >= 4) {\n return 'th';\n }\n switch (i) {\n case 1: return 'st';\n case 2: return 'nd';\n case 3: return 'rd';\n }\n }\n\n function getTimestampToUtcOffsetFor(date) {\n return (date.getTimezoneOffset() || 0) * 60000;\n }\n\n // Tries to get a short timezone name using Date.toLocaleString, falling back on the platform default\n // using Date.toString if necessary.\n function getTimezoneName(date, localeIdentifier) {\n return getShortTimezoneName(date, localeIdentifier) || getDefaultTimezoneName(date);\n }\n\n // Unfortunately this returns GMT+2 when running with `TZ=Europe/Amsterdam node test.js` so it's not\n // perfect.\n function getShortTimezoneName(date, localeIdentifier) {\n if (localeIdentifier == null) return null;\n\n var tzString = date\n .toLocaleString(localeIdentifier, { timeZoneName: 'short' })\n .match(/\\s([\\w]+)$/);\n return tzString && tzString[1];\n }\n\n // This varies by platform so it's not an ideal way to get the time zone name. On most platforms it's\n // a short name but in Node v10+ and Chrome 66+ it's a long name now. Prefer getShortTimezoneName(date)\n // where possible.\n function getDefaultTimezoneName(date) {\n var tzString = date.toString().match(/\\(([\\w\\s]+)\\)/);\n return tzString && tzString[1];\n }\n\n function warn(message) {\n if (typeof console !== 'undefined' && typeof console.warn == 'function') {\n console.warn(message)\n }\n }\n\n}());\n","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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 */\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.styleq = void 0;\nvar cache = new WeakMap();\nvar compiledKey = '$$css';\n\nfunction createStyleq(options) {\n var disableCache;\n var disableMix;\n var transform;\n\n if (options != null) {\n disableCache = options.disableCache === true;\n disableMix = options.disableMix === true;\n transform = options.transform;\n }\n\n return function styleq() {\n // Keep track of property commits to the className\n var definedProperties = []; // The className and inline style to build up\n\n var className = '';\n var inlineStyle = null; // The current position in the cache graph\n\n var nextCache = disableCache ? null : cache; // This way of creating an array from arguments is fastest\n\n var styles = new Array(arguments.length);\n\n for (var i = 0; i < arguments.length; i++) {\n styles[i] = arguments[i];\n } // Iterate over styles from last to first\n\n\n while (styles.length > 0) {\n var possibleStyle = styles.pop(); // Skip empty items\n\n if (possibleStyle == null || possibleStyle === false) {\n continue;\n } // Push nested styles back onto the stack to be processed\n\n\n if (Array.isArray(possibleStyle)) {\n for (var _i = 0; _i < possibleStyle.length; _i++) {\n styles.push(possibleStyle[_i]);\n }\n\n continue;\n } // Process an individual style object\n\n\n var style = transform != null ? transform(possibleStyle) : possibleStyle;\n\n if (style.$$css) {\n // Build up the class names defined by this object\n var classNameChunk = ''; // Check the cache to see if we've already done this work\n\n if (nextCache != null && nextCache.has(style)) {\n // Cache: read\n var cacheEntry = nextCache.get(style);\n\n if (cacheEntry != null) {\n classNameChunk = cacheEntry[0]; // $FlowIgnore\n\n definedProperties.push.apply(definedProperties, cacheEntry[1]);\n nextCache = cacheEntry[2];\n }\n } // Update the chunks with data from this object\n else {\n // The properties defined by this object\n var definedPropertiesChunk = [];\n\n for (var prop in style) {\n var value = style[prop];\n if (prop === compiledKey) continue; // Each property value is used as an HTML class name\n // { 'debug.string': 'debug.string', opacity: 's-jskmnoqp' }\n\n if (typeof value === 'string' || value === null) {\n // Only add to chunks if this property hasn't already been seen\n if (!definedProperties.includes(prop)) {\n definedProperties.push(prop);\n\n if (nextCache != null) {\n definedPropertiesChunk.push(prop);\n }\n\n if (typeof value === 'string') {\n classNameChunk += classNameChunk ? ' ' + value : value;\n }\n }\n } // If we encounter a value that isn't a string or `null`\n else {\n console.error(\"styleq: \".concat(prop, \" typeof \").concat(String(value), \" is not \\\"string\\\" or \\\"null\\\".\"));\n }\n } // Cache: write\n\n\n if (nextCache != null) {\n // Create the next WeakMap for this sequence of styles\n var weakMap = new WeakMap();\n nextCache.set(style, [classNameChunk, definedPropertiesChunk, weakMap]);\n nextCache = weakMap;\n }\n } // Order of classes in chunks matches property-iteration order of style\n // object. Order of chunks matches passed order of styles from first to\n // last (which we iterate over in reverse).\n\n\n if (classNameChunk) {\n className = className ? classNameChunk + ' ' + className : classNameChunk;\n }\n } // ----- DYNAMIC: Process inline style object -----\n else {\n if (disableMix) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n inlineStyle = Object.assign({}, style, inlineStyle);\n } else {\n var subStyle = null;\n\n for (var _prop in style) {\n var _value = style[_prop];\n\n if (_value !== undefined) {\n if (!definedProperties.includes(_prop)) {\n if (_value != null) {\n if (inlineStyle == null) {\n inlineStyle = {};\n }\n\n if (subStyle == null) {\n subStyle = {};\n }\n\n subStyle[_prop] = _value;\n }\n\n definedProperties.push(_prop); // Cache is unnecessary overhead if results can't be reused.\n\n nextCache = null;\n }\n }\n }\n\n if (subStyle != null) {\n inlineStyle = Object.assign(subStyle, inlineStyle);\n }\n }\n }\n }\n\n var styleProps = [className, inlineStyle];\n return styleProps;\n };\n}\n\nvar styleq = createStyleq();\nexports.styleq = styleq;\nstyleq.factory = createStyleq;","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This 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';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.localizeStyle = localizeStyle;\nvar cache = new WeakMap();\nvar markerProp = '$$css$localize';\n/**\n * The compiler polyfills logical properties and values, generating a class\n * name for both writing directions. The style objects are annotated by\n * the compiler as needing this runtime transform. The results are memoized.\n *\n * { '$$css$localize': true, float: [ 'float-left', 'float-right' ] }\n * => { float: 'float-left' }\n */\n\nfunction compileStyle(style, isRTL) {\n // Create a new compiled style for styleq\n var compiledStyle = {};\n\n for (var prop in style) {\n if (prop !== markerProp) {\n var value = style[prop];\n\n if (Array.isArray(value)) {\n compiledStyle[prop] = isRTL ? value[1] : value[0];\n } else {\n compiledStyle[prop] = value;\n }\n }\n }\n\n return compiledStyle;\n}\n\nfunction localizeStyle(style, isRTL) {\n if (style[markerProp] != null) {\n var compiledStyleIndex = isRTL ? 1 : 0; // Check the cache in case we've already seen this object\n\n if (cache.has(style)) {\n var _cachedStyles = cache.get(style);\n\n var _compiledStyle = _cachedStyles[compiledStyleIndex];\n\n if (_compiledStyle == null) {\n // Update the missing cache entry\n _compiledStyle = compileStyle(style, isRTL);\n _cachedStyles[compiledStyleIndex] = _compiledStyle;\n cache.set(style, _cachedStyles);\n }\n\n return _compiledStyle;\n } // Create a new compiled style for styleq\n\n\n var compiledStyle = compileStyle(style, isRTL);\n var cachedStyles = new Array(2);\n cachedStyles[compiledStyleIndex] = compiledStyle;\n cache.set(style, cachedStyles);\n return compiledStyle;\n }\n\n return style;\n}","/**\n * Copyright (c) Nicolas Gallagher\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nmodule.exports = require('./dist/transform-localize-style');\n","var randomUUID = typeof crypto !== 'undefined' && crypto.randomUUID && crypto.randomUUID.bind(crypto);\nexport default {\n randomUUID\n};","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\n\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto);\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n return getRandomValues(rnds8);\n}","import validate from './validate.js';\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).slice(1));\n}\nexport function unsafeStringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n //\n // Note to future-self: No, you can't remove the `toLowerCase()` call.\n // REF: https://github.com/uuidjs/uuid/pull/677#issuecomment-1757351351\n return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();\n}\nfunction stringify(arr, offset = 0) {\n var uuid = unsafeStringify(arr, offset);\n // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n return uuid;\n}\nexport default stringify;","import native from './native.js';\nimport rng from './rng.js';\nimport { unsafeStringify } from './stringify.js';\nfunction v4(options, buf, offset) {\n if (native.randomUUID && !buf && !options) {\n return native.randomUUID();\n }\n options = options || {};\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n offset = offset || 0;\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n return buf;\n }\n return unsafeStringify(rnds);\n}\nexport default v4;","var timeout = 5000;\nvar lastTime = Date.now();\nvar callbacks = [];\n\nsetInterval(function() {\n var currentTime = Date.now();\n if (currentTime > (lastTime + timeout + 2000)) {\n callbacks.forEach(function (fn) {\n fn();\n });\n }\n lastTime = currentTime;\n}, timeout);\n\nmodule.exports = function (fn) {\n callbacks.push(fn);\n};\n","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;","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;","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;","var _typeof = require(\"./typeof.js\")[\"default\"];\nfunction _getRequireWildcardCache(e) {\n if (\"function\" != typeof WeakMap) return null;\n var r = new WeakMap(),\n t = new WeakMap();\n return (_getRequireWildcardCache = function _getRequireWildcardCache(e) {\n return e ? t : r;\n })(e);\n}\nfunction _interopRequireWildcard(e, r) {\n if (!r && e && e.__esModule) return e;\n if (null === e || \"object\" != _typeof(e) && \"function\" != typeof e) return {\n \"default\": e\n };\n var t = _getRequireWildcardCache(r);\n if (t && t.has(e)) return t.get(e);\n var n = {\n __proto__: null\n },\n a = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for (var u in e) if (\"default\" !== u && {}.hasOwnProperty.call(e, u)) {\n var i = a ? Object.getOwnPropertyDescriptor(e, u) : null;\n i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u];\n }\n return n[\"default\"] = e, t && t.set(e, n), n;\n}\nmodule.exports = _interopRequireWildcard, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","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;","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 (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, 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;","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;","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;","const ReadersWriterLock = require(\"./src/readers-writer-lock.cjs\")\n\nmodule.exports = {\n ReadersWriterLock\n}\n","module.exports = class ReadersWriterLock {\n constructor(args = {}) {\n this._debug = args.debug\n this._readers = 0\n this._writers = 0\n this._processQueueTimeout = null\n this._readQueue = []\n this._writeQueue = []\n }\n\n read(callback) {\n if (this._debug) this._log(\"read\")\n return new Promise((resolve, reject) => {\n this._readWithResolve({callback, resolve, reject})\n })\n }\n\n write(callback) {\n if (this._debug) this._log(\"write\")\n return new Promise((resolve, reject) => {\n this._writeWithResolve({callback, resolve, reject})\n })\n }\n\n _log(message) {\n console.log(\"ReadersWriteLock\", message, JSON.stringify({readers: this._readers, writers: this._writers}))\n }\n\n _readWithResolve(item) {\n if (this._writers > 0) {\n if (this._debug) this._log(\"Queue read\")\n this._readQueue.push(item)\n } else {\n if (this._debug) this._log(\"Process read\")\n this._processRead(item)\n }\n }\n\n _writeWithResolve(item) {\n if (this._readers > 0 || this._writers > 0) {\n if (this._debug) this._log(\"Queue write\")\n this._writeQueue.push(item)\n } else {\n if (this._debug) this._log(\"Process write\")\n this._processWrite(item)\n }\n }\n\n async _processRead(item) {\n this._readers++\n\n try {\n let result\n\n if (item.callback) result = await item.callback()\n await item.resolve(result)\n } catch (error) {\n item.reject(error)\n } finally {\n this._readers--\n this._processQueueLater()\n }\n }\n\n async _processWrite(item) {\n this._writers++\n\n try {\n let result\n\n if (item.callback) result = await item.callback()\n await item.resolve(result)\n } catch (error) {\n item.reject(error)\n } finally {\n this._writers--\n this._processQueueLater()\n }\n }\n\n // First execute anything waiting after having given the lock back to the original caller by executing at the end of the event-queue by timeout-hack\n _processQueueLater() {\n if (this._processQueueTimeout) {\n clearTimeout(this._processQueueTimeout)\n }\n\n this._processQueueTimeout = setTimeout(this._processQueue, 0)\n }\n\n _processQueue = () => {\n if (this._writers == 0) {\n // If no one has begun writing, we should try and proceed to next read item if any\n const readQueueItem = this._readQueue.shift()\n\n if (readQueueItem) {\n if (this._debug) this._log(\"Process next read\")\n this._processRead(readQueueItem)\n } else if (this._readers == 0) {\n // No writers, no next item to read - we should try and proceed to next write item if any\n const writeQueueItem = this._writeQueue.shift()\n\n if (writeQueueItem) {\n if (this._debug) this._log(\"Process next write\")\n this._processWrite(writeQueueItem)\n }\n }\n }\n }\n}\n","module.exports = class FormDataToObject {\n static toObject(formData) {\n const formDataToObject = new FormDataToObject(formData)\n return formDataToObject.toObject()\n }\n\n constructor(formData) {\n this.formData = formData\n }\n\n static formDataFromObject(object, options) {\n if (object instanceof FormData) {\n return object\n } else if (object.nodeName == \"FORM\") {\n if (options) options[\"form\"] = object\n\n return new FormData(object)\n } else {\n throw new Error(\"Didnt know how to get form data from that object\")\n }\n }\n\n toObject() {\n const result = {}\n\n for(const entry of this.formData.entries()) {\n const key = entry[0]\n const value = entry[1]\n\n this.treatInitial(key, value, result)\n }\n\n return result\n }\n\n treatInitial(key, value, result) {\n const firstMatch = key.match(/^(.+?)(\\[([\\s\\S]+$))/)\n\n if (firstMatch) {\n const inputName = firstMatch[1]\n const rest = firstMatch[2]\n\n let newResult\n\n if (inputName in result) {\n newResult = result[inputName]\n } else if (rest == \"[]\") {\n newResult = []\n result[inputName] = newResult\n } else {\n newResult = {}\n result[inputName] = newResult\n }\n\n this.treatSecond(value, rest, newResult)\n } else {\n result[key] = value\n }\n }\n\n treatSecond(value, rest, result) {\n const secondMatch = rest.match(/^\\[(.*?)\\]([\\s\\S]*)$/)\n const key = secondMatch[1]\n const newRest = secondMatch[2]\n\n let newResult\n\n if (rest == \"[]\") {\n result.push(value)\n } else if (newRest == \"\") {\n result[key] = value\n } else {\n if (typeof result == \"object\" && key in result) {\n newResult = result[key]\n } else if (newRest == \"[]\") {\n newResult = []\n result[key] = newResult\n } else {\n newResult = {}\n result[key] = newResult\n }\n\n this.treatSecond(value, newRest, newResult)\n }\n }\n}\n","module.exports = function numberable(number, {delimiter = \",\", precision = 2, separator = \".\"}) {\n // Fixed number of decimals to given precision and convert to string\n number = `${number.toFixed(precision)}`\n\n // Split whole number with decimals\n const numberParts = number.split(\".\")\n const wholeNumbers = numberParts[0]\n\n let decimals = numberParts[1]\n\n // Append decimals if there are fewer then decired\n while(decimals.length < precision) {\n decimals += \"0\"\n }\n\n // Add delimiters to the whole number\n let numberWithDelimiters = \"\"\n let location = wholeNumbers.length\n\n while(location >= 1) {\n if (numberWithDelimiters != \"\") {\n numberWithDelimiters = `${delimiter}${numberWithDelimiters}`\n }\n\n numberWithDelimiters = `${wholeNumbers.substring(location - 3, location)}${numberWithDelimiters}`\n location -= 3\n }\n\n return `${numberWithDelimiters}${separator}${decimals}`\n}\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar DefineOwnProperty = require('../helpers/DefineOwnProperty');\n\nvar FromPropertyDescriptor = require('./FromPropertyDescriptor');\nvar IsDataDescriptor = require('./IsDataDescriptor');\nvar IsPropertyKey = require('./IsPropertyKey');\nvar SameValue = require('./SameValue');\nvar Type = require('./Type');\n\n// https://262.ecma-international.org/6.0/#sec-createmethodproperty\n\nmodule.exports = function CreateMethodProperty(O, P, V) {\n\tif (Type(O) !== 'Object') {\n\t\tthrow new $TypeError('Assertion failed: Type(O) is not Object');\n\t}\n\n\tif (!IsPropertyKey(P)) {\n\t\tthrow new $TypeError('Assertion failed: IsPropertyKey(P) is not true');\n\t}\n\n\tvar newDesc = {\n\t\t'[[Configurable]]': true,\n\t\t'[[Enumerable]]': false,\n\t\t'[[Value]]': V,\n\t\t'[[Writable]]': true\n\t};\n\treturn DefineOwnProperty(\n\t\tIsDataDescriptor,\n\t\tSameValue,\n\t\tFromPropertyDescriptor,\n\t\tO,\n\t\tP,\n\t\tnewDesc\n\t);\n};\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar isPropertyDescriptor = require('../helpers/records/property-descriptor');\nvar fromPropertyDescriptor = require('../helpers/fromPropertyDescriptor');\n\n// https://262.ecma-international.org/6.0/#sec-frompropertydescriptor\n\nmodule.exports = function FromPropertyDescriptor(Desc) {\n\tif (typeof Desc !== 'undefined' && !isPropertyDescriptor(Desc)) {\n\t\tthrow new $TypeError('Assertion failed: `Desc` must be a Property Descriptor');\n\t}\n\n\treturn fromPropertyDescriptor(Desc);\n};\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar hasOwn = require('hasown');\n\nvar isPropertyDescriptor = require('../helpers/records/property-descriptor');\n\n// https://262.ecma-international.org/5.1/#sec-8.10.2\n\nmodule.exports = function IsDataDescriptor(Desc) {\n\tif (typeof Desc === 'undefined') {\n\t\treturn false;\n\t}\n\n\tif (!isPropertyDescriptor(Desc)) {\n\t\tthrow new $TypeError('Assertion failed: `Desc` must be a Property Descriptor');\n\t}\n\n\tif (!hasOwn(Desc, '[[Value]]') && !hasOwn(Desc, '[[Writable]]')) {\n\t\treturn false;\n\t}\n\n\treturn true;\n};\n","'use strict';\n\n// https://262.ecma-international.org/6.0/#sec-ispropertykey\n\nmodule.exports = function IsPropertyKey(argument) {\n\treturn typeof argument === 'string' || typeof argument === 'symbol';\n};\n","'use strict';\n\nvar $isNaN = require('../helpers/isNaN');\n\n// http://262.ecma-international.org/5.1/#sec-9.12\n\nmodule.exports = function SameValue(x, y) {\n\tif (x === y) { // 0 === -0, but they are not identical.\n\t\tif (x === 0) { return 1 / x === 1 / y; }\n\t\treturn true;\n\t}\n\treturn $isNaN(x) && $isNaN(y);\n};\n","'use strict';\n\nvar ES5Type = require('../5/Type');\n\n// https://262.ecma-international.org/11.0/#sec-ecmascript-data-types-and-values\n\nmodule.exports = function Type(x) {\n\tif (typeof x === 'symbol') {\n\t\treturn 'Symbol';\n\t}\n\tif (typeof x === 'bigint') {\n\t\treturn 'BigInt';\n\t}\n\treturn ES5Type(x);\n};\n","'use strict';\n\n// https://262.ecma-international.org/5.1/#sec-8\n\nmodule.exports = function Type(x) {\n\tif (x === null) {\n\t\treturn 'Null';\n\t}\n\tif (typeof x === 'undefined') {\n\t\treturn 'Undefined';\n\t}\n\tif (typeof x === 'function' || typeof x === 'object') {\n\t\treturn 'Object';\n\t}\n\tif (typeof x === 'number') {\n\t\treturn 'Number';\n\t}\n\tif (typeof x === 'boolean') {\n\t\treturn 'Boolean';\n\t}\n\tif (typeof x === 'string') {\n\t\treturn 'String';\n\t}\n};\n","'use strict';\n\nvar hasPropertyDescriptors = require('has-property-descriptors');\n\nvar $defineProperty = require('es-define-property');\n\nvar hasArrayLengthDefineBug = hasPropertyDescriptors.hasArrayLengthDefineBug();\n\n// eslint-disable-next-line global-require\nvar isArray = hasArrayLengthDefineBug && require('../helpers/IsArray');\n\nvar callBound = require('call-bind/callBound');\n\nvar $isEnumerable = callBound('Object.prototype.propertyIsEnumerable');\n\n// eslint-disable-next-line max-params\nmodule.exports = function DefineOwnProperty(IsDataDescriptor, SameValue, FromPropertyDescriptor, O, P, desc) {\n\tif (!$defineProperty) {\n\t\tif (!IsDataDescriptor(desc)) {\n\t\t\t// ES3 does not support getters/setters\n\t\t\treturn false;\n\t\t}\n\t\tif (!desc['[[Configurable]]'] || !desc['[[Writable]]']) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// fallback for ES3\n\t\tif (P in O && $isEnumerable(O, P) !== !!desc['[[Enumerable]]']) {\n\t\t\t// a non-enumerable existing property\n\t\t\treturn false;\n\t\t}\n\n\t\t// property does not exist at all, or exists but is enumerable\n\t\tvar V = desc['[[Value]]'];\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tO[P] = V; // will use [[Define]]\n\t\treturn SameValue(O[P], V);\n\t}\n\tif (\n\t\thasArrayLengthDefineBug\n\t\t&& P === 'length'\n\t\t&& '[[Value]]' in desc\n\t\t&& isArray(O)\n\t\t&& O.length !== desc['[[Value]]']\n\t) {\n\t\t// eslint-disable-next-line no-param-reassign\n\t\tO.length = desc['[[Value]]'];\n\t\treturn O.length === desc['[[Value]]'];\n\t}\n\n\t$defineProperty(O, P, FromPropertyDescriptor(desc));\n\treturn true;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $Array = GetIntrinsic('%Array%');\n\n// eslint-disable-next-line global-require\nvar toStr = !$Array.isArray && require('call-bind/callBound')('Object.prototype.toString');\n\nmodule.exports = $Array.isArray || function IsArray(argument) {\n\treturn toStr(argument) === '[object Array]';\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('call-bind');\nvar callBound = require('call-bind/callBound');\n\nvar $ownKeys = GetIntrinsic('%Reflect.ownKeys%', true);\nvar $pushApply = callBind.apply(GetIntrinsic('%Array.prototype.push%'));\nvar $SymbolValueOf = callBound('Symbol.prototype.valueOf', true);\nvar $gOPN = GetIntrinsic('%Object.getOwnPropertyNames%', true);\nvar $gOPS = $SymbolValueOf ? GetIntrinsic('%Object.getOwnPropertySymbols%') : null;\n\nvar keys = require('object-keys');\n\nmodule.exports = $ownKeys || function OwnPropertyKeys(source) {\n\tvar ownKeys = ($gOPN || keys)(source);\n\tif ($gOPS) {\n\t\t$pushApply(ownKeys, $gOPS(source));\n\t}\n\treturn ownKeys;\n};\n","'use strict';\n\nmodule.exports = function fromPropertyDescriptor(Desc) {\n\tif (typeof Desc === 'undefined') {\n\t\treturn Desc;\n\t}\n\tvar obj = {};\n\tif ('[[Value]]' in Desc) {\n\t\tobj.value = Desc['[[Value]]'];\n\t}\n\tif ('[[Writable]]' in Desc) {\n\t\tobj.writable = !!Desc['[[Writable]]'];\n\t}\n\tif ('[[Get]]' in Desc) {\n\t\tobj.get = Desc['[[Get]]'];\n\t}\n\tif ('[[Set]]' in Desc) {\n\t\tobj.set = Desc['[[Set]]'];\n\t}\n\tif ('[[Enumerable]]' in Desc) {\n\t\tobj.enumerable = !!Desc['[[Enumerable]]'];\n\t}\n\tif ('[[Configurable]]' in Desc) {\n\t\tobj.configurable = !!Desc['[[Configurable]]'];\n\t}\n\treturn obj;\n};\n","'use strict';\n\nmodule.exports = Number.isNaN || function isNaN(a) {\n\treturn a !== a;\n};\n","'use strict';\n\nvar $TypeError = require('es-errors/type');\n\nvar hasOwn = require('hasown');\n\nvar allowed = {\n\t__proto__: null,\n\t'[[Configurable]]': true,\n\t'[[Enumerable]]': true,\n\t'[[Get]]': true,\n\t'[[Set]]': true,\n\t'[[Value]]': true,\n\t'[[Writable]]': true\n};\n\n// https://262.ecma-international.org/6.0/#sec-property-descriptor-specification-type\n\nmodule.exports = function isPropertyDescriptor(Desc) {\n\tif (!Desc || typeof Desc !== 'object') {\n\t\treturn false;\n\t}\n\n\tfor (var key in Desc) { // eslint-disable-line\n\t\tif (hasOwn(Desc, key) && !allowed[key]) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\tvar isData = hasOwn(Desc, '[[Value]]') || hasOwn(Desc, '[[Writable]]');\n\tvar IsAccessor = hasOwn(Desc, '[[Get]]') || hasOwn(Desc, '[[Set]]');\n\tif (isData && IsAccessor) {\n\t\tthrow new $TypeError('Property Descriptors may not be both accessor and data descriptors');\n\t}\n\treturn true;\n};\n","module.exports = function uniqunize(array, callback) {\n const valuesSeen = []\n const uniqueArray = []\n\n for (const index in array) {\n const value = callback ? callback(array[index]) : array[index]\n\n if (!valuesSeen.includes(value)) {\n valuesSeen.push(value)\n uniqueArray.push(array[index])\n }\n }\n\n return uniqueArray\n}\n","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}\nexport { _arrayLikeToArray as default };","import unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nfunction _createForOfIteratorHelperLoose(r, e) {\n var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (t) return (t = t.call(r)).next.bind(t);\n if (Array.isArray(r) || (t = unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) {\n t && (r = t);\n var o = 0;\n return function () {\n return o >= r.length ? {\n done: !0\n } : {\n done: !1,\n value: r[o++]\n };\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _createForOfIteratorHelperLoose as default };","import arrayLikeToArray from \"./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}\nexport { _unsupportedIterableToArray as default };","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 };","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _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 }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import _typeof from \"./typeof.js\";\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}\nexport { toPrimitive as default };","import toPropertyKey from \"./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}\nexport { _defineProperty as default };","import defineProperty from \"./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}\nexport { _objectSpread2 as default };","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 (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nexport { _objectWithoutPropertiesLoose as default };","import {digg} from \"diggerize\"\n\nconst errorMessages = (args) => {\n if (typeof args.response == \"object\") {\n return digg(args, \"response\", \"errors\").map((error) => {\n if (typeof error == \"string\") {\n return error\n }\n\n return digg(error, \"message\")\n })\n }\n}\n\nexport default errorMessages\n","import {dig, digg} from \"diggerize\"\nimport errorMessages from \"./error-messages.mjs\"\n\nexport default class BaseError extends Error {\n static apiMakerType = \"BaseError\"\n\n constructor (message, args = {}) {\n let messageToUse = message\n\n if (\"addResponseErrorsToErrorMessage\" in args && !args.addResponseErrorsToErrorMessage) {\n messageToUse = message\n } else {\n if (typeof args.response == \"object\" && dig(args, \"response\", \"errors\")) {\n if (message) {\n messageToUse = `${messageToUse}: ${errorMessages(args).join(\". \")}`\n } else {\n messageToUse = errorMessages(args).join(\". \")\n }\n }\n }\n\n super(messageToUse)\n this.args = args\n\n // Maintains proper stack trace for where our error was thrown (only available on V8)\n if (Error.captureStackTrace) Error.captureStackTrace(this, BaseError)\n }\n\n errorMessages () {\n return errorMessages(this.args)\n }\n\n errorTypes () {\n if (typeof this.args.response == \"object\") {\n return digg(this, \"args\", \"response\", \"errors\").map((error) => digg(error, \"type\"))\n }\n }\n}\n","import {digg} from \"diggerize\"\nimport EventEmitter from \"events\"\nimport * as inflection from \"inflection\"\nimport {ReadersWriterLock} from \"epic-locks\"\nimport Services from \"./services.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerCanCan {\n abilities = []\n abilitiesToLoad = []\n abilitiesToLoadData = []\n events = new EventEmitter()\n lock = new ReadersWriterLock()\n\n static current () {\n if (!shared.currentApiMakerCanCan) shared.currentApiMakerCanCan = new ApiMakerCanCan()\n\n return shared.currentApiMakerCanCan\n }\n\n can (ability, subject) {\n let abilityToUse = inflection.underscore(ability)\n const foundAbility = this.findAbility(abilityToUse, subject)\n\n if (foundAbility === undefined) {\n let subjectLabel = subject\n\n // Translate resource-models into class name strings\n if (typeof subject == \"function\" && subject.modelClassData) {\n subjectLabel = digg(subject.modelClassData(), \"name\")\n }\n\n console.error(`Ability not loaded ${subjectLabel}#${abilityToUse}`, {abilities: this.abilities, ability, subject})\n\n return false\n } else {\n return digg(foundAbility, \"can\")\n }\n }\n\n findAbility (ability, subject) {\n return this.abilities.find((abilityData) => {\n const abilityDataSubject = digg(abilityData, \"subject\")\n const abilityDataAbility = digg(abilityData, \"ability\")\n\n if (abilityDataAbility == ability) {\n // If actually same class\n if (abilityDataSubject == subject) return true\n\n // Sometimes in dev when using linking it will actually be two different but identical resource classes\n if (\n typeof subject == \"function\" &&\n subject.modelClassData &&\n typeof abilityDataSubject == \"function\" &&\n abilityDataSubject.modelClassData &&\n digg(subject.modelClassData(), \"name\") == digg(abilityDataSubject.modelClassData(), \"name\")\n ) {\n return true\n }\n }\n\n return false\n })\n }\n\n isAbilityLoaded (ability, subject) {\n const foundAbility = this.findAbility(ability, subject)\n\n if (foundAbility !== undefined) {\n return true\n }\n\n return false\n }\n\n async loadAbilities (abilities) {\n await this.lock.read(async () => {\n const promises = []\n\n for (const abilityData of abilities) {\n const subject = abilityData[0]\n\n if (!subject) throw new Error(`Invalid subject given in abilities: ${subject} - ${JSON.stringify(abilities)}`)\n if (!Array.isArray(abilityData[1])) throw new Error(`Expected an array of abilities but got: ${typeof abilityData[1]}: ${abilityData[1]}`)\n\n for (const ability of abilityData[1]) {\n const promise = this.loadAbility(ability, subject)\n\n promises.push(promise)\n }\n }\n\n await Promise.all(promises)\n })\n }\n\n loadAbility (ability, subject) {\n return new Promise((resolve) => {\n ability = inflection.underscore(ability)\n\n if (this.isAbilityLoaded(ability, subject)) {\n resolve()\n return\n }\n\n const foundAbility = this.abilitiesToLoad.find((abilityToLoad) => digg(abilityToLoad, \"ability\") == ability && digg(abilityToLoad, \"subject\") == subject)\n\n if (foundAbility) {\n foundAbility.callbacks.push(resolve)\n } else {\n this.abilitiesToLoad.push({ability, callbacks: [resolve], subject})\n this.abilitiesToLoadData.push({ability, subject})\n\n this.queueAbilitiesRequest()\n }\n })\n }\n\n queueAbilitiesRequest () {\n if (this.queueAbilitiesRequestTimeout) {\n clearTimeout(this.queueAbilitiesRequestTimeout)\n }\n\n this.queueAbilitiesRequestTimeout = setTimeout(this.sendAbilitiesRequest, 0)\n }\n\n async resetAbilities () {\n await this.lock.write(() => {\n this.abilities = []\n })\n this.events.emit(\"onResetAbilities\")\n }\n\n sendAbilitiesRequest = async () => {\n const abilitiesToLoad = this.abilitiesToLoad\n const abilitiesToLoadData = this.abilitiesToLoadData\n\n this.abilitiesToLoad = []\n this.abilitiesToLoadData = []\n\n // Load abilities from backend\n const result = await Services.current().sendRequest(\"CanCan::LoadAbilities\", {\n request: abilitiesToLoadData\n })\n const abilities = digg(result, \"abilities\")\n\n // Set the loaded abilities\n this.abilities = this.abilities.concat(abilities)\n\n // Call the callbacks that are waiting for the ability to have been loaded\n for (const abilityData of abilitiesToLoad) {\n for (const callback of abilityData.callbacks) {\n callback()\n }\n }\n }\n}\n","import cloneDeep from \"clone-deep\"\nimport CommandsPool from \"./commands-pool.mjs\"\nimport {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport {incorporate} from \"incorporator\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport Result from \"./result.mjs\"\n\nexport default class ApiMakerCollection {\n static apiMakerType = \"Collection\"\n\n constructor(args, queryArgs = {}) {\n this.queryArgs = queryArgs\n this.args = args\n }\n\n abilities(originalAbilities) {\n const newAbilities = {}\n\n for (const originalAbilityName in originalAbilities) {\n const newModelName = inflection.underscore(originalAbilityName)\n const newValues = []\n const originalValues = originalAbilities[originalAbilityName]\n\n for (const originalAbilityName of originalValues) {\n const newAbilityName = inflection.underscore(originalAbilityName)\n newValues.push(newAbilityName)\n }\n\n newAbilities[newModelName] = newValues\n }\n\n return this._merge({abilities: newAbilities})\n }\n\n accessibleBy(abilityName) {\n return this._merge({accessibleBy: inflection.underscore(abilityName)})\n }\n\n async count() {\n const response = await this.clone()._merge({count: true})._response()\n\n return digg(response, \"count\")\n }\n\n distinct() {\n return this._merge({distinct: true})\n }\n\n async each(callback) {\n const array = await this.toArray()\n\n for (const model in array) {\n callback.call(model)\n }\n }\n\n except(...keys) {\n for (const key of keys) {\n if (key == \"page\") {\n delete this.queryArgs[key]\n } else {\n throw new Error(`Unhandled key: ${key}`)\n }\n }\n\n return this\n }\n\n async first() {\n const models = await this.toArray()\n return models[0]\n }\n\n groupBy(...arrayOfTablesAndColumns) {\n const arrayOfTablesAndColumnsWithLowercaseColumns = arrayOfTablesAndColumns.map((tableAndColumn) => {\n if (Array.isArray(tableAndColumn)) {\n return [tableAndColumn[0], tableAndColumn[1].toLowerCase()]\n } else {\n return tableAndColumn.toLowerCase()\n }\n })\n const currentGroupBy = this.queryArgs.groupBy || []\n const newGroupBy = currentGroupBy.concat(arrayOfTablesAndColumnsWithLowercaseColumns)\n\n return this._merge({\n groupBy: newGroupBy\n })\n }\n\n isLoaded() {\n if (this.args.reflectionName in this.args.model.relationshipsCache)\n return true\n\n return false\n }\n\n limit(amount) {\n return this._merge({limit: amount})\n }\n\n preloaded() {\n if (!(this.args.reflectionName in this.args.model.relationshipsCache)) {\n throw new Error(`${this.args.reflectionName} hasnt been loaded yet`)\n }\n\n return this.args.model.relationshipsCache[this.args.reflectionName]\n }\n\n loaded() {\n const {model, reflectionName} = this.args\n\n if (reflectionName in model.relationships) {\n return model.relationships[reflectionName]\n } else if (reflectionName in model.relationshipsCache) {\n return model.relationshipsCache[reflectionName]\n } else if (model.isNewRecord()) {\n const reflectionNameUnderscore = inflection.underscore(reflectionName)\n\n // Initialize as empty and try again to return the empty result\n this.set([])\n\n return digg(model.relationships, reflectionNameUnderscore)\n } else {\n const relationshipsLoaded = uniqunize(Object.keys(model.relationships).concat(Object.keys(model.relationshipsCache)))\n\n throw new Error(`${reflectionName} hasnt been loaded yet on ${model.modelClassData().name}. Loaded was: ${relationshipsLoaded.join(\", \")}`)\n }\n }\n\n // Replaces the relationships with the given new collection.\n set(newCollection) {\n this.args.model.relationships[this.args.reflectionName] = newCollection\n }\n\n // Pushes another model onto the given collection.\n push(newModel) {\n if (!(this.args.reflectionName in this.args.model.relationships)) {\n this.args.model.relationships[this.args.reflectionName] = []\n }\n\n this.args.model.relationships[this.args.reflectionName].push(newModel)\n }\n\n // Array shortcuts\n find = (...args) => this.loaded().find(...args)\n forEach = (...args) => this.loaded().forEach(...args)\n map = (...args) => this.loaded().map(...args)\n\n preload(preloadValue) {\n return this._merge({preload: preloadValue})\n }\n\n page(page) {\n if (!page)\n page = 1\n\n return this._merge({page})\n }\n\n pageKey(pageKey) {\n return this._merge({pageKey})\n }\n\n params() {\n let params = {}\n\n if (this.queryArgs.params) params = incorporate(params, this.queryArgs.params)\n if (this.queryArgs.abilities) params.abilities = this.queryArgs.abilities\n if (this.queryArgs.accessibleBy) params.accessible_by = inflection.underscore(this.queryArgs.accessibleBy)\n if (this.queryArgs.count) params.count = this.queryArgs.count\n if (this.queryArgs.distinct) params.distinct = this.queryArgs.distinct\n if (this.queryArgs.groupBy) params.group_by = this.queryArgs.groupBy\n if (this.queryArgs.ransack) params.q = this.queryArgs.ransack\n if (this.queryArgs.limit) params.limit = this.queryArgs.limit\n if (this.queryArgs.preload) params.preload = this.queryArgs.preload\n if (this.queryArgs.page) params.page = this.queryArgs.page\n if (this.queryArgs.per) params.per = this.queryArgs.per\n if (this.queryArgs.search) params.search = this.queryArgs.search\n if (this.queryArgs.select) params.select = this.queryArgs.select\n if (this.queryArgs.selectColumns) params.select_columns = this.queryArgs.selectColumns\n\n return params\n }\n\n per(per) {\n return this._merge({per})\n }\n\n perKey(perKey) {\n return this._merge({perKey})\n }\n\n ransack(params) {\n if (params) this._merge({ransack: params})\n return this\n }\n\n async result() {\n const response = await this._response()\n const models = digg(response, \"collection\")\n\n this._addQueryToModels(models)\n\n const result = new Result({collection: this, models, response})\n\n return result\n }\n\n search(params) {\n if (params) this._merge({search: params})\n return this\n }\n\n searchKey(searchKey) {\n return this._merge({searchKey})\n }\n\n select(originalSelect) {\n const newSelect = {}\n\n for (const originalModelName in originalSelect) {\n const newModelName = inflection.underscore(originalModelName)\n const newValues = []\n const originalValues = originalSelect[originalModelName]\n\n for (const originalAttributeName of originalValues) {\n const newAttributeName = inflection.underscore(originalAttributeName)\n newValues.push(newAttributeName)\n }\n\n newSelect[newModelName] = newValues\n }\n\n return this._merge({select: newSelect})\n }\n\n selectColumns(originalSelect) {\n const newSelect = {}\n\n for (const originalModelName in originalSelect) {\n const newModelName = inflection.underscore(inflection.underscore(originalModelName))\n const newValues = []\n const originalValues = originalSelect[originalModelName]\n\n for (const originalAttributeName of originalValues) {\n const newAttributeName = inflection.underscore(originalAttributeName)\n newValues.push(newAttributeName)\n }\n\n newSelect[newModelName] = newValues\n }\n\n return this._merge({selectColumns: newSelect})\n }\n\n sort(sortBy) {\n return this._merge({ransack: {s: sortBy}})\n }\n\n async toArray() {\n const response = await this._response()\n const models = digg(response, \"collection\")\n\n this._addQueryToModels(models)\n\n return models\n }\n\n modelClass() {\n const modelName = digg(this.args.modelClass.modelClassData(), \"name\")\n\n return modelClassRequire(modelName)\n }\n\n clone() {\n const clonedQueryArgs = cloneDeep(this.queryArgs)\n\n return new ApiMakerCollection(this.args, clonedQueryArgs)\n }\n\n // This is needed when reloading a version of the model with the same selected attributes and preloads\n _addQueryToModels(models) {\n for(const model of models) {\n model.collection = this\n }\n }\n\n _merge(newQueryArgs) {\n incorporate(this.queryArgs, newQueryArgs)\n\n return this\n }\n\n _response() {\n const modelClassData = this.args.modelClass.modelClassData()\n\n return CommandsPool.addCommand(\n {\n args: this.params(),\n command: `${modelClassData.collectionName}-index`,\n collectionName: modelClassData.collectionName,\n type: \"index\"\n },\n {}\n )\n }\n}\n","import config from \"./config.mjs\"\nimport CustomError from \"./custom-error.mjs\"\nimport FormDataObjectizer from \"form-data-objectizer\"\nimport Logger from \"./logger.mjs\"\nimport qs from \"qs\"\nimport SessionStatusUpdater from \"./session-status-updater.mjs\"\nimport urlEncode from \"./url-encode.mjs\"\n\nconst logger = new Logger({name: \"ApiMaker / Api\"})\n\n// logger.setDebug(true)\n\nexport default class Api {\n static get = async (path, pathParams = null) => await Api.requestLocal({path, pathParams, method: \"GET\"})\n static delete = async (path, pathParams = null) => await Api.requestLocal({path, pathParams, method: \"DELETE\"})\n static patch = async (path, data = {}) => await Api.requestLocal({path, data, method: \"PATCH\"})\n static post = async (path, data = {}) => await Api.requestLocal({path, data, method: \"POST\"})\n\n static async request({data, headers, method, path, pathParams}) {\n let requestPath = \"\"\n if (config.getHost()) requestPath += config.getHost()\n requestPath += path\n\n if (pathParams) {\n const pathParamsString = qs.stringify(pathParams, {arrayFormat: \"brackets\", encoder: urlEncode})\n requestPath += `?${pathParamsString}`\n }\n\n const xhr = new XMLHttpRequest()\n\n xhr.open(method, requestPath, true)\n xhr.withCredentials = true\n\n if (headers) {\n for (const headerName in headers) {\n xhr.setRequestHeader(headerName, headers[headerName])\n }\n }\n\n const response = await Api.executeXhr(xhr, data)\n\n return response\n }\n\n static executeXhr(xhr, data) {\n return new Promise((resolve, reject) => {\n xhr.onload = () => {\n const response = this._parseResponse(xhr)\n\n if (xhr.status == 200) {\n resolve(response)\n } else {\n const customError = new CustomError(`Request failed with code: ${xhr.status}`, {response, xhr})\n\n if (data instanceof FormData) {\n customError.peakflowParameters = FormDataObjectizer.toObject(data)\n } else {\n customError.peakflowParameters = data\n }\n\n reject(customError)\n }\n }\n\n xhr.send(data)\n })\n }\n\n static async requestLocal(args) {\n if (!args.headers) {\n args.headers = {}\n }\n\n const token = await this._token()\n\n logger.debug(() => `Got token: ${token}`)\n\n if (token) {\n args.headers[\"X-CSRF-Token\"] = token\n }\n\n if (args.data) {\n args.headers[\"Content-Type\"] = \"application/json\"\n args.data = JSON.stringify(args.data)\n }\n\n if (args.rawData) {\n args.data = args.rawData\n }\n\n return await this.request(args)\n }\n\n static async put(path, data = {}) {\n return await this.requestLocal({path, data, method: \"PUT\"})\n }\n\n static _token = async () => await SessionStatusUpdater.current().getCsrfToken()\n\n static _parseResponse(xhr) {\n const responseType = xhr.getResponseHeader(\"content-type\")\n\n if (responseType && responseType.startsWith(\"application/json\")) {\n return JSON.parse(xhr.responseText)\n } else {\n return xhr.responseText\n }\n }\n}\n","import objectToFormData from \"object-to-formdata\"\n\nexport default class ApiMakerCommandSubmitData {\n constructor (data) {\n this.data = data\n this.filesCount = 0\n this.jsonData = this.traverseObject(this.data, \"json\")\n }\n\n getFilesCount = () => this.filesCount\n getJsonData = () => this.jsonData\n\n getRawData () {\n if (!this.rawData) {\n this.rawData = this.traverseObject(this.data, \"raw\")\n }\n\n return this.rawData\n }\n\n getFormData () {\n const objectForFormData = this.getRawData() || {}\n\n objectForFormData.json = JSON.stringify(this.getJsonData())\n\n const formData = objectToFormData.serialize(objectForFormData)\n\n return formData\n }\n\n convertDynamic (value, type) {\n if (Array.isArray(value)) {\n return this.traverseArray(value, type)\n } else if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\") {\n return this.traverseObject(value, type)\n } else {\n return value\n }\n }\n\n shouldSkip (object, type) {\n if (type == \"json\" && object instanceof File) {\n this.filesCount += 1\n return true\n }\n\n if (type == \"raw\" && !Array.isArray(object) && !this.isObject(object) && !(object instanceof File)) {\n return true\n }\n\n return false\n }\n\n isObject (value) {\n if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\") {\n return true\n }\n\n return false\n }\n\n traverseArray (array, type) {\n const newArray = []\n\n for (const value of array) {\n if (this.shouldSkip(value, type)) {\n continue\n }\n\n if (Array.isArray(value)) {\n newArray.push(this.convertDynamic(value, type))\n } else if (this.isObject(value)) {\n newArray.push(this.convertDynamic(value, type))\n } else {\n newArray.push(value)\n }\n }\n\n return newArray\n }\n\n traverseObject (object, type) {\n const newObject = {}\n\n for (const key in object) {\n const value = object[key]\n\n if (this.shouldSkip(value, type)) {\n continue\n }\n\n if (Array.isArray(value)) {\n newObject[key] = this.convertDynamic(value, type)\n } else if (this.isObject(value)) {\n newObject[key] = this.convertDynamic(value, type)\n } else {\n newObject[key] = value\n }\n }\n\n return newObject\n }\n}\n","import CustomError from \"./custom-error.mjs\"\n\nclass DestroyError extends CustomError {}\n\nDestroyError.apiMakerType = \"DestroyError\"\n\nexport default DestroyError\n","import {digg} from \"diggerize\"\n\nexport default class Serializer {\n static serialize (arg) {\n const serialize = new Serializer(arg)\n\n return serialize.serialize()\n }\n\n constructor (arg) {\n this.arg = arg\n }\n\n serialize () {\n return this.serializeArgument(this.arg)\n }\n\n serializeArgument (arg) {\n if (typeof arg == \"object\" && arg && arg.constructor.apiMakerType == \"BaseModel\") {\n return {\n api_maker_type: \"model\",\n model_class_name: digg(arg.modelClassData(), \"name\"),\n model_id: arg.id()\n }\n } else if (typeof arg == \"function\" && arg.apiMakerType == \"BaseModel\") {\n return {\n api_maker_type: \"resource\",\n name: digg(arg.modelClassData(), \"name\")\n }\n } else if (arg instanceof Date) {\n let offsetNumber = parseInt((arg.getTimezoneOffset() / 60) * 100, 10)\n\n offsetNumber = -offsetNumber\n\n let offset = `${offsetNumber}`\n\n while (offset.length < 4) {\n offset = `0${offset}`\n }\n\n return {\n api_maker_type: \"datetime\",\n value: `${arg.getFullYear()}-${arg.getMonth() + 1}-${arg.getDate()} ${arg.getHours()}:${arg.getMinutes()}:${arg.getSeconds()}+${offset}`\n }\n } else if (Array.isArray(arg)) {\n return this.serializeArray(arg)\n } else if (typeof arg == \"object\" && arg && arg.constructor && arg.constructor.apiMakerType == \"Collection\") {\n return {\n api_maker_type: \"collection\",\n value: this.serializeObject(arg)\n }\n } else if (typeof arg == \"object\" && arg !== null && arg.constructor.name == \"Object\") {\n return this.serializeObject(arg)\n } else {\n return arg\n }\n }\n\n serializeArray (arg) {\n return arg.map((value) => this.serializeArgument(value))\n }\n\n serializeObject (arg) {\n const newObject = {}\n\n for (const key in arg) {\n const value = arg[key]\n const newValue = this.serializeArgument(value)\n const newKey = this.serializeArgument(key)\n\n newObject[newKey] = newValue\n }\n\n return newObject\n }\n}\n","import Api from \"./api.mjs\"\nimport CommandSubmitData from \"./command-submit-data.mjs\"\nimport CustomError from \"./custom-error.mjs\"\nimport DestroyError from \"./destroy-error.mjs\"\nimport Deserializer from \"./deserializer.mjs\"\nimport {dig, digg} from \"diggerize\"\nimport events from \"./events.mjs\"\nimport FormDataObjectizer from \"form-data-objectizer\"\nimport RunLast from \"./run-last.mjs\"\nimport Serializer from \"./serializer.mjs\"\nimport SessionStatusUpdater from \"./session-status-updater.mjs\"\nimport ValidationError from \"./validation-error.mjs\"\nimport {ValidationErrors} from \"./validation-errors.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerCommandsPool {\n static addCommand(data, args = {}) {\n let pool\n\n if (args.instant) {\n pool = new ApiMakerCommandsPool()\n } else {\n pool = ApiMakerCommandsPool.current()\n }\n\n const promiseResult = pool.addCommand(data)\n\n if (args.instant) {\n pool.flushRunLast.run()\n } else {\n pool.flushRunLast.queue()\n }\n\n return promiseResult\n }\n\n static current() {\n if (!shared.currentApiMakerCommandsPool) shared.currentApiMakerCommandsPool = new ApiMakerCommandsPool()\n\n return shared.currentApiMakerCommandsPool\n }\n\n static flush() {\n ApiMakerCommandsPool.current().flush()\n }\n\n constructor() {\n this.flushCount = 0\n this.pool = {}\n this.poolData = {}\n this.currentId = 1\n this.globalRequestData = {}\n }\n\n addCommand(data) {\n const stack = Error().stack\n\n return new Promise((resolve, reject) => {\n const id = this.currentId\n this.currentId += 1\n\n const commandType = data.type\n const commandName = data.command\n const collectionName = data.collectionName\n\n this.pool[id] = {resolve, reject, stack}\n\n if (!this.poolData[commandType]) this.poolData[commandType] = {}\n if (!this.poolData[commandType][collectionName]) this.poolData[commandType][collectionName] = {}\n if (!this.poolData[commandType][collectionName][commandName]) this.poolData[commandType][collectionName][commandName] = {}\n\n let args\n\n if (data.args?.nodeName == \"FORM\") {\n const formData = new FormData(data.args)\n\n args = FormDataObjectizer.toObject(formData)\n } else if (data.args instanceof FormData) {\n args = FormDataObjectizer.toObject(data.args)\n } else {\n args = Serializer.serialize(data.args)\n }\n\n this.poolData[commandType][collectionName][commandName][id] = {\n args,\n primary_key: data.primaryKey,\n id\n }\n })\n }\n\n commandsCount() {\n return Object.keys(this.pool)\n }\n\n async sendRequest({commandSubmitData, url}) {\n let response\n\n for (let i = 0; i < 3; i++) {\n if (commandSubmitData.getFilesCount() > 0) {\n response = await Api.requestLocal({path: url, method: \"POST\", rawData: commandSubmitData.getFormData()})\n } else {\n response = await Api.requestLocal({path: url, method: \"POST\", data: commandSubmitData.getJsonData()})\n }\n\n if (response.success === false && response.type == \"invalid_authenticity_token\") {\n console.log(\"Invalid authenticity token - try again\")\n await SessionStatusUpdater.current().updateSessionStatus()\n continue\n }\n\n return response\n }\n\n throw new Error(\"Couldnt successfully execute request\")\n }\n\n flush = async () => {\n if (this.commandsCount() == 0) {\n return\n }\n\n const currentPool = this.pool\n const currentPoolData = this.poolData\n\n this.pool = {}\n this.poolData = {}\n this.flushCount++\n\n try {\n const submitData = {pool: currentPoolData}\n\n if (Object.keys(this.globalRequestData).length > 0)\n submitData.global = this.globalRequestData\n\n const commandSubmitData = new CommandSubmitData(submitData)\n const url = \"/api_maker/commands\"\n const response = await this.sendRequest({commandSubmitData, url})\n\n for (const commandId in response.responses) {\n const commandResponse = response.responses[commandId]\n const commandResponseData = Deserializer.parse(commandResponse.data)\n const commandData = currentPool[parseInt(commandId, 10)]\n const responseType = commandResponse.type\n\n if (commandResponseData && typeof commandResponseData == \"object\") {\n const bugReportUrl = dig(commandResponseData, \"bug_report_url\")\n\n if (bugReportUrl) {\n console.log(`Bug report URL: ${bugReportUrl}`)\n }\n }\n\n if (responseType == \"success\") {\n commandData.resolve(commandResponseData)\n } else if (responseType == \"error\") {\n const error = new CustomError(\"Command error\", {response: commandResponseData})\n\n error.stack += \"\\n\"\n error.stack += commandData.stack.split(\"\\n\").slice(1).join(\"\\n\")\n\n commandData.reject(error)\n } else if (responseType == \"failed\") {\n this.handleFailedResponse(commandData, commandResponseData)\n } else {\n throw new Error(`Unhandled response type: ${responseType}`)\n }\n }\n } finally {\n this.flushCount--\n }\n }\n\n handleFailedResponse(commandData, commandResponseData) {\n let error\n\n if (commandResponseData.error_type == \"destroy_error\") {\n error = new DestroyError(`Destroy failed`, {response: commandResponseData})\n } else if (commandResponseData.error_type == \"validation_error\") {\n const validationErrors = new ValidationErrors({\n model: digg(commandResponseData, \"model\"),\n validationErrors: digg(commandResponseData, \"validation_errors\")\n })\n error = new ValidationError(validationErrors, {response: commandResponseData})\n\n events.emit(\"onValidationErrors\", validationErrors)\n } else {\n let errorMessage\n\n if (!commandResponseData.errors) { errorMessage = \"Command failed\" }\n\n error = new CustomError(errorMessage, {response: commandResponseData})\n }\n\n commandData.reject(error)\n }\n\n isActive() {\n if (this.commandsCount() > 0) {\n return true\n }\n\n if (this.flushCount > 0) {\n return true\n }\n\n return false\n }\n\n flushRunLast = new RunLast(this.flush)\n}\n","import * as inflection from \"inflection\"\n\nconst accessors = {\n breakPoints: {\n default: [\n [\"xxl\", 1400],\n [\"xl\", 1200],\n [\"lg\", 992],\n [\"md\", 768],\n [\"sm\", 576],\n [\"xs\", 0]\n ],\n required: true\n },\n currenciesCollection: {required: true},\n history: {required: false},\n host: {required: false},\n i18n: {required: false},\n modal: {required: false},\n routes: {required: false},\n routeDefinitions: {required: false}\n}\n\nclass ApiMakerConfig {\n constructor() {\n if (!globalThis.apiMakerConfigGlobal) globalThis.apiMakerConfigGlobal = {}\n\n this.global = globalThis.apiMakerConfigGlobal\n }\n}\n\nfor (const accessorName in accessors) {\n const accessorData = accessors[accessorName]\n const camelizedAccessor = inflection.camelize(accessorName)\n\n ApiMakerConfig.prototype[`set${camelizedAccessor}`] = function (newValue) { this.global[accessorName] = newValue }\n ApiMakerConfig.prototype[`get${camelizedAccessor}`] = function (...args) {\n if (!this.global[accessorName]) {\n if (accessorData.default) return accessorData.default\n if (accessorData.required) throw new Error(`${accessorName} hasn't been set`)\n }\n\n const value = this.global[accessorName]\n\n if (typeof value == \"function\") return value(...args)\n\n return value\n }\n}\n\nconst apiMakerConfig = new ApiMakerConfig()\n\nexport default apiMakerConfig\n","import BaseError from \"./base-error.mjs\"\n\nclass CustomError extends BaseError {}\n\nCustomError.apiMakerType = \"CustomError\"\n\nexport default CustomError\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport ModelsResponseReader from \"./models-response-reader.mjs\"\nimport Money from \"js-money\"\n\nexport default class ApiMakerDeserializer {\n static parse (object) {\n if (Array.isArray(object)) {\n return object.map((value) => ApiMakerDeserializer.parse(value))\n } else if (object && typeof object == \"object\") {\n if (object.api_maker_type == \"date\") {\n const date = new Date(digg(object, \"value\"))\n\n date.apiMakerType = \"date\"\n\n return date\n } else if (object.api_maker_type == \"time\") {\n const date = new Date(digg(object, \"value\"))\n\n date.apiMakerType = \"time\"\n\n return date\n } else if (object.api_maker_type == \"collection\") {\n // Need to remove type to avoid circular error\n const {api_maker_type, ...restObject} = object\n\n return ModelsResponseReader.collection(ApiMakerDeserializer.parse(restObject))\n } else if (object.api_maker_type == \"money\") {\n const cents = digg(object, \"amount\")\n const currency = digg(object, \"currency\")\n\n return Money.fromInteger(cents, currency)\n } else if (object.api_maker_type == \"model\") {\n const modelClassName = inflection.classify(digg(object, \"model_name\"))\n const ModelClass = modelClassRequire(modelClassName)\n const data = ApiMakerDeserializer.parse(digg(object, \"serialized\"))\n const model = new ModelClass({data, isNewRecord: false})\n\n return model\n } else if (object.api_maker_type == \"resource\") {\n const modelClassName = inflection.classify(digg(object, \"name\"))\n const ModelClass = modelClassRequire(modelClassName)\n\n return ModelClass\n } else {\n const newObject = {}\n\n for (const key in object) {\n const value = object[key]\n newObject[key] = ApiMakerDeserializer.parse(value)\n }\n\n return newObject\n }\n } else {\n return object\n }\n }\n}\n","import CanCan from \"./can-can.mjs\"\nimport Deserializer from \"./deserializer.mjs\"\nimport {digg} from \"diggerize\"\nimport events from \"./events.mjs\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport Services from \"./services.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerDevise {\n static callSignOutEvent(args) {\n events.emit(\"onDeviseSignOut\", {args})\n }\n\n static current() {\n if (!shared.currentApiMakerDevise) {\n shared.currentApiMakerDevise = new ApiMakerDevise()\n }\n\n return shared.currentApiMakerDevise\n }\n\n static events() {\n return events\n }\n\n static addUserScope(scope) {\n const currentMethodName = `current${inflection.camelize(scope)}`\n\n ApiMakerDevise[currentMethodName] = () => ApiMakerDevise.current().getCurrentScope(scope)\n\n const isSignedInMethodName = `is${inflection.camelize(scope)}SignedIn`\n\n ApiMakerDevise[isSignedInMethodName] = () => Boolean(ApiMakerDevise.current().getCurrentScope(scope))\n }\n\n static async signIn(username, password, args = {}) {\n if (!args.scope) args.scope = \"user\"\n\n const postData = {username, password, args}\n const response = await Services.current().sendRequest(\"Devise::SignIn\", postData)\n\n let model = response.model\n\n if (Array.isArray(model)) model = model[0]\n\n await CanCan.current().resetAbilities()\n\n ApiMakerDevise.updateSession(model)\n events.emit(\"onDeviseSignIn\", Object.assign({username}, args))\n\n return {model, response}\n }\n\n static updateSession(model, args = {}) {\n if (!args.scope) args.scope = \"user\"\n\n const camelizedScopeName = inflection.camelize(args.scope, true)\n\n ApiMakerDevise.current().currents[camelizedScopeName] = model\n }\n\n hasCurrentScope(scope) {\n const camelizedScopeName = inflection.camelize(scope, true)\n\n return camelizedScopeName in ApiMakerDevise.current().currents\n }\n\n static setSignedOut(args) {\n ApiMakerDevise.current().currents[inflection.camelize(args.scope, true)] = null\n }\n\n static async signOut(args = {}) {\n if (!args.scope) {\n args.scope = \"user\"\n }\n\n const response = await Services.current().sendRequest(\"Devise::SignOut\", {args})\n\n await CanCan.current().resetAbilities()\n\n // Cannot use the class because they would both import each other\n if (shared.apiMakerSessionStatusUpdater) {\n shared.apiMakerSessionStatusUpdater.updateSessionStatus()\n }\n\n ApiMakerDevise.setSignedOut(args)\n ApiMakerDevise.callSignOutEvent(args)\n\n return response\n }\n\n constructor() {\n this.currents = {}\n }\n\n getCurrentScope(scope) {\n if (!(scope in this.currents)) {\n this.currents[scope] = this.loadCurrentScope(scope)\n }\n\n return this.currents[scope]\n }\n\n hasGlobalCurrentScope(scope) {\n if (globalThis.apiMakerDeviseCurrent && scope in globalThis.apiMakerDeviseCurrent) {\n return true\n }\n\n return false\n }\n\n loadCurrentScope(scope) {\n if (!this.hasGlobalCurrentScope(scope)) {\n return null\n }\n\n const scopeData = globalThis.apiMakerDeviseCurrent[scope]\n\n if (!scopeData) return null\n\n const parsedScopeData = Deserializer.parse(scopeData)\n\n // Might be a collection with preloaded relationships\n if (Array.isArray(parsedScopeData)) return parsedScopeData[0]\n\n const ModelClass = modelClassRequire(scope)\n const modelInstance = new ModelClass({data: parsedScopeData})\n\n return modelInstance\n }\n}\n","var 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||\\/|[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|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|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\nexport { parse };\n","import * as stackTraceParser from \"stacktrace-parser\"\nimport Logger from \"./logger.mjs\"\nimport {SourceMapConsumer} from \"source-map\"\nimport uniqunize from \"uniqunize\"\n\n// Sometimes this needs to be called and sometimes not\nif (SourceMapConsumer.initialize) {\n SourceMapConsumer.initialize({\n \"lib/mappings.wasm\": \"https://unpkg.com/source-map@0.7.3/lib/mappings.wasm\"\n })\n}\n\nconst logger = new Logger({name: \"ApiMaker / SourceMapsLoader\"})\n\nexport default class SourceMapsLoader {\n constructor() {\n this.isLoadingSourceMaps = false\n this.sourceMaps = []\n this.srcLoaded = {}\n }\n\n loadSourceMapsForScriptTags(callback) {\n this.loadSourceMapsForScriptTagsCallback = callback\n }\n\n sourceMapForSource(callback) {\n this.sourceMapForSourceCallback = callback\n }\n\n async loadSourceMaps(error) {\n if (!error) throw new Error(\"No error was given to SourceMapsLoader#loadSourceMaps\")\n\n this.isLoadingSourceMaps = true\n\n try {\n const promises = []\n const sources = this.getSources(error)\n\n for(const source of sources) {\n if (source.originalUrl && !this.srcLoaded[source.originalUrl]) {\n this.srcLoaded[source.originalUrl] = true\n\n const promise = this.loadSourceMapForSource(source)\n promises.push(promise)\n }\n }\n\n await Promise.all(promises)\n } finally {\n this.isLoadingSourceMaps = false\n }\n }\n\n getSources(error) {\n let sources = this.getSourcesFromScripts()\n\n if (error) sources = sources.concat(this.getSourcesFromError(error))\n\n return uniqunize(sources, (source) => source.originalUrl)\n }\n\n getSourcesFromError(error) {\n const stack = stackTraceParser.parse(error.stack)\n const sources = []\n\n for (const trace of stack) {\n const file = trace.file\n\n if (file != \"\\u003Canonymous>\") {\n const sourceMapUrl = this.getMapURL({src: file})\n\n if (sourceMapUrl) {\n logger.debug(() => `Found source map from error: ${sourceMapUrl}`)\n\n sources.push({originalUrl: file, sourceMapUrl})\n } else {\n logger.debug(() => `Coudn't get source map from: ${file}`)\n }\n }\n }\n\n return sources\n }\n\n getSourcesFromScripts() {\n const scripts = document.querySelectorAll(\"script\")\n const sources = []\n\n for (const script of scripts) {\n const sourceMapUrl = this.getMapURL({script, src: script.src})\n\n if (sourceMapUrl) {\n logger.debug(() => `Found source map from script: ${sourceMapUrl}`)\n sources.push({originalUrl: script.src, sourceMapUrl})\n }\n }\n\n return sources\n }\n\n getMapURL({script, src}) {\n const url = this.loadUrl(src)\n const originalUrl = `${url.origin}${url.pathname}`\n\n if (this.sourceMapForSourceCallback) {\n // Use custom callback to resolve which map-file to download\n return this.sourceMapForSourceCallback({originalUrl, script, src, url})\n } else if (this.includeMapURL(src)) {\n // Default to original URL with '.map' appended\n return `${originalUrl}.map`\n }\n }\n\n includeMapURL = (src) => src.includes(\"/packs/\")\n\n async loadSourceMapForSource({originalUrl, sourceMapUrl}) {\n const xhr = new XMLHttpRequest()\n\n xhr.open(\"GET\", sourceMapUrl, true)\n\n await this.loadXhr(xhr)\n\n const consumer = await new SourceMapConsumer(xhr.responseText)\n\n this.sourceMaps.push({consumer, originalUrl})\n }\n\n loadUrl(url) {\n const parser = document.createElement(\"a\")\n\n parser.href = url\n\n return parser\n }\n\n loadXhr(xhr, postData) {\n return new Promise((resolve) => {\n xhr.onload = () => resolve()\n xhr.send(postData)\n })\n }\n\n parseStackTrace(stackTrace) {\n return this.getStackTraceData(stackTrace)\n .map((traceData) => `at ${traceData.methodName} (${traceData.fileString})`)\n }\n\n getStackTraceData(stackTrace) {\n const stack = stackTraceParser.parse(stackTrace)\n const newSourceMap = []\n\n for (const trace of stack) {\n const sourceMapData = this.sourceMaps.find((sourceMapData) => sourceMapData.originalUrl == trace.file)\n\n let filePath, fileString, original\n\n if (sourceMapData) {\n original = sourceMapData.consumer.originalPositionFor({\n line: trace.lineNumber,\n column: trace.column\n })\n }\n\n if (original && original.source) {\n filePath = original.source.replace(/^webpack:\\/\\/(app|)\\//, \"\")\n fileString = `${filePath}:${original.line}`\n\n if (original.column) {\n fileString += `:${original.column}`\n }\n } else {\n filePath = trace.file\n fileString = `${filePath}:${trace.lineNumber}`\n\n if (trace.column) {\n fileString += `:${trace.column}`\n }\n }\n\n newSourceMap.push({\n filePath,\n fileString,\n methodName: trace.methodName\n })\n }\n\n return newSourceMap\n }\n}\n","import {digg} from \"diggerize\"\nimport SourceMapsLoader from \"./source-maps-loader.mjs\"\n\nexport default class ErrorLogger {\n constructor () {\n this.debugging = false\n this.errorOccurred = false\n this.errors = []\n this.isHandlingError = false\n this.sourceMapsLoader = new SourceMapsLoader()\n this.sourceMapsLoader.loadSourceMapsForScriptTags((script) => {\n const src = script.getAttribute(\"src\")\n const type = script.getAttribute(\"type\")\n\n if (src && (src.includes(\"/packs/\") || src.includes(\"/packs-test/\")) && (type == \"text/javascript\" || !type)) {\n return src\n }\n })\n }\n\n debug(...output) {\n if (this.debugging) console.error(`ApiMaker ErrorLogger:`, ...output)\n }\n\n enable () {\n this.debug(\"Enable called\")\n this.connectOnError()\n this.connectUnhandledRejection()\n }\n\n getErrors = () => this.errors\n\n hasErrorOccurred() {\n return digg(this, \"errorOccurred\")\n }\n\n isLoadingSourceMaps() {\n return digg(this, \"sourceMapsLoader\", \"isLoadingSourceMaps\")\n }\n\n isWorkingOnError() {\n return digg(this, \"isHandlingError\") || this.isLoadingSourceMaps()\n }\n\n connectOnError () {\n window.addEventListener(\"error\", (event) => {\n if (this.debugging) this.debug(`Error:`, event.message)\n this.errorOccurred = true\n\n if (!this.isHandlingError) {\n this.isHandlingError = true\n this.onError(event).finally(() => {\n this.isHandlingError = false\n })\n }\n })\n }\n\n connectUnhandledRejection () {\n window.addEventListener(\"unhandledrejection\", (event) => {\n if (this.debugging) this.debug(`Unhandled rejection:`, event.reason.message)\n this.errorOccurred = true\n\n if (!this.isHandlingError) {\n this.isHandlingError = true\n this.onUnhandledRejection(event).finally(() => {\n this.isHandlingError = false\n })\n }\n })\n }\n\n async onError (event) {\n this.errorOccurred = true\n await this.sourceMapsLoader.loadSourceMaps(event.error)\n\n if (event.error && event.error.stack) {\n const backtrace = this.sourceMapsLoader.parseStackTrace(event.error.stack)\n\n this.errors.push({\n errorClass: event.error ? event.error.name : \"No error class\",\n message: event.message || \"Unknown error\",\n backtrace\n })\n } else {\n this.errors.push({\n errorClass: event.error ? event.error.name : \"No error class\",\n message: event.message || \"Unknown error\",\n backtrace: null\n })\n }\n }\n\n async onUnhandledRejection (event) {\n await this.sourceMapsLoader.loadSourceMaps(event.reason)\n\n if (event.reason.stack) {\n const backtrace = this.sourceMapsLoader.parseStackTrace(event.reason.stack)\n\n this.errors.push({\n errorClass: \"UnhandledRejection\",\n message: event.reason.message || \"Unhandled promise rejection\",\n backtrace\n })\n } else {\n this.errors.push({\n errorClass: \"UnhandledRejection\",\n message: event.reason.message || \"Unhandled promise rejection\",\n backtrace: null\n })\n }\n }\n\n testPromiseError () {\n return new Promise((_resolve) => {\n throw new Error(\"testPromiseError\")\n })\n }\n}\n","import EventEmitter from \"events\"\n\nconst events = new EventEmitter()\n\nevents.setMaxListeners(1000)\n\nexport default events\n","const shared = {}\n\nexport default class ApiMakerLogger {\n static getGlobalDebug = () => shared.isDebugging\n\n static setGlobalDebug(newValue) {\n shared.isDebugging = newValue\n }\n\n constructor(args = {}) {\n this.name = args.name\n }\n\n debug(message) {\n if (this.getDebug()) {\n this.log(message)\n }\n }\n\n error(message) {\n console.error(message)\n }\n\n log(message) {\n if (!this.debug && !ApiMakerLogger.getGlobalDebug()) return\n if (typeof message == \"function\") message = message()\n if (!Array.isArray(message)) message = [message]\n if (this.name) message.unshift(`${this.name}:`)\n\n console.log(...message)\n }\n\n getDebug = () => this.isDebugging\n\n setDebug(value) {\n this.isDebugging = value\n }\n}\n","import * as inflection from \"inflection\"\nimport * as models from \"./models.mjs.erb\"\n\nexport default (modelName) => {\n const requireName = inflection.camelize(modelName)\n const ModelClass = models[requireName]\n\n if (!ModelClass) {\n const modelClasses = Object.keys(models).sort()\n\n throw new Error(`No model called ${modelName} in ${modelClasses.join(\", \")}`)\n }\n\n return ModelClass\n}\n","import {digg} from \"diggerize\"\n\nexport default class ApiMakerBaseModelColumn {\n constructor(columnData) {\n if (!columnData) {\n throw new Error(\"No column data was given\")\n }\n\n this.columnData = columnData\n }\n\n getType = () => digg(this, \"columnData\", \"type\")\n}\n","import Column from \"./column.mjs\"\nimport {digg} from \"diggerize\"\n\nexport default class ApiMakerBaseModelAttribute {\n constructor(attributeData) {\n this.attributeData = attributeData\n }\n\n getColumn() {\n if (!this.column) {\n const columnData = digg(this, \"attributeData\", \"column\")\n\n if (columnData) {\n this.column = new Column(columnData)\n }\n }\n\n return this.column\n }\n\n isColumn = () => Boolean(digg(this, \"attributeData\", \"column\"))\n\n isSelectedByDefault() {\n const isSelectedByDefault = digg(this, \"attributeData\", \"selected_by_default\")\n\n if (isSelectedByDefault || isSelectedByDefault === null) return true\n\n return false\n }\n\n isTranslated = () => digg(this, \"attributeData\", \"translated\")\n name = () => digg(this, \"attributeData\", \"name\")\n}\n","export default class AttributeNotLoadedError extends Error {}\n","import SparkMD5 from \"spark-md5\"\n\nexport default class CacheKeyGenerator {\n constructor(model) {\n this.model = model\n this.allModels = [model]\n this.readModels = {}\n this.recordModelType(model.modelClassData().name)\n this.recordModel(model.modelClassData().name, model)\n this.filledModels = false\n }\n\n local() {\n const md5 = new SparkMD5()\n\n this.feedModel(this.model, md5)\n\n return md5.end()\n }\n\n recordModelType(relationshipType) {\n if (!(relationshipType in this.readModels)) {\n this.readModels[relationshipType] = {}\n }\n }\n\n recordModel(relationshipType, model) {\n this.allModels.push(model)\n this.readModels[relationshipType][model.id() || model.uniqueKey()] = true\n }\n\n isModelRecorded(relationshipType, model) {\n if (model.id() in this.readModels[relationshipType]) {\n return true\n }\n }\n\n fillModels(model) {\n for (const relationshipType in model.relationships) {\n this.recordModelType(relationshipType)\n\n const loadedRelationship = model.relationships[relationshipType]\n\n if (Array.isArray(loadedRelationship)) { // has_many\n for (const anotherModel of loadedRelationship) {\n if (this.isModelRecorded(relationshipType, anotherModel)) {\n continue\n }\n\n this.recordModel(relationshipType, anotherModel)\n this.fillModels(anotherModel)\n }\n } else if (loadedRelationship) { // belongs_to, has_one\n if (this.isModelRecorded(relationshipType, loadedRelationship)) {\n continue\n }\n\n this.recordModel(relationshipType, loadedRelationship)\n this.fillModels(loadedRelationship)\n }\n }\n\n this.filledModels = true\n }\n\n cacheKey() {\n if (!this.filledModels) {\n this.fillModels(this.model)\n }\n\n const md5 = new SparkMD5()\n\n for (const model of this.allModels) {\n this.feedModel(model, md5)\n }\n\n return md5.end()\n }\n\n feedModel(model, md5) {\n md5.append(\"--model--\")\n md5.append(model.modelClassData().name)\n md5.append(\"--unique-key--\")\n md5.append(model.id() || model.uniqueKey())\n\n if (model.markedForDestruction()) {\n md5.append(\"--marked-for-destruction--\")\n }\n\n md5.append(\"-attributes-\")\n\n const attributes = model.attributes()\n\n for (const attributeName in attributes) {\n md5.append(attributeName)\n md5.append(\"--attribute--\")\n md5.append(`${model.readAttributeUnderscore(attributeName)}`)\n }\n }\n}\n","import Config from \"./config.mjs\"\nimport * as inflection from \"inflection\"\n\nexport default class ModelName {\n constructor(data) {\n this.data = data\n }\n\n camelizedLower = () => this.data.modelClassData.camelizedLower\n\n human(args) {\n let argsToUse = args\n\n if (!argsToUse) argsToUse = { count: 1 }\n\n let countKey\n\n if (argsToUse.count > 1 || argsToUse.count < 0) {\n countKey = \"other\"\n } else {\n countKey = \"one\"\n }\n\n const key = `activerecord.models.${this.data.modelClassData.i18nKey}.${countKey}`\n let defaultModelName = this.data.modelClassData.name\n\n if (args?.count > 1) defaultModelName = inflection.pluralize(defaultModelName)\n\n return Config.getI18n().t(key, {defaultValue: defaultModelName})\n }\n\n paramKey = () => this.data.modelClassData.paramKey\n}\n","export default class NotLoadedError extends Error {}\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"../model-class-require.mjs\"\n\nexport default class ApiMakerBaseModelReflection {\n constructor(reflectionData) {\n this.reflectionData = reflectionData\n }\n\n foreignKey = () => digg(this, \"reflectionData\", \"foreignKey\")\n macro = () => digg(this, \"reflectionData\", \"macro\")\n modelClass = () => modelClassRequire(inflection.singularize(inflection.camelize(digg(this, \"reflectionData\", \"resource_name\"))))\n name = () => inflection.camelize(digg(this, \"reflectionData\", \"name\"), true)\n through = () => digg(this, \"reflectionData\", \"through\")\n}\n","import {digg} from \"diggerize\"\nimport * as inflection from \"inflection\"\n\nexport default class ApiMakerBaseModelScope {\n constructor(scopeData) {\n this.scopeData = scopeData\n }\n\n name() {\n return inflection.camelize(digg(this, \"scopeData\", \"name\"), true)\n }\n}\n","import Attribute from \"./base-model/attribute.mjs\"\nimport AttributeNotLoadedError from \"./attribute-not-loaded-error.mjs\"\nimport CacheKeyGenerator from \"./cache-key-generator.mjs\"\nimport Collection from \"./collection.mjs\"\nimport CommandsPool from \"./commands-pool.mjs\"\nimport Config from \"./config.mjs\"\nimport CustomError from \"./custom-error.mjs\"\nimport {digg} from \"diggerize\"\nimport FormDataObjectizer from \"form-data-objectizer\"\nimport * as inflection from \"inflection\"\nimport ModelName from \"./model-name.mjs\"\nimport NotLoadedError from \"./not-loaded-error.mjs\"\nimport objectToFormData from \"object-to-formdata\"\nimport Reflection from \"./base-model/reflection.mjs\"\nimport Scope from \"./base-model/scope.mjs\"\nimport Services from \"./services.mjs\"\nimport ValidationError from \"./validation-error.mjs\"\nimport {ValidationErrors} from \"./validation-errors.mjs\"\n\nconst objectToUnderscore = (object) => {\n const newObject = {}\n\n for (const key in object) {\n const underscoreKey = inflection.underscore(key)\n\n newObject[underscoreKey] = object[key]\n }\n\n return newObject\n}\n\nexport default class BaseModel {\n static apiMakerType = \"BaseModel\"\n\n static attributes() {\n const attributes = digg(this.modelClassData(), \"attributes\")\n const result = []\n\n for (const attributeKey in attributes) {\n const attributeData = attributes[attributeKey]\n const attribute = new Attribute(attributeData)\n\n result.push(attribute)\n }\n\n return result\n }\n\n static hasAttribute(attributeName) {\n const attributes = digg(this.modelClassData(), \"attributes\")\n const lowerCaseAttributeName = inflection.underscore(attributeName)\n\n if (lowerCaseAttributeName in attributes) return true\n\n return false\n }\n\n static modelClassData() {\n throw new Error(\"modelClassData should be overriden by child\")\n }\n\n static newCustomEvent = (validationErrors) => {\n return new CustomEvent(\"validation-errors\", {detail: validationErrors})\n }\n\n static sendValidationErrorsEvent = (validationErrors, options) => {\n if (options && options.form) {\n const event = BaseModel.newCustomEvent(validationErrors)\n options.form.dispatchEvent(event)\n }\n }\n\n static async find(id) {\n const query = {}\n\n query[`${this.primaryKey()}_eq`] = id\n\n const model = await this.ransack(query).first()\n\n if (model) {\n return model\n } else {\n throw new CustomError(\"Record not found\")\n }\n }\n\n static async findOrCreateBy(findOrCreateByArgs, args = {}) {\n const result = await Services.current().sendRequest(\"Models::FindOrCreateBy\", {\n additional_data: args.additionalData,\n find_or_create_by_args: findOrCreateByArgs,\n resource_name: digg(this.modelClassData(), \"name\")\n })\n const model = digg(result, \"model\")\n\n return model\n }\n\n static modelName() {\n return new ModelName({modelClassData: this.modelClassData()})\n }\n\n static primaryKey() {\n return digg(this.modelClassData(), \"primaryKey\")\n }\n\n static ransack(query = {}) {\n return new Collection({modelClass: this}, {ransack: query})\n }\n\n static select(select) {\n return this.ransack().select(select)\n }\n\n static ransackableAssociations() {\n const relationships = digg(this.modelClassData(), \"ransackable_associations\")\n const reflections = []\n\n for (const relationshipData of relationships) {\n reflections.push(new Reflection(relationshipData))\n }\n\n return reflections\n }\n\n static ransackableAttributes() {\n const attributes = digg(this.modelClassData(), \"ransackable_attributes\")\n const result = []\n\n for (const attributeData of attributes) {\n result.push(new Attribute(attributeData))\n }\n\n return result\n }\n\n static ransackableScopes() {\n const ransackableScopes = digg(this.modelClassData(), \"ransackable_scopes\")\n const result = []\n\n for (const scopeData of ransackableScopes) {\n const scope = new Scope(scopeData)\n\n result.push(scope)\n }\n\n return result\n }\n\n static reflections() {\n const relationships = digg(this.modelClassData(), \"relationships\")\n const reflections = []\n\n for (const relationshipData of relationships) {\n const reflection = new Reflection(relationshipData)\n\n reflections.push(reflection)\n }\n\n return reflections\n }\n\n static reflection(name) {\n const foundReflection = this.reflections().find((reflection) => reflection.name() == name)\n\n if (!foundReflection) {\n throw new Error(`No such reflection: ${name} in ${this.reflections().map((reflection) => reflection.name()).join(\", \")}`)\n }\n\n return foundReflection\n }\n\n static _token() {\n const csrfTokenElement = document.querySelector(\"meta[name='csrf-token']\")\n\n if (csrfTokenElement) {\n return csrfTokenElement.getAttribute(\"content\")\n }\n }\n\n constructor(args = {}) {\n this.changes = {}\n this.newRecord = args.isNewRecord\n this.relationshipsCache = {}\n this.relationships = {}\n\n if (args && args.data && args.data.a) {\n this._readModelDataFromArgs(args)\n } else if (args.a) {\n this.abilities = args.b || {}\n this.modelData = objectToUnderscore(args.a)\n } else if (args) {\n this.abilities = {}\n this.modelData = objectToUnderscore(args)\n } else {\n this.abilities = {}\n this.modelData = {}\n }\n }\n\n assignAttributes(newAttributes) {\n for (const key in newAttributes) {\n const newValue = newAttributes[key]\n const attributeUnderscore = inflection.underscore(key)\n\n let applyChange = true\n let deleteChange = false\n\n if (this.isAttributeLoaded(key)) {\n const oldValue = this.readAttribute(key)\n const originalValue = this.modelData[attributeUnderscore]\n\n if (newValue == oldValue) {\n applyChange = false\n } else if (newValue == originalValue) {\n applyChange = false\n deleteChange = true\n }\n }\n\n if (applyChange) {\n this.changes[attributeUnderscore] = newValue\n } else if (deleteChange) {\n delete this.changes[attributeUnderscore]\n }\n }\n }\n\n attributes() {\n const result = {}\n\n for (const key in this.modelData) {\n result[key] = this.modelData[key]\n }\n\n for (const key in this.changes) {\n result[key] = this.changes[key]\n }\n\n return result\n }\n\n can(givenAbilityName) {\n const abilityName = inflection.underscore(givenAbilityName)\n\n if (!(abilityName in this.abilities)) {\n throw new Error(`Ability ${abilityName} hasn't been loaded for ${digg(this.modelClassData(), \"name\")}`)\n }\n\n return this.abilities[abilityName]\n }\n\n clone() {\n const clone = new this.constructor()\n\n clone.abilities = {...this.abilities}\n clone.modelData = {...this.modelData}\n clone.relationships = {...this.relationships}\n clone.relationshipsCache = {...this.relationshipsCache}\n\n return clone\n }\n\n cacheKey() {\n if (this.isPersisted()) {\n const keyParts = [\n this.modelClassData().paramKey,\n this.primaryKey()\n ]\n\n if (\"updated_at\" in this.modelData) {\n const updatedAt = this.updatedAt()\n\n if (typeof updatedAt != \"object\") {\n throw new Error(`updatedAt wasn't an object: ${typeof updatedAt}`)\n } else if (!(\"getTime\" in updatedAt)) {\n throw new Error(`updatedAt didn't support getTime with class: ${updatedAt.constructor && updatedAt.constructor.name}`)\n }\n\n keyParts.push(`updatedAt-${this.updatedAt().getTime()}`)\n }\n\n return keyParts.join(\"-\")\n } else {\n return this.uniqueKey()\n }\n }\n\n localCacheKey() {\n const cacheKeyGenerator = new CacheKeyGenerator(this)\n\n return cacheKeyGenerator.local()\n }\n\n fullCacheKey() {\n const cacheKeyGenerator = new CacheKeyGenerator(this)\n\n return cacheKeyGenerator.cacheKey()\n }\n\n static all() {\n return this.ransack()\n }\n\n async create(attributes, options) {\n if (attributes) this.assignAttributes(attributes)\n const paramKey = this.modelClassData().paramKey\n const modelData = this.getAttributes()\n const dataToUse = {}\n dataToUse[paramKey] = modelData\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n save: dataToUse\n },\n command: `${this.modelClassData().collectionName}-create`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"create\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.model) {\n this._refreshModelFromResponse(response)\n this.changes = {}\n }\n\n return {model: this, response}\n }\n\n async createRaw(rawData, options = {}) {\n const objectData = BaseModel._objectDataFromGivenRawData(rawData, options)\n\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n save: objectData\n },\n command: `${this.modelClassData().collectionName}-create`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"create\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.model) {\n this._refreshModelDataFromResponse(response)\n this.changes = {}\n }\n\n return {model: this, response}\n }\n\n async destroy() {\n const response = await CommandsPool.addCommand(\n {\n args: {query_params: this.collection && this.collection.params()},\n command: `${this.modelClassData().collectionName}-destroy`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"destroy\"\n },\n {}\n )\n\n if (response.success) {\n if (response.model) {\n this._refreshModelDataFromResponse(response)\n this.changes = {}\n }\n\n return {model: this, response}\n } else {\n this.handleResponseError(response)\n }\n }\n\n async ensureAbilities(listOfAbilities) {\n // Populate an array with a list of abilities currently not loaded\n const abilitiesToLoad = []\n\n for (const abilityInList of listOfAbilities) {\n if (!(abilityInList in this.abilities)) {\n abilitiesToLoad.push(abilityInList)\n }\n }\n\n // Load the missing abilities if any\n if (abilitiesToLoad.length > 0) {\n const primaryKeyName = this.constructor.primaryKey()\n const ransackParams = {}\n ransackParams[`${primaryKeyName}_eq`] = this.primaryKey()\n\n const abilitiesParams = {}\n abilitiesParams[digg(this.modelClassData(), \"name\")] = abilitiesToLoad\n\n const anotherModel = await this.constructor\n .ransack(ransackParams)\n .abilities(abilitiesParams)\n .first()\n\n if (!anotherModel) {\n throw new Error(`Could not look up the same model ${this.primaryKey()} with abilities: ${abilitiesToLoad.join(\", \")}`)\n }\n\n const newAbilities = anotherModel.abilities\n for (const newAbility in newAbilities) {\n this.abilities[newAbility] = newAbilities[newAbility]\n }\n }\n }\n\n getAttributes = () => Object.assign(this.modelData, this.changes)\n\n handleResponseError(response) {\n BaseModel.parseValidationErrors({model: this, response})\n throw new new CustomError(\"Response wasn't successful\", {model: this, response})\n }\n\n identifierKey() {\n if (!this._identifierKey) this._identifierKey = this.isPersisted() ? this.primaryKey() : this.uniqueKey()\n\n return this._identifierKey\n }\n\n isAssociationLoaded = (associationName) => this.isAssociationLoadedUnderscore(inflection.underscore(associationName))\n isAssociationLoadedUnderscore (associationNameUnderscore) {\n if (associationNameUnderscore in this.relationshipsCache) return true\n return false\n }\n\n isAssociationPresent(associationName) {\n if (this.isAssociationLoaded(associationName)) return true\n if (associationName in this.relationships) return true\n return false\n }\n\n static parseValidationErrors({error, model, options}) {\n if (!(error instanceof ValidationError)) return\n if (!error.args.response.validation_errors) return\n\n const validationErrors = new ValidationErrors({\n model,\n validationErrors: digg(error, \"args\", \"response\", \"validation_errors\")\n })\n\n BaseModel.sendValidationErrorsEvent(validationErrors, options)\n\n if (!options || options.throwValidationError != false) {\n throw error\n }\n }\n\n static humanAttributeName(attributeName) {\n const keyName = digg(this.modelClassData(), \"i18nKey\")\n const i18n = Config.getI18n()\n\n if (i18n) return i18n.t(`activerecord.attributes.${keyName}.${BaseModel.snakeCase(attributeName)}`, {defaultValue: attributeName})\n\n return inflection.humanize(attributeName)\n }\n\n isAttributeChanged(attributeName) {\n const attributeNameUnderscore = inflection.underscore(attributeName)\n const attributeData = this.modelClassData().attributes.find((attribute) => digg(attribute, \"name\") == attributeNameUnderscore)\n\n if (!attributeData) {\n const attributeNames = this.modelClassData().attributes.map((attribute) => digg(attribute, \"name\"))\n\n throw new Error(`Couldn't find an attribute by that name: \"${attributeName}\" in: ${attributeNames.join(\", \")}`)\n }\n\n if (!(attributeNameUnderscore in this.changes))\n return false\n\n const oldValue = this.modelData[attributeNameUnderscore]\n const newValue = this.changes[attributeNameUnderscore]\n const changedMethod = this[`_is${inflection.camelize(attributeData.type, true)}Changed`]\n\n if (!changedMethod)\n throw new Error(`Don't know how to handle type: ${attributeData.type}`)\n\n return changedMethod(oldValue, newValue)\n }\n\n isChanged() {\n const keys = Object.keys(this.changes)\n\n if (keys.length > 0) {\n return true\n } else {\n return false\n }\n }\n\n isNewRecord() {\n if (this.newRecord !== undefined) {\n return this.newRecord\n } else if (\"id\" in this.modelData && this.modelData.id) {\n return false\n } else {\n return true\n }\n }\n\n isPersisted = () => !this.isNewRecord()\n\n static snakeCase = (string) => inflection.underscore(string)\n\n savedChangeToAttribute(attributeName) {\n if (!this.previousModelData)\n return false\n\n const attributeNameUnderscore = inflection.underscore(attributeName)\n const attributeData = this.modelClassData().attributes.find((attribute) => attribute.name == attributeNameUnderscore)\n\n if (!attributeData) {\n const attributeNames = this.modelClassData().attributes.map((attribute) => attribute.name)\n throw new Error(`Couldn't find an attribute by that name: \"${attributeName}\" in: ${attributeNames.join(\", \")}`)\n }\n\n if (!(attributeNameUnderscore in this.previousModelData))\n return true\n\n const oldValue = this.previousModelData[attributeNameUnderscore]\n const newValue = this.modelData[attributeNameUnderscore]\n const changedMethodName = `_is${inflection.camelize(attributeData.type)}Changed`\n const changedMethod = this[changedMethodName]\n\n if (!changedMethod)\n throw new Error(`Don't know how to handle type: ${attributeData.type}`)\n\n return changedMethod(oldValue, newValue)\n }\n\n setNewModel(model) {\n this.setNewModelData(model)\n\n for(const relationshipName in model.relationships) {\n this.relationships[relationshipName] = model.relationships[relationshipName]\n }\n\n for(const relationshipCacheName in model.relationshipsCache) {\n this.relationshipsCache[relationshipCacheName] = model.relationshipsCache[name]\n }\n }\n\n setNewModelData(model) {\n if (!(\"modelData\" in model)) throw new Error(`No modelData in model: ${JSON.stringify(model)}`)\n\n this.previousModelData = Object.assign({}, digg(this, \"modelData\"))\n\n for(const attributeName in model.modelData) {\n this.modelData[attributeName] = model.modelData[attributeName]\n }\n }\n\n _isDateChanged(oldValue, newValue) {\n if (Date.parse(oldValue) != Date.parse(newValue))\n return true\n }\n\n _isIntegerChanged(oldValue, newValue) {\n if (parseInt(oldValue, 10) != parseInt(newValue, 10))\n return true\n }\n\n _isStringChanged (oldValue, newValue) {\n const oldConvertedValue = `${oldValue}`\n const newConvertedValue = `${newValue}`\n\n if (oldConvertedValue != newConvertedValue)\n return true\n }\n\n modelClassData = () => this.constructor.modelClassData()\n\n async reload() {\n const params = this.collection && this.collection.params()\n const ransackParams = {}\n ransackParams[`${this.constructor.primaryKey()}_eq`] = this.primaryKey()\n\n let query = this.constructor.ransack(ransackParams)\n\n if (params) {\n if (params.preload) {\n query.queryArgs.preload = params.preload\n }\n\n if (params.select) {\n query.queryArgs.select = params.select\n }\n\n if (params.select_columns) {\n query.queryArgs.selectColumns = params.select_columns\n }\n }\n\n const model = await query.first()\n this.setNewModel(model)\n this.changes = {}\n }\n\n save() {\n if (this.isNewRecord()) {\n return this.create()\n } else {\n return this.update()\n }\n }\n\n saveRaw(rawData, options = {}) {\n if (this.isNewRecord()) {\n return this.createRaw(rawData, options)\n } else {\n return this.updateRaw(rawData, options)\n }\n }\n\n async update(newAttributes, options) {\n if (newAttributes) {\n this.assignAttributes(newAttributes)\n }\n\n if (Object.keys(this.changes).length == 0) {\n return {model: this}\n }\n\n const paramKey = this.modelClassData().paramKey\n const modelData = this.changes\n const dataToUse = {}\n dataToUse[paramKey] = modelData\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n query_params: this.collection && this.collection.params(),\n save: dataToUse\n },\n command: `${this.modelClassData().collectionName}-update`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"update\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.success) {\n if (response.model) {\n this._refreshModelFromResponse(response)\n this.changes = {}\n }\n\n return {response, model: this}\n } else {\n this.handleResponseError(response)\n }\n }\n\n _refreshModelFromResponse(response) {\n let newModel = digg(response, \"model\")\n\n if (Array.isArray(newModel)) newModel = newModel[0]\n\n this.setNewModel(newModel)\n }\n\n _refreshModelDataFromResponse(response) {\n let newModel = digg(response, \"model\")\n\n if (Array.isArray(newModel)) newModel = newModel[0]\n\n this.setNewModelData(newModel)\n }\n\n static _objectDataFromGivenRawData(rawData, options) {\n if (rawData instanceof FormData || rawData.nodeName == \"FORM\") {\n const formData = FormDataObjectizer.formDataFromObject(rawData, options)\n\n return FormDataObjectizer.toObject(formData)\n }\n\n return rawData\n }\n\n async updateRaw(rawData, options = {}) {\n const objectData = BaseModel._objectDataFromGivenRawData(rawData, options)\n let response\n\n try {\n response = await CommandsPool.addCommand(\n {\n args: {\n query_params: this.collection && this.collection.params(),\n save: objectData,\n simple_model_errors: options?.simpleModelErrors\n },\n command: `${this.modelClassData().collectionName}-update`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"update\"\n },\n {}\n )\n } catch (error) {\n BaseModel.parseValidationErrors({error, model: this, options})\n throw error\n }\n\n if (response.model) {\n this._refreshModelFromResponse(response)\n this.changes = {}\n }\n\n return {response, model: this}\n }\n\n isValid() {\n throw new Error(\"Not implemented yet\")\n }\n\n async isValidOnServer() {\n const modelData = this.getAttributes()\n const paramKey = this.modelClassData().paramKey\n const dataToUse = {}\n dataToUse[paramKey] = modelData\n\n const response = await CommandsPool.addCommand(\n {\n args: {\n save: dataToUse\n },\n command: `${this.modelClassData().collectionName}-valid`,\n collectionName: this.modelClassData().collectionName,\n primaryKey: this.primaryKey(),\n type: \"valid\"\n },\n {}\n )\n\n return {valid: response.valid, errors: response.errors}\n }\n\n modelClass = () => this.constructor\n\n preloadRelationship(relationshipName, model) {\n this.relationshipsCache[BaseModel.snakeCase(relationshipName)] = model\n this.relationships[BaseModel.snakeCase(relationshipName)] = model\n }\n\n markForDestruction() {\n this._markedForDestruction = true\n }\n\n markedForDestruction = () => this._markedForDestruction\n\n uniqueKey() {\n if (!this.uniqueKeyValue) {\n const min = 5000000000000000\n const max = 9007199254740991\n const randomBetween = Math.floor(Math.random() * (max - min + 1) + min)\n this.uniqueKeyValue = randomBetween\n }\n\n return this.uniqueKeyValue\n }\n\n static async _callCollectionCommand(args, commandArgs) {\n const formOrDataObject = args.args\n\n try {\n return await CommandsPool.addCommand(args, commandArgs)\n } catch (error) {\n let form\n\n if (commandArgs.form) {\n form = commandArgs.form\n } else if (formOrDataObject?.nodeName == \"FORM\") {\n form = formOrDataObject\n }\n\n if (form) BaseModel.parseValidationErrors({error, options: {form}})\n\n throw error\n }\n }\n\n _callMemberCommand = (args, commandArgs) => CommandsPool.addCommand(args, commandArgs)\n\n static _postDataFromArgs(args) {\n let postData\n\n if (args) {\n if (args instanceof FormData) {\n postData = args\n } else {\n postData = objectToFormData.serialize(args, {}, null, \"args\")\n }\n } else {\n postData = new FormData()\n }\n\n return postData\n }\n\n readAttribute(attributeName) {\n const attributeNameUnderscore = inflection.underscore(attributeName)\n\n return this.readAttributeUnderscore(attributeNameUnderscore)\n }\n\n readAttributeUnderscore(attributeName) {\n if (attributeName in this.changes) {\n return this.changes[attributeName]\n } else if (attributeName in this.modelData) {\n return this.modelData[attributeName]\n } else if (this.isNewRecord()) {\n // Return null if this is a new record and the attribute name is a recognized attribute\n const attributes = digg(this.modelClassData(), \"attributes\")\n\n if (attributeName in attributes) return null\n }\n\n if (this.isPersisted()) {\n throw new AttributeNotLoadedError(`No such attribute: ${digg(this.modelClassData(), \"name\")}#${attributeName}: ${JSON.stringify(this.modelData)}`)\n }\n }\n\n isAttributeLoaded(attributeName) {\n const attributeNameUnderscore = inflection.underscore(attributeName)\n\n if (attributeNameUnderscore in this.changes) return true\n if (attributeNameUnderscore in this.modelData) return true\n return false\n }\n\n _isPresent(value) {\n if (!value) {\n return false\n } else if (typeof value == \"string\" && value.match(/^\\s*$/)) {\n return false\n }\n\n return true\n }\n\n async _loadBelongsToReflection(args, queryArgs = {}) {\n if (args.reflectionName in this.relationships) {\n return this.relationships[args.reflectionName]\n } else if (args.reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[args.reflectionName]\n } else {\n const collection = new Collection(args, queryArgs)\n const model = await collection.first()\n this.relationshipsCache[args.reflectionName] = model\n return model\n }\n }\n\n _readBelongsToReflection({reflectionName}) {\n if (reflectionName in this.relationships) {\n return this.relationships[reflectionName]\n } else if (reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[reflectionName]\n }\n\n if (this.isNewRecord()) return null\n\n const loadedRelationships = Object.keys(this.relationshipsCache)\n const modelClassName = digg(this.modelClassData(), \"name\")\n\n throw new NotLoadedError(`${modelClassName}#${reflectionName} hasn't been loaded yet. Only these were loaded: ${loadedRelationships.join(\", \")}`)\n }\n\n async _loadHasManyReflection(args, queryArgs = {}) {\n if (args.reflectionName in this.relationships) {\n return this.relationships[args.reflectionName]\n } else if (args.reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[args.reflectionName]\n }\n\n const collection = new Collection(args, queryArgs)\n const models = await collection.toArray()\n\n this.relationshipsCache[args.reflectionName] = models\n\n return models\n }\n\n async _loadHasOneReflection(args, queryArgs = {}) {\n if (args.reflectionName in this.relationships) {\n return this.relationships[args.reflectionName]\n } else if (args.reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[args.reflectionName]\n } else {\n const collection = new Collection(args, queryArgs)\n const model = await collection.first()\n\n this.relationshipsCache[args.reflectionName] = model\n\n return model\n }\n }\n\n _readHasOneReflection({reflectionName}) {\n if (reflectionName in this.relationships) {\n return this.relationships[reflectionName]\n } else if (reflectionName in this.relationshipsCache) {\n return this.relationshipsCache[reflectionName]\n }\n\n if (this.isNewRecord()) {\n return null\n }\n\n const loadedRelationships = Object.keys(this.relationshipsCache)\n const modelClassName = digg(this.modelClassData(), \"name\")\n\n throw new NotLoadedError(`${modelClassName}#${reflectionName} hasn't been loaded yet. Only these were loaded: ${loadedRelationships.join(\", \")}`)\n }\n\n _readModelDataFromArgs(args) {\n this.abilities = args.data.b || {}\n this.collection = args.collection\n this.modelData = objectToUnderscore(args.data.a)\n this.preloadedRelationships = args.data.r\n }\n\n _readPreloadedRelationships(preloaded) {\n if (!this.preloadedRelationships) {\n return\n }\n\n const relationships = digg(this.modelClassData(), \"relationships\")\n\n for (const relationshipName in this.preloadedRelationships) {\n const relationshipData = this.preloadedRelationships[relationshipName]\n const relationshipClassData = relationships.find((relationship) => digg(relationship, \"name\") == relationshipName)\n\n if (!relationshipClassData) {\n const modelName = digg(this.modelClassData(), \"name\")\n const relationshipsList = relationships.map((relationship) => relationship.name).join(\", \")\n\n throw new Error(`Could not find the relation ${relationshipName} on the ${modelName} model: ${relationshipsList}`)\n }\n\n const relationshipType = digg(relationshipClassData, \"collectionName\")\n\n if (relationshipName in this.relationshipsCache) {\n throw new Error(`${relationshipName} has already been loaded`)\n }\n\n if (!relationshipClassData) {\n throw new Error(`No relationship on ${digg(this.modelClassData(), \"name\")} by that name: ${relationshipName}`)\n }\n\n if (!relationshipData) {\n this.relationshipsCache[relationshipName] = null\n this.relationships[relationshipName] = null\n } else if (Array.isArray(relationshipData)) {\n this.relationshipsCache[relationshipName] = []\n this.relationships[relationshipName] = []\n\n for (const relationshipId of relationshipData) {\n const model = preloaded.getModel(relationshipType, relationshipId)\n\n this.relationshipsCache[relationshipName].push(model)\n this.relationships[relationshipName].push(model)\n }\n } else {\n const model = preloaded.getModel(relationshipType, relationshipData)\n\n this.relationshipsCache[relationshipName] = model\n this.relationships[relationshipName] = model\n }\n }\n }\n\n primaryKey = () => this.readAttributeUnderscore(this.constructor.primaryKey())\n}\n","import BaseModel from \"./base-model.mjs\"\nimport Collection from \"./collection.mjs\"\nimport {digg, digs} from \"diggerize\"\nimport * as inflection from \"inflection\"\n\nexport default class ApiMakerModelRecipesModelLoader {\n constructor ({modelRecipe, modelRecipesLoader}) {\n if (!modelRecipe) throw new Error(\"No 'modelRecipe' was given\")\n\n this.modelRecipesLoader = modelRecipesLoader\n this.modelRecipe = modelRecipe\n }\n\n createClass () {\n const {modelRecipe} = digs(this, \"modelRecipe\")\n const {\n attributes,\n collection_commands: collectionCommands,\n member_commands: memberCommands,\n model_class_data: modelClassData,\n relationships\n } = digs(\n modelRecipe,\n \"attributes\",\n \"collection_commands\",\n \"member_commands\",\n \"model_class_data\",\n \"relationships\"\n )\n const {name: modelClassName} = digs(modelClassData, \"name\")\n const ModelClass = class ApiMakerModel extends BaseModel { }\n\n Object.defineProperty(ModelClass, \"name\", {writable: false, value: modelClassName})\n\n ModelClass.prototype.constructor.modelClassData = () => modelClassData\n\n this.addAttributeMethodsToModelClass(ModelClass, attributes)\n this.addRelationshipsToModelClass(ModelClass, modelClassData, relationships)\n this.addQueryCommandsToModelClass(ModelClass, collectionCommands)\n this.addMemberCommandsToModelClass(ModelClass, memberCommands)\n\n return ModelClass\n }\n\n addAttributeMethodsToModelClass (ModelClass, attributes) {\n for (const attributeName in attributes) {\n const attribute = attributes[attributeName]\n const {name} = digs(attribute, \"name\")\n const methodName = inflection.camelize(name, true)\n const hasMethodName = inflection.camelize(`has_${name}`, true)\n\n ModelClass.prototype[methodName] = function () {\n return this.readAttributeUnderscore(attributeName)\n }\n\n ModelClass.prototype[hasMethodName] = function () {\n const value = this[methodName]()\n\n return this._isPresent(value)\n }\n }\n }\n\n addQueryCommandsToModelClass (ModelClass, collectionCommands) {\n for (const collectionCommandName in collectionCommands) {\n const methodName = inflection.camelize(collectionCommandName, true)\n\n ModelClass[methodName] = function (args, commandArgs = {}) {\n return this._callCollectionCommand(\n {\n args,\n command: collectionCommandName,\n collectionName: digg(this.modelClassData(), \"collectionName\"),\n type: \"collection\"\n },\n commandArgs\n )\n }\n }\n }\n\n addMemberCommandsToModelClass (ModelClass, memberCommands) {\n for (const memberCommandName in memberCommands) {\n const methodName = inflection.camelize(memberCommandName, true)\n\n ModelClass.prototype[methodName] = function (args, commandArgs = {}) {\n return this._callMemberCommand(\n {\n args,\n command: memberCommandName,\n primaryKey: this.primaryKey(),\n collectionName: this.modelClassData().collectionName,\n type: \"member\"\n },\n commandArgs\n )\n }\n }\n }\n\n addRelationshipsToModelClass (ModelClass, modelClassData, relationships) {\n const {modelRecipesLoader} = digs(this, \"modelRecipesLoader\")\n\n for (const relationshipName in relationships) {\n const relationship = relationships[relationshipName]\n const {\n active_record: {\n name: activeRecordName,\n primary_key: activeRecordPrimaryKey\n },\n class_name: className,\n foreign_key: foreignKey,\n klass: {primary_key: klassPrimaryKey},\n options: {as: optionsAs, primary_key: optionsPrimaryKey, through: optionsThrough},\n resource_name: resourceName,\n type\n } = digs(\n relationship,\n \"active_record\",\n \"class_name\",\n \"foreign_key\",\n \"klass\",\n \"options\",\n \"resource_name\",\n \"type\"\n )\n const loadMethodName = inflection.camelize(`load_${relationshipName}`, true)\n const modelMethodName = inflection.camelize(relationshipName, true)\n\n if (type == \"belongs_to\") {\n this.defineBelongsToGetMethod({ModelClass, modelMethodName, relationshipName})\n this.defineBelongsToLoadMethod({\n foreignKey,\n klassPrimaryKey,\n loadMethodName,\n ModelClass,\n modelRecipesLoader,\n optionsPrimaryKey,\n relationshipName,\n resourceName\n })\n } else if (type == \"has_many\") {\n this.defineHasManyGetMethod({\n activeRecordName,\n className,\n foreignKey,\n ModelClass,\n modelMethodName,\n modelRecipesLoader,\n optionsAs,\n optionsPrimaryKey,\n optionsThrough,\n relationshipName,\n resourceName\n })\n this.defineHasManyLoadMethod({foreignKey, loadMethodName, ModelClass, modelClassData, modelRecipesLoader, relationshipName, resourceName})\n } else if (type == \"has_one\") {\n this.defineHasOneGetMethd({ModelClass, modelMethodName, relationshipName})\n this.defineHasOneLoadMethod({\n activeRecordPrimaryKey,\n foreignKey,\n loadMethodName,\n ModelClass,\n modelClassData,\n modelRecipesLoader,\n optionsThrough,\n relationshipName,\n resourceName\n })\n } else {\n throw new Error(`Unknown relationship type: ${type}`)\n }\n }\n }\n\n defineBelongsToGetMethod ({ModelClass, modelMethodName, relationshipName}) {\n ModelClass.prototype[modelMethodName] = function () {\n return this._readBelongsToReflection({reflectionName: relationshipName})\n }\n }\n\n defineBelongsToLoadMethod ({foreignKey, klassPrimaryKey, ModelClass, modelRecipesLoader, loadMethodName, optionsPrimaryKey, relationshipName, resourceName}) {\n ModelClass.prototype[loadMethodName] = function () {\n const foreignKeyMethodName = inflection.camelize(foreignKey, true)\n\n if (!(foreignKeyMethodName in this)) throw new Error(`Foreign key method wasn't defined: ${foreignKeyMethodName}`)\n\n const id = this[foreignKeyMethodName]()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n const ransack = {}\n const ransackIdSearchKey = `${optionsPrimaryKey || klassPrimaryKey}_eq`\n\n ransack[ransackIdSearchKey] = id\n\n return this._loadBelongsToReflection(\n {reflectionName: relationshipName, model: this, modelClass},\n {ransack}\n )\n }\n }\n\n defineHasManyGetMethod ({\n activeRecordName,\n className,\n foreignKey,\n ModelClass,\n modelMethodName,\n modelRecipesLoader,\n optionsAs,\n optionsPrimaryKey,\n optionsThrough,\n relationshipName,\n resourceName\n }) {\n ModelClass.prototype[modelMethodName] = function () {\n const id = this.primaryKey()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n const hasManyParameters = {\n reflectionName: relationshipName,\n model: this,\n modelName: className,\n modelClass\n }\n\n let queryParameters\n\n if (optionsThrough) {\n queryParameters = {\n params: {\n through: {\n model: activeRecordName,\n id: this.primaryKey(),\n reflection: relationshipName\n }\n }\n }\n } else {\n const ransack = {}\n const primaryKeyColumnName = optionsPrimaryKey || digg(ModelClass.modelClassData(), \"primaryKey\")\n const primaryKeyMethodName = inflection.camelize(primaryKeyColumnName, true)\n\n if (!(primaryKeyMethodName in this)) throw new Error(`No such primary key method: ${primaryKeyMethodName}`)\n\n ransack[`${foreignKey}_eq`] = this[primaryKeyMethodName]()\n\n if (optionsAs) {\n ransack[`${optionsAs}_type_eq`] = activeRecordName\n }\n\n queryParameters = {ransack}\n }\n\n return new Collection(hasManyParameters, queryParameters)\n }\n }\n\n defineHasManyLoadMethod ({foreignKey, loadMethodName, ModelClass, modelClassData, modelRecipesLoader, optionsThrough, relationshipName, resourceName}) {\n ModelClass.prototype[loadMethodName] = function () {\n const id = this.primaryKey()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n\n if (optionsThrough) {\n const modelClassName = digg(modelClassData, \"className\")\n\n return this._loadHasManyReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {\n params: {\n through: {\n model: modelClassName,\n id,\n reflection: relationshipName\n }\n }\n }\n )\n } else {\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n return this._loadHasManyReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {ransack}\n )\n }\n }\n }\n\n defineHasOneGetMethd ({ModelClass, modelMethodName, relationshipName}) {\n ModelClass.prototype[modelMethodName] = function () {\n return this._readHasOneReflection({reflectionName: relationshipName})\n }\n }\n\n defineHasOneLoadMethod ({\n activeRecordPrimaryKey,\n foreignKey,\n loadMethodName,\n ModelClass,\n modelClassData,\n modelRecipesLoader,\n optionsThrough,\n relationshipName,\n resourceName\n }) {\n ModelClass.prototype[loadMethodName] = function () {\n const primaryKeyMethodName = inflection.camelize(activeRecordPrimaryKey, true)\n\n if (!(primaryKeyMethodName in this)) throw new Error(`Primary key method wasn't defined: ${primaryKeyMethodName}`)\n\n const id = this[primaryKeyMethodName]()\n const modelClass = modelRecipesLoader.getModelClass(resourceName)\n\n if (optionsThrough) {\n const modelClassName = digg(modelClassData, \"className\")\n\n return this._loadHasOneReflection(\n {reflectionName: relationshipName, model: this, modelClass},\n {params: {through: {model: modelClassName, id, reflection: relationshipName}}}\n )\n } else {\n const ransack = {}\n\n ransack[`${foreignKey}_eq`] = id\n\n return this._loadHasOneReflection(\n {\n reflectionName: relationshipName,\n model: this,\n modelClass\n },\n {ransack}\n )\n }\n }\n }\n}\n","import {digg, digs} from \"diggerize\"\nimport ModelRecipesModelLoader from \"./model-recipes-model-loader.mjs\"\n\nexport default class ModelRecipesLoader {\n constructor ({recipes}) {\n this.modelClasses = {}\n this.recipes = recipes\n }\n\n getModelClass (name) {\n return digg(this, \"modelClasses\", name)\n }\n\n load () {\n const {recipes} = digs(this, \"recipes\")\n const {models} = digs(recipes, \"models\")\n\n for (const modelName in models) {\n const modelRecipe = models[modelName]\n const modelClassLoader = new ModelRecipesModelLoader({modelRecipe, modelRecipesLoader: this})\n const modelClass = modelClassLoader.createClass()\n\n this.modelClasses[modelName] = modelClass\n }\n\n return this.modelClasses\n }\n}\n","import * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\n\nexport default class ApiMakerPreloaded {\n constructor (response) {\n this.response = response\n this.loadPreloadedModels()\n }\n\n loadPreloadedModels () {\n this.preloaded = {}\n\n for (const preloadedType in this.response.preloaded) {\n const modelClassName = inflection.classify(preloadedType)\n const ModelClass = modelClassRequire(modelClassName)\n\n for (const preloadedId in this.response.preloaded[preloadedType]) {\n const preloadedData = this.response.preloaded[preloadedType][preloadedId]\n const model = new ModelClass({data: preloadedData, isNewRecord: false})\n\n if (!this.preloaded[preloadedType]) {\n this.preloaded[preloadedType] = {}\n }\n\n this.preloaded[preloadedType][preloadedId] = model\n }\n }\n\n for (const modelType in this.preloaded) {\n for (const modelId in this.preloaded[modelType]) {\n this.preloaded[modelType][modelId]._readPreloadedRelationships(this)\n }\n }\n }\n\n getModel (type, id) {\n if (!this.preloaded[type] || !this.preloaded[type][id]) {\n throw new Error(`Could not find a ${type} by that ID: ${id}`)\n }\n\n return this.preloaded[type][id]\n }\n}\n","import * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\nimport Preloaded from \"./preloaded.mjs\"\n\nexport default class ModelsResponseReader {\n static first (response) {\n return ModelsResponseReader.collection(response)[0]\n }\n\n static collection (response) {\n const reader = new ModelsResponseReader({response})\n return reader.models()\n }\n\n constructor (args) {\n this.collection = args.collection\n this.response = args.response\n }\n\n models () {\n const preloaded = new Preloaded(this.response)\n const models = []\n\n for (const modelType in this.response.data) {\n const modelClassName = inflection.classify(modelType)\n const ModelClass = modelClassRequire(modelClassName)\n const collectionName = ModelClass.modelClassData().collectionName\n\n for (const modelId of this.response.data[modelType]) {\n const modelData = this.response.preloaded[collectionName][modelId]\n\n if (!modelData)\n throw new Error(`Couldn't find model data for ${collectionName}(${modelId})`)\n\n const model = new ModelClass({\n collection: this.collection,\n data: modelData,\n isNewRecord: false\n })\n\n model._readPreloadedRelationships(preloaded)\n models.push(model)\n }\n }\n\n return models\n }\n}\n","export default class ApiMakerResult {\n constructor (data) {\n this.data = data\n }\n\n count = () => this.data.response.meta.count\n currentPage = () => this.data.response.meta.currentPage\n models = () => this.data.models\n modelClass = () => this.data.collection.modelClass()\n perPage = () => this.data.response.meta.perPage\n totalCount = () => this.data.response.meta.totalCount\n totalPages = () => this.data.response.meta.totalPages\n}\n","import {dig, digg, digs} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport qs from \"qs\"\nimport urlEncode from \"./url-encode.mjs\"\n\nexport default class ApiMakerRoutesNative {\n constructor ({getLocale}) {\n this.getLocale = getLocale\n this.routeDefinitions = []\n this.routeTranslationParts = {}\n }\n\n loadRouteDefinitions (routeDefinitions, routeDefinitionArgs) {\n for (const routeDefinition of digg(routeDefinitions, \"routes\")) {\n const {name, path} = digs(routeDefinition, \"name\", \"path\")\n const rawPathParts = path.split(\"/\")\n const pathMethodName = `${inflection.camelize(name, true)}Path`\n const urlMethodName = `${inflection.camelize(name, true)}Url`\n\n if (routeDefinitionArgs && routeDefinitionArgs.localized) {\n const localizedRoutes = {}\n\n for (const locale in this.routeTranslationParts) {\n let variableCount = 0\n\n const localizedPathParts = [\n {type: \"pathPart\", name: \"\"},\n {type: \"pathPart\", name: locale}\n ]\n\n for (let i = 1; i < rawPathParts.length; i++) {\n const pathPart = rawPathParts[i]\n const variableMatch = pathPart.match(/^:([A-z_]+)$/)\n\n if (variableMatch) {\n localizedPathParts.push({type: \"variable\", count: variableCount++})\n } else if (pathPart) {\n const name = this.i18n.t(`routes.${pathPart}`, null, {default: pathPart, locale})\n\n localizedPathParts.push({type: \"pathPart\", name})\n }\n }\n\n localizedRoutes[locale] = localizedPathParts\n }\n\n this[pathMethodName] = (...args) => this.translateRoute({args, localizedRoutes})\n this[urlMethodName] = (...args) => this.translateRoute({args, localizedRoutes, url: true})\n } else {\n let variableCount = 0\n\n const pathParts = rawPathParts.map((pathPart) => {\n const variableMatch = pathPart.match(/^:([A-z_]+)$/)\n\n if (variableMatch) {\n return {type: \"variable\", count: variableCount}\n } else {\n return {type: \"pathPart\", name: pathPart}\n }\n })\n\n this[pathMethodName] = (...args) => this.translateRoute({args, pathParts})\n this[urlMethodName] = (...args) => this.translateRoute({args, pathParts, url: true})\n }\n }\n }\n\n loadRouteTranslations (i18n) {\n this.i18n = i18n\n const locales = digg(i18n, \"locales\")\n\n for (const locale in locales) {\n const routeTranslations = dig(locales, locale, \"routes\")\n\n if (!routeTranslations) continue\n if (!(locale in this.routeTranslationParts)) this.routeTranslationParts[locale] = {}\n\n for (const key in routeTranslations) {\n this.routeTranslationParts[locale][key] = routeTranslations[key]\n }\n }\n }\n\n translateRoute ({args, localizedRoutes, pathParts, url}) {\n let options\n\n // Extract options from args if any\n const lastArg = args[args.length - 1]\n\n if (lastArg && typeof lastArg == \"object\") {\n options = args.pop()\n } else {\n options = {}\n }\n\n // Take locale from options if given or fall back to fallback\n const {locale, host, port, protocol, ...restOptions} = options\n\n if (localizedRoutes) {\n // Put together route with variables and static translated parts (which were translated and cached previously)\n let translatedRoute = digg(localizedRoutes, locale || this.getLocale())\n .map((pathPart) => {\n if (pathPart.type == \"pathPart\") {\n return pathPart.name\n } else if (pathPart.type == \"variable\") {\n // Args might not contain the right amount of variables, so dont change this to 'digg'\n return dig(args, digg(pathPart, \"count\"))\n } else {\n throw new Error(`Unhandled path part type: ${pathPart.type}`)\n }\n })\n .join(\"/\")\n\n if (restOptions && Object.keys(restOptions).length > 0) {\n translatedRoute += `?${qs.stringify(restOptions, {encoder: urlEncode})}`\n }\n\n if (url) return this.addHostToRoute({host, port, protocol, translatedRoute})\n\n return translatedRoute\n } else if (pathParts) {\n // Put together route with variables and static translated parts (which were translated and cached previously)\n let translatedRoute = pathParts\n .map((pathPart) => {\n if (pathPart.type == \"pathPart\") {\n return pathPart.name\n } else if (pathPart.type == \"variable\") {\n return digg(args, digg(pathPart, \"count\"))\n } else {\n throw new Error(`Unhandled path part type: ${pathPart.type}`)\n }\n })\n .join(\"/\")\n\n if (restOptions && Object.keys(restOptions).length > 0) {\n translatedRoute += `?${qs.stringify(restOptions, {encoder: urlEncode})}`\n }\n\n if (url) return this.addHostToRoute({host, port, protocol, translatedRoute})\n\n return translatedRoute\n }\n\n throw new Error(\"Unhandled state\")\n }\n\n addHostToRoute ({host, port, protocol, translatedRoute}) {\n let fullUrl = \"\"\n\n const hostToUse = host || globalThis.location && globalThis.location.host\n const portToUse = port || globalThis.location && globalThis.location.port\n\n if (!hostToUse) throw new Error(\"Unable to detect host\")\n\n if (protocol) {\n fullUrl += `${protocol}://`\n } else if (globalThis.location && globalThis.location.protocol) {\n fullUrl += `${globalThis.location.protocol}//`\n } else {\n fullUrl += \"https://\"\n }\n\n fullUrl += hostToUse\n\n if (portToUse && ((protocol == \"http\" && portToUse != 80) || (protocol == \"https\" && port != 443))) {\n fullUrl += `:${portToUse}`\n }\n\n fullUrl += translatedRoute\n\n return fullUrl\n }\n}\n","export default class RunLast {\n constructor(callback) {\n if (!callback) throw new Error(\"Empty callback given\")\n\n this.callback = callback\n }\n\n // Try to batch calls to backend while waiting for the event-queue-call to clear any other jobs before the request and reset on every flush call\n // If only waiting a single time, then other event-queue-jobs might be before us and queue other jobs that might queue calls to the backend\n queue() {\n this.flushTriggerCount = 0\n this.clearTimeout()\n this.flushTrigger()\n }\n\n flushTrigger = () => {\n if (this.flushTriggerCount >= 10) {\n this.run()\n } else {\n this.flushTriggerCount++\n this.flushTriggerQueue()\n }\n }\n\n flushTriggerQueue() {\n this.flushTimeout = setTimeout(this.flushTrigger, 0)\n }\n\n clearTimeout() {\n if (this.flushTimeout) {\n clearTimeout(this.flushTimeout)\n }\n }\n\n run() {\n this.clearTimeout()\n this.callback()\n }\n}\n","import CommandsPool from \"./commands-pool.mjs\"\n\nconst shared = {}\n\nexport default class ApiMakerServices {\n static current () {\n if (!shared.currentApiMakerService) shared.currentApiMakerService = new ApiMakerServices()\n\n return shared.currentApiMakerService\n }\n\n sendRequest (serviceName, args) {\n return CommandsPool.addCommand({\n args: {\n service_args: args,\n service_name: serviceName\n },\n command: \"services\",\n collectionName: \"calls\",\n type: \"service\"\n })\n }\n}\n","import config from \"./config.mjs\"\nimport Devise from \"./devise.mjs\"\nimport * as inflection from \"inflection\"\nimport Logger from \"./logger.mjs\"\nimport wakeEvent from \"wake-event\"\n\nconst logger = new Logger({name: \"ApiMaker / SessionStatusUpdater\"})\nconst shared = {}\n\n// logger.setDebug(true)\n\nexport default class ApiMakerSessionStatusUpdater {\n static current(args) {\n if (!shared.apiMakerSessionStatusUpdater) {\n shared.apiMakerSessionStatusUpdater = new ApiMakerSessionStatusUpdater(args)\n }\n\n return shared.apiMakerSessionStatusUpdater\n }\n\n constructor(args = {}) {\n this.events = {}\n this.timeout = args.timeout || 600000\n this.useMetaElement = (\"useMetaElement\" in args) ? args.useMetaElement : true\n\n this.connectOnlineEvent()\n this.connectWakeEvent()\n }\n\n connectOnlineEvent() {\n window.addEventListener(\"online\", this.updateSessionStatus, false)\n }\n\n connectWakeEvent() {\n wakeEvent(this.updateSessionStatus)\n }\n\n async getCsrfToken() {\n if (this.csrfToken) {\n logger.debug(`Get CSRF token from set variable: ${this.csrfToken}`)\n\n return this.csrfToken\n }\n\n if (this.useMetaElement) {\n const csrfTokenElement = document.querySelector(\"meta[name='csrf-token']\")\n\n if (csrfTokenElement) {\n logger.debug(() => `Get CSRF token from meta element: ${csrfTokenElement.getAttribute(\"content\")}`)\n\n this.csrfToken = csrfTokenElement.getAttribute(\"content\")\n\n return this.csrfToken\n }\n }\n\n logger.debug(\"Updating session status because no CSRF token set yet\")\n await this.updateSessionStatus()\n\n if (this.csrfToken) {\n logger.debug(() => `Returning CSRF token after updating session status: ${this.csrfToken}`)\n\n return this.csrfToken\n }\n\n throw new Error(\"CSRF token hasn't been set\")\n }\n\n sessionStatus() {\n return new Promise((resolve) => {\n const host = config.getHost()\n let requestPath = \"\"\n\n if (host) requestPath += host\n\n requestPath += \"/api_maker/session_statuses\"\n\n const xhr = new XMLHttpRequest()\n xhr.open(\"POST\", requestPath, true)\n xhr.onload = () => {\n const response = JSON.parse(xhr.responseText)\n resolve(response)\n }\n xhr.send()\n })\n }\n\n onSignedOut(callback) {\n this.addEvent(\"onSignedOut\", callback)\n }\n\n startTimeout() {\n logger.debug(\"startTimeout\")\n\n if (this.updateTimeout)\n clearTimeout(this.updateTimeout)\n\n this.updateTimeout = setTimeout(\n () => {\n this.startTimeout()\n this.updateSessionStatus()\n },\n this.timeout\n )\n }\n\n stopTimeout() {\n if (this.updateTimeout)\n clearTimeout(this.updateTimeout)\n }\n\n updateSessionStatus = async () => {\n logger.debug(\"updateSessionStatus\")\n\n const result = await this.sessionStatus()\n\n logger.debug(() => `Result: ${JSON.stringify(result, null, 2)}`)\n this.updateMetaElementsFromResult(result)\n this.updateUserSessionsFromResult(result)\n }\n\n updateMetaElementsFromResult(result) {\n logger.debug(\"updateMetaElementsFromResult\")\n\n this.csrfToken = result.csrf_token\n\n if (this.useMetaElement) {\n const csrfTokenElement = document.querySelector(\"meta[name='csrf-token']\")\n\n if (csrfTokenElement) {\n logger.debug(() => `Changing token from \"${csrfTokenElement.getAttribute(\"content\")}\" to \"${result.csrf_token}\"`)\n csrfTokenElement.setAttribute(\"content\", result.csrf_token)\n } else {\n logger.debug(\"csrf token element couldn't be found\")\n }\n }\n }\n\n updateUserSessionsFromResult(result) {\n for (const scopeName in result.scopes) {\n this.updateUserSessionScopeFromResult(scopeName, result.scopes[scopeName])\n }\n }\n\n updateUserSessionScopeFromResult(scopeName, scope) {\n const deviseIsSignedInMethodName = `is${inflection.camelize(scopeName)}SignedIn`\n\n if (!(deviseIsSignedInMethodName in Devise)) {\n throw new Error(`No such method in Devise: ${deviseIsSignedInMethodName}`)\n }\n\n const currentlySignedIn = Devise[deviseIsSignedInMethodName]()\n const signedInOnBackend = scope.signed_in\n\n if (currentlySignedIn && !signedInOnBackend) {\n logger.debug(() => `${inflection.camelize(scopeName)} signed in on frontend but not in backend!`)\n\n Devise.setSignedOut({scope: scopeName})\n Devise.callSignOutEvent({scope: scopeName})\n }\n }\n}\n","import escapeStringRegexp from \"escape-string-regexp\"\n\nconst replaces = {\n \" \": \"+\",\n \"&\": \"%26\",\n \"#\": \"%23\",\n \"+\": \"%2B\",\n \"/\": \"%2F\",\n \"?\": \"%3F\"\n}\n\nconst regexp = new RegExp(`(${Object.keys(replaces).map(escapeStringRegexp).join(\"|\")})`, \"g\")\n\nconst urlEncode = (string) => {\n return String(string).replaceAll(regexp, (character) => replaces[character])\n}\n\nexport default urlEncode\n","import {useLayoutEffect} from \"react\"\n\nconst ApiMakerUseEventEmitter = (events, event, onCalled) => {\n useLayoutEffect(() => {\n if (events) {\n events.addListener(event, onCalled)\n\n return () => {\n events.removeListener(event, onCalled)\n }\n }\n }, [events, event, onCalled])\n}\n\nexport default ApiMakerUseEventEmitter\n","import {useCallback, useLayoutEffect} from \"react\"\n\nconst ApiMakerUseEventListener = (target, event, onCalled) => {\n const onCalledCallback = useCallback((...args) => {\n onCalled.apply(null, args)\n }, [target, event, onCalled])\n\n useLayoutEffect(() => {\n if (target) {\n target.addEventListener(event, onCalledCallback)\n\n return () => {\n target.removeEventListener(event, onCalledCallback)\n }\n }\n }, [target, event, onCalled])\n}\n\nexport default ApiMakerUseEventListener\n","import BaseError from \"./base-error.mjs\"\nimport * as inflection from \"inflection\"\n\nclass ValidationError extends BaseError {\n constructor(validationErrors, args) {\n const errorMessage = validationErrors.getUnhandledErrorMessage() || validationErrors.getErrorMessage()\n const forwardedArgs = {addResponseErrorsToErrorMessage: false}\n const newArgs = Object.assign({}, args, forwardedArgs)\n\n super(errorMessage, newArgs)\n this.validationErrors = validationErrors\n }\n\n getUnhandledErrors = () => this.validationErrors.getValidationErrors().filter((validationError) => !validationError.getHandled())\n getValidationErrors = () => digg(this, \"validationErrors\")\n\n hasUnhandledErrors() {\n const unhandledError = this.validationErrors.getValidationErrors().find((validationError) => !validationError.getHandled())\n\n return Boolean(unhandledError)\n }\n\n hasValidationErrorForAttribute(attributeName) {\n const underscoredAttributeName = inflection.underscore(attributeName)\n const foundAttribute = this.validationErrors.getValidationErrors().find((validationError) => validationError.getAttributeName() == underscoredAttributeName)\n\n if (foundAttribute) return true\n\n return false\n }\n}\n\nValidationError.apiMakerType = \"ValidationError\"\n\nexport default ValidationError\n","import {digg, digs} from \"diggerize\"\nimport * as inflection from \"inflection\"\nimport modelClassRequire from \"./model-class-require.mjs\"\n\nclass ValidationError {\n constructor(args) {\n this.attributeName = digg(args, \"attribute_name\")\n this.attributeType = digg(args, \"attribute_type\")\n this.errorMessages = digg(args, \"error_messages\")\n this.errorTypes = digg(args, \"error_types\")\n this.inputName = args.input_name\n this.handled = false\n this.modelName = digg(args, \"model_name\")\n }\n\n matchesAttributeAndInputName(attributeName, inputName) {\n if (this.getInputName() == inputName) return true\n if (!attributeName) return false\n\n // A relationship column ends with \"_id\". We should try for validation errors on an attribute without the \"_id\" as well\n const attributeNameIdMatch = attributeName.match(/^(.+)Id$/)\n if (!attributeNameIdMatch) return false\n\n const attributeNameWithoutId = inflection.underscore(attributeNameIdMatch[1])\n const attributeUnderScoreName = inflection.underscore(attributeName)\n const inputNameWithoutId = inputName.replace(`[${attributeUnderScoreName}]`, `[${attributeNameWithoutId}]`)\n\n if (this.getInputName() == inputNameWithoutId) return true\n\n return false\n }\n\n getAttributeName = () => digg(this, \"attributeName\")\n getErrorMessages = () => digg(this, \"errorMessages\")\n\n getFullErrorMessages() {\n const {attributeType} = digs(this, \"attributeType\")\n\n if (attributeType == \"base\") {\n return this.getErrorMessages()\n } else {\n const fullErrorMessages = []\n\n for (const errorMessage of this.getErrorMessages()) {\n const attributeHumanName = this.getModelClass().humanAttributeName(this.getAttributeName())\n fullErrorMessages.push(`${attributeHumanName} ${errorMessage}`)\n }\n\n return fullErrorMessages\n }\n }\n\n getHandled = () => digg(this, \"handled\")\n getInputName = () => digg(this, \"inputName\")\n\n getModelClass() {\n const modelName = inflection.classify(digg(this, \"modelName\"))\n\n return modelClassRequire(modelName)\n }\n\n setHandled() {\n this.handled = true\n }\n}\n\nclass ValidationErrors {\n constructor(args) {\n this.rootModel = digg(args, \"model\")\n this.validationErrors = digg(args, \"validationErrors\").map((validationError) => new ValidationError(validationError))\n }\n\n getErrorMessage() {\n const fullErrorMessages = []\n\n for (const validationError of this.validationErrors) {\n for (const fullErrorMessage of validationError.getFullErrorMessages()) {\n fullErrorMessages.push(fullErrorMessage)\n }\n }\n\n return fullErrorMessages.join(\". \")\n }\n\n getValidationErrors = () => this.validationErrors\n\n getValidationErrorsForInput ({attribute, inputName, onMatchValidationError}) {\n const validationErrors = this.validationErrors.filter((validationError) => {\n if (onMatchValidationError) {\n return onMatchValidationError(validationError)\n } else {\n return validationError.matchesAttributeAndInputName(attribute, inputName)\n }\n })\n\n validationErrors.map((validationError) => validationError.setHandled())\n\n return validationErrors\n }\n\n getUnhandledErrorMessage () {\n const unhandledValidationErrors = this.validationErrors.filter((validationError) => !validationError.getHandled())\n\n if (unhandledValidationErrors.length > 0) {\n const unhandledValidationErrorMessages = []\n\n for (const unhandledValidationError of unhandledValidationErrors) {\n for (const errorMessage of unhandledValidationError.getFullErrorMessages()) {\n unhandledValidationErrorMessages.push(errorMessage)\n }\n }\n\n return unhandledValidationErrorMessages.join(\". \")\n }\n }\n}\n\nexport {\n ValidationError,\n ValidationErrors\n}\n","import {simpleObjectValuesDifferent} from \"./diff-utils.js\"\n\nconst memoCompareProps = (prevProps, nextProps, debug) => {\n if (debug) {\n console.log(\"memoCompareProps\", {prevProps, nextProps})\n }\n\n if (Object.keys(nextProps).length != Object.keys(prevProps).length) {\n if (debug) {\n console.log(`Keys length was different - prev ${Object.keys(prevProps).length} after ${Object.keys(nextProps).length}`)\n }\n\n return false\n }\n\n if (debug) {\n console.log(\"Running simpleObjectValuesDifferent\")\n }\n\n const result = simpleObjectValuesDifferent(nextProps, prevProps, {debug})\n\n if (debug) {\n console.log(`Was it different: ${result}`)\n }\n\n return !result\n}\n\nconst memoComparePropsWithDebug = (prevProps, nextProps) => memoCompareProps(prevProps, nextProps, true)\n\nexport {memoComparePropsWithDebug}\nexport default memoCompareProps\n","import {anythingDifferent} from \"./diff-utils.js\"\nimport fetchingObject from \"fetching-object\"\nimport memoCompareProps from \"./memo-compare-props.js\"\nimport PropTypes from \"prop-types\"\nimport shared from \"./shared.js\"\nimport {useEffect, useMemo, useState} from \"react\"\n\nclass ShapeComponent {\n constructor(props) {\n this.props = props\n this.setStates = {}\n this.state = {}\n this.__firstRenderCompleted = false\n this.tt = fetchingObject(this)\n this.p = fetchingObject(() => this.props)\n this.s = fetchingObject(this.state)\n }\n\n setInstance(variables) {\n for (const name in variables) {\n this[name] = variables[name]\n }\n }\n\n setState(statesList, callback) {\n if (typeof statesList == \"function\") {\n statesList = statesList(this.state)\n }\n\n for (const stateName in statesList) {\n const newValue = statesList[stateName]\n\n if (!(stateName in this.setStates)) {\n throw new Error(`No such state: ${stateName}`)\n }\n\n this.setStates[stateName](newValue)\n }\n\n if (callback) {\n shared.renderingCallbacks.push(callback)\n }\n }\n\n useState(stateName, defaultValue) {\n const [stateValue, setState] = useState(defaultValue)\n\n if (!(stateName in this.state)) {\n this.state[stateName] = stateValue\n this.setStates[stateName] = (newValue) => {\n if (anythingDifferent(this.state[stateName], newValue)) {\n let prevState\n\n if (this.componentDidUpdate) {\n prevState = Object.assign({}, this.state)\n }\n\n this.state[stateName] = newValue\n\n // Avoid React error if using set-state while rendering (like in a useMemo callback)\n if (shared.rendering > 0) {\n shared.renderingCallbacks.push(() => {\n setState(newValue)\n })\n } else {\n setState(newValue)\n }\n\n if (this.componentDidUpdate) {\n this.componentDidUpdate(this.props, prevState)\n }\n }\n }\n }\n\n return this.setStates[stateName]\n }\n\n useStates(statesList) {\n if (Array.isArray(statesList)) {\n for(const stateName of statesList) {\n this.useState(stateName)\n }\n } else {\n for(const stateName in statesList) {\n const defaultValue = statesList[stateName]\n\n this.useState(stateName, defaultValue)\n }\n }\n }\n}\n\nconst shapeComponent = (ShapeClass) => {\n const functionalComponent = (props) => {\n // Count rendering to avoid setting state while rendering which causes a console-error from React\n shared.rendering += 1\n\n try {\n // Calculate and validate props\n let actualProps\n\n if (ShapeClass.defaultProps) {\n // Undefined values are removed from the props because they shouldn't override default values\n const propsWithoutUndefined = Object.assign({}, props)\n\n for (const key in propsWithoutUndefined) {\n const value = propsWithoutUndefined[key]\n\n if (value === undefined) {\n delete propsWithoutUndefined[key]\n }\n }\n\n actualProps = Object.assign({}, ShapeClass.defaultProps, propsWithoutUndefined)\n } else {\n actualProps = props\n }\n\n if (ShapeClass.propTypes) {\n const validateProps = {}\n\n for (const key in actualProps) {\n // Accessing 'key' will result in a warning in the console\n if (key == \"key\") continue\n\n validateProps[key] = actualProps[key]\n }\n\n PropTypes.checkPropTypes(ShapeClass.propTypes, validateProps, \"prop\", ShapeClass.name)\n }\n\n const shape = useMemo(() => new ShapeClass(actualProps), [])\n const prevProps = shape.props\n\n shape.props = actualProps\n\n if (shape.setup) {\n shape.setup()\n }\n\n if (shape.componentDidUpdate && shape.__firstRenderCompleted && memoCompareProps(shape.props, props)) {\n shape.componentDidUpdate(prevProps, shape.state)\n }\n\n if (shape.componentDidMount || shape.componentWillUnmount) {\n useEffect(() => {\n if (shape.componentDidMount) {\n shape.componentDidMount()\n }\n\n return () => {\n if (shape.componentWillUnmount) {\n shape.componentWillUnmount()\n }\n }\n }, [])\n }\n\n shape.__firstRenderCompleted = true\n\n // Run any callbacks added by setState(states, callback) once rendering is done\n useEffect(() => {\n if (shared.rendering == 0) {\n try {\n for (const callback of shared.renderingCallbacks) {\n new Promise(() => callback())\n }\n } finally {\n shared.renderingCallbacks.length = 0\n }\n }\n })\n\n // Finally render the component and return it\n return shape.render()\n } finally {\n shared.rendering -= 1\n }\n }\n\n functionalComponent.displayName = ShapeClass.name\n\n Object.defineProperty(functionalComponent, \"name\", {value: ShapeClass.name})\n\n return functionalComponent\n}\n\nexport {shapeComponent, ShapeComponent}\n","if (!window.setStateCompareData) {\n window.setStateCompareData = {\n rendering: 0,\n renderingCallbacks: []\n }\n}\n\nconst shared = window.setStateCompareData\n\nexport default shared\n","import {anythingDifferent} from \"./diff-utils.js\"\nimport {useMemo, useState} from \"react\"\nimport fetchingObject from \"fetching-object\"\nimport shared from \"./shared.js\"\n\nclass Shape {\n constructor() {\n this.setStates = {}\n this.state = {}\n this.props = {}\n this.meta = {}\n this.m = fetchingObject(() => this.meta)\n this.p = fetchingObject(() => this.props)\n this.s = fetchingObject(this.state)\n }\n\n set(statesList) {\n for (const stateName in statesList) {\n const newValue = statesList[stateName]\n\n if (!(stateName in this.setStates)) {\n throw new Error(`No such state: ${stateName}`)\n }\n\n this.setStates[stateName](newValue)\n }\n }\n\n updateMeta(newMeta) {\n Object.assign(this.meta, newMeta)\n }\n\n updateProps(newProps) {\n this.props = newProps\n }\n\n useState(stateName, defaultValue) {\n const [stateValue, setState] = useState(defaultValue)\n\n if (!(stateName in this.state)) {\n this.state[stateName] = stateValue\n this.setStates[stateName] = (newValue) => {\n if (anythingDifferent(this.state[stateName], newValue)) {\n this.state[stateName] = newValue\n\n // Avoid React error if using set-state while rendering (like in a useMemo callback)\n if (shared.rendering > 0) {\n setTimeout(() => setState(newValue), 0)\n } else {\n setState(newValue)\n }\n }\n }\n }\n\n return this.setStates[stateName]\n }\n\n useStates(statesList) {\n if (Array.isArray(statesList)) {\n for(const stateName of statesList) {\n this.useState(stateName)\n }\n } else {\n for(const stateName in statesList) {\n const defaultValue = statesList[stateName]\n\n this.useState(stateName, defaultValue)\n }\n }\n }\n}\n\nconst shapeComponent = (ShapeClass) => {\n return (props) => {\n const shape = useMemo(() => new ShapeClass(), [])\n\n shape.updateProps(props)\n\n if (shape.setup) {\n shape.setup()\n }\n\n return shape.render()\n }\n}\n\nconst useShape = (props, opts) => {\n const shape = useMemo(\n () => {\n const ShapeClass = opts?.shapeClass || Shape\n\n return new ShapeClass()\n },\n []\n )\n\n shape.updateProps(props)\n\n return shape\n}\n\nexport {shapeComponent, Shape}\nexport default useShape\n","export default class OnLocationChangedCallback {\n constructor(callbacksHandler, id, callback) {\n this.callback = callback\n this.callbacksHandler = callbacksHandler\n this.id = id\n this.callCallback = this.callCallback.bind(this)\n this.disconnect = this.disconnect.bind(this)\n }\n\n callCallback() {\n try {\n this.callback()\n } catch (error) {\n // Throw error in a callback to avoid interrupting other callbacks and properly.\n setTimeout(() => { throw error }, 0)\n }\n }\n\n disconnect() {\n delete this.callbacksHandler.callbacks[this.id]\n }\n}\n","import {digg} from \"diggerize\"\nimport OnLocationChangedCallback from \"./on-location-changed-callback.js\"\n\nclass CallbacksHandler {\n constructor() {\n this.callbacks = {}\n this.count = 0\n this.currentLocationHref = location.href\n }\n\n callCallbacks = () => {\n for (const count in this.callbacks) {\n this.callbacks[count].callCallback()\n }\n }\n\n connectMutationObserver() {\n const body = document.querySelector(\"body\")\n\n // Solution recommended various places on the internet is to observe for changed and then check if the location has changed.\n const observer = new MutationObserver(digg(this, \"onLocationMightHaveChanged\"))\n const config = {subtree: true, childList: true}\n\n observer.observe(body, config)\n observer.observe(document, config)\n }\n\n connectReactRouterHistory(history) {\n // A React Router history can be registered globally (must be imported before this file).\n history.listen(digg(this, \"onLocationMightHaveChanged\"))\n }\n\n connectWindowEvents() {\n // If the hash has changed then maybe the entire location has? Trying to catch location change as early as possible.\n window.addEventListener(\"hashchange\", digg(this, \"onLocationMightHaveChanged\"))\n\n // 'popstate' is only called doing certain actions (React Router won't trigger this for example).\n window.addEventListener(\"popstate\", digg(this, \"onLocationMightHaveChanged\"))\n }\n\n connectInterval = () => setInterval(digg(this, \"onLocationMightHaveChanged\"), 500)\n\n onLocationChanged = (givenCallback) => {\n this.count += 1\n\n const callback = new OnLocationChangedCallback(this, this.count, givenCallback)\n\n this.callbacks[this.count] = callback\n\n return callback\n }\n\n onLocationMightHaveChanged = () => {\n if (location.href != this.currentLocationHref) {\n this.currentLocationHref = location.href\n this.callCallbacks()\n }\n }\n}\n\n// Prevent anything from spawning multiple instances (which happened!)\nif (!globalThis.onLocationChangedCallbacksHandler) {\n globalThis.onLocationChangedCallbacksHandler = new CallbacksHandler()\n}\n\nconst callbacksHandler = globalThis.onLocationChangedCallbacksHandler\n\n// Export the single handler that is supposed to exist\nexport {callbacksHandler}\n","import {callbacksHandler} from \"./callbacks-handler.js\"\n\nconst onLocationChanged = (callback) => callbacksHandler.onLocationChanged(callback)\n\nexport default onLocationChanged\n","import onLocationChanged from \"./on-location-changed.js\"\nimport {useCallback, useEffect, useMemo, useState} from \"react\"\n\nconst usePath = () => {\n const [path, setPath] = useState(globalThis.location.pathname)\n const shared = useMemo(() => ({}), [])\n\n shared.path = path\n\n const onLocationChangedCallback = useCallback(() => {\n const newPath = globalThis.location.pathname\n\n if (newPath != shared.path) {\n setPath(newPath)\n }\n }, [])\n\n useEffect(() => {\n const onLocationChangedEvent = onLocationChanged(onLocationChangedCallback)\n\n return () => {\n onLocationChangedEvent.disconnect()\n }\n }, [])\n\n return path\n}\n\nexport default usePath\n","function anythingDifferent(value1, value2, debug) {\n if (Array.isArray(value1) && Array.isArray(value2)) {\n return arrayDifferent(value1, value2)\n } else if (isSimpleObject(value1) && isSimpleObject(value2)) {\n return simpleObjectDifferent(value1, value2, true)\n } else if (typeof value1 == \"object\" && typeof value2 == \"object\" && value1 && value2) {\n return !Object.is(value1, value2)\n } else if (value1 !== value2) {\n if (debug) console.log(`Value 1 ${value1} wasn't the same as value 2 ${value2}`)\n\n return true\n }\n\n return false\n}\n\nfunction arrayDifferent(array1, array2) {\n if (array1.length != array2.length) {\n return true\n }\n\n for (const key in array1) {\n if (anythingDifferent(array1[key], array2[key])) {\n return true\n }\n }\n\n return false\n}\n\nfunction isSimpleObject(value) {\n // Objects that contain $$typeof are special React objects that have recursive issues\n if (typeof value == \"object\" && value !== null && value.constructor.name == \"Object\" && !value[\"$$typeof\"]) {\n return true\n }\n\n return false\n}\n\nfunction simpleObjectDifferent(object1, object2, checkLength) {\n if (checkLength && Object.keys(object1).length !== Object.keys(object2).length) {\n return true\n }\n\n return simpleObjectValuesDifferent(object1, object2)\n}\n\nfunction simpleObjectValuesDifferent(object1, object2, args) {\n for (const key in object1) {\n if (args?.ignore && args.ignore({key})) {\n if (args?.debug) console.log(`Ignoring key ${key}`)\n continue\n }\n\n if (args?.debug) console.log({key, object1: object1[key], object2: object2[key]})\n\n if (!(key in object2)) {\n if (args?.debug) {\n console.log(`Key ${key} wasn't found in object`)\n }\n\n return true\n } else if (anythingDifferent(object1[key], object2[key], args?.debug)) {\n if (args?.debug) {\n console.log(`Something was different for ${key}`)\n }\n\n return true\n }\n }\n\n return false\n}\n\nexport {\n anythingDifferent,\n arrayDifferent,\n isSimpleObject,\n simpleObjectDifferent,\n simpleObjectValuesDifferent\n}\n","import {simpleObjectValuesDifferent} from \"./diff-utils.js\"\n\nconst memoCompareProps = (prevProps, nextProps, debug) => {\n if (debug) {\n console.log(\"memoCompareProps\", {prevProps, nextProps})\n }\n\n if (Object.keys(nextProps).length != Object.keys(prevProps).length) {\n if (debug) {\n console.log(`Keys length was different - prev ${Object.keys(prevProps).length} after ${Object.keys(nextProps).length}`)\n }\n\n return false\n }\n\n if (debug) {\n console.log(\"Running simpleObjectValuesDifferent\")\n }\n\n const result = simpleObjectValuesDifferent(nextProps, prevProps, {debug})\n\n if (debug) {\n console.log(`Was it different: ${result}`)\n }\n\n return !result\n}\n\nconst memoComparePropsWithDebug = (prevProps, nextProps) => memoCompareProps(prevProps, nextProps, true)\n\nexport {memoComparePropsWithDebug}\nexport default memoCompareProps\n","import memoCompareProps, {memoComparePropsWithDebug} from \"./memo-compare-props.js\"\nimport React from \"react\"\n\nconst memo = (component) => React.memo(component, memoCompareProps)\nconst memoWithDebug = (component) => React.memo(component, memoComparePropsWithDebug)\n\nexport {memoWithDebug}\nexport default memo\n","import {anythingDifferent} from \"./diff-utils.js\"\nimport {dig} from \"diggerize\"\nimport fetchingObject from \"fetching-object\"\nimport memoCompareProps from \"./memo-compare-props.js\"\nimport PropTypes from \"prop-types\"\nimport shared from \"./shared.js\"\nimport {useEffect, useMemo, useState} from \"react\"\n\nclass ShapeComponent {\n constructor(props) {\n this.props = props\n this.setStates = {}\n this.state = {}\n this.__firstRenderCompleted = false\n this.tt = fetchingObject(this)\n this.p = fetchingObject(() => this.props)\n this.s = fetchingObject(this.state)\n }\n\n setInstance(variables) {\n for (const name in variables) {\n this[name] = variables[name]\n }\n }\n\n setState(statesList, callback) {\n if (typeof statesList == \"function\") {\n statesList = statesList(this.state)\n }\n\n for (const stateName in statesList) {\n const newValue = statesList[stateName]\n\n if (!(stateName in this.setStates)) {\n throw new Error(`No such state: ${stateName}`)\n }\n\n this.setStates[stateName](newValue)\n }\n\n if (callback) {\n shared.renderingCallbacks.push(callback)\n }\n }\n\n stylingFor(stylingName, style = {}) {\n let customStyling = dig(this, \"props\", \"styles\", stylingName)\n\n if (typeof customStyling == \"function\") {\n customStyling = customStyling({state: this.state, style})\n }\n\n if (customStyling) {\n return Object.assign(style, customStyling)\n }\n\n return style\n }\n\n useState(stateName, defaultValue) {\n const [stateValue, setState] = useState(defaultValue)\n\n if (!(stateName in this.state)) {\n this.state[stateName] = stateValue\n this.setStates[stateName] = (newValue) => {\n if (anythingDifferent(this.state[stateName], newValue)) {\n let prevState\n\n if (this.componentDidUpdate) {\n prevState = Object.assign({}, this.state)\n }\n\n this.state[stateName] = newValue\n\n // Avoid React error if using set-state while rendering (like in a useMemo callback)\n if (shared.rendering > 0) {\n shared.renderingCallbacks.push(() => {\n setState(newValue)\n })\n } else {\n setState(newValue)\n }\n\n if (this.componentDidUpdate) {\n this.componentDidUpdate(this.props, prevState)\n }\n }\n }\n }\n\n return this.setStates[stateName]\n }\n\n useStates(statesList) {\n if (Array.isArray(statesList)) {\n for(const stateName of statesList) {\n this.useState(stateName)\n }\n } else {\n for(const stateName in statesList) {\n const defaultValue = statesList[stateName]\n\n this.useState(stateName, defaultValue)\n }\n }\n }\n}\n\nconst shapeComponent = (ShapeClass) => {\n const functionalComponent = (props) => {\n // Count rendering to avoid setting state while rendering which causes a console-error from React\n shared.rendering += 1\n\n try {\n // Calculate and validate props\n let actualProps\n\n if (ShapeClass.defaultProps) {\n // Undefined values are removed from the props because they shouldn't override default values\n const propsWithoutUndefined = Object.assign({}, props)\n\n for (const key in propsWithoutUndefined) {\n const value = propsWithoutUndefined[key]\n\n if (value === undefined) {\n delete propsWithoutUndefined[key]\n }\n }\n\n actualProps = Object.assign({}, ShapeClass.defaultProps, propsWithoutUndefined)\n } else {\n actualProps = props\n }\n\n if (ShapeClass.propTypes) {\n const validateProps = {}\n\n for (const key in actualProps) {\n // Accessing 'key' will result in a warning in the console\n if (key == \"key\") continue\n\n validateProps[key] = actualProps[key]\n }\n\n PropTypes.checkPropTypes(ShapeClass.propTypes, validateProps, \"prop\", ShapeClass.name)\n }\n\n const shape = useMemo(() => new ShapeClass(actualProps), [])\n const prevProps = shape.props\n\n shape.props = actualProps\n\n if (shape.setup) {\n shape.setup()\n }\n\n if (shape.componentDidUpdate && shape.__firstRenderCompleted && memoCompareProps(shape.props, props)) {\n shape.componentDidUpdate(prevProps, shape.state)\n }\n\n if (shape.componentDidMount || shape.componentWillUnmount) {\n useEffect(() => {\n if (shape.componentDidMount) {\n shape.componentDidMount()\n }\n\n return () => {\n if (shape.componentWillUnmount) {\n shape.componentWillUnmount()\n }\n }\n }, [])\n }\n\n shape.__firstRenderCompleted = true\n\n // Run any callbacks added by setState(states, callback) once rendering is done\n useEffect(() => {\n if (shared.rendering == 0) {\n try {\n for (const callback of shared.renderingCallbacks) {\n new Promise(() => callback())\n }\n } finally {\n shared.renderingCallbacks.length = 0\n }\n }\n })\n\n // Finally render the component and return it\n return shape.render()\n } finally {\n shared.rendering -= 1\n }\n }\n\n functionalComponent.displayName = ShapeClass.name\n\n Object.defineProperty(functionalComponent, \"name\", {value: ShapeClass.name})\n\n return functionalComponent\n}\n\nexport {shapeComponent, ShapeComponent}\n","if (!window.setStateCompareData) {\n window.setStateCompareData = {\n rendering: 0,\n renderingCallbacks: []\n }\n}\n\nconst shared = window.setStateCompareData\n\nexport default shared\n","function digger(target, keys, {callFunctions = false, throwError = true}) {\n let digged = target\n const currentPath = []\n\n for (const key of keys) {\n currentPath.push(key)\n\n if (!(key in digged)) {\n if (throwError) {\n throw new Error(`Path didn't exist: ${currentPath.join(\".\")}`)\n } else {\n return undefined\n }\n } else {\n digged = digged[key]\n }\n\n if (typeof digged === \"function\" && callFunctions) {\n digged = digged()\n }\n }\n\n return digged\n}\n\nconst dig = function dig(target, ...keys) {\n return digger(target, keys, {throwError: false})\n}\n\nconst digg = function dig(target, ...keys) {\n return digger(target, keys, {throwError: true})\n}\n\nconst digs = function digs(target, ...keys) {\n const result = {}\n\n for(let key of keys) {\n if (!(key in target)) throw new Error(`Target didn't contain expected key: ${key}`)\n\n result[key] = target[key]\n }\n\n return result\n}\n\nexport {dig, digg, digger, digs}\n","export default function escapeStringRegexp(string) {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a `\\xnn` escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n}\n","class PropertyNotFoundError extends Error {\n constructor(message) {\n super(message)\n this.name = \"PropertyNotFoundError\"\n }\n}\n\nconst fetchingObjectHandler = {\n get(receiver, prop) {\n if (typeof receiver == \"function\") receiver = receiver()\n if (!(prop in receiver)) throw new PropertyNotFoundError(`Property not found: ${prop}`)\n\n return Reflect.get(receiver, prop)\n },\n\n set(receiver, prop, newValue) {\n if (typeof receiver == \"function\") receiver = receiver()\n if (!(prop in receiver)) throw new PropertyNotFoundError(`Property not found: ${prop}`)\n\n return Reflect.set(receiver, prop, newValue)\n }\n}\n\nconst fetchingObject = (wrappedObject = {}) => new Proxy(wrappedObject, fetchingObjectHandler)\n\nexport default fetchingObject\n","export default class ErrorHandlersRaiser {\n constructor(i18n) {\n this.i18n = i18n\n }\n\n handleError({error}) {\n throw error\n }\n}\n","import events from \"./src/events.mjs\"\nimport {dig, digg} from \"diggerize\"\nimport numberable from \"numberable\"\nimport Raiser from \"./src/error-handlers/raiser.mjs\"\nimport strftime from \"strftime\"\n\nexport default class I18nOnSteroids {\n constructor(args) {\n this.errorHandler = new Raiser(this)\n this.locales = {}\n\n if (args?.fallbacks) {\n this.fallbacks = args.fallbacks\n } else {\n this.fallbacks = {}\n }\n }\n\n setErrorHandler(errorHandler) {\n this.errorHandler = errorHandler\n }\n\n setLocale(locale) {\n this.locale = locale\n events.emit(\"localeChanged\")\n }\n\n setLocaleOnStrftime() {\n const monthNames = [...Object.values(this.t(\"date.month_names\"))]\n const abbrMonthNames = [...Object.values(this.t(\"date.abbr_month_names\"))]\n\n monthNames.shift()\n abbrMonthNames.shift()\n\n const strftimeLocales = {\n days: Object.values(this.t(\"date.day_names\")),\n shortDays: Object.values(this.t(\"date.abbr_day_names\")),\n months: monthNames,\n shortMonths: abbrMonthNames\n }\n\n this.strftime = strftime.localize(strftimeLocales)\n }\n\n scanRequireContext(contextLoader) {\n contextLoader.keys().forEach((id) => {\n const content = contextLoader(id)\n\n this._scanRecursive(content, this.locales, [], id)\n })\n }\n\n scanObject(object) {\n this._scanRecursive(object, this.locales, [])\n }\n\n _scanRecursive(data, storage, currentPath, id) {\n for (const key in data) {\n const value = data[key]\n\n if (typeof value == \"object\") {\n if (!(key in storage)) {\n storage[key] = {}\n }\n\n this._scanRecursive(value, storage[key], currentPath.concat([key], id))\n } else {\n if (key in storage) {\n console.error(`Key already found in locales: ${currentPath.join(\".\")}.${key} '${id}'`, {oldValue: storage[key], newValue: value})\n }\n\n storage[key] = value\n }\n }\n }\n\n l(format, date) {\n const formatValue = this.t(format)\n const formattedDate = this.strftime(formatValue, date)\n\n return formattedDate\n }\n\n t(key, variables, args) {\n const locale = args?.locale || this.locale\n const path = key.split(\".\")\n const localesToTry = this.fallbacks[locale] || [locale]\n let defaultValue, value\n\n for (const locale of localesToTry) {\n value = this._lookup(locale, path)\n\n if (value) {\n break\n }\n }\n\n if (variables && \"defaultValue\" in variables) {\n defaultValue = digg(variables, \"defaultValue\")\n delete variables.defaultValue\n }\n\n if (value === undefined) {\n if (args?.default) {\n value = args.default\n } else if (defaultValue) {\n value = defaultValue\n }\n }\n\n if (value) {\n return this.insertVariables(value, variables)\n }\n\n const error = Error(`Key didn't exist: ${locale}.${key}`)\n\n return this.errorHandler.handleError({error, key, path, variables})\n }\n\n insertVariables(value, variables) {\n if (variables) {\n for (const key in variables) {\n value = value.replace(`%{${key}}`, variables[key])\n }\n }\n\n return value\n }\n\n _lookup = (locale, path) => dig(this.locales, locale, ...path)\n\n toNumber(number) {\n return numberable(number, {\n delimiter: this.t(\"number.format.delimiter\"),\n precision: this.t(\"number.format.precision\"),\n separator: this.t(\"number.format.separator\")\n })\n }\n}\n","// Raises an error outside the normal thread and returns the last part of the key as a string\nexport default class ErrorHandlersRaiseInBackground {\n constructor(i18n) {\n this.i18n = i18n\n }\n\n handleError({error, path}) {\n setTimeout(\n () => {\n throw error\n },\n 0\n )\n\n // Return the last part of the path as a string\n return path[path.length - 1]\n }\n}\n","import EventEmitter from \"events\"\n\nconst events = new EventEmitter()\n\nevents.setMaxListeners(1000)\n\nexport default events\n","import {useCallback, useMemo} from \"react\"\nimport useLocale from \"./use-locale.mjs\"\n\nconst useI18n = ({namespace}) => {\n const shared = useMemo(() => ({}), [])\n const locale = useLocale()\n\n shared.locale = locale\n shared.namespace = namespace\n\n const t = useCallback((key, variables, args = {}) => {\n const newArgs = Object.assign({locale: shared.locale}, args)\n\n if (key.startsWith(\".\")) {\n key = `${shared.namespace}${key}`\n }\n\n return I18n.t(key, variables, newArgs)\n }, [])\n\n return {\n locale,\n t\n }\n}\n\nexport default useI18n\n","import events from \"./events.mjs\"\nimport {useCallback, useEffect, useState} from \"react\"\n\nconst useLocale = () => {\n const [locale, setLocale] = useState(I18n.locale)\n const updateLocale = useCallback(() => {\n setLocale(I18n.locale)\n }, [])\n\n useEffect(() => {\n events.addListener(\"localeChanged\", updateLocale)\n\n return () => {\n events.removeListener(\"localeChanged\", updateLocale)\n }\n }, [])\n\n return locale\n}\n\nexport default useLocale\n","const incorporate = (...objects) => {\n const incorporator = new Incorporator({objects})\n\n return incorporator.merge()\n}\n\nexport {incorporate}\n\nexport default class Incorporator {\n constructor({objects}) {\n this.objects = objects\n this.replaceArrayIfExistsValue = false\n }\n\n replaceArrayIfExists(newValue) {\n this.replaceArrayIfExistsValue = newValue\n }\n\n merge() {\n return this.mergeObjects(...this.objects)\n }\n\n isPlainObject = (input) => {\n if (input && typeof input === \"object\" && !Array.isArray(input)) {\n return true\n }\n\n return false\n }\n\n mergeObjects = (firstObject, ...objects) => {\n for (const object of objects) {\n this.mergeObjectsInto(firstObject, object)\n }\n\n return firstObject\n }\n\n mergeArraysInto = (mergeIntoValue, ...arrays) => {\n for (const array of arrays) {\n for (const value of array) {\n if (!mergeIntoValue.includes(value)) {\n mergeIntoValue.push(value)\n }\n }\n }\n }\n\n mergeObjectsInto = (mergeInto, object) => {\n for (const key in object) {\n const value = object[key]\n\n if (key in mergeInto) {\n const mergeIntoValue = mergeInto[key]\n\n if (Array.isArray(value) && !this.replaceArrayIfExistsValue) {\n // Current value isn't an array - turn into array and then merge into that\n if (!Array.isArray(mergeIntoValue)) {\n mergeInto[key] = [mergeIntoValue]\n }\n\n this.mergeArraysInto(mergeInto[key], value)\n } else if (this.isPlainObject(mergeIntoValue) && this.isPlainObject(value)) {\n this.mergeObjectsInto(mergeIntoValue, value)\n } else {\n mergeInto[key] = value\n }\n } else {\n mergeInto[key] = value\n }\n }\n }\n}\n","class ParentElementsResult {\n constructor(element, path) {\n this.element = element\n this.path = path\n }\n\n getElement() {\n return this.element\n }\n\n getPath() {\n return this.path\n }\n}\n\nconst parentElement = ({element, callback}) => {\n const results = parentElements({element, breakAfterFirstFound: true, callback})\n\n if (results.length > 0) {\n return results[0].getElement()\n }\n}\n\nconst parentElements = ({element, breakAfterFirstFound, callback, currentPath = [], results = []}) => {\n const parent = element.parentNode\n const includeInResults = callback({element: parent})\n\n if (includeInResults) {\n const elementResult = new ParentElementsResult(parent, currentPath)\n\n results.push(elementResult)\n\n if (breakAfterFirstFound) {\n return results\n }\n }\n\n if (parent?.parentNode && (!breakAfterFirstFound || results.length == 0)) {\n parentElements({\n breakAfterFirstFound,\n element: parent,\n callback,\n currentPath: [...currentPath, parent],\n results\n })\n }\n\n return results\n}\n\nexport {\n parentElement,\n parentElements\n}\n"],"names":["adapters","logger","console","undefined","WebSocket","log","messages","this","enabled","push","Date","now","getTime","secondsSince","time","ConnectionMonitor","constructor","connection","visibilityDidChange","bind","reconnectAttempts","start","isRunning","startedAt","stoppedAt","startPolling","addEventListener","staleThreshold","stop","stopPolling","removeEventListener","recordMessage","pingedAt","recordConnect","disconnectedAt","recordDisconnect","poll","clearTimeout","pollTimeout","setTimeout","reconnectIfStale","getPollInterval","reconnectionBackoffRate","Math","pow","min","random","connectionIsStale","refreshedAt","disconnectedRecently","reopen","document","visibilityState","isOpen","INTERNAL","message_types","welcome","disconnect","ping","confirmation","rejection","disconnect_reasons","unauthorized","invalid_request","server_restart","remote","default_mount_path","protocols","supportedProtocols","slice","length","indexOf","Connection","consumer","open","subscriptions","monitor","disconnected","send","data","webSocket","JSON","stringify","isActive","getState","socketProtocols","subprotocols","uninstallEventHandlers","url","installEventHandlers","close","allowReconnect","error","reopenDelay","getProtocol","protocol","isState","triedToReconnect","isProtocolSupported","call","states","state","readyState","toLowerCase","eventName","events","handler","prototype","message","event","identifier","reason","reconnect","type","parse","reconnectAttempted","reload","confirmSubscription","notify","reconnected","reject","notifyAll","willAttemptReconnect","Subscription","params","mixin","object","properties","key","value","extend","perform","action","command","unsubscribe","remove","SubscriptionGuarantor","pendingSubscriptions","guarantee","subscription","startGuaranteeing","forget","filter","s","stopGuaranteeing","retrySubscribing","retryTimeout","subscribe","map","Subscriptions","guarantor","create","channelName","channel","add","ensureActiveConnection","findAll","sendCommand","callbackName","args","Consumer","_url","test","a","createElement","href","replace","createWebSocketURL","connect","addSubProtocol","subprotocol","createConsumer","name","element","head","querySelector","getAttribute","getConfig","hue2rgb","p","q","t","hslToRgb","h","l","r","g","b","round","NUMBER","PERCENTAGE","join","callWithSlashSeparator","commaSeparatedCall","cachedMatchers","parse255","str","int","parseInt","parse360","parseFloat","parse1","num","parsePercentage","module","exports","color","matchers","rgb","RegExp","rgba","hsl","hsla","hwb","hex3","hex4","hex6","hex8","getMatchers","match","exec","colorFromKeyword","normalizeKeyword","w","gray","red","green","blue","hwbToRgb","BaseComponent","_ShapeComponent","_this","_classCallCheck","_len","arguments","Array","_key","_callSuper","concat","fetchingObject","props","shape","tt","_inherits","ShapeComponent","useRouter","useShape","findRouteParams","useCallback","routeDefinition","_step","result","_iterator","_createForOfIteratorHelper","path","split","n","done","part","err","e","f","getPath","window","location","pathname","getRouteDefinitions","routeDefinitions","config","getRoutes","routes","parseRouteDefinitions","_step2","Locales","require","regex","parsedRouteDefinitions","_iterator2","availableLocales","_step3","locale","_iterator3","routePathName","inflection","camelize","Error","Object","keys","routePath","apply","_toConsumableArray","groups","pathRegexString","escapeStringRegexp","variableName","pathRegex","useMemo","updateMeta","matchingRoute","_step4","_iterator4","m","parsedRouteDefinition","matched","groupKey","Number","findMatchingRoute","propTypes","PropTypes","memo","shapeComponent","_ApiMakerRouter","_BaseComponent","ApiMakerRouter","_this$props","notFoundComponent","requireComponent","NotFoundComponent","React","Suspense","fallback","Component","propTypesExact","history","isRequired","anythingDifferent","value1","value2","debug","isArray","array1","array2","arrayDifferent","isSimpleObject","object1","object2","checkLength","simpleObjectValuesDifferent","simpleObjectDifferent","is","ignore","memoCompareProps","prevProps","nextProps","setStateCompareData","rendering","renderingCallbacks","setStates","__firstRenderCompleted","variables","statesList","callback","stateName","newValue","shared","defaultValue","_this2","_useState3","_slicedToArray","useState","stateValue","setState","prevState","componentDidUpdate","assign","ShapeClass","functionalComponent","actualProps","defaultProps","propsWithoutUndefined","validateProps","setup","componentDidMount","componentWillUnmount","useEffect","_loop","Promise","render","displayName","defineProperty","_NotificationsNotification","NotificationsNotification","onRemovedClicked","notification","className","title","style","width","maxWidth","marginBottom","padding","borderRadius","cursor","border","background","Pressable","dataSet","class","classNames","onPress","View","Text","fontWeight","PropTypesExact","FlashNotificationsContainer","onPushNotification","detail","digg","count","removeNotification","notifications","useStates","useEventListener","position","zIndex","top","right","Notification","configuration","HayaSelectConfiguration","_bodyPortal","newBodyPortal","iconSet","createIconSet","glyphMap","Button","getImageSource","getImageSourceSync","ensureNativeModuleAvailable","NativeIconAPI","TYPE_VALUE","TYPE_ERROR","styles","StyleSheet","container","flexDirection","justifyContent","alignItems","touchable","overflow","icon","marginRight","text","backgroundColor","IOS7_BLUE","TEXT_PROP_NAMES","TOUCHABLE_PROP_NAMES","createIconButtonComponent","Icon","_IconButton","_PureComponent","IconButton","iconStyle","children","restProps","_objectWithoutProperties","_excluded","iconProps","pick","touchableProps","omit","colorStyle","blockStyle","TouchableHighlight","selectable","PureComponent","size","_regeneratorRuntime","hasOwnProperty","o","i","Symbol","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","Context","makeInvokeMethod","tryCatch","arg","y","GeneratorFunction","GeneratorFunctionPrototype","d","getPrototypeOf","v","values","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","isGeneratorFunction","mark","setPrototypeOf","__proto__","awrap","async","reverse","pop","prev","charAt","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","_asyncToGenerator","_next","_throw","_defineProperties","_toPropertyKey","toPrimitive","String","_toPrimitive","_getPrototypeOf","ReferenceError","_assertThisInitialized","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","Boolean","valueOf","_setPrototypeOf","DEFAULT_ICON_SIZE","DEFAULT_ICON_COLOR","fontFamily","fontFile","fontStyle","fontBasename","fontReference","Platform","windows","android","web","default","includes","_objectWithoutPropertiesLoose","getOwnPropertySymbols","propertyIsEnumerable","glyph","fromCodePoint","styleDefaults","fontSize","styleOverrides","allowFontScaling","cache","imageSourceCache","Map","setValue","set","setError","has","get","_cache$get","resolveGlyph","_getImageSource","_callee","processedColor","cacheKey","imagePath","_args","_context","processColor","getImageForFont","uri","scale","PixelRatio","t0","_loadFont","_callee2","file","_args2","_context2","loadFontWithFileName","_x","getImageForFontSync","loadFont","hasIcon","getRawGlyphMap","getFontFamily","obj","flat","reduce","acc","_len2","keysToOmit","_key2","keysToOmitSet","Set","getOwnPropertyNames","GetIntrinsic","callBind","$indexOf","allowMissing","intrinsic","setFunctionLength","$TypeError","$apply","$call","$reflectApply","$defineProperty","$max","originalFunction","func","applyBind","toStr","toString","max","concatty","arr","j","that","target","bound","arrLike","offset","slicy","boundLength","boundArgs","Function","joiner","joiny","Empty","implementation","clone","typeOf","isPlainObject","cloneDeep","val","instanceClone","res","cloneObjectDeep","cloneArrayDeep","isObject","isObjectObject","ctor","prot","_typeof","_arrayLikeToArray","_arrayWithoutHoles","iter","from","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","filterUniqueArray","index","lastIndexOf","assignStyle","base","property","baseValue","DASH","MS","toUpper","toUpperCase","camelCaseProperty","camelProp","hyphenateProperty","cssifyDeclaration","cssifyObject","css","RE","isPrefixedProperty","isPrefixedValue","unitlessProperties","borderImageOutset","borderImageSlice","borderImageWidth","lineHeight","opacity","orphans","tabSize","widows","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","prefixedUnitlessProperties","prefixes","getPrefixedProperty","prefix","jLen","_property","isUnitlessProperty","unprefixProperty","propertyWithoutPrefix","normalizeProperty","resolveArrayValue","unprefixValue","_hyphenateStyleName2","_hyphenateStyleName","__esModule","$SyntaxError","gopd","nonEnumerable","nonWritable","nonConfigurable","loose","desc","hasSymbols","defineDataProperty","supportsDescriptors","predicate","fn","defineProperties","predicates","SyntaxError","$Function","getEvalledConstructor","expressionSyntax","$gOPD","getOwnPropertyDescriptor","throwTypeError","ThrowTypeError","calleeThrows","gOPDthrows","getProto","x","needsEval","TypedArray","Uint8Array","INTRINSICS","AggregateError","ArrayBuffer","Atomics","BigInt","DataView","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","isFinite","Proxy","RangeError","SharedArrayBuffer","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakMap","WeakRef","WeakSet","doEval","gen","LEGACY_ALIASES","hasOwn","$concat","$spliceApply","splice","$replace","$strSlice","$exec","rePropName","reEscapeChar","getBaseIntrinsic","alias","intrinsicName","parts","string","first","last","number","quote","subString","stringToPath","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","hasPropertyDescriptors","hasArrayLengthDefineBug","hasToStringTag","overrideIfSet","force","ReflectOwnKeys","R","ReflectApply","receiver","ownKeys","NumberIsNaN","EventEmitter","init","once","emitter","errorListener","removeListener","resolver","eventTargetAgnosticAddListener","flags","on","addErrorHandlerIfEventEmitter","_events","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","_getMaxListeners","_addListener","prepend","existing","warning","newListener","emit","unshift","warned","warn","onceWrapper","fired","wrapFn","_onceWrap","wrapped","_listeners","unwrap","evlistener","ret","unwrapListeners","arrayClone","listenerCount","copy","wrapListener","setMaxListeners","getMaxListeners","doError","er","context","listeners","addListener","prependListener","prependOnceListener","list","originalListener","shift","spliceOne","off","removeAllListeners","rawListeners","eventNames","makeEmptyFunction","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","validateFormat","format","condition","argIndex","framesToPop","$Error","$EvalError","$RangeError","$ReferenceError","$URIError","hasProto","BigInt64Array","BigUint64Array","errorProto","foo","$Object","self","getPolyfill","shim","polyfill","getGlobal","origDefineProperty","descriptor","globalThis","origSymbol","hasSymbolSham","sym","symObj","syms","$hasOwn","Action","readOnly","BeforeUnloadEventType","PopStateEventType","createBrowserHistory","options","_options$window","defaultView","globalHistory","getIndexAndLocation","_window$location","search","hash","idx","usr","blockedPopTx","blockers","nextAction","Pop","_getIndexAndLocation","nextIndex","nextLocation","delta","retry","go","applyTx","_getIndexAndLocation2","createEvents","createHref","to","createPath","getNextLocation","parsePath","createKey","getHistoryStateAndUrl","allowTx","_getIndexAndLocation3","replaceState","Push","_getHistoryStateAndUr","historyState","pushState","Replace","_getHistoryStateAndUr2","back","forward","listen","block","blocker","unblock","promptBeforeUnload","preventDefault","returnValue","handlers","substr","_ref","_ref$pathname","_ref$search","_ref$hash","parsedPath","hashIndex","searchIndex","uppercasePattern","msPattern","toHyphenLower","hName","uncountable_words","plural","men","people","tia","analyses","drives","hives","curves","lrves","aves","foves","movies","aeiouyies","series","xes","mice","buses","oes","shoes","crises","octopuses","aliases","summonses","oxen","matrices","vertices","feet","teeth","geese","quizzes","whereases","criteria","genera","ss","singular","man","person","child","drive","ox","axis","octopus","summons","bus","buffalo","tium","sis","ffe","hive","aeiouyy","matrix","vertex","mouse","foot","tooth","goose","quiz","whereas","criterion","genus","common","plural_rules","singular_rules","non_titlecased_words","id_suffix","underbar","space_or_underbar","uppercase","underbar_prefix","inflector","_apply_rules","rules","skip","override","item","from_index","compare_func","pluralize","singularize","inflect","low_first_letter","str_arr","k","str_path","substring","underscore","all_upper_case","humanize","capitalize","dasherize","titleize","demodulize","tableize","classify","foreign_key","drop_id_ubar","ordinalize","ltd","ld","suf","transform","prefixMap","plugins","_isObject2","combinedValue","processedValue","_prefixValue2","_addNewValuesOnly2","_processedValue","_prefixProperty2","_interopRequireDefault","_cssInJsUtils","CROSS_FADE_REGEX","grab","grabbing","FILTER_REGEX","_isPrefixedValue2","_isPrefixedValue","alternativeProps","alternativePropList","marginBlockStart","marginBlockEnd","marginInlineStart","marginInlineEnd","paddingBlockStart","paddingBlockEnd","paddingInlineStart","paddingInlineEnd","borderBlockStart","borderBlockStartColor","borderBlockStartStyle","borderBlockStartWidth","borderBlockEnd","borderBlockEndColor","borderBlockEndStyle","borderBlockEndWidth","borderInlineStart","borderInlineStartColor","borderInlineStartStyle","borderInlineStartWidth","borderInlineEnd","borderInlineEndColor","borderInlineEndStyle","borderInlineEndWidth","maxHeight","height","columnWidth","minWidth","minHeight","propertyPrefixMap","outputValue","multipleValues","singleValue","dashCaseProperty","_hyphenateProperty2","pLen","prefixMapping","prefixValue","webkitOutput","mozOutput","_capitalizeString2","transition","transitionProperty","WebkitTransition","WebkitTransitionProperty","MozTransition","MozTransitionProperty","Webkit","Moz","ms","addIfNew","prefixProperties","requiredPrefixes","capitalizedProperty","prefixedProperty","_capitalizeString","metaData","currencies","currency","isFunction","isString","isInt","assertSameCurrency","left","assertType","other","Money","assertOperand","operand","amount","code","freeze","fromInteger","fromDecimal","rounder","decimal_digits","resultAmount","equals","subtract","multiply","multiplier","divide","divisor","allocate","ratios","remainder","results","total","ratio","share","floor","compare","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","isZero","isPositive","isNegative","toDecimal","toFixed","toJSON","getAmount","getCurrency","ctorName","isGeneratorFn","isBuffer","callee","isArguments","toDateString","getDate","setDate","isDate","stackTraceLimit","isError","ignoreCase","multiline","global","isRegexp","throw","return","isGeneratorObj","thisArg","baseTimes","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","baseAssignValue","eq","objValue","getRawTag","objectToString","symToStringTag","baseGetTag","isObjectLike","isMasked","toSource","reIsHostCtor","funcProto","objectProto","funcToString","reIsNative","isLength","typedArrayTags","isPrototype","nativeKeysIn","isProto","identity","overRest","setToString","constant","baseSetToString","iteratee","assignValue","source","customizer","isNew","coreJsData","baseRest","isIterateeCall","assigner","sources","guard","getNative","freeGlobal","baseIsNative","getValue","getPrototype","overArg","nativeObjectToString","tag","unmasked","reIsUint","isArrayLike","uid","maskSrcKey","IE_PROTO","Ctor","freeExports","nodeType","freeModule","freeProcess","process","nodeUtil","types","binding","nativeMax","array","otherArgs","freeSelf","root","shortOut","nativeNow","lastCalled","stamp","remaining","copyObject","createAssigner","keysIn","assignIn","baseIsArguments","stubFalse","Buffer","isNumber","objectCtorString","proto","baseIsTypedArray","baseUnary","nodeIsTypedArray","arrayLikeKeys","baseKeysIn","nullthrows","keysShim","isArgs","isEnumerable","hasDontEnumBug","hasProtoEnumBug","dontEnums","equalsConstructorPrototype","excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","hasAutomationEqualityBug","theKeys","skipProto","skipConstructor","equalsConstructorPrototypeIfNotBuggy","origKeys","originalKeys","keysWorksWithArguments","isUndefined","isBlob","isReactNative","initCfg","serialize","cfg","fd","pre","FormData","indices","nullsAsUndefineds","booleansAsIntegers","allowEmptyArrays","noFilesWithArrayNotation","dotsForObjectNotation","getParts","append","isBoolean","lastModifiedDate","lastModified","isFile","prop","toISOString","objectKeys","callBound","toObject","$push","$propIsEnumerable","originalGetSymbols","source1","getSymbols","nextKey","propValue","letters","actual","lacksProperEnumerationOrder","preventExtensions","thrower","assignHasPendingExceptions","walk","ValueParser","nodes","cb","bubble","unit","openParentheses","charCodeAt","closeParentheses","singleQuote","doubleQuote","backslash","slash","comma","colon","star","uLower","uUpper","plus","isUnicodeRange","input","token","escape","escapePos","whitespacePos","parenthesesOpenPos","parent","tokens","pos","stack","balanced","before","after","sourceEndIndex","sourceIndex","unclosed","stringifyNode","node","custom","buf","customResult","minus","dot","exp","EXP","nextCode","nextNextCode","likeNumber","specialProperty","semaphore","forbidden","_","componentName","unknownProps","ReactPropTypesSecret","emptyFunctionWithReset","resetWarningCache","propName","propFullName","secret","getShim","ReactPropTypes","bigint","bool","symbol","any","arrayOf","elementType","instanceOf","objectOf","oneOf","oneOfType","exact","checkPropTypes","percentTwenties","Format","formatters","RFC1738","RFC3986","formats","utils","defaults","allowDots","allowPrototypes","allowSparse","arrayLimit","charset","charsetSentinel","decoder","decode","delimiter","depth","ignoreQueryPrefix","interpretNumericEntities","parameterLimit","parseArrays","plainObjects","strictNullHandling","$0","numberStr","fromCharCode","parseArrayValue","parseKeys","givenKey","valuesParsed","segment","chain","leaf","cleanRoot","parseObject","opts","isRegExp","normalizeParseOptions","tempObj","cleanStr","limit","Infinity","skipIndex","bracketEqualsPos","maybeMap","encodedVal","combine","parseValues","newObj","merge","compact","getSideChannel","arrayPrefixGenerators","brackets","repeat","pushToArray","valueOrArray","toISO","defaultFormat","addQueryPrefix","encode","encoder","encodeValuesOnly","formatter","serializeDate","date","skipNulls","sentinel","generateArrayPrefix","sort","sideChannel","tmpSc","step","findFlag","keyValue","valuesArray","valuesJoined","objKeys","adjustedPrefix","keyPrefix","valueSideChannel","normalizeStringifyOptions","arrayFormat","joined","hexTable","arrayToObject","queue","refs","compacted","compactQueue","strWithoutPlus","unescape","defaultEncoder","kind","out","mapped","mergeTarget","targetItem","aa","ca","da","ea","fa","ha","ia","ja","ka","la","ma","acceptsBooleans","attributeName","attributeNamespace","mustUseProperty","propertyName","sanitizeURL","removeEmptyString","z","ra","sa","ta","pa","qa","oa","removeAttribute","setAttribute","setAttributeNS","xlinkHref","ua","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","va","for","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","A","Ma","trim","Na","Oa","prepareStackTrace","Pa","Qa","$$typeof","_payload","_init","Ra","Sa","Ta","nodeName","Va","_valueTracker","stopTracking","Ua","Wa","checked","Xa","activeElement","body","Ya","defaultChecked","_wrapperState","initialChecked","Za","initialValue","controlled","ab","bb","db","ownerDocument","eb","fb","selected","defaultSelected","disabled","gb","dangerouslySetInnerHTML","hb","ib","jb","textContent","kb","lb","mb","nb","namespaceURI","innerHTML","firstChild","removeChild","appendChild","MSApp","execUnsafeLocalFunction","ob","lastChild","nodeValue","pb","animationIterationCount","aspectRatio","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridArea","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","lineClamp","order","qb","rb","sb","setProperty","tb","menuitem","area","br","col","embed","hr","img","keygen","link","meta","param","track","wbr","ub","vb","wb","xb","srcElement","correspondingUseElement","parentNode","yb","zb","Ab","Bb","Cb","stateNode","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","onError","Ob","Pb","Qb","Rb","Sb","Tb","Vb","alternate","Wb","memoizedState","dehydrated","Xb","Zb","sibling","current","Yb","$b","ac","unstable_scheduleCallback","bc","unstable_cancelCallback","cc","unstable_shouldYield","dc","unstable_requestPaint","B","unstable_now","ec","unstable_getCurrentPriorityLevel","fc","unstable_ImmediatePriority","gc","unstable_UserBlockingPriority","hc","unstable_NormalPriority","ic","unstable_LowPriority","jc","unstable_IdlePriority","kc","lc","oc","clz32","pc","qc","LN2","rc","sc","tc","uc","pendingLanes","suspendedLanes","pingedLanes","entangledLanes","entanglements","vc","xc","yc","zc","Ac","eventTimes","Cc","C","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","delete","pointerId","Tc","nativeEvent","blockedOn","domEventName","eventSystemFlags","targetContainers","Vc","Wc","priority","isDehydrated","containerInfo","Xc","Yc","dispatchEvent","Zc","$c","ad","bd","cd","ReactCurrentBatchConfig","dd","ed","gd","hd","id","Uc","stopPropagation","jd","kd","md","nd","od","keyCode","charCode","pd","qd","rd","_reactName","_targetInst","currentTarget","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","isPersistent","wd","xd","yd","sd","eventPhase","bubbles","cancelable","timeStamp","isTrusted","td","ud","view","vd","Ad","screenX","screenY","clientX","clientY","pageX","pageY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","zd","button","buttons","relatedTarget","fromElement","toElement","movementX","movementY","Bd","Dd","dataTransfer","Fd","Hd","animationName","elapsedTime","pseudoElement","Id","clipboardData","Jd","Ld","Md","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Nd","Od","Alt","Control","Meta","Shift","Pd","Qd","which","Rd","Td","pressure","tangentialPressure","tiltX","tiltY","twist","pointerType","isPrimary","Vd","touches","targetTouches","changedTouches","Xd","Yd","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","Zd","$d","ae","be","documentMode","ce","de","ee","fe","ge","he","ie","le","datetime","email","month","password","range","tel","week","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","oninput","Ae","detachEvent","Be","Ce","attachEvent","De","Ee","Fe","He","Ie","Je","Ke","nextSibling","Le","contains","compareDocumentPosition","Me","HTMLIFrameElement","contentWindow","Ne","contentEditable","Oe","focusedElem","selectionRange","documentElement","end","selectionStart","selectionEnd","getSelection","rangeCount","anchorNode","anchorOffset","focusNode","focusOffset","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","scrollTop","focus","Pe","Qe","Re","Se","Te","Ue","Ve","We","animationend","animationiteration","animationstart","transitionend","Xe","Ye","Ze","animation","$e","af","bf","cf","df","ef","ff","gf","hf","lf","mf","nf","Ub","instance","D","of","pf","qf","rf","sf","capture","passive","J","F","tf","uf","parentWindow","vf","wf","na","xa","$a","ba","je","char","ke","xf","yf","zf","Af","Bf","Cf","Df","Ef","__html","Ff","Gf","Hf","Jf","queueMicrotask","catch","If","Kf","Lf","Mf","previousSibling","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","E","G","Vf","H","Wf","Xf","Yf","contextTypes","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","Zf","childContextTypes","$f","ag","bg","getChildContext","cg","__reactInternalMemoizedMergedChildContext","dg","eg","fg","gg","hg","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","I","zg","Ag","Bg","deletions","Cg","pendingProps","treeContext","retryLane","Dg","mode","Eg","Fg","Gg","memoizedProps","Hg","Ig","Jg","Kg","Lg","ref","_owner","_stringRef","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","_currentValue","bh","childLanes","ch","dependencies","firstContext","lanes","dh","eh","memoizedValue","fh","gh","hh","interleaved","ih","jh","kh","updateQueue","baseState","firstBaseUpdate","lastBaseUpdate","pending","effects","lh","mh","eventTime","lane","payload","nh","K","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","tagName","zh","Ah","Bh","L","Ch","revealOrder","Dh","Eh","_workInProgressVersionPrimary","Fh","ReactCurrentDispatcher","Gh","Hh","M","N","O","Ih","Jh","Kh","Lh","P","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","baseQueue","Uh","Vh","Wh","lastRenderedReducer","hasEagerState","eagerState","lastRenderedState","dispatch","Xh","Yh","Zh","$h","ai","getSnapshot","bi","ci","Q","di","lastEffect","stores","ei","fi","gi","hi","ii","destroy","deps","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","readContext","useContext","useImperativeHandle","useInsertionEffect","useLayoutEffect","useReducer","useRef","useDebugValue","useDeferredValue","useTransition","useMutableSource","useSyncExternalStore","useId","unstable_isNewReconciler","identifierPrefix","Ci","Di","Ei","isMounted","_reactInternals","enqueueSetState","enqueueReplaceState","enqueueForceUpdate","Fi","shouldComponentUpdate","isPureReactComponent","Gi","contextType","updater","Hi","componentWillReceiveProps","UNSAFE_componentWillReceiveProps","Ii","getDerivedStateFromProps","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","Ji","digest","Ki","Li","Mi","Ni","Oi","Pi","Qi","getDerivedStateFromError","componentDidCatch","Ri","componentStack","Si","pingCache","Ti","Ui","Vi","Wi","ReactCurrentOwner","Xi","Yi","Zi","$i","aj","bj","cj","dj","baseLanes","cachePool","transitions","ej","fj","gj","hj","ij","UNSAFE_componentWillUpdate","componentWillUpdate","jj","kj","pendingContext","lj","zj","Aj","Bj","Cj","mj","nj","oj","pj","qj","sj","dataset","dgst","tj","uj","_reactRetry","rj","subtreeFlags","vj","wj","isBackwards","renderingStartTime","tail","tailMode","xj","Dj","S","Ej","Fj","wasMultiple","multiple","suppressHydrationWarning","onClick","onclick","createElementNS","autoFocus","createTextNode","T","Gj","Hj","Ij","Jj","U","Kj","V","Lj","W","Mj","Nj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","insertBefore","_reactRootContainer","Wj","X","Xj","Yj","Zj","onCommitFiberUnmount","ak","bk","ck","dk","ek","isHidden","fk","gk","display","hk","ik","jk","kk","__reactInternalSnapshotBeforeUpdate","src","Vk","lk","ceil","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","callbackNode","expirationTimes","expiredLanes","wc","callbackPriority","ig","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","finishedWork","finishedLanes","Pk","timeoutHandle","Qk","Rk","Sk","Tk","Uk","mutableReadLanes","Bc","Oj","onCommitFiberRoot","mc","onRecoverableError","Wk","onPostCommitFiberRoot","Xk","Yk","$k","isReactComponent","pendingChildren","al","mutableSourceEagerHydrationData","bl","pendingSuspenseBoundaries","dl","el","fl","gl","hl","il","yj","Zk","kl","reportError","ll","_internalRoot","ml","nl","ol","pl","rl","ql","unmount","unstable_scheduleHydration","querySelectorAll","form","sl","usingClientEntryPoint","Events","tl","findFiberByHostInstance","bundleType","version","rendererPackageName","ul","rendererConfig","overrideHookState","overrideHookStateDeletePath","overrideHookStateRenamePath","overrideProps","overridePropsDeletePath","overridePropsRenamePath","setErrorHandler","setSuspenseHandler","scheduleUpdate","currentDispatcherRef","findHostInstanceByFiber","findHostInstancesForRefresh","scheduleRefresh","scheduleRoot","setRefreshHandler","getCurrentFiber","reconcilerVersion","__REACT_DEVTOOLS_GLOBAL_HOOK__","vl","isDisabled","supportsFiber","inject","createPortal","cl","createRoot","unstable_strictMode","findDOMNode","flushSync","hydrate","hydrateRoot","hydratedSources","_getVersion","_source","unmountComponentAtNode","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","checkDCE","_invariant","_canUseDom","dimensions","fontScale","screen","shouldInit","update","win","visualViewport","docEl","clientHeight","clientWidth","devicePixelRatio","handleResize","dimension","initialDimensions","_handler","_interopRequireWildcard","_StyleSheet","_createElement","getAnimationStyle","animationType","visible","animatedSlideInStyles","animatedSlideOutStyles","animatedFadeInStyles","animatedFadeOutStyles","hidden","bottom","animatedIn","animationDuration","ANIMATION_DURATION","animationTimingFunction","animatedOut","pointerEvents","fadeIn","animationKeyframes","fadeOut","slideIn","slideOut","onDismiss","onShow","_React$useState","isRendering","setIsRendering","wasVisible","wasRendering","isAnimated","animationEndCallback","onAnimationEnd","_extends2","_objectWithoutPropertiesLoose2","_View","ModalContent","forwardRef","forwardedRef","active","onRequestClose","transparent","rest","closeOnEscape","modal","modalTransparent","modalOpaque","role","_UIManager","FocusBracket","tabIndex","focusBracket","attemptFocus","focusFirstDescendant","childNodes","focusLastDescendant","trapElementRef","focusRef","trapFocusInProgress","lastFocusedElement","trapFocus","Node","hasFocused","lastFocusedElementOutsideTrap","Fragment","outlineStyle","_reactDom","elementRef","_ModalPortal","_ModalAnimation","_ModalContent","_ModalFocusTrap","uniqueModalIdentifier","activeModalStack","activeModalListeners","notifyActiveModalListeners","activeModalId","modalId","removeActiveModal","Modal","_props$visible","setIsActive","onDismissCallback","onShowCallback","addActiveModal","_Dimensions","getFontScale","getPixelSizeForLayoutSize","layoutSize","roundToNearestPixel","OS","select","isTesting","_react","_useMergeRefs","_useHover","_usePressEvents","delayLongPress","delayPressIn","delayPressOut","onBlur","onContextMenu","onFocus","onHoverIn","onHoverOut","onKeyDown","onLongPress","onPressMove","onPressIn","onPressOut","testOnly_hovered","testOnly_pressed","_useForceableState","useForceableState","hovered","setHovered","_useForceableState2","focused","setFocused","_useForceableState3","pressed","setPressed","hostRef","setRef","pressConfig","delayPressStart","delayPressEnd","onPressChange","onPressStart","onPressEnd","pressEventHandlers","onContextMenuPress","onKeyDownPress","contain","onHoverChange","onHoverStart","onHoverEnd","_tabIndex","interactionState","blurHandler","focusHandler","contextMenuHandler","keyDownHandler","forced","_useState","touchAction","MemoedPressable","_normalizeValueWithProperty","emptyObject","supportsCSS3TextDecoration","CSS","supports","SYSTEM_FONT_STACK","STYLE_SHORT_FORM_EXPANSIONS","borderColor","borderBlockColor","borderInlineColor","borderStyle","borderBlockStyle","borderInlineStyle","borderWidth","borderBlockWidth","borderInlineWidth","insetBlock","insetInline","marginBlock","marginInline","paddingBlock","paddingInline","overscrollBehavior","borderEndStartRadius","borderEndEndRadius","borderStartStartRadius","borderStartEndRadius","insetBlockEnd","insetBlockStart","isInline","resolvedStyle","backgroundClip","WebkitBackgroundClip","flexBasis","textDecorationLine","textDecoration","direction","_value","longFormProperties","marginLeft","marginTop","paddingLeft","paddingRight","paddingTop","paddingBottom","longForm","seed","murmurhash2_32_gc","atomic","compiledStyle","$$css","compiledRules","atomicCompile","srcProp","valueString","stringifyValueWithProperty","cachedResult","createIdentifier","customGroup","atomicGroup","selector","_processKeyframesValu2","processKeyframesValue","animationNames","keyframesRules","createDeclarationBlock","_block","finalValue","_block2","_block3","_block4","_block5","scrollbarWidth","_block6","createAtomicRules","orderedRules","localizeableValue","PROPERTIES_VALUE","_left","_right","propPolyfill","PROPERTIES_I18N","ltr","rtl","PROPERTIES_FLIP","polyfillIndices","ltrPolyfillValues","rtlPolyfillValues","ltrVal","ltrPolyfill","rtlPolyfill","_ltr","_rtl","classic","_processKeyframesValu","_objectSpread2","classicGroup","inline","originalStyle","isRTL","frozenProps","nextStyle","originalValue","originalProp","originalValues","valuePolyfill","_createReactDOMStyle","_hash","_prefixStyles","inset","margin","insetInlineEnd","insetInlineStart","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","borderLeftColor","borderLeftStyle","borderLeftWidth","borderRightColor","borderRightStyle","borderRightWidth","normalizedValue","domStyle","keyframesValue","keyframes","_createKeyframes","steps","stepName","createKeyframes","_isWebColor","_processColor","colorInt","_unitlessNumbers","colorProps","_normalizeColor","borderTopColor","borderBottomColor","shadowColor","textDecorationColor","textShadowColor","unitlessNumbers","gridRowGap","gridColumnGap","scaleX","scaleY","scaleZ","shadowOpacity","prefixKey","rootNode","getElementById","ShadowRoot","sheet","group","selectors","cssRules","cssRule","cssText","selectorText","groupPattern","decodeGroupRule","getSelectorText","sheetInsert","orderedGroups","getOrderedGroups","nextGroupIndex","nextGroup","isInserted","insertRule","insertRuleAt","groupNumber","previousStart","getTextContent","marker","insert","groupValue","markerRule","encodeGroupRule","selectorPattern","createSheet","defaultId","getRootNode","sheets","_createOrderedCSSStyleSheet","_createCSSStyleSheet","initialRules","rule","roots","initialSheet","_compiler","_dom","_transformLocalizeStyle","_preprocess","_styleq","staticStyleMap","defaultPreprocessOptions","shadow","textShadow","insertRules","compiledOrderedRules","absoluteFillObject","absoluteFill","compiledStyles","_atomic","styleObj","_classic","compileAndInsertReset","preprocess","writingDirection","styleProps","_options","preprocessOptions","styleq","factory","localizeStyle","customStyleq","compose","style1","style2","flatten","flatArray","getSheet","hairlineWidth","resolveRNStyle","stylesheet","createTransformValue","createTextShadowValue","createBoxShadowValue","_warnOnce","defaultOffset","shadowOffset","shadowRadius","offsetX","offsetY","blurRadius","textShadowOffset","textShadowRadius","_ref2","radius","mapTransform","PROPERTIES_STANDARD","borderBottomEndRadius","borderBottomStartRadius","borderTopEndRadius","borderTopStartRadius","borderEndColor","borderEndStyle","borderEndWidth","borderStartColor","borderStartStyle","borderStartWidth","marginEnd","marginHorizontal","marginStart","marginVertical","paddingEnd","paddingHorizontal","paddingStart","paddingVertical","ignoredProps","elevation","overlayColor","resizeMode","tintColor","warnOnce","boxShadowValue","boxShadow","textShadowValue","_value2","verticalAlign","validate","isInvalid","suggestion","invalidShortforms","invalidMultiValueShortforms","_postcssValueParser","borderBottom","borderLeft","borderRight","borderTop","font","grid","outline","backgroundPosition","TextAncestorContext","createContext","forwardedProps","_pick","_useElementLayout","_usePlatformMethods","_useResponderEvents","_TextAncestorContext","_useLocale","forwardPropsList","accessibilityProps","clickProps","focusProps","keyboardProps","mouseProps","touchProps","lang","hrefAttrs","numberOfLines","onLayout","onMoveShouldSetResponder","onMoveShouldSetResponderCapture","onResponderEnd","onResponderGrant","onResponderMove","onResponderReject","onResponderRelease","onResponderStart","onResponderTerminate","onResponderTerminationRequest","onScrollShouldSetResponder","onScrollShouldSetResponderCapture","onSelectionChangeShouldSetResponder","onSelectionChangeShouldSetResponderCapture","onStartShouldSetResponder","onStartShouldSetResponderCapture","hasTextAncestor","contextDirection","useLocaleContext","handleClick","component","langDirection","getLocaleDirection","componentDirection","dir","supportedProps","pickProps","WebkitLineClamp","textHasAncestor$raw","text$raw","textOneLine","textMultiLine","notSelectable","pressable","download","rel","platformMethodsRef","Provider","textStyle","boxSizing","listStyle","textAlign","whiteSpace","wordWrap","textOverflow","WebkitBoxOrient","userSelect","createExtraStyles","activeOpacity","underlayColor","underlay","hasPressHandler","focusable","onHideUnderlay","onShowUnderlay","rejectResponderTermination","extraStyles","setExtraStyles","showUnderlay","hideUnderlay","Children","only","accessibilityDisabled","actionable","cloneElement","MemoedTouchableHighlight","_getBoundingClientRect","_setValueForStyles","getRect","offsetHeight","offsetWidth","offsetLeft","offsetTop","offsetParent","clientLeft","clientTop","scrollY","scrollX","measureLayout","relativeToNativeNode","relativeNode","isConnected","relativeRect","_getRect","elementsToIgnore","BODY","INPUT","SELECT","TEXTAREA","UIManager","blur","isContentEditable","measure","measureInWindow","_getBoundingClientRec","onFail","onSuccess","updateView","configureNextLayoutAnimation","onAnimationDidEnd","setLayoutAnimationEnabledExperimental","onScroll","onWheel","view$raw","_AccessibilityUtil","_createDOMProps","accessibilityComponent","propsToAccessibilityComponent","domProps","LocaleProvider","_normalizeColors","int32Color","_isDisabled","_propsToAccessibilityComponent","_propsToAriaRole","AccessibilityUtil","propsToAriaRole","accessibilityStates","roleComponents","article","banner","blockquote","complementary","contentinfo","deletion","emphasis","figure","insertion","listitem","main","navigation","paragraph","region","strong","accessibilityRole","level","accessibilityLevel","accessibilityRoleToWebRole","adjustable","header","image","imagebutton","keyboardkey","label","none","summary","_role","inferredRole","canUsePassiveEvents","getOptions","compatListener","supported","supportsPassiveEvents","canUseDOM","_StyleSheet2","processIDRefList","idRefList","pointerEventsStyles","auto","_props","ariaActiveDescendant","accessibilityActiveDescendant","ariaAtomic","accessibilityAtomic","ariaAutoComplete","accessibilityAutoComplete","ariaBusy","accessibilityBusy","ariaChecked","accessibilityChecked","ariaColumnCount","accessibilityColumnCount","ariaColumnIndex","accessibilityColumnIndex","ariaColumnSpan","accessibilityColumnSpan","ariaControls","accessibilityControls","ariaCurrent","accessibilityCurrent","ariaDescribedBy","accessibilityDescribedBy","ariaDetails","accessibilityDetails","ariaDisabled","ariaErrorMessage","accessibilityErrorMessage","ariaExpanded","accessibilityExpanded","ariaFlowTo","accessibilityFlowTo","ariaHasPopup","accessibilityHasPopup","ariaHidden","accessibilityHidden","ariaInvalid","accessibilityInvalid","ariaKeyShortcuts","accessibilityKeyShortcuts","ariaLabel","accessibilityLabel","ariaLabelledBy","accessibilityLabelledBy","ariaLevel","ariaLive","accessibilityLiveRegion","ariaModal","accessibilityModal","ariaMultiline","accessibilityMultiline","ariaMultiSelectable","accessibilityMultiSelectable","ariaOrientation","accessibilityOrientation","ariaOwns","accessibilityOwns","ariaPlaceholder","accessibilityPlaceholder","ariaPosInSet","accessibilityPosInSet","ariaPressed","accessibilityPressed","ariaReadOnly","accessibilityReadOnly","ariaRequired","accessibilityRequired","ariaRoleDescription","accessibilityRoleDescription","ariaRowCount","accessibilityRowCount","ariaRowIndex","accessibilityRowIndex","ariaRowSpan","accessibilityRowSpan","ariaSelected","accessibilitySelected","ariaSetSize","accessibilitySetSize","ariaSort","accessibilitySort","ariaValueMax","accessibilityValueMax","ariaValueMin","accessibilityValueMin","ariaValueNow","accessibilityValueNow","ariaValueText","accessibilityValueText","nativeID","testID","_ariaActiveDescendant","_ariaAtomic","_ariaAutoComplete","_ariaBusy","_ariaChecked","_ariaColumnCount","_ariaColumnIndex","_ariaColumnSpan","_ariaControls","_ariaCurrent","_ariaDescribedBy","_ariaDetails","_ariaErrorMessage","_ariaExpanded","_ariaFlowTo","_ariaHasPopup","_ariaHidden","_ariaInvalid","_ariaKeyShortcuts","_ariaLabel","_ariaLabelledBy","_ariaLevel","_ariaLive","_ariaModal","_ariaMultiline","_ariaMultiSelectable","_ariaOrientation","_ariaOwns","_ariaPlaceholder","_ariaPosInSet","_ariaPressed","_ariaReadOnly","_ariaRequired","required","_ariaRoleDescription","_ariaRowCount","_ariaRowIndex","_ariaRowSpan","_ariaSelected","_ariaSetSize","_ariaSort","_ariaValueMax","_ariaValueMin","_ariaValueNow","_ariaValueText","dataProp","dataName","dataValue","inlineStyle","_id","onAuxClick","onGotPointerCapture","onLostPointerCapture","onPointerCancel","onPointerDown","onPointerEnter","onPointerMove","onPointerLeave","onPointerOut","onPointerOver","onPointerUp","onKeyDownCapture","onKeyUp","onKeyUpCapture","onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOver","onMouseOut","onMouseUp","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","getBoundingClientRect","selection","isTextNode","TEXT_NODE","addModalityListener","getActiveModality","activeModality","getModality","modality","testOnly_resetActiveModality","isEmulatingMouseEvents","KEYBOARD","previousModality","previousActiveModality","_addEventListener","MOUSE","TOUCH","CONTEXTMENU","MOUSEDOWN","MOUSEMOVE","MOUSEUP","POINTERDOWN","POINTERMOVE","SCROLL","SELECTIONCHANGE","TOUCHCANCEL","TOUCHMOVE","TOUCHSTART","bubbleOptions","captureOptions","restoreModality","callListeners","onPointerish","eventType","PointerEvent","nextObj","_createPrefixer","_static","prefixAll","_backgroundClip","_crossFade","_cursor","_filter","_imageSet","_logical","_position","_sizing","_transition","wms","appearance","textEmphasisPosition","textEmphasis","textEmphasisStyle","textEmphasisColor","boxDecorationBreak","clipPath","maskImage","maskMode","maskRepeat","maskPosition","maskClip","maskOrigin","maskSize","maskComposite","mask","maskBorderSource","maskBorderMode","maskBorderSlice","maskBorderWidth","maskBorderOutset","maskBorderRepeat","maskBorder","maskType","textDecorationStyle","textDecorationSkip","breakAfter","breakBefore","breakInside","columnFill","columnGap","columnRule","columnRuleColor","columnRuleStyle","columnRuleWidth","columnSpan","backdropFilter","hyphens","flowInto","flowFrom","regionFragment","textOrientation","fontKerning","textSizeAdjust","isCustomProperty","_dangerousStyleValue","styleName","styleValue","observer","ResizeObserver","resizeObserver","entries","entry","DOM_LAYOUT_HANDLER_NAME","layout","getResizeObserver","_useLayoutEffect","observe","unobserve","targetListeners","_useStable","removeTargetListener","clear","targetRef","onHoverUpdate","canUsePE","supportsPointerEvent","addMoveListener","_useEvent","addEnterListener","addLeaveListener","addLockListener","lockEventType","addUnlockListener","unlockEventType","hoverEnd","leaveListener","getPointerType","dispatchCustomEvent","moveListener","hoverStart","lockEvent","_modality","createEvent","_ref$bubbles","_ref$cancelable","initCustomEvent","useLayoutEffectImpl","LocaleContext","_isLocaleRTL","defaultLocale","isLocaleRTL","cachedRTL","Intl","Locale","script","maximize","rtlScripts","_unused","rtlLangs","_lang","_mergeRefs","hostNode","relativeToNode","success","failure","DELAY","ERROR","LONG_PRESS_DETECTED","NOT_RESPONDER","RESPONDER_ACTIVE_LONG_PRESS_START","RESPONDER_ACTIVE_PRESS_START","RESPONDER_INACTIVE_PRESS_START","RESPONDER_RELEASE","RESPONDER_TERMINATED","Transitions","RESPONDER_GRANT","getElementRole","getElementType","isActiveSignal","signal","isButtonRole","isPressStartSignal","isValidKeyPress","isSpacebar","isButtonish","normalizeDelay","delay","getTouchFromResponderEvent","_event$nativeEvent","_eventHandlers","_isPointerTouch","_longPressDelayTimeout","_longPressDispatched","_pressDelayTimeout","_pressOutDelayTimeout","_touchState","_responderElement","configure","_config","_cancelLongPressDelayTimeout","_cancelPressDelayTimeout","_cancelPressOutDelayTimeout","getEventHandlers","_createEventHandlers","shouldDelay","_selectionTerminated","_receiveSignal","_handleLongPress","keyupHandler","isNativeInteractiveElement","isActiveElement","isSpacebarKey","touch","_touchActivatePosition","hypot","_this$_config","_this$_config2","_this$_config3","nextState","_performTransitionSideEffects","isTerminalSignal","isPrevActive","isNextActive","_activate","_deactivate","_this$_config4","_onLongPress","_this$_config5","_this$_config6","pressResponderRef","_PressResponder","pressResponder","TOUCH_START","TOUCH_MOVE","TOUCH_END","TOUCH_CANCEL","SELECTION_CHANGE","MOUSE_UP","MOUSE_MOVE","MOUSE_DOWN","MOUSE_CANCEL","FOCUS_OUT","CONTEXT_MENU","BLUR","isCancelish","isEndish","isMoveish","isScroll","isSelectionChange","isStartish","addNode","_utils","setResponderId","responderListenersMap","attachListeners","__reactResponderSystemActive","eventListener","documentEventsBubblePhase","documentEventsCapturePhase","getResponderNode","currentResponder","removeNode","terminateResponder","_createResponderEvent","_ResponderEventTypes","_ResponderTouchHistoryStore","startRegistration","moveRegistration","shouldSetResponderEvents","touchstart","mousedown","touchmove","mousemove","scroll","emptyResponder","idPath","trackedTouchCount","responderTouchHistoryStore","ResponderTouchHistoryStore","changeCurrentResponder","responder","getResponderConfig","domEvent","eventTarget","isStartEvent","isPrimaryPointerDown","isMoveEvent","isEndEvent","isScrollEvent","isSelectionChangeEvent","responderEvent","recordTouchTrack","wantsResponder","eventPaths","getResponderPaths","wasNegotiated","currentResponderIdPath","eventIdPath","lowestCommonAncestor","getLowestCommonAncestor","nodePath","shouldSetCallbacks","shouldSetCallbackCaptureName","shouldSetCallbackBubbleName","check","shouldSetCallback","_i","_result","_id2","_node2","findWantsResponder","_currentResponder2","currentId","currentNode","_getResponderConfig2","dispatchConfig","registrationName","_getResponderConfig3","allowTransfer","attemptTransfer","_currentResponder","_getResponderConfig","isTerminateEvent","hasValidSelection","isReleaseEvent","hasTargetTouches","shouldTerminate","_currentResponder3","__DEV__","MAX_TOUCH_BANK","timestampForTouch","timestamp","getTouchIdentifier","recordTouchStart","touchHistory","touchRecord","touchBank","touchActive","startPageX","startPageY","startTimeStamp","currentPageX","currentPageY","currentTimeStamp","previousPageX","previousPageY","previousTimeStamp","resetTouchRecord","createTouchRecord","mostRecentTimeStamp","printTouch","printTouchBank","printed","_touchHistory","numberActiveTouches","indexOfSingleActiveTouch","topLevelType","recordTouchMove","recordTouchEnd","touchTrackToCheck","activeRecord","rect","propagationWasStopped","domEventChangedTouches","domEventType","normalizeIdentifier","normalizeTouches","locationX","locationY","emulatedTouches","emptyArray","getInitialValue","useStable","idCounter","isAttachedRef","ResponderSystem","requiresResponderSystem","isResponder","pathA","pathB","pathALength","pathBLength","itemA","indexA","itemB","indexB","eventPath","composedPathFallback","composedPath","getEventPath","getResponderId","_isSelectionValid","isPrimaryMouseDown","isPrimaryMouseMove","noModifiers","keyName","UNINITIALIZED","isScreenReaderEnabled","prefersReducedMotionMedia","matchMedia","AccessibilityInfo","isReduceMotionEnabled","matches","fetch","setAccessibilityFocus","reactTag","announceForAccessibility","announcement","nativeEventEmitter","isLayoutAnimationEnabled","shouldEmitW3CPointerEvents","shouldPressibilityUseW3CPointerEventsForHover","animatedShouldDebounceQueueFlush","animatedShouldUseSingleOp","RN$Bridgeless","__nativeAnimatedNodeTagCount","__nativeAnimationIdCount","waitingForQueuedOperations","queueOperations","queueAndExecuteBatchedOperations","flushQueueTimeout","nativeOps","API","saveValueCallback","queueOperation","setWaitingForIdentifier","unsetWaitingForIdentifier","disableQueue","clearImmediate","setImmediate","flushQueue","createAnimatedNode","updateAnimatedNodeConfig","startListeningToAnimatedNodeValue","stopListeningToAnimatedNodeValue","connectAnimatedNodes","parentTag","childTag","disconnectAnimatedNodes","startAnimatingNode","animationId","nodeTag","endCallback","stopAnimation","setAnimatedNodeValue","setAnimatedNodeOffset","flattenAnimatedNodeOffset","extractAnimatedNodeOffset","connectAnimatedNodeToView","viewTag","disconnectAnimatedNodeFromView","restoreDefaultValues","dropAnimatedNode","addAnimatedEventToView","eventMapping","removeAnimatedEventFromView","animatedNodeTag","SUPPORTED_COLOR_STYLES","SUPPORTED_STYLES","translateX","translateY","SUPPORTED_TRANSFORMS","rotate","rotateX","rotateY","rotateZ","perspective","SUPPORTED_INTERPOLATION_PARAMS","inputRange","outputRange","extrapolate","extrapolateRight","extrapolateLeft","isSupportedStyleProp","isSupportedTransformProp","isSupportedInterpolationParam","generateNewAnimationId","_warnedMissingNativeAnimated","shouldUseNativeDriver","useNativeDriver","isSupportedColorStyleProp","addWhitelistedStyleProp","addWhitelistedTransformProp","addWhitelistedInterpolationParam","validateStyles","validateTransform","configs","validateInterpolation","_key3","generateNewNodeTag","assertNativeAnimatedModule","transformDataType","PI","NativeEventEmitter","NativeAnimatedAPI","NativeAnimatedHelper","_uniqueId","__attach","__detach","__isNative","__nativeTag","__getValue","__getAnimatedValue","__addChild","__removeChild","__getChildren","__makeNative","platformConfig","_platformConfig","hasListeners","_startListeningToNativeValueUpdates","_stopListeningForNativeValueUpdates","__nativeAnimatedValueListener","__shouldUpdateListenersForNewNativeTag","__getNativeTag","__onAnimatedValueUpdateReceived","__callListeners","_this$__nativeTag","nativeTag","__getNativeConfig","__getPlatformConfig","__setPlatformConfig","super","_children","linear","createInterpolation","colorToRgba","pattern","stringShapeRegex","checkPattern","outputRanges","interpolations","shouldRound","startsWith","createInterpolationFromStringOutputRange","checkInfiniteRange","checkValidInputRange","easing","findRange","inputMin","inputMax","outputMin","outputMax","interpolate","normalizedColor","AnimatedInterpolation","_parent","_interpolation","parentValue","__transformDataType","__createInterpolation","_startingValue","_offset","_animation","operation","_updateValue","setOffset","flattenOffset","extractOffset","resetAnimation","animate","__isInteraction","InteractionManager","createInteractionHandle","previousAnimation","clearInteractionHandle","_tracking","tracking","flush","animatedStyles","findAnimatedStyles","animatedStyle","attachNativeEvent","viewRef","argMapping","eventMappings","traverse","nativeEventPath","animatedValueTag","mapping","detach","AnimatedEvent","_argMapping","__addListener","_callListeners","_attachedEvent","__removeListener","__getHandler","recMapping","recEvt","mappingKey","_len3","_key4","transforms","_transforms","transConfigs","flattenStyle","createAnimatedStyle","inputStyle","_inputStyle","_style","_walkStyleAndGetValues","updatedStyle","_walkStyleAndGetAnimatedValues","styleConfig","styleKey","_callback","_animatedView","__disconnectAnimatedView","__connectAnimatedView","setNativeView","animatedView","nativeViewTag","__restoreDefaultValues","propsConfig","propKey","useAnimatedProps","onUpdateRef","prevNodeRef","isUnmountingRef","prevNode","useAnimatedPropsLifecycle","effect","cleanupRef","refEffect","getScrollableNode","getEventTarget","_events$_i","_propName","callbackRef","reduceAnimatedProps","collapsable","createAnimatedComponent","_useAnimatedProps","reducedProps","_refs","useMergeRefs","passthroughAnimatedPropExplicitValues","passthroughStyle","passthroughProps","mergedStyle","FlatList","scrollEventThrottle","ScrollView","SectionList","_a","_b","_min","_max","_lastValue","diff","_warnedAboutDivideByZero","modulus","_modulus","animationClass","animationConfig","_animationClass","_animationConfig","_useNativeDriver","toValue","__getNativeAnimationConfig","valueIn","jointCallback","getLayout","getTranslateTransform","startNativeAnimationNextId","fromValue","onUpdate","onEnd","animatedValue","__nativeId","__debouncedOnEnd","__onEnd","__startNativeAnimation","startNativeAnimationWaitId","_config$deceleration","_config$isInteraction","_config$iterations","_deceleration","deceleration","_velocity","velocity","isInteraction","__iterations","iterations","__active","_fromValue","_onUpdate","_startTime","_animationFrame","requestAnimationFrame","abs","finished","cancelAnimationFrame","stiffnessFromOrigamiValue","oValue","dampingFromOrigamiValue","fromOrigamiTensionAndFriction","tension","friction","stiffness","damping","fromBouncinessAndSpeed","bounciness","speed","normalize","startValue","endValue","projectNormal","bouncyTension","bouncyFriction","b3Friction2","b3Friction3","linearInterpolation","SpringAnimation","_config$overshootClam","_config$restDisplacem","_config$restSpeedThre","_config$velocity","_config$velocity2","_config$delay","_config$stiffness","_config$damping","_config$mass","_overshootClamping","overshootClamping","_restDisplacementThreshold","restDisplacementThreshold","_restSpeedThreshold","restSpeedThreshold","_initialVelocity","_lastVelocity","_toValue","_delay","mass","_stiffness","_damping","_mass","_config$bounciness","_config$speed","springConfig","SpringConfig","_config$tension","_config$friction","_springConfig","_this$_initialVelocit","initialVelocity","_startPosition","_lastPosition","_lastTime","_frameTime","internalState","getInternalState","lastPosition","lastVelocity","lastTime","_timeout","deltaTime","v0","zeta","sqrt","omega0","omega1","x0","envelope","sin","cos","_envelope","isOvershooting","isVelocity","isDisplacement","_easeInOut","_config$easing","_config$duration","_easing","Easing","inOut","ease","_duration","duration","frames","numFrames","frame","defaultColor","isRgbaValue","AnimatedColor","isRgbaAnimatedValue","rgbaAnimatedValue","initColor","nativeColor","_processColor2","shouldUpdateNodeConfig","rgbaValue","_nativeTag","_combineCallbacks","onComplete","maybeVectorAnim","anim","configX","configY","_config$key","aX","aY","parallel","stopTogether","configR","configG","configB","configA","_config$_key","aR","aG","aB","aA","timing","_start2","singleConfig","_startNativeLoop","_isUsingNativeDriver","sequence","animations","doneCount","hasEnded","endResult","Value","ValueXY","Color","Interpolation","decay","_start3","spring","_start","modulo","diffClamp","stagger","loop","_temp","_ref$iterations","_ref$resetBeforeItera","resetBeforeIteration","isFinished","iterationsSoFar","restart","animatedEvent","forkEvent","unforkEvent","Event","inAnimationCallback","mockAnimationStart","guardedCallback","emptyAnimation","mockCompositeAnimation","anyValue","AnimatedImplementation","Animated","AnimatedMock","Image","query","listenerMapping","Appearance","getColorScheme","addChangeListener","mappedListener","colorScheme","Dimensions","NEWTON_ITERATIONS","SUBDIVISION_PRECISION","SUBDIVISION_MAX_ITERATIONS","kSampleStepSize","float32ArraySupported","aA1","aA2","calcBezier","aT","getSlope","bezier","mX1","mY1","mX2","mY2","sampleValues","getTForX","intervalStart","currentSample","kSplineTableSize","guessForT","initialSlope","_aGuessT","aGuessT","currentSlope","newtonRaphsonIterate","_aA","_aB","currentX","currentT","binarySubdivide","step0","step1","quad","cubic","poly","circle","elastic","bounce","_t","_t2","t2","x1","y1","x2","y2","deepDiffer","one","two","maxDepth","twoKey","numColumnsOrDefault","numColumns","scrollToEnd","_listRef","scrollToIndex","scrollToItem","scrollToOffset","recordInteraction","flashScrollIndicators","getScrollResponder","getNativeScrollRef","getScrollRef","_virtualizedListPairs","_captureRef","_getItem","itemIndex","_item","_getItemCount","_keyExtractor","items","_this$props$keyExtrac","keyExtractor","_renderer","ListItemComponent","renderItem","columnWrapperStyle","extraData","cols","renderProp","info","_item2","_index","row","it","separators","_memoizedRenderer","_checkProps","viewabilityConfigCallbackPairs","pair","viewabilityConfig","onViewableItemsChanged","_createOnViewableItemsChanged","getItem","getItemCount","horizontal","_pushMultiColumnViewable","_this$props$keyExtrac2","changed","viewableItems","removeClippedSubviews","_removeClippedSubviews","_this$props$strictMod","strictMode","renderer","VirtualizedList","I18nManager","allowRTL","forceRTL","getConstants","assets","getAssetByID","assetId","dataUriPattern","ImageUriCache","_entries","lastUsedTimestamp","refCount","_cleanUpIfNeeded","leastRecentlyUsedKey","leastRecentlyUsedEntry","imageUris","_maximumEntries","requests","ImageLoader","abort","requestId","onerror","onload","getSize","interval","setInterval","load","clearInterval","naturalHeight","naturalWidth","onLoad","onDecode","prefetch","queryCache","uris","LOADED","LOADING","_filterId","svgDataUriPattern","resolveAssetUri","asset","scales","preferredScale","curr","scaleSuffix","httpServerLocation","svg","defaultSource","draggable","onLoadEnd","onLoadStart","updateState","_React$useState2","updateLayout","hiddenImageRef","filterRef","requestRef","shouldDisplaySource","_extractNonStandardSt","filterId","tintColorProp","flatStyle","filters","shadowString","extractNonStandardStyleProps","_resizeMode","_tintColor","selectedSource","displayImageUri","imageSizeStyle","_getAssetByID","resolveAssetDimensions","backgroundImage","backgroundSize","_hiddenImageRef$curre","_height3","_width3","scaleFactor","getBackgroundSize","hiddenImage","alt","accessibilityImage$raw","abortPendingRequest","_layout","undo","resizeModeStyles","visibility","floodColor","in2","operator","createTintColorSVG","ImageWithStatics","backgroundRepeat","center","cover","stretch","onMoreTasks","_onMoreTasks","_queueStack","tasks","popable","enqueue","task","_getCurrentQueue","enqueueTasks","cancelTasks","tasksToCancel","hasTasksToProcess","processNext","_genPromise","run","stackIdx","stackItem","ex","isSupported","requestIdleCallback","didTimeout","timeRemaining","cancelIdleCallback","_emitter","interactionStart","interactionComplete","runAfterInteractions","promise","_scheduleUpdate","_taskQueue","cancel","_inc","_addInteractionSet","_deleteInteractionSet","setDeadline","deadline","_deadline","_interactionSet","_nextUpdateHandle","_processUpdate","interactionCount","nextInteractionCount","begin","Keyboard","isVisible","dismiss","NativeModules","useEvent","usePressEvents","useHover","colors","onRefresh","progressBackgroundColor","progressViewOffset","refreshing","titleColor","normalizeScrollEvent","contentOffset","contentSize","scrollHeight","scrollWidth","layoutMeasurement","ScrollViewBase","_props$scrollEnabled","scrollEnabled","_props$scrollEventThr","showsHorizontalScrollIndicator","showsVerticalScrollIndicator","scrollState","isScrolling","scrollLastTick","scrollTimeout","scrollRef","createPreventableScrollHandler","handleScrollTick","hideScrollbar","lastTick","eventThrottle","timeSinceLastTick","handleScrollEnd","handleScrollStart","scrollDisabled","overflowX","overflowY","_scrollNodeRef","_innerViewRef","isTouching","lastMomentumScrollBeginTime","lastMomentumScrollEndTime","observedScrollSinceBecomingResponder","becameResponderWhileAnimating","scrollResponderHandleScrollShouldSetResponder","scrollResponderHandleStartShouldSetResponderCapture","scrollResponderIsAnimating","scrollResponderHandleTerminationRequest","scrollResponderHandleTouchEnd","scrollResponderHandleResponderRelease","currentlyFocusedTextInput","TextInputState","currentlyFocusedField","keyboardShouldPersistTaps","onScrollResponderKeyboardDismissed","blurTextInput","scrollResponderHandleScroll","scrollResponderHandleResponderGrant","scrollResponderHandleScrollBeginDrag","onScrollBeginDrag","scrollResponderHandleScrollEndDrag","onScrollEndDrag","scrollResponderHandleMomentumScrollBegin","onMomentumScrollBegin","scrollResponderHandleMomentumScrollEnd","onMomentumScrollEnd","scrollResponderHandleTouchStart","scrollResponderHandleTouchMove","scrollResponderScrollTo","animated","behavior","scrollResponderZoomTo","scrollResponderScrollNativeHandleToKeyboard","nodeHandle","additionalOffset","preventNegativeScrollOffset","additionalScrollOffset","getInnerViewNode","scrollResponderTextInputFocusError","scrollResponderInputMeasureAndScrollToKeyboard","keyboardScreenY","keyboardWillOpenTo","endCoordinates","scrollOffsetY","scrollResponderKeyboardWillShow","onKeyboardWillShow","scrollResponderKeyboardWillHide","onKeyboardWillHide","scrollResponderKeyboardDidShow","onKeyboardDidShow","scrollResponderKeyboardDidHide","onKeyboardDidHide","scrollResponderFlashScrollIndicators","getInnerViewRef","scrollTo","scrollResponderNode","_handleContentOnLayout","_e$nativeEvent$layout","onContentSizeChange","_handleScroll","keyboardDismissMode","dismissKeyboard","_setInnerViewRef","_setScrollNodeRef","mergeRefs","scrollResponderHandleStartShouldSetResponder","scrollResponderHandleResponderReject","contentContainerStyle","refreshControl","stickyHeaderIndices","pagingEnabled","centerContent","contentSizeChangeProps","hasStickyHeaderIndices","isSticky","stickyHeader","pagingEnabledChild","contentContainer","contentContainerHorizontal","contentContainerCenterContent","baseStyle","baseHorizontal","baseVertical","pagingEnabledStyle","pagingEnabledHorizontal","pagingEnabledVertical","scrollResponderHandleTerminate","ScrollViewClass","scrollView","commonStyle","WebkitOverflowScrolling","scrollSnapType","scrollSnapAlign","ForwardedScrollView","VirtualizedSectionList","_subExtractor","_convertViewable","viewable","_info$index","keyExtractorWithNullableIndex","section","keyExtractorWithNonNullableIndex","_onViewableItemsChanged","_renderItem","listItemCount","infoIndex","renderSectionHeader","renderSectionFooter","SeparatorComponent","_getSeparatorComponent","ItemWithSeparator","LeadingSeparatorComponent","SectionSeparatorComponent","cellKey","leadingItem","leadingSection","prevCellKey","setSelfHighlightCallback","_setUpdateHighlightFor","setSelfUpdatePropsCallback","_setUpdatePropsFor","updateHighlightFor","_updateHighlightFor","updatePropsFor","_updatePropsFor","trailingItem","trailingSection","inverted","updateProps","_updatePropsMap","updateHighlight","_updateHighlightMap","updateHighlightFn","updatePropsFn","scrollToLocation","sectionIndex","sections","viewOffset","stickySectionHeadersEnabled","__getFrameMetricsApprox","toIndexParams","getListRef","passThroughProps","ItemSeparatorComponent","listHeaderOffset","ListHeaderComponent","itemCount","itemIdx","sectionData","_this$props2","isLastItemInList","isLastItemInSection","leadingSeparatorHiglighted","setLeadingSeparatorHighlighted","separatorHighlighted","setSeparatorHighlighted","_React$useState3","leadingSeparatorProps","setLeadingSeparatorProps","_React$useState4","separatorProps","setSeparatorProps","highlight","unhighlight","newProps","leadingSeparator","highlighted","separator","_wrapperListRef","listRef","_stickySectionHeadersEnabled","normalizeValueWithProperty","normalizeColor","createCSSStyleSheet","createOrderedCSSStyleSheet","OrderedCSSStyleSheet","crossFade","imageSet","logical","sizing","createPrefixer","prefixStyles","setSelection","isSelectionStale","setSelectionRange","autoCapitalize","autoComplete","autoCorrect","maxLength","onChange","placeholder","rows","spellCheck","focusTimeout","TextInput","_inputMode","_props$autoCapitalize","autoCompleteType","_props$autoCorrect","blurOnSubmit","caretHidden","clearTextOnFocus","editable","enterKeyHint","inputMode","keyboardType","_props$multiline","onChangeText","onKeyPress","onSelectionChange","onSubmitEditing","placeholderTextColor","_props$readOnly","returnKeyType","_props$secureTextEntr","secureTextEntry","selectTextOnFocus","showSoftInputOnFocus","prevSelection","prevSecureTextEntry","handleContentSizeChange","newHeight","newWidth","imperativeRef","isFocused","_currentlyFocusedNode","shouldBlurOnSubmit","isComposing","isEventComposing","onSelect","_e$target","_selection","textinput$raw","virtualkeyboardpolicy","State","MozAppearance","WebkitAppearance","resize","caretColor","useWindowDimensions","dims","setDims","handleChange","reactRoot","hydrateLegacy","renderLegacy","alert","RootTagContext","AppContainer","WrapperComponent","innerView","appContainer","rootTag","wrapperComponentProvider","runnables","componentProviderInstrumentationHook","AppRegistry","getAppKeys","getApplication","appKey","appParameters","registerComponent","componentProvider","RootComponent","initialProps","getStyleElement","renderApplication","shouldHydrate","renderFn","registerConfig","registerRunnable","runApplication","setComponentProviderInstrumentationHook","hook","setWrapperComponentProvider","provider","unmountApplicationComponentAtRootTag","isPrefixed","EVENT_TYPES","VISIBILITY_CHANGE_EVENT","VISIBILITY_STATE_PROPERTY","AppStates","changeEmitter","AppState","currentState","isAvailable","clipboardAvailable","exitApp","Clipboard","queryCommandSupported","getString","setString","selectNodeContents","execCommand","configureNext","Presets","easeInEaseOut","springDamping","Types","easeIn","easeOut","keyboard","Properties","scaleXY","checkConfig","initialURL","urlToOpen","URL","_eventCallbacks","_dispatchEvent","filteredCallbacks","canOpenURL","getInitialURL","openURL","_validateURL","TouchHistoryMath","centroidDimension","touchesChangedAfter","isXAxis","ofCurrent","oneTouchData","touchTrack","noCentroid","currentCentroidXOfTouchesChangedAfter","currentCentroidYOfTouchesChangedAfter","previousCentroidXOfTouchesChangedAfter","previousCentroidYOfTouchesChangedAfter","currentCentroidX","currentCentroidY","PanResponder","_initializeGestureState","gestureState","moveX","moveY","y0","dx","dy","vx","vy","_accountsForMovesUpTo","_updateGestureStateOnMove","movedAfter","prevX","prevY","nextDX","nextDY","dt","shouldCancelClick","timeout","stateID","panHandlers","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onStartShouldSetPanResponderCapture","onMoveShouldSetPanResponderCapture","clearInteractionTimeout","onPanResponderGrant","onShouldBlockNativeResponder","onPanResponderReject","onPanResponderRelease","setInteractionTimeout","onPanResponderStart","onPanResponderMove","onPanResponderEnd","onPanResponderTerminate","onPanResponderTerminationRequest","onClickCapture","getInteractionHandle","content","navigator","sharedAction","dismissedAction","vibrate","createSvgCircle","cx","cy","fill","ActivityIndicator","_props$animating","animating","_props$color","_props$hidesWhenStopp","hidesWhenStopped","_props$size","viewBox","stroke","indicatorSizes","animationPause","animationPlayState","small","large","TouchableOpacity","setDuration","_useState2","opacityOverride","setOpacityOverride","setOpacityTo","setOpacityActive","setOpacityInactive","isGrant","transitionDuration","MemoedTouchableOpacity","buttonDisabled","textDisabled","textTransform","CheckBox","onValueChange","fakeControl","fakeControlChecked","fakeControlDisabled","fakeControlCheckedAndDisabled","nativeControl","cursorInherit","cursorDefault","ImageBackground","_props$style","imageStyle","imageRef","_StyleSheet$flatten","KeyboardAvoidingView","relativeKeyboardHeight","keyboardFrame","keyboardY","keyboardVerticalOffset","onKeyboardChange","Picker","selectedValue","itemStyle","prompt","selectedIndex","initial","usePlatformMethods","Item","ProgressBar","_props$indeterminate","indeterminate","_props$progress","progress","_props$trackColor","trackColor","percentageProgress","forcedColorAdjust","cssFunction","SafeAreaView","StatusBar","setBackgroundColor","setBarStyle","setHidden","setNetworkActivityIndicatorVisible","setTranslucent","CSS_UNIT_RE","thumbDefaultBoxShadow","thumbFocusedBoxShadow","defaultDisabledTrackColor","defaultDisabledThumbColor","Switch","activeThumbColor","activeTrackColor","_props$disabled","thumbColor","_props$value","thumbRef","handleFocusState","styleHeight","styleWidth","trackBorderRadius","trackCurrentColor","true","false","thumbCurrentColor","thumbHeight","thumbWidth","rootStyle","disabledTrackColor","disabledThumbColor","trackStyle","thumbStyle","thumb","thumbActive","alignSelf","twoArgumentPooler","a1","a2","Klass","instancePool","standardReleaser","destructor","poolSize","DEFAULT_POOLER","addPoolingTo","CopyConstructor","pooler","NewKlass","getPooled","release","BoundingDimensions","getPooledFromElement","Position","extractSingleTouch","hasTouches","hasChangedTouches","States","baseStatesConditions","RESPONDER_INACTIVE_PRESS_IN","RESPONDER_INACTIVE_PRESS_OUT","RESPONDER_ACTIVE_PRESS_IN","RESPONDER_ACTIVE_PRESS_OUT","RESPONDER_ACTIVE_LONG_PRESS_IN","RESPONDER_ACTIVE_LONG_PRESS_OUT","IsActive","IsPressingIn","IsLongPressingIn","Signals","ENTER_PRESS_RECT","LEAVE_PRESS_RECT","TouchableMixin","touchableNode","getTouchableNode","_touchableBlurListener","_isTouchableKeyboardActive","touchState","touchableHandleResponderTerminate","touchableDelayTimeout","longPressDelayTimeout","pressOutDelayTimeout","pressInLocation","responderID","touchableGetInitialState","touchableHandleResponderTerminationRequest","touchableHandleStartShouldSetResponder","touchableLongPressCancelsPress","touchableHandleResponderGrant","dispatchID","delayMS","touchableGetHighlightDelayMS","_handleDelay","longDelayMS","touchableGetLongPressDelayMS","LONG_PRESS_THRESHOLD","_handleLongDelay","touchableHandleResponderRelease","touchableHandleResponderMove","positionOnActivate","dimensionsOnActivate","pressRectOffset","touchableGetPressRectOffset","pressExpandLeft","pressExpandTop","pressExpandRight","pressExpandBottom","hitSlop","touchableGetHitSlop","_getDistanceBetweenPoints","touchableHandleFocus","touchableHandleBlur","_remeasureMetricsOnActivation","_handleQueryLayout","globalX","globalY","curState","_performSideEffectsForTransition","_isHighlight","_savePressInLocation","bX","bY","curIsHighlight","newIsHighlight","isInitialTransition","isActiveTransition","touchableHandleLongPress","_startHighlight","_endHighlight","hasLongPressHandler","pressIsLongButStillCallOnPress","touchableHandlePress","_playTouchSound","playTouchSound","touchableHandleActivePressIn","touchableHandleActivePressOut","touchableGetPressOutDelayMS","touchableHandleKeyEvent","withoutDefaultFocusAndBlur","TouchableMixinWithoutDefaultFocusAndBlur","Touchable","Mixin","TOUCH_TARGET_DEBUG","renderDebugView","debugHitSlopStyle","hexColor","unimplementedViewStyles","accessibilityState","accessibilityValue","TouchableWithoutFeedback","elementProps","MemoedTouchableWithoutFeedback","YellowBox","ignoreWarnings","ignoreLogs","ignoreAllLogs","uninstall","install","useColorScheme","setColorScheme","focusTextInput","textFieldNode","useElementLayout","PressResponder","createResponderEvent","useResponderEvents","nativeModule","_nativeModule","_this$_nativeModule","_this$_nativeModule2","removeListeners","_this$_nativeModule3","_this$_nativeModule4","computeWindowedRenderLimits","maxToRenderPerBatch","windowSize","getFrameMetricsApprox","scrollMetrics","visibleLength","_scrollMetrics$zoomSc","zoomScale","visibleBegin","visibleEnd","overscanLength","fillPreference","overscanBegin","overscanEnd","_elementsThatOverlapO","offsets","getFrameMetrics","offsetIndex","currentOffset","mid","scaledOffsetStart","scaledOffsetEnd","elementsThatOverlapOffsets","overscanFirst","overscanLast","newCellCount","newRangeCount","maxNewCells","firstWillAddMore","firstShouldIncrement","lastWillAddMore","lastShouldIncrement","dispose","_taskHandle","schedule","CellRenderMask","numCells","_numCells","_regions","isSpacer","enumerateRegions","addCells","cells","_this$_findRegion","_findRegion","firstIntersect","firstIntersectIdx","_this$_findRegion2","lastIntersect","lastIntersectIdx","newLeadRegion","newTailRegion","newMainRegion","replacementRegions","numRegionsToDelete","every","cellIdx","firstIdx","lastIdx","middleIdx","middleRegion","ChildListCollection","_cellKeyToChildren","_childrenToCellKey","_this$_cellKeyToChild","cellLists","listSet","forEachInCell","_this$_cellKeyToChild2","anyInCell","_this$_cellKeyToChild3","Info","any_blank_count","any_blank_ms","any_blank_speed_sum","mostly_blank_count","mostly_blank_ms","pixels_blank","pixels_sampled","pixels_scrolled","total_time_spent","sample_count","_minSampleCount","_sampleRate","setSampleRate","sampleRate","setMinSampleCount","minSampleCount","_anyBlankStartTime","_enabled","_info","_mostlyBlankStartTime","_samplesStartTime","_getFrameMetrics","_resetData","activate","performance","deactivateAndFlush","computeBlankness","cellsAroundViewport","dOffset","scrollSpeed","blankTop","firstFrame","inLayout","blankBottom","lastFrame","bottomEdge","blankness","StateSafePureComponent","_inAsyncStateUpdate","_installSetStateHooks","partialState","newState","_isViewable","viewAreaMode","viewablePercentThreshold","viewportHeight","itemLength","_isEntirelyVisible","pixels","visibleHeight","_getPixelsVisible","viewAreaCoveragePercentThreshold","_hasInteracted","_timers","_viewableIndices","_viewableItems","computeViewableItems","scrollOffset","renderRange","itemVisiblePercentThreshold","viewableIndices","firstVisible","metrics","createViewToken","waitForInteraction","minimumViewTime","_onUpdateSync","resetViewableIndices","viewableIndicesToCheck","prevItems","nextItems","_step$value","_step2$value","_viewable","isViewable","VirtualizedListContext","VirtualizedListContextProvider","getScrollMetrics","getOutermostParentListRef","registerAsNestedChild","unregisterAsNestedChild","VirtualizedListCellContextProvider","_ref3","currContext","CellRenderer","_separators","onUpdateSeparators","_this$props3","_onLayout","onCellLayout","updateSeparatorProps","onUnmount","_renderElement","_this$props4","CellRendererComponent","inversionStyle","onCellFocusCapture","itemSeparator","cellStyle","rowReverse","columnReverse","onFocusCapture","_usedIndexForKey","_keylessItemComponentName","horizontalOrDefault","maxToRenderPerBatchOrDefault","onEndReachedThresholdOrDefault","onEndReachedThreshold","getScrollingThreshold","threshold","windowSizeOrDefault","veryLast","_footerLength","_scrollMetrics","_scrollRef","getItemLayout","onScrollToIndexFailed","viewPosition","_highestMeasuredFrameIndex","averageItemLength","_averageCellLength","highestMeasuredFrameIndex","_getOffsetApprox","_nestedChildLists","childList","_viewabilityTuples","viewabilityHelper","_updateViewableItems","_getCellKey","_this$context","hasMore","_hasMore","_this$props$updateCel","_getScrollMetrics","_getOutermostParentListRef","_isNestedWithSameOrientation","_registerAsNestedChild","_unregisterAsNestedChild","_onUpdateSeparators","_cellRefs","_getSpacerKey","isVertical","_frames","_hasTriggeredInitialScrollToIndex","_hasWarned","_headerLength","_hiPriInProgress","_indicesToKeys","_lastFocusedCellKey","_offsetFromParentVirtualizedList","_prevParentOffset","contentLength","_sentStartForContentLength","_sentEndForContentLength","_totalCellLength","_totalCellsMeasured","_captureScrollRef","_defaultRenderScrollComponent","_props$refreshing","RefreshControl","_onCellLayout","_selectOffset","_selectLength","_scheduleCellsToRenderUpdate","_triggerRemeasureForChildListsInCell","_computeBlankness","_onCellUnmount","measureLayoutRelativeToContainingList","_maybeCallOnEdgeReached","_onLayoutEmpty","_onLayoutFooter","_getFooterCellKey","_onLayoutHeader","_onContentSizeChange","initialScrollIndex","_convertParentScrollMetrics","_onScroll","_this$_convertParentS","perf","prevDt","_fillRateHelper","_onScrollBeginDrag","tuple","_onScrollEndDrag","_onMomentumScrollBegin","_onMomentumScrollEnd","_updateCellsToRender","_adjustCellsAroundViewport","renderMask","_createRenderMask","_getNonViewportRenderRegions","_createViewToken","isInteger","frameMetrics","focusedCellIndex","heightOfCellsBeforeFocused","heightOfCellsAfterFocused","_updateCellsToRenderBatcher","updateCellsBatchingPeriod","initialRenderRegion","_initialRenderRegion","invertedWheelEventHandler","ev","scrollLength","clientLength","isEventTargetScrollable","leftoverDelta","targetDelta","nextScrollLeft","nextScrollTop","additionalRegions","_i2","_allRegions","initialRegion","stickyIndicesSet","_ensureClosestStickyHeader","_props$initialScrollI","initialNumToRender","firstCellIndex","stickyOffset","newCellsAroundViewport","_this$_scrollMetrics","distanceFromEnd","_constrainToItemCount","disableVirtualization","renderAhead","EPSILON","childIdx","_findFirstChildWithMore","cellKeyForIndex","setupWebWheelHandler","teardownWebWheelHandler","constrainedCells","_pushCells","stickyIndicesFromProps","shouldListenForLayout","_onCellFocusCapture","nestedContext","_this$props5","ListEmptyComponent","ListFooterComponent","_this$props6","horizontallyInverted","verticallyInverted","_element","ListHeaderComponentStyle","_element2","spacerKey","renderRegions","lastSpacer","findLastWhere","firstMetrics","lastMetrics","spacerSize","_element3","ListFooterComponentStyle","scrollProps","invertStickyHeaders","renderScrollComponent","_renderDebugOverlay","_this$props7","hiPriInProgress","framesInLayout","windowTop","frameLast","windowLen","visTop","visLen","debugOverlayBase","debugOverlay","debugOverlayFrame","debugOverlayFrameLast","debugOverlayFrameVis","_this$props8","onStartReached","onStartReachedThreshold","onEndReached","_this$_scrollMetrics2","distanceFromStart","isWithinStartThreshold","isWithinEndThreshold","_this$state$cellsArou","_this$_scrollMetrics3","hiPri","onStartReachedThresholdOrDefault","distTop","distBottom","_registry","registrations","registry","registration","_arr","forceUpdate","__self","__source","_status","toArray","Profiler","StrictMode","act","_currentValue2","_threadCount","_defaultValue","_globalName","createFactory","createRef","isValidElement","lazy","startTransition","unstable_act","OwnPropertyKeys","CreateMethodProperty","setToStringTag","sortIndex","startTime","expirationTime","priorityLevel","scheduling","isInputPending","MessageChannel","port2","port1","onmessage","postMessage","unstable_Profiling","unstable_continueExecution","unstable_forceFrameRate","unstable_getFirstCallbackNode","unstable_next","unstable_pauseExecution","unstable_runWithPriority","unstable_wrapCallback","hasDescriptors","gOPD","$floor","functionLengthIsConfigurable","functionLengthIsWritable","deep","allocUnsafe","cloneBuffer","cloneSymbol","byteLength","cloneArrayBuffer","buffer","byteOffset","cloneTypedArray","lastIndex","cloneRegExp","inspect","$WeakMap","$Map","$weakMapGet","$weakMapSet","$weakMapHas","$mapGet","$mapSet","$mapHas","listGetNode","$wm","$m","$o","assert","objects","listGet","listHas","hasMap","mapSizeDescriptor","mapSize","mapForEach","hasSet","setSizeDescriptor","setSize","setForEach","weakMapHas","weakSetHas","weakRefDeref","deref","booleanValueOf","functionToString","$match","$slice","$toUpperCase","$toLowerCase","$test","$join","$arrSlice","bigIntValueOf","gOPS","symToString","hasShammedSymbols","gPO","addNumericSeparator","sepRegex","intStr","dec","utilInspect","inspectCustom","inspectSymbol","isSymbol","wrapQuotes","defaultStyle","quoteChar","quoteStyle","inspect_","seen","maxStringLength","customInspect","indent","numericSeparator","inspectString","bigIntStr","baseIndent","getIndent","noIndent","newOpts","nameOf","arrObjKeys","symString","markBoxed","HTMLElement","isElement","attrs","attributes","xs","singleLineValues","indentedJoin","cause","isMap","mapParts","collectionOf","isSet","setParts","isWeakMap","weakCollectionOf","isWeakSet","isWeakRef","isBigInt","ys","protoTag","stringTag","trailer","lowbyte","lineJoiner","symMap","util","hasNativeMap","ArraySet","_array","_set","fromArray","aArray","aAllowDuplicates","aStr","sStr","toSetString","isDuplicate","at","aIdx","base64","aValue","digit","encoded","vlq","toVLQSigned","VLQ_BASE","aIndex","aOutParam","continuation","shifted","strLen","intToCharMap","recursiveSearch","aLow","aHigh","aNeedle","aHaystack","aCompare","aBias","cmp","LEAST_UPPER_BOUND","GREATEST_LOWER_BOUND","MappingList","_sorted","_last","generatedLine","generatedColumn","unsortedForEach","aCallback","aThisArg","aMapping","mappingA","mappingB","lineA","lineB","columnA","columnB","compareByGeneratedPositionsInflated","swap","ary","temp","doQuickSort","comparator","low","high","pivot","binarySearch","base64VLQ","quickSort","SourceMapConsumer","aSourceMap","aSourceMapURL","sourceMap","parseSourceMapInput","IndexedSourceMapConsumer","BasicSourceMapConsumer","getArg","names","sourceRoot","sourcesContent","mappings","_version","isAbsolute","relative","_names","_sources","_absoluteSources","computeSourceURL","_mappings","_sourceMapURL","Mapping","originalLine","originalColumn","lastOffset","line","column","_sections","offsetLine","offsetColumn","generatedOffset","fromSourceMap","__generatedMappings","_parseMappings","__originalMappings","_charIsMappingSeparator","aSourceRoot","GENERATED_ORDER","ORIGINAL_ORDER","eachMapping","aContext","aOrder","_generatedMappings","_originalMappings","allGeneratedPositionsFor","aArgs","needle","_findSourceIndex","_findMapping","compareByOriginalPositions","lastColumn","aSource","relativeSource","smc","_sourceRoot","_generateSourcesContent","_file","generatedMappings","destGeneratedMappings","destOriginalMappings","srcMapping","destMapping","previousGeneratedColumn","previousOriginalLine","previousOriginalColumn","previousSource","previousName","cachedSegments","originalMappings","compareByGeneratedPositionsDeflated","aMappings","aLineName","aColumnName","aComparator","computeColumnSpans","nextMapping","lastGeneratedColumn","originalPositionFor","hasContentsOfAllSources","some","sourceContentFor","nullOnMissing","urlParse","fileUriAbsPath","scheme","generatedPositionFor","bias","generatedPosition","sectionMappings","adjustedMapping","SourceMapGenerator","_skipValidation","_sourcesContents","aSourceMapConsumer","generator","newMapping","generated","original","addMapping","sourceFile","sourceRelative","setSourceContent","_validateMapping","aSourceFile","aSourceContent","applySourceMap","aSourceMapPath","newSources","newNames","aGenerated","aOriginal","aName","_serializeMappings","nameIdx","sourceIdx","previousGeneratedLine","aSources","REGEX_NEWLINE","isSourceNode","SourceNode","aLine","aColumn","aChunks","sourceContents","fromStringWithSourceMap","aGeneratedCode","aRelativePath","remainingLines","remainingLinesIndex","shiftNextLine","getNextLine","lastGeneratedLine","lastMapping","nextLine","addMappingWithCode","aChunk","chunk","aFn","aSep","newChildren","replaceRight","aPattern","aReplacement","walkSourceContents","fromSetString","toStringWithSourceMap","sourceMappingActive","lastOriginalSource","lastOriginalLine","lastOriginalColumn","lastOriginalName","sourceContent","aDefaultValue","urlRegexp","dataUrlRegexp","aUrl","auth","host","port","urlGenerate","aParsedUrl","aPath","up","aRoot","aPathUrl","aRootUrl","supportsNullProto","isProtoString","strcmp","aStr1","aStr2","onlyCompareOriginal","onlyCompareGenerated","sourceURL","sourceMapURL","parsed","hex_chr","md5cycle","md5blk","md5blks","md5blk_array","md51","tmp","lo","md51_array","subarray","rhex","hex","toUtf8","utf8Str2ArrayBuffer","returnUInt8Array","buff","arrayBuffer2Utf8Str","concatenateArrayBuffers","second","hexToBinaryString","bytes","SparkMD5","clamp","targetArray","sourceArray","appendBinary","contents","_buff","_length","raw","_finish","hashBinary","EventListener","eventOptions","unorderedBindings","bindingConnected","bindingDisconnected","handleEvent","extendedEvent","stopImmediatePropagation","immediatePropagationStopped","extendEvent","bindings","hasBindings","leftIndex","rightIndex","Dispatcher","application","eventListenerMaps","started","eventListeners","fetchEventListenerForBinding","clearEventListeners","clearEventListenersForBinding","handleError","removeMappedEventListenerFor","eventListenerMap","fetchEventListenerMapForEventTarget","fetchEventListener","createEventListener","defaultActionDescriptorFilters","prevent","descriptorPattern","parseEventTarget","eventTargetName","namespaceCamelize","isSomething","hasProperty","allModifiers","schema","defaultEventNames","getDefaultEventNameForElement","methodName","keyFilter","forToken","descriptorString","parseActionDescriptorString","eventFilter","shouldIgnoreKeyboardEvent","keyFilterDissatisfied","standardFilter","keyMappings","shouldIgnoreMouseEvent","typecast","ctrl","modifier","details","textarea","o_O","Binding","actionEvent","prepareActionEvent","willBeInvokedByEvent","applyEventModifiers","invokeWithEvent","controller","actionDescriptorFilters","passes","logDebugActivity","KeyboardEvent","MouseEvent","Element","scope","containsElement","ElementObserver","mutationObserverInit","subtree","elements","mutationObserver","MutationObserver","mutations","processMutations","refresh","pause","takeRecords","matchElementsInTree","removeElement","addElement","mutation","processMutation","processAttributeChange","processRemovedNodes","removedNodes","processAddedNodes","addedNodes","elementAttributeChanged","matchElement","elementFromNode","processTree","elementIsActive","tree","processor","ELEMENT_NODE","elementMatched","elementUnmatched","AttributeObserver","elementObserver","hasAttribute","elementMatchedAttribute","elementUnmatchedAttribute","elementAttributeValueChanged","del","prune","Multimap","valuesByKey","hasKey","hasValue","getValuesForKey","getKeysForValue","_values","SelectorObserver","_selector","matchesByElement","selectorMatchElement","selectorMatched","selectorUnmatched","_attributeName","matchedBefore","StringMapObserver","stringMap","attributeOldValue","knownAttributeNames","refreshAttribute","oldValue","getStringMapKeyForAttribute","stringMapKeyAdded","stringMapValueChanged","stringMapKeyRemoved","currentAttributeNames","recordedAttributeNames","attribute","TokenListObserver","attributeObserver","tokensByElement","tokensMatched","readTokensForElement","unmatchedTokens","matchedTokens","refreshTokensForElement","tokensUnmatched","tokenMatched","tokenUnmatched","previousTokens","currentTokens","firstDifferingIndex","zip","findIndex","previousToken","currentToken","tokenString","parseTokenString","ValueListObserver","tokenListObserver","parseResultsByToken","valuesByTokenByElement","fetchParseResultForToken","fetchValuesByTokenForElement","elementMatchedValue","elementUnmatchedValue","parseResult","parseToken","valuesByToken","parseValueForToken","BindingObserver","bindingsByAction","valueListObserver","actionAttribute","disconnectAllActions","connectAction","disconnectAction","ValueObserver","stringMapObserver","valueDescriptorMap","invokeChangedCallbacksForDefaultValues","invokeChangedCallback","writer","valueDescriptorNameMap","valueDescriptors","rawValue","rawOldValue","changedMethodName","changedMethod","reader","descriptors","hasMethodName","TargetObserver","targetsByName","disconnectAllTargets","connectTarget","disconnectTarget","targetConnected","targetDisconnected","readInheritableStaticArrayValues","ancestors","getAncestorsForConstructor","definition","getOwnStaticArrayValues","readInheritableStaticObjectPairs","pairs","getOwnStaticObjectPairs","OutletObserver","outletsByName","outletElementsByName","selectorObserverMap","attributeObserverMap","outletDefinitions","outletName","setupSelectorObserverForOutlet","setupAttributeObserverForOutlet","dependentContexts","disconnectAllOutlets","stopSelectorObservers","stopAttributeObservers","outlet","getOutlet","connectOutlet","getOutletFromMap","disconnectOutlet","hasOutlet","hasOutletController","controllerAttribute","getOutletNameFromOutletAttributeName","updateSelectorObserverForOutlet","outletConnected","outletDisconnected","selectorObserver","attributeNameForOutletName","outlets","getSelectorForOutletName","outletAttributeForScope","find","outletDependencies","router","modules","controllerConstructor","dependentControllerIdentifiers","identifiers","contexts","getControllerForElementAndIdentifier","functionName","bindingObserver","dispatcher","valueObserver","targetObserver","outletObserver","initialize","parentElement","invokeControllerMethod","bless","shadowConstructor","shadowProperties","getOwnKeys","shadowingDescriptor","getShadowedDescriptor","getShadowProperties","blessings","blessedProperties","blessing","getBlessedProperties","extendWithReflect","extended","testReflectExtension","Module","blessDefinition","contextsByScope","connectedContexts","connectContextForScope","fetchContextForScope","disconnectContextForScope","ClassMap","getDataKey","getAll","getAttributeName","getAttributeNameForKey","DataMap","Guide","warnedKeysByObject","warnedKeys","attributeValueContainsToken","TargetSet","targetName","targetNames","findTarget","findLegacyTarget","targets","findAllTargets","findAllLegacyTargets","getSelectorForTargetName","findElement","findAllElements","targetAttributeForScope","getLegacySelectorForTargetName","deprecate","targetDescriptor","targetAttribute","revisedAttributeName","guide","OutletSet","controllerElement","outletNames","findOutlet","findAllOutlets","queryElements","matchesElement","Scope","classes","closest","controllerSelector","documentScope","isDocumentScope","ScopeObserver","scopesByIdentifierByElement","scopeReferenceCounts","parseValueForElementAndIdentifier","scopesByIdentifier","fetchScopesByIdentifierForElement","createScopeForElementAndIdentifier","referenceCount","scopeConnected","scopeDisconnected","Router","scopeObserver","modulesByIdentifier","loadDefinition","unloadIdentifier","connectModule","afterLoad","disconnectModule","getContextForElementAndIdentifier","proposeToConnectScopeForElementAndIdentifier","defaultSchema","enter","tab","esc","space","down","home","page_up","page_down","objectFromEntries","Application","logFormattedMessage","register","registerActionOption","shouldLoad","unload","controllers","groupCollapsed","groupEnd","getOutletController","getControllerAndEnsureConnectedScope","outletController","parseValueDefinitionPair","typeDefinition","typeObject","typeFromObject","hasType","hasDefault","fullObject","onlyType","onlyDefault","parseValueTypeConstant","typeFromDefaultValue","parseValueTypeDefault","parseValueTypeObject","typeFromConstant","propertyPath","parseValueTypeDefinition","defaultValuesByType","constantFromType","defaultValueForDefinition","hasCustomDefaultValue","readers","writers","valueDescriptorForTokenAndTypeDefinition","boolean","writeJSON","Controller","_identifier","_application","CustomEvent","classDefinition","targetDefinition","propertiesForTargetDefinition","valueDefinitionPairs","propertyDescriptorMap","valueDefinitionPair","valueDescriptor","read","write","propertiesForValueDefinitionPair","outletDefinition","camelizedName","outletElement","propertiesForOutletDefinition","definitionsFromContext","logicalName","identifierForContextKey","definitionForModuleAndIdentifier","definitionForModuleWithContextAndKey","de_DE","days","shortDays","months","shortMonths","AM","PM","am","pm","en_CA","ordinalSuffixes","en_US","es_MX","fr_FR","it_IT","nl_NL","pt_BR","ru_RU","tr_TR","zh_CN","DefaultLocale","defaultStrftime","Strftime","customTimezoneOffset","useUtcTimezone","_cachedDate","_locale","_customTimezoneOffset","_useUtcBasedDate","_cachedDateTimestamp","_processFormat","resultString","isInScope","extendedTZ","currentCharCode","getDay","getMonth","padTill2","getFullYear","getHours","hours12","padTill3","getMinutes","getSeconds","weekNumber","getTimezoneName","day","ordinal","sign","getTimezoneOffset","sep","hours","mins","strftime","utcOffset","getTimestampToUtcOffsetFor","newUTCOffset","currentTimestamp","localize","localizeByIdentifier","localeIdentifier","timezone","useUtcBasedDate","timezoneType","utc","numberToPad","paddingChar","hour","firstWeekday","weekday","firstDayOfYearUtc","UTC","dateUtc","weekNum","tzString","toLocaleString","timeZoneName","getShortTimezoneName","getDefaultTimezoneName","createStyleq","disableCache","disableMix","definedProperties","nextCache","possibleStyle","classNameChunk","cacheEntry","definedPropertiesChunk","weakMap","subStyle","_prop","markerProp","compiledStyleIndex","_cachedStyles","_compiledStyle","compileStyle","cachedStyles","getRandomValues","randomUUID","crypto","rnds8","rng","byteToHex","unsafeStringify","rnds","callbacks","currentTime","toPropertyKey","_extends","_getRequireWildcardCache","getOwnPropertyDescriptors","ReadersWriterLock","_debug","_readers","_writers","_processQueueTimeout","_readQueue","_writeQueue","_log","_readWithResolve","_writeWithResolve","_processRead","_processWrite","_processQueueLater","_processQueue","readQueueItem","writeQueueItem","FormDataToObject","formData","formDataFromObject","treatInitial","firstMatch","inputName","newResult","treatSecond","secondMatch","newRest","precision","numberParts","wholeNumbers","decimals","numberWithDelimiters","DefineOwnProperty","FromPropertyDescriptor","IsDataDescriptor","IsPropertyKey","SameValue","Type","isPropertyDescriptor","fromPropertyDescriptor","Desc","argument","$isNaN","ES5Type","$isEnumerable","$Array","$ownKeys","$pushApply","$SymbolValueOf","$gOPN","$gOPS","allowed","isData","IsAccessor","valuesSeen","uniqueArray","_createForOfIteratorHelperLoose","_defineProperty","response","BaseError","static","messageToUse","addResponseErrorsToErrorMessage","captureStackTrace","errorMessages","errorTypes","ApiMakerCanCan","abilities","abilitiesToLoad","abilitiesToLoadData","lock","currentApiMakerCanCan","can","ability","subject","abilityToUse","foundAbility","findAbility","subjectLabel","modelClassData","abilityData","abilityDataSubject","isAbilityLoaded","loadAbilities","promises","loadAbility","all","abilityToLoad","queueAbilitiesRequest","queueAbilitiesRequestTimeout","sendAbilitiesRequest","resetAbilities","sendRequest","request","ApiMakerCollection","queryArgs","originalAbilities","newAbilities","originalAbilityName","newModelName","newValues","newAbilityName","_merge","accessibleBy","abilityName","_response","distinct","each","model","except","groupBy","arrayOfTablesAndColumns","arrayOfTablesAndColumnsWithLowercaseColumns","tableAndColumn","newGroupBy","isLoaded","reflectionName","relationshipsCache","preloaded","loaded","relationships","isNewRecord","reflectionNameUnderscore","relationshipsLoaded","uniqunize","newCollection","newModel","preload","preloadValue","page","pageKey","accessible_by","group_by","ransack","per","selectColumns","select_columns","perKey","models","_addQueryToModels","collection","searchKey","originalSelect","newSelect","originalModelName","originalAttributeName","newAttributeName","sortBy","modelClass","modelName","clonedQueryArgs","newQueryArgs","addCommand","collectionName","Api","pathParams","requestLocal","headers","requestPath","getHost","xhr","XMLHttpRequest","withCredentials","headerName","setRequestHeader","executeXhr","_parseResponse","status","customError","peakflowParameters","_token","rawData","put","getCsrfToken","responseType","getResponseHeader","responseText","ApiMakerCommandSubmitData","filesCount","jsonData","traverseObject","getFilesCount","getJsonData","getRawData","getFormData","objectForFormData","json","convertDynamic","traverseArray","shouldSkip","File","newArray","newObject","DestroyError","apiMakerType","Serializer","serializeArgument","api_maker_type","model_class_name","model_id","offsetNumber","serializeArray","serializeObject","ApiMakerCommandsPool","pool","instant","promiseResult","flushRunLast","currentApiMakerCommandsPool","flushCount","poolData","globalRequestData","commandType","commandName","primary_key","primaryKey","commandsCount","commandSubmitData","updateSessionStatus","currentPool","currentPoolData","submitData","commandId","responses","commandResponse","commandResponseData","commandData","bugReportUrl","handleFailedResponse","error_type","validationErrors","errorMessage","errors","accessors","breakPoints","currenciesCollection","i18n","ApiMakerConfig","apiMakerConfigGlobal","accessorName","accessorData","camelizedAccessor","apiMakerConfig","CustomError","ApiMakerDeserializer","restObject","cents","modelClassName","ApiMakerDevise","callSignOutEvent","currentApiMakerDevise","addUserScope","currentMethodName","getCurrentScope","isSignedInMethodName","signIn","username","postData","updateSession","camelizedScopeName","currents","hasCurrentScope","setSignedOut","signOut","apiMakerSessionStatusUpdater","loadCurrentScope","hasGlobalCurrentScope","apiMakerDeviseCurrent","scopeData","parsedScopeData","UNKNOWN_FUNCTION","stackString","chromeRe","isNative","isEval","submatch","chromeEvalRe","lineNumber","parseChrome","winjsRe","parseWinjs","geckoRe","geckoEvalRe","parseGecko","nodeRe","parseNode","javaScriptCoreRe","parseJSC","SourceMapsLoader","isLoadingSourceMaps","sourceMaps","srcLoaded","loadSourceMapsForScriptTags","loadSourceMapsForScriptTagsCallback","sourceMapForSource","sourceMapForSourceCallback","loadSourceMaps","getSources","originalUrl","loadSourceMapForSource","getSourcesFromScripts","getSourcesFromError","trace","sourceMapUrl","getMapURL","scripts","loadUrl","origin","includeMapURL","loadXhr","parser","parseStackTrace","stackTrace","getStackTraceData","traceData","fileString","newSourceMap","sourceMapData","filePath","ErrorLogger","debugging","errorOccurred","isHandlingError","sourceMapsLoader","output","enable","connectOnError","connectUnhandledRejection","getErrors","hasErrorOccurred","isWorkingOnError","finally","onUnhandledRejection","backtrace","errorClass","testPromiseError","_resolve","ApiMakerLogger","isDebugging","setGlobalDebug","getDebug","getGlobalDebug","setDebug","requireName","ModelClass","modelClasses","ApiMakerBaseModelColumn","columnData","getType","ApiMakerBaseModelAttribute","attributeData","getColumn","isColumn","isSelectedByDefault","isTranslated","AttributeNotLoadedError","CacheKeyGenerator","allModels","readModels","recordModelType","recordModel","filledModels","local","md5","feedModel","relationshipType","uniqueKey","isModelRecorded","fillModels","loadedRelationship","anotherModel","markedForDestruction","readAttributeUnderscore","ModelName","camelizedLower","human","countKey","argsToUse","i18nKey","defaultModelName","getI18n","paramKey","NotLoadedError","ApiMakerBaseModelReflection","reflectionData","foreignKey","macro","through","ApiMakerBaseModelScope","objectToUnderscore","BaseModel","attributeKey","newCustomEvent","findOrCreateBy","findOrCreateByArgs","additional_data","additionalData","find_or_create_by_args","resource_name","ransackableAssociations","reflections","relationshipData","ransackableAttributes","ransackableScopes","reflection","foundReflection","csrfTokenElement","changes","newRecord","_readModelDataFromArgs","modelData","assignAttributes","newAttributes","attributeUnderscore","applyChange","deleteChange","isAttributeLoaded","readAttribute","givenAbilityName","isPersisted","keyParts","updatedAt","localCacheKey","fullCacheKey","getAttributes","dataToUse","save","parseValidationErrors","_refreshModelFromResponse","createRaw","objectData","_objectDataFromGivenRawData","_refreshModelDataFromResponse","query_params","handleResponseError","ensureAbilities","listOfAbilities","abilityInList","ransackParams","abilitiesParams","newAbility","identifierKey","_identifierKey","isAssociationLoaded","associationName","isAssociationLoadedUnderscore","associationNameUnderscore","isAssociationPresent","validation_errors","sendValidationErrorsEvent","throwValidationError","humanAttributeName","snakeCase","isAttributeChanged","attributeNameUnderscore","attributeNames","isChanged","savedChangeToAttribute","previousModelData","setNewModel","setNewModelData","relationshipName","relationshipCacheName","_isDateChanged","_isIntegerChanged","_isStringChanged","saveRaw","updateRaw","simple_model_errors","simpleModelErrors","isValid","isValidOnServer","valid","preloadRelationship","markForDestruction","_markedForDestruction","uniqueKeyValue","randomBetween","_callCollectionCommand","commandArgs","formOrDataObject","_callMemberCommand","_postDataFromArgs","_isPresent","_loadBelongsToReflection","_readBelongsToReflection","loadedRelationships","_loadHasManyReflection","_loadHasOneReflection","_readHasOneReflection","preloadedRelationships","_readPreloadedRelationships","relationshipClassData","relationship","relationshipsList","relationshipId","getModel","ApiMakerModelRecipesModelLoader","modelRecipe","modelRecipesLoader","createClass","collection_commands","collectionCommands","member_commands","memberCommands","model_class_data","addAttributeMethodsToModelClass","addRelationshipsToModelClass","addQueryCommandsToModelClass","addMemberCommandsToModelClass","collectionCommandName","memberCommandName","active_record","activeRecordName","activeRecordPrimaryKey","class_name","klass","klassPrimaryKey","as","optionsAs","optionsPrimaryKey","optionsThrough","resourceName","loadMethodName","modelMethodName","defineBelongsToGetMethod","defineBelongsToLoadMethod","defineHasManyGetMethod","defineHasManyLoadMethod","defineHasOneGetMethd","defineHasOneLoadMethod","foreignKeyMethodName","getModelClass","hasManyParameters","queryParameters","primaryKeyColumnName","primaryKeyMethodName","ModelRecipesLoader","recipes","ApiMakerPreloaded","loadPreloadedModels","preloadedType","preloadedId","modelType","modelId","ModelsResponseReader","ApiMakerResult","currentPage","perPage","totalCount","totalPages","ApiMakerRoutesNative","getLocale","routeTranslationParts","loadRouteDefinitions","routeDefinitionArgs","rawPathParts","pathMethodName","urlMethodName","localized","localizedRoutes","variableCount","localizedPathParts","pathPart","translateRoute","pathParts","loadRouteTranslations","locales","routeTranslations","lastArg","restOptions","translatedRoute","addHostToRoute","fullUrl","hostToUse","portToUse","RunLast","flushTriggerCount","flushTrigger","flushTriggerQueue","flushTimeout","ApiMakerServices","currentApiMakerService","serviceName","service_args","service_name","ApiMakerSessionStatusUpdater","useMetaElement","connectOnlineEvent","connectWakeEvent","csrfToken","sessionStatus","onSignedOut","addEvent","startTimeout","updateTimeout","stopTimeout","updateMetaElementsFromResult","updateUserSessionsFromResult","csrf_token","scopeName","scopes","updateUserSessionScopeFromResult","deviseIsSignedInMethodName","currentlySignedIn","signedInOnBackend","signed_in","replaces","regexp","replaceAll","character","onCalled","onCalledCallback","ValidationError","getUnhandledErrorMessage","getErrorMessage","getUnhandledErrors","getValidationErrors","validationError","getHandled","hasUnhandledErrors","unhandledError","hasValidationErrorForAttribute","underscoredAttributeName","attributeType","input_name","handled","matchesAttributeAndInputName","getInputName","attributeNameIdMatch","attributeNameWithoutId","attributeUnderScoreName","inputNameWithoutId","getErrorMessages","getFullErrorMessages","fullErrorMessages","attributeHumanName","setHandled","ValidationErrors","rootModel","fullErrorMessage","getValidationErrorsForInput","onMatchValidationError","unhandledValidationErrors","unhandledValidationErrorMessages","unhandledValidationError","Shape","newMeta","shapeClass","OnLocationChangedCallback","callbacksHandler","callCallback","CallbacksHandler","callCallbacks","connectInterval","onLocationChanged","givenCallback","onLocationMightHaveChanged","currentLocationHref","onLocationChangedCallbacksHandler","setPath","onLocationChangedCallback","newPath","onLocationChangedEvent","stylingName","customStyling","dig","digger","callFunctions","throwError","digged","currentPath","digs","PropertyNotFoundError","fetchingObjectHandler","wrappedObject","ErrorHandlersRaiser","I18nOnSteroids","errorHandler","fallbacks","setLocale","setLocaleOnStrftime","monthNames","abbrMonthNames","strftimeLocales","scanRequireContext","contextLoader","_scanRecursive","scanObject","storage","formatValue","localesToTry","_lookup","insertVariables","toNumber","numberable","ErrorHandlersRaiseInBackground","namespace","newArgs","I18n","updateLocale","incorporate","Incorporator","replaceArrayIfExistsValue","replaceArrayIfExists","mergeObjects","firstObject","mergeObjectsInto","mergeArraysInto","mergeIntoValue","arrays","mergeInto","ParentElementsResult","getElement","parentElements","breakAfterFirstFound","elementResult"],"sourceRoot":""}